複製鏈接
請複製以下鏈接發送給好友

DHCPv6協議

鎖定
DHCPv6是一個用來配置工作在IPv6網絡上的IPv6主機所需的IP地址、IP前綴和/或其他配置的網絡協議。
中文名
DHCPv6協議
類    別
網絡協議
DHCP含義
動態主機配置協議
功    能
配置主機所需的IP地址的網絡協議

DHCPv6協議重要信息

動態主機配置協議 (DHCP) 曾設計用來處理向計算機分配 IP 地址和其他網絡信息,以便計算機可以在網絡上自動通信。通過使用 IPv6 網絡,實際上不需要 DHCP 來配置地址,但是有充分的理由來使用它。DHCP for IPv6 (DHCPv6) 可以向 IPv6 主機提供有狀態的地址配置或無狀態的配置設置。IPv6 主機可以使用多種方法來配置地址:
無狀態地址自動配置 用於對鏈接本地地址和其他非鏈接本地地址兩者進行配置,方法是與相鄰路由器交換路由器請求和路由器公告消息。
有狀態地址自動配置 通過使用如 DHCP 的配置協議,用來配置非鏈接本地地址。
IPv6 主機自動執行無狀態地址自動配置,並在相鄰路由器發送的路由器公告消息中使用基於以下標記的配置協議(如 DHCPv6):
託管地址配置標記,也稱為 M 標記。設置為 1 時,此標記指示主機使用配置協議來獲取有狀態地址。
其他有狀態配置標記 ,也稱為 O 標記。設置為 1 時,此標記指示主機使用配置協議來獲取其他配置設置。
結合 M 和 O 標記的值可以產生以下組合:
M 和 O 標記均設置為 0。 此組合對應不具有 DHCPv6 基礎結構的網絡。主機使用非鏈接本地地址的路由器公告以及其他方法(如手動配置)來配置其他設置。
M 和 O 標記均設置為 1。 DHCPv6 用於這兩種地址(鏈接本地地址和其他非鏈接本地地址)和其他配置設置。該組合稱為 DHCPv6 有狀態,其中 DHCPv6 將有狀態地址分配給 IPv6 主機。
M 標記設置為 0,O 標記設置為 1。 DHCPv6 不用於分配地址,僅用來分配其他配置設置。相鄰路由器配置為通告非鏈接本地地址前綴,IPv6 主機從中派生出無狀態地址。此組合稱為 DHCPv6 無狀態:DHCPv6 不為 IPv6 主機分配有狀態地址,但分配無狀態配置設置。
M 標記設置為 1,O 標記設置為 0。 在此組合中,DHCPv6 用於地址配置,但不用於其他設置。因為 IPv6 主機通常需要使用其他設置(如域名系統 (DNS) 服務器的 IPv6 地址)進行配置,所以這是一種不太可能的組合。
類似於 DHCP for IPv4,DHCPv6 基礎結構的組件由下列各項構成:請求配置的 DHCPv6 客户端、提供配置的 DHCPv6 服務器、以及 DHCPv6 中繼代理(當客户端位於不具備 DHCPv6 服務器的子網上時,它在客户端和服務器之間傳遞信息)。

DHCPv6協議消息交換

如同 DHCP for IPv4 一樣,DHCPv6 也使用用户數據報協議 (UDP) 消息。DHCPv6 客户端在 UDP 端口 546 上偵聽 DHCP 消息。DHCPv6 服務器和中繼代理在 UDP 端口 547 上偵聽 DHCPv6 消息。DHCPv6 消息的結構比 DHCP for IPv4 的結構簡單得多,DHCP for IPv4 在 BOOTP 協議中包含原始數據以支持無盤工作站。圖 1 顯示了客户端和服務器之間發送的 DHCPv6 消息的結構。
圖2 圖2
1 位字節的“消息類型”字段指明 DHCPv6 消息的類型。3 位字節的“事務 ID”字段由客户端確定並用於對 DHCPv6 消息一起交換的消息進行分組。“事務 ID”字段之後的 DHCPv6 選項用於指明客户端和服務器的標識、地址以及其他配置設置。有關定義的 DHCPv6 選項的列表,請參閲“DHCPv6 RFC 資源”邊欄中引用的 RFC 3315。DHCPv6 選項的格式為類型長度值 (TLV) 格式。圖 2 顯示了 DHCPv6 選項的結構。
2 位字節的“選項代碼”字段指明瞭特定的選項。2 位字節的“選項長度”字段指明瞭“選項數據”字段的長度,以字節為單位。“選項數據”字段包含選項的數據。
為中繼代理和服務器之間交換的各種消息提供了單獨的消息結構,以記錄其他信息。
圖3 圖3
圖 3 顯示了各種類型的消息的結構。
1 位字節的“躍點計數”字段指明瞭已接收消息的中繼代理數。如果其超過了配置的最大躍點計數,正在接收的中繼代理可以放棄該消息。16 位字節的“鏈接地址”字段包含分配給連接到客户端所在子網的接口的非鏈接本地地址。在“鏈接地址”字段中,服務器可以確定從中分配地址的合適的地址範圍。16 位字節的“對等方地址”字段包含最初發送消息的客户端或之前中繼該消息的中繼代理的 IPv6 地址。“對等方地址”字段之外是包括“中繼消息”選項的 DHCPv6 選項,“中繼消息”選項包含將被中繼的消息和其他選項。“中繼消息”選項提供了將在客户端和服務器之間進行交換的消息的封裝。
沒有為 IPv6 定義的廣播地址。因此,用於某些 DHCPv4 消息的受限廣播地址已替換為使用 FF02::1:2 for DHCPv6 的 All_DHCP_Relay_Agents_and_Servers 地址。例如,嘗試發現網絡上 DHCPv6 服務器位置的 DHCPv6 客户端從其鏈接本地地址發送一個“要求”消息給 FF02::1:2。如果主機子網上存在 DHCPv6 服務器,它會接收此“要求”消息併發送合適的應答。更為典型的情況是,主機子網上的 DHCPv6 中繼代理接收此“要求”消息並將其轉發給 DHCPv6 服務器

DHCPv6協議有狀態消息交換

獲取 IPv6 地址和配置設置的 DHCPv6 有狀態消息交換(接收路由器公告中的 M 和 O 標記均設置為 1 時)通常由以下消息組成:
由客户端發送以定位服務器的“要求”消息。
由服務器發送用以指明其可以提供地址和配置設置的“公告”消息。
由客户端發送以請求特定服務器中的地址和配置設置的“請求”消息。
由包含地址和配置設置的請求服務器發送的“應答”消息。
如果客户端和服務器之間存在中繼代理,該中繼代理會發送包含來自客户端的封裝“要求”和“請求”消息的服務器“中繼轉發”消息。服務器發送包含為客户端封裝的“公告”和“應答”消息的中繼代理“中繼應答”消息。有關 DHCPv6 消息的完整列表,請參閲下表。
DHCPv6 消息
描述
等效的 DHCP for IPv4 消息
要求
由客户端發送以定位服務器。
DHCPDiscover
公告
由服務器對“要求”消息進行響應時發送以指明可用性。
DHCPOffer
請求
由客户端發送以請求來自特定服務器的地址或配置設置。
DHCPRequest
確認
由客户端發送給所有服務器,以確定對於已連接的鏈接客户端的配置是否有效。
DHCPReply
更新
由客户端發送給特定服務器以延長分配地址的生存期並獲取更新的配置設置。
DHCPRequest
重新綁定
未接收到對“更新”消息的響應時由客户端發送給任何服務器。
DHCPRequest
應答
對要求、請求、更新、重新綁定、信息請求、確認、發佈或拒絕消息進行響應時由服務器發送給特定客户端。
DHCPAck
發佈
由客户端發送以指明客户端不再使用分配的地址。
DHCPRelease
拒絕
由客户端發送給特定服務器以指明分配的地址已在使用中。
DHCPDecline
重新配置
由服務器發送給客户端以指明該服務器具有新的或更新的配置設置。客户端隨後發送“更新”或“信息請求”消息。
N/A
信息請求
由客户端發送以請求配置設置(但不包括地址)。
DHCPInform
由中繼代理發送以轉發消息給服務器。中繼轉發包含封裝為 DHCPv6 中繼消息選項的客户端消息。
N/A
中繼應答
由服務器發送以通過中繼代理發送消息給客户端。中繼應答包含封裝為 DHCPv6 中繼消息選項的服務器消息。
N/A

DHCPv6協議無狀態消息交換

要僅獲取配置設置的 DHCPv6 無狀態消息交換(接收路由器公告中的 M 標記設置為 0,O 標記設置為 1 時)通常由以下消息組成:由 DHCPv6 客户端發送以請求來自服務器的配置設置的“信息請求”消息,以及由包含請求的配置設置的服務器發送的“應答”消息。
對於具有配置為向 IPv6 主機分配無狀態地址前綴的路由器的 IPv6 網絡,兩消息 DHCPv6 交換可用於分配 DNS 服務器、DNS 域名以及其他未包括在路由器公告消息中的配置設置。

DHCPv6協議技術支持

Windows Vista™ 以及下一版本的 Windows Server®(代碼名為“Longhorn”)包括 DHCPv6 客户端。依據接收的路由器公告消息中的 M 和 O 標記的值,DHCPv6 客户端嘗試基於 DHCPv6 的配置。因此,要使用 DHCPv6,必須將 DHCPv6 服務器和中繼代理配置為維護每個 IPv6 子網,然後將您的 IPv6 路由器配置為設置這兩個標記為合適的值。如果某個給定子網存在多個公告路由器,應將它們配置為公告相同的無狀態地址前綴和 M 與 O 標記的值。運行 Windows® XP 或 Windows Server 2003 的 IPv6 主機不包括 DHCPv6 客户端,因此會忽略接收的路由器公告中的 M 和 O 標記的值。
通過使用“netsh interface ipv6 set interface InterfaceName managedaddress=enabled”命令,可以將正在運行 Windows Vista 或 Windows Server“Longhorn”的 IPv6 路由器配置為在路由器公告中設置 M 標記為 1。類似地,通過使用“netsh interface ipv6 set interface InterfaceName otherstateful=enabled”命令可以在路由器公告中設置 O 標記為 1。
Beta 2 版本的 Windows Server“Longhorn”通過 DHCP 服務器服務來支持 DHCPv6 中繼代理和 DHCPv6 無狀態配置。可以將用於 DHCPv6 選項的 DHCP 服務器服務配置為分發到之前所述的兩消息 DHCPv6 消息交換中的所有 DHCPv6 客户端。Microsoft 已計劃在 Beta 3 版本的 Windows Server“Longhorn”中支持 DHCPv6 有狀態操作(包括在 DHCP 管理單元中創建 IPv6 地址範圍的功能)。 [1] 
參考資料