DHCPv6

维基百科,自由的百科全书
跳转至: 导航搜索

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

  • DHCPv6客户端从[fe80::aabb:ccff:fedd:eeff]:546发送Solicit[ff02::1:2]:547
  • DHCPv6服务器从[fe80::0011:22ff:fe33:5566]:547回应一个Advertise[fe80::aabb:ccff:fedd:eeff]:546
  • DHCPv6客户端从[fe80::aabb:ccff:fedd:eeff]:546回应一个Request[ff02::1:2]:547。(依照RFC 3315section 13,所有客户端消息都发送到多播地址)
  • DHCPv6服务器以[fe80::0011:22ff:fe33:5566]:547[fe80::aabb:ccff:fedd:eeff]:546Reply结束。

IETF标准[编辑]

  • RFC 3315, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)"
  • RFC 3319, "Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers"
  • RFC 3633, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6"
  • RFC 3646, "DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)"
  • RFC 3736, "Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6"
  • RFC 5007, "DHCPv6 Leasequery"
  • RFC 6221, "Lightweight DHCPv6 Relay Agent"

参考资料[编辑]

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

外部链接[编辑]