Understanding IPv6 第8章——地址自动配置

参考

understanding IPv6

深入解析IPv6 第3版

IPv6一个有用的方面就是能够进行自动配置,即使是在没有DHCP协议情况下也可以。IPv6协议可以为每个接口自动配置一个链路本地地址。通过路由发现协议,能够知道路由器的地址,无状态地址(不理解),链路上的前缀以及其他设置参数。

自动配置的类型

  • stateless

    由Router Advertisement messages 来进行配置,并且Managed Address Confguration 和Other Stateful Confguration flags 这两个标志位都被置为0

  • stateful

    由地址配置协议(如DHCPv6来进行配置)。Managed Address Confguration 或Other Stateful Confguration flags 被置为1

  • both

    Managed Address Confguration 或Other Stateful Confguration flags 被置为1,并且选项中的Autonomous flag set to 1 。

不理解为什么由Router Advertisement messages设置的就是无状态的,由由地址配置协议设置的就是有状态的。

自动配置地址的状态

Understanding IPv6 第8章——地址自动配置_第1张图片

Autoconfiguration Process

链路本地地址的自动配置过程

  1. 由fe80::00/64前缀和EUI-64 接口标识生成链路本地地址
  2. 用重复地址探测(邻居请求消息)确认此地址是否被使用
  3. 如果收到了对应的Neighbor Advertisement message,则认为此地址已经被使用,必须手工介入进行配置。
  4. 如果没有收到对应的Neighbor Advertisement message,则认为此地址可以使用,为接口配置此地址,并向网络适配器注册此地址对应的组播地址

对于IPv6主机,会继续进行如下步骤

Understanding IPv6 第8章——地址自动配置_第2张图片 Understanding IPv6 第8章——地址自动配置_第3张图片

DHCPv6

路由广播消息里面有两个关键的标志:

  • Managed Address Confguration flag。 This is also known as the M flag. When set to 1, this flag instructs the host to use a confguration protocol to obtain stateful addresses.
  • Other Stateful Confguration flag 。This is also known as the O flag. When set to 1, this flag instructs the host to use a confguration protocol to obtain other confguration settings.

DHCPv6与v4重要的区别在于,IPv6主机不会为自己被分配地址的64位前缀添加直连路由,而是当路由广播消息的前缀选项的on-link标志位为1时才会添加直连路由。而且如果前缀选项的Autonomous flag 没有被置为0的话,并且同时运行DHCPv6,那么IPv6主机会得到两个IP地址。为了避免这种情况的发生,路由器一定要将Autonomous flag 置为0。

DhCPv6 Messages

DHCPv6和V4一样都是基于UDP协议,但是v6的结构要简单很多,因为v4基于历史的原因,要支持无盘系统。

消息结构:

Understanding IPv6 第8章——地址自动配置_第4张图片

选项是典型的:type-length-value结构

Understanding IPv6 第8章——地址自动配置_第5张图片

中继定义了独立的结构:

Understanding IPv6 第8章——地址自动配置_第6张图片

你可能感兴趣的:(IPv6)