ILD

IPv6 stateless address autoconfiguration
作者:Yuan Jianpeng 邮箱:yuanjp89@163.com
发布时间:2019-7-29 站点:Inside Linux Development

Introduction

host产生一个子网内唯一的interface identifier,然后通过router advertise information中的prefix,两者结合产生一个地址。


接口的IPv6地址有一个固定的过期时间(也可以是无限期)。接口地址有两个状态preferred和deprecated。过期后变成deprecated,但是deprecated的地址不是严格禁止的,但是新的连接应该使用preferred地址。


为了保证地址唯一,duplicate address detection算法被使用。


自动配置过程只应用在host,routers通过其他方式配置。


自动配置需要链路层支持多播。

Protocol overview

接口自动配置的简单流程。

1 接口分配一个link-local地址

2 检查是否重复,如果重复则重新选择一个地址。

3 发送Router solicitation,等待Router advertisement。

4 收到prefix信息后,组成global地址,并检测唯一性。


Router advertisement processing

如果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。


Address lifetime expiry

一个preferred address成为deprecated,当它的preferred lifetime过期时。过期的地址可以继续用于已存在通信的源地址,但是新的连接不应当用它,除非没有不过期的地址。


参考

https://tools.ietf.org/html/rfc4862


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.