主机在运行IPv6时,可以通过使用无状态地址自动配置或DHCPv6协议来获取IPv6地址。IPv6动态主机配置协议DHCPv6采用了客户端/服务器通信模式,是针对IPv6编制方案设计的、为主机分配IPv6地址和其他网络配置参数的协议。
无状态地址自动配置:
路由器不记录主机的IPv6地址信息,可管理性差;另外,IPv6主机无法获取DNS服务器地址等网络配置信息,在可用性上也存在一定的缺陷。
DHCPv6属于一种有状态地址自动配置协议。在有状态地址配置过程中,DHCPv6服务器为主机分配一个完整的IPv6地址,并提供DNS服务器地址等其他配置信息。
DHCPv6服务器和客户端之间使用UDP协议来交互DHCPv6报文,客户端使用的UDP端口是546,服务器使用的UDP端口是547。客户端发送请求报文向DHCPv6服务器申请IPv6地址,目的地址为组播地址ff02::1:2。
DUID用来标识一台DHCPv6服务器或客户端。
采用以下两种方式生成:
基于链路层地址(LL):即采用链路层地址方式来生成DUID。
基于链路层地址与时间组合(LLT):即采用链路层地址和时间组合方式来生成DUID。
DHCPv6分配地址时又分为:
DHCPv6有状态自动分配:DHCPv6服务器为客户端分配IPv6地址及其他网络配置参数。
DHCPv6无状态自动分配:主机的IPv6地址通过路由通告方式自动生成,DHCPv6服务器只分配其他参数信息。
客户端在向服务器发送请求报文之前,会发送RS报文,路由器接收到此报文后会回复RA报文。在RA报文中包含管理地址配置标记(M)和有状态配置标记(O)。
M=1:有状态地址配置,IP地址从服务器获取。
M=0:无状态地址自动分配方案,自动生成。
O=1:DHCP分配其他参数。
O=0:启用IPv6无状态地址自动分配方案。