DHCPv6
DHCPv6
DHCPv6是一個用來配置工作在IPv6網路上的IPv6主機所需的IP地址、IP前綴和/或其他配置的網路協議。
IPv6主機可以使用無狀態地址自動配置(SLAAC)或DHCPv6來獲得IP地址。DHCP傾向於被用在需要集中管理主機的站點,而無狀態自動配置不需要任何集中管理,因此後者更多地被用在典型家庭網路這樣的場景下。
使用無狀態自動配置的IPv6主機可能會需要除了IP地址以外的其他信息。DHCPv6可被用來獲取這樣的信息,哪怕這些信息對於配置IP地址毫無用處。配置DNS伺服器無需使用DHCPv6,它們可以使用無狀態自動配置所需的鄰居發現協議來進行配置。
IPv6路由器,如家庭路由器,必須在無需人工干預的情況下被自動配置。這樣的路由器不僅需要一個IPv6地址用來與上游路由器通信,還需要一個IPv6前綴用來配置下游的設備。DHCPv6前綴代理提供了配置此類路由器的機制。
DHCPv6客戶端使用UDP埠號546,伺服器使用埠號547。
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結束。
• 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"