DHCPv6原理

DHCPv6获取方式

  1. DHCPv6客户端获取Global Address的方式有两种:

    • 无状态(Stateless):根据路由通告报文RA(Router Advertisement)包含的prefix前缀信息自动配置IPv6地址,组成方式是Prefix + (EUI64 or 随机),Stateless也可以称为SLAAC(Stateless Address Auto Configuration)。

    • 有状态(Stateful):通过DHCPv6方式获得IPv6地址。

  2. 上边的有状态又分为两种方式:

    • 有状态DHCPv6(Stateful DHCPv6):IPv6地址、其他参数(如DNS)均通过DHCPv6获取。
    • 无状态DHCPv6(Stateless DHCPv6):IPv6地址依然通过路由通告RA方式生成,其他参数(如DNS)通过DHCPv6获取。
适用场景:
  • 有状态、无状态仅针对于IPv6地址分配方式,并不包含其他参数。
  • 有状态:可控、可管理。在网络中存在一个IP地址管理者,它能够识别客户端,根据不同的客户端,分配对应的IPv6地址,客户端与服务端之间需要维护IP地址的租期及续约。目前实现这种效果的,就是DHCPv6协议,IP地址管理者就是DHCPv6 Server。
  • 无状态:不可控、难管理。在网络中只有网关,没有IP地址管理者。因此无人去识别客户端,每个客户端根据网关发送的相同的RA报文内容,自行配置IPv6地址。

IPv6 RA中的Flag

  1. DHCPv6客户端通过网络中路由器/防火墙发送的IPv6 RA(Router Advertisement)报文中的Flag来控制获取IPv6和DNS等信息的方式。

    • Autonomous flag(自治flag,简称A flag):表示是否配置无状态IP。在一个RA报文中,可存在多个prefix,比如2401::/64、2402::/64、2403::/64,每个prefix都可以独立配置A flag。
      • 为on时(对应bit位为1):表示客户端应当在该prefix范围内自动生成IPv6地址(客户端通过DAD_Duplicate Address Detection自行保证地址可用),并配置子网路由条目、网关。
      • 为off时(对应bit位为0):表示客户端不应当在该prefix范围内自动生成IPv6地址,但是可以配置子网路由条目、网关。
    • Managed flag(简称M flag):表示是否配置有状态IP。M flag是RA报文的全局参数,一个RA报文只有一个M flag。
      • 为on时(对应bit位为1):表示在stateless流程结束后开始stateful流程,也就是告诉客户端可以通过DHCPv6来获得IPv6地址和其他参数(如DNS列表)。
      • 为off时(对应bit位为0):表示不通过DHCPv6来获得IPv6地址。
    • Other flag(简称O flag):表示是否通过DHCPv6获得除IP以外的其他参数(如DNS列表)。O flag也是RA报文中的全局参数,一个RA报文只有一个O flag。注意:仅当M flag为off时,该参数才会被读取。
      • 为on时(对应bit位为1):当M flag为on,或者M flag为off且至少有一个A flag为on时,将通过DHCPv6获得其他参数。
      • 为off时(对应bit位为0):当M flag为on时,依然将通过DHCPv6获得其他参数;当M flag也为off时,将不通过DHCPv6获得其他参数。
  2. 如下图的RA报文, A flag置为1,M flag和O flag均置为0,表示要求客户端仅通过RA中的prefix自动配置IPv6地址,并配置子网路由条目、网关,其他参数不通过DHCPv6获取。

    image-20230329145843185

总结

DHCPv6流程

img

  • Stateless自动配置“全球地址”(或“唯一本地地址”)。
  • Stateful自动配置“全球地址”(或“唯一本地地址”)和其他参数,其中Stateful阶段中存在Stateful DHCPv6或Stateless DHCPv6。
注意:部分客户端操作系统或网络管理器当Stateless阶段没有收到RA报文后,就到此结束,不会走Stateful阶段,比如CentOS 7、Ubuntu 17的默认逻辑都是这样,而Windows Server就会继续走Stateful阶段。

Flag组合对应客户端动作

img

Copyright © 2024 Fortinet Inc. All rights reserved. Powered by Fortinet TAC Team.
📲扫描下方二维码分享此页面👇
该页面修订于: 2023-09-12 15:24:01

results matching ""

    No results matching ""