DHCPv6

科技工作者之家 2020-11-17

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

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

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

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

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

实现端口号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 3315的section 13,所有客户端消息都发送到多播地址)

DHCPv6服务器以[fe80::0011:22ff:fe33:5566]:547到[fe80::aabb:ccff:fedd:eeff]:546的Reply结束。1

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

本词条内容贡献者为:

孔祥杰 - 副教授 - 大连理工大学软件学院

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。