1. Dynamic Host Configuration Protocol for IPv6(IPv6动态主机配置协议)特征


  • 与 IPv4 中的 DHCP 一样,协议报文都是基于 UDP,并使用组播报文
  • 为客户端分配 IPv6 地址/前缀和其他网络配置参数,客户端也无需配置服务器的 IPv6 地址
  • 由 RA 报文的 M 比特决定采用何种自动配置技术
    1. 无状态自动配置(stateless autoconfiguration):利用 RA 信息通告的前缀生成地址
    2. 有状态自动配置(stateful autoconfiguration):必须通过 DHCPv6 获得
  • 支持 3 种配置方法
    • 手工配置
    • 无状态自动配置
    • 有状态自动配置
  • 接口初始化到获取地址过程
    1. 接口产生” tentative” 的 link-local 地址
    2. 对 “ tentative “ 地址进行地址重复检测(DAD),检测通过则具备 IP 连接能力
    3. 由 RA 报文的 M 比特决定采用 “ 无状态自动配置 “ 还是 “ 有状态自动配置 “
    4. 获得全局地址

      2. M-bit 和 O-bit 的关系


image.png

  • 如果M-bit=0,O-bit=0:只能通过 EUI-64 生成 IPV6 地址,没有其他信息(无状态自动配置)
  • 如果M-bit=0,O-bit=1:只能获取到 IPv6 地址,没有其他信息(无状态自动配置)
  • 如果M-bit=1,O-bit=0:可以获取到 IPv6 地址但不能获取到 DNS 等其他(有状态自动配置)
  • 如果M-bit=1,O-bit=1:可以获取到 IPv6 地址也能获取到 DNS 等其他(有状态自动配置)

    3. 无状态自动分配工作原理


通过无状态方式获取除 IPv6 地址外的其他配置参数(包括 DNS、SIP、SNTP 等服务器配置信息)

image.png

  1. Client 以组播方式向 Server 发送 Information-Request 报文,报文中携带 Option Request 选项(指定 Client 需要从 Server 获取的配置参数)
  2. Server 收到 Information-Request 报文后,为 Client 分配网络配置参数,并单播发送 Reply 报文
  3. Client 根据收到 Reply 报文提供的参数完成 DHCPv6 客户端无状态配置

    4. 有状态自动分配工作原理


通过有状态 DHCPv6 方式获取 IPv6 地址和其他配置参数

1)四步交互分配过程(默认)

image.png

  1. Client 发送组播 Solicit(请求分配)报文,请求 Server 为其分配 IPv6 地址和网络配置参数
  2. 如果 Solicit 报文中携带或没有携带 Rapid Commit(快速分配)选项,但 Server 不支持快速分配,则 Server 回复单播 Advertise 报文,通知 Client 可以为其分配的地址和网络配置参数
  3. 如果 Client 接收到多个服务器回复的 Advertise 报文,则根据 Advertise 报文中的服务器优先级等参数,选择优先级最高的一台 Server,并向所有的 Server 发送 Request 组播报文,该报文中携带已选择的 Server 的 DUID
  4. Server 单播回复 Reply 报文,确认将地址和网络配置参数分配给 Client 使用

    2)两步交互分配过程(需要开启)

    image.png

  5. Client 在发送的 Solicit 报文中携带 Rapid Commit 选项,标识 Client 希望 Server 能够快速为其分配地址和网络配置参数

  6. Server 接收到 Solicit 报文后,如果 Server 支持快速分配地址,则直接返回 Reply 报文,为 Client 分配IPv6地址和其他网络配置参数,Reply 报文中也携带 Rapid Commit 选项;如果 Server 不支持快速分配过程,则采用四步交互方式为 Client 分配 IPv6 地址/前缀和其他网络配置参数