host产生一个子网内唯一的interface identifier,然后通过router advertise information中的prefix,两者结合产生一个地址。
接口的IPv6地址有一个固定的过期时间(也可以是无限期)。接口地址有两个状态preferred和deprecated。过期后变成deprecated,但是deprecated的地址不是严格禁止的,但是新的连接应该使用preferred地址。
为了保证地址唯一,duplicate address detection算法被使用。
自动配置过程只应用在host,routers通过其他方式配置。
自动配置需要链路层支持多播。
接口自动配置的简单流程。
1 接口分配一个link-local地址
2 检查是否重复,如果重复则重新选择一个地址。
3 发送Router solicitation,等待Router advertisement。
4 收到prefix信息后,组成global地址,并检测唯一性。
如果autonomous flag没有置位,丢掉。
如果前缀是link local地址,丢掉。
如果已配置地址的preferred lifetime大于valid lifetime,忽略prefix选项。
如果prefix还没添加到地址,且valid lifetime不是0,且prefix的长度加接口id的长度为128位,则添加。
如果prefix已经添加,则更新preferred lifetime。
1 如果接收的valid lifetime大于2小时或者大于remaining lifetime,则设置为valid lifetime
2 如果remaining lifetime小于或等于2小时,且valid lifetime小于remaning time,忽略,除非是认知的adv消息。
3 除此之外,设置valid lifetime。
一个preferred address成为deprecated,当它的preferred lifetime过期时。过期的地址可以继续用于已存在通信的源地址,但是新的连接不应当用它,除非没有不过期的地址。
https://tools.ietf.org/html/rfc4862