計算機網絡 | 思科網絡 | 什麼是DHCPv4

目錄

一.介紹 DHCPv4

二.DHCPv4 操作

租賃發起

DHCP 發現 (DHCPDISCOVER)

DHCP 提供 (DHCPOFFER)

DHCP 請求 (DHCPREQUEST)

DHCP 確認 (DHCPACK)

租賃續約

DHCP 請求 (DHCPREQUEST)

DHCP 確認 (DHCPACK)

三.DHCPv4 消息格式

 


一.介紹 DHCPv4

DHCPv4 動態分配 IPv4 地址和其他網絡配置信息。DHCPv4 服務器動態地從地址池中分配或出租 IPv4 地址,使用期限爲服務器選擇的一段有限時間,或者直到客戶端不再需要該地址爲止。客戶端的租用期限由管理員確定。管理員在配置 DHCPv4 服務器時,可爲其設定不同的租期屆滿時間。租用時間在任何地方通常都是 24 小時到一週或更長時間。租期屆滿後,客戶端必須申請另一地址,但通常是把同一地址重新分配給客戶端。

二.DHCPv4 操作

如圖 1 所示,DHCPv4 在客戶端/服務器模式下工作。當客戶端與 DHCPv4 服務器通信時,服務器會將 IPv4 地址分配或出租給該客戶端。然後客戶端使用租用的 IP 地址連接到網絡,直到租期屆滿。客戶端必須定期聯繫 DHCP 服務器以續展租期。這種租用機制確保移動或關閉的客戶端不保留它們不再需要的地址。租期屆滿後,DHCP 服務器會將地址返回地址池,如有必要,可將其再次分配。

租賃發起

當客戶端啓動時(或要連接網絡),它開始進行四步過程以獲取租約。如圖 2 所示,客戶端使用包含自己 MAC 地址的廣播 DHCPDISCOVER 消息開始該過程以查找可用 DHCPv4 服務器。

DHCP 發現 (DHCPDISCOVER)

DHCPDISCOVER 消息在網絡上查找 DHCPv4 服務器。由於客戶端啓動時沒有有效的 IPv4 信息,因此,它將使用第 2 層和第 3 層廣播地址與服務器通信。

DHCP 提供 (DHCPOFFER)

當 DHCPv4 服務器收到 DHCPDISCOVER 消息時,會保留一個可用 IPv4 地址以租賃給客戶端。服務器還會創建一個 ARP 條目,該條目包含請求客戶端的 MAC 地址和客戶端的租用 IPv4 地址。如圖 3 所示,DHCPv4 服務器將綁定 DHCPOFFER 消息發送到請求客戶端。

DHCP 請求 (DHCPREQUEST)

如圖 4 所示,當客戶端從服務器收到 DHCPOFFER 時,會發回一條 DHCPREQUEST 消息。此消息用於發起租用和租約更新。用於發起租用時,將 DHCPREQUEST 用作已提供參數所選定服務器的綁定接受通知,並隱式拒絕任何其他可能已爲客戶端提供了綁定服務的服務器。

許多企業網絡使用多臺 DHCPv4 服務器。DHCPREQUEST 消息以廣播的形式發送,將已接受提供的情況告知此 DHCPv4 服務器和任何其它 DHCPv4 服務器。

DHCP 確認 (DHCPACK)

如圖 5 所示,收到 DHCPREQUEST 消息後,服務器使用 ICMP ping 驗證該地址的租用信息以確保該地址尚未使用,爲客戶端租用創建新的 ARP 條目,並以 DHCPACK 消息作爲回覆。除消息類型字段不同外,DHCPACK 消息與 DHCPOFFER 消息別無二致。客戶端收到 DHCPACK 消息後,記錄下配置信息,併爲所分配的地址執行 APR 查找。如果沒有對 ARP 的應答,客戶端就會知道 IPv4 地址是有效的,並開始像使用自己的地址一樣使用該地址。

租賃續約

DHCP 請求 (DHCPREQUEST)

如圖 6 所示,租期屆滿後,客戶端將 DHCPREQUEST 消息直接發送到最初提供 IPv4 地址的 DHCPv4 服務器。如果在指定的時間內沒有收到 DHCPACK,客戶端會廣播另一個 DHCPREQUEST,這樣,另外一個 DHCPv4 服務器便可續展租期。

DHCP 確認 (DHCPACK)

如圖 7 所示,收到 DHCPREQUEST 消息後,服務器通過返回一個 DHCPACK 來驗證租用信息。

三.DHCPv4 消息格式

DHCPv4 消息格式用於所有 DHCPv4 事務。DHCPv4 消息封裝在 UDP 傳輸協議中。從客戶端發出的 DHCPv4 消息使用 UDP 源端口 68 和目標端口 67。從服務器發往客戶端的 DHCPv4 消息使用 UDP 源端口 67 和目標端口 68。

圖中顯示了 DHCPv4 消息的格式。字段如下:

  • 操作 (OP) 代碼 - 指定通用消息類型。1 表示請求消息,2 表示回覆消息。
  • 硬件類型 - 確定網絡中使用的硬件類型。例如,1 表示以太網,15 表示幀中繼,20 表示串行線路。這與 ARP 消息中使用的代碼相同。
  • 硬件地址長度 - 指定地址的長度。
  • 跳數 - 控制消息的轉發。客戶端傳輸請求前將其設置爲 0。
  • 事務標識符 - 客戶端使用事務標識符將請求和從 DHCPv4 服務器接收的應答進行匹配。
  • 秒數 - 確定從客戶端開始嘗試獲取或更新租用以來經過的秒數。當有多個客戶端請求未得到處理時,DHCPv4 服務器會使用秒數來排定應答的優先順序。
  • 標記 - 發送請求時,不知道自己 IPv4 地址的客戶端會使用標記。只使用 16 位中的一位,即廣播標記。此字段中的 1 值告訴接收請求的 DHCPv4 服務器或中繼代理應將應答作爲廣播發送。
  • 客戶端 IP 地址 - 當客戶端的地址有效且可用時,客戶端在租約更新期間(而不是在獲取地址的過程中)使用客戶端 IP 地址。當且僅當客戶端在綁定狀態下有一個有效的 IPv4 地址時,該客戶端纔會將其 IPv4 地址放在此字段中,否則,它會將該字段設置爲 0。
  • 您的 IP 地址 - 服務器使用該地址將 IPv4 地址分配給客戶端。
  • 服務器 IP 地址 - 服務器使用該地址確定在 bootstrap 過程的下一步驟中客戶端應當使用的服務器地址,它既可能是也可能不是發送該應答的服務器。發送服務器始終會把自己的 IPv4 地址放在稱作“服務器標識符”DHCPv4 選項的特殊字段中。
  • 網關 IP 地址 - 涉及 DHCPv4 中繼代理時會路由 DHCPv4 消息。網關地址可以幫助位於不同子網或網絡的客戶端與服務器之間傳輸 DHCPv4 請求和 DHCPv4 回覆。
  • 客戶端硬件地址 - 指定客戶端的物理層。
  • 服務器名稱 - 由發送 DHCPOFFER 或 DHCPACK 消息的服務器使用。服務器可能選擇性地將其名稱放在此字段中。這可以是簡單的文字別名或 DNS 域名,例如 dhcpserver.netacad.net。
  • 啓動文件名 - 客戶端選擇性地在 DHCPDISCOVER 消息中使用它來請求特定類型的啓動文件。服務器在 DHCPOFFER 中使用它來完整指定啓動文件目錄和文件名。
  • DHCP 選項 - 容納 DHCP 選項,包括基本 DHCP 運行所需的幾個參數。此字段的長度不定。客戶端與服務器均可以使用此字段。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章