DHCPv6是一个用来配置工作在IPv6网络上的IPv6主机所需的IP地址、IP前缀和/或其他配置的网络协议

IPv6主机可以使用無狀態地址自动配置(SLAAC)或DHCPv6来获得IP地址。DHCP倾向于被用在需要集中管理主机的站点,而无状态自动配置不需要任何集中管理,因此后者更多地被用在典型家庭网络这样的场景下。

使用无状态自动配置的IPv6主机可能会需要除了IP地址以外的其他信息。DHCPv6可被用来获取这样的信息,哪怕这些信息对于配置IP地址毫无用处。配置DNS服务器无需使用DHCPv6,它们可以使用无状态自动配置所需的邻居发现协议来进行配置[1]

IPv6路由器,如家庭路由器,必须在无需人工干预的情况下被自动配置。这样的路由器不仅需要一个IPv6地址用来与上游路由器通信,还需要一个IPv6前缀用来配置下游的设备。DHCPv6 前缀代理提供了配置此类路由器的机制。

实现

端口号

DHCPv6客户端使用UDP端口号546,服务器使用端口号547。

DHCP唯一标识符

DHCP唯一标识符(DUID)用于客户端从DHCPv6服务器获得IP地址。最小长度为12个字节(96位),最大长度为20字节(160位)。实际长度取决于其类型。服务器将DUID与其数据库进行比较,并将配置数据(地址、租期、DNS服务器,等等)发送给客户端。DUID的前16位包含了DUID的三种类型之一。剩余的96位取决于DUID类型。

举例

本例中,服务器的链路本地地址是fe80::0011:22ff:fe33:5566,客户端的链路本地地址是fe80::aabb:ccff:fedd:eeff

IETF标准

参考资料

  1. ^ RFC 4339, IPv6 Host Configuration of DNS Server Information Approaches, J. Jeong (February 2006)

外部链接