一、DHCPv6 原理
DHCPv6 是动态主机配置协议(DHCP)的 IPv6 版本,DHCPv6 服务端可以向DHCPv6客户端分配IPv6地址以及DNS地址和域名等配置参数。相对 于IPv6 无状态地址自动配置协议,DHCPv6属于一种有状态地址自动配置协议。在有状态地 址配置过程中,DHCPv6服务器分配一个完整的IPv6地址给主机,并提供DNS地址和域名等 其他配置信息,这中间可能通过中继代理转交DHCPv6报文,而且最终服务器能把分配的IPv6 地址和客户端的绑定关系记录在案,从而增强了网络的可管理性;DHCPv6服务器也能提供 无状态DHCPv6 服务,即不分配IPv6地址,仅需向主机提供DNS地址和域名等其他配置信 息,从而补足了IPv6无状态地址自动配置的缺陷;DHCPv6协议还提供了DHCPv6前缀代理 的扩展功能,上游路由器可以自动为下游路由器分派地址前缀,从而实现了层次化网络环境 中IPv6 地址的自动规划,解决互联网提供商(ISP)的IPv6网络部署问题。
DHCPv6 报文用于客户端、中继代理与服务器三者之间的通信,以完成DHCPv6 的协议 行为。DHCPv6 报文承载于UDP协议之上。DHCPv6客户端使用UDP端口547向DHCPv6服 务器或中继代理发送请求报文,DHCPv6服务器和中继代理使用UDP端口546向DHCPv6客 户端发送应答报文。DHCPv6客户端使用所有DHCP中继代理和服务器多播地址(FF02::1:2)发 送服务器发现(Solicit)或请求(Request)报文。

DHCPv6 协议交互过程
当DHCPv6客户端向位于同一链路的DHCPv6服务器请求分配IPv6地址以及其它配置参 数时,客户端首先要定位和选择合适的服务器,然后才能向服务器请求分配地址和其它配置 参数。
动态分配主机配置的协议过程:
- 在定位服务器时,客户端向所有DHCP中继代理和服务器多播地址 (FF02::1:2)发出 SOLICIT 消息希望发现合适的DHCPv6服务器。
- 任何能够满足该请求的服务器都会发送一个ADVERTISE消息给客户端,其中包含可 分配的配置信息以及服务器的身份标识(DUID)和该服务器的优先值信息。
- 客户端可能接收到多个这样的通告消息,依据某种策略(如选择服务器优先值选项中优先值最高的服务器)选择其中一个服务器,然后向选定服务器发送REQUEST消 息请求服务器分配通告的IPv6地址和其它配置参数。
- 被选择的服务器回应以REPLY 消息,其中包含确认的IPv6 地址和其它配置参数




