通常,DHCP 優於靜態 IP,因為您不必擔心為網絡上的每個設備單獨分配地址。這也是當今大多數係統(默認情況下)啟用 DHCP 的原因。

這裡需要注意的一點是,IP僅租用一段時間,並且如果不續訂就會過期。發生這種情況時,IP 將返回到 DHCP 池。現在,該地址可供 DHCP 服務器出租給網絡中的較新設備。

如果您想了解更多信息,這裡有一份詳細指南,討論 DHCP 服務器如何將 IP 出租給不同的設備網絡上的信息、續訂流程以及是否可以修改租約期限。

DHCP 租用時間基礎

DHCP 租用時間表示您的設備保留相同 IP 的時間 在續訂或到期之前。在此期間,DHCP 服務器會為該特定設備保留該 IP,並且不會將其分配給任何其他客戶端,從而防止可能的衝突。

例如,1 小時的租用時間意味著該設備可以保留分配的 IP IP地址1小時。客戶端可以在租用期內隨時通過發送更新請求消息來更新IP。但如果達到標準並且設備未能更新其配置,則可能會丟失 IP,並且必須重新啟動該過程才能獲取新 IP。

DHCP 租用時間的主要目的是指定客戶端可以使用 IP 地址的持續時間。這確保沒有設備會無限期地保留該地址。

在企業網絡中,網絡管理員配置DHCP租用時間。在典型的 SOHO 路由器上,如果您有權訪問路由器設置,則可以選擇更改默認租用時間。

DHCP 租用時間生成和續訂如何工作?

客戶端設備接收租用時間、IP 地址和其他附加信息,如默認網關、子網掩碼、DNS 服務器等。此過程稱為 DHCP 租用協商或 DORA 過程。

DHCP 的工作

該過程開始客戶端通過發送 Discover 消息請求 IP 後。它通常是廣播消息。一台或多台 DHCP 服務器可以為設備提供 IP。

現在,客戶端發送最終請求(作為廣播消息)來聲明提供的IP和相關配置。一旦DHCP服務器確認此請求,客戶端最終在一段時間內(租用時間)獲得IP。

客戶端在一半時間內繼續使用租用的IP地址其有效時間 (50%)。然後,它嘗試通過向 DHCP 服務器發送單播消息來更新其租約。僅當請求得到確認時,其計時器才會刷新。

但是,如果 DHCP 服務器發送NAK 消息,客戶端必須重新啟動租約協商過程才能獲取新 IP地址。如果服務器沒有響應或離線,設備將繼續使用該 IP 地址,直到重新綁定時間(87.5%)。

在此狀態下重複相同的過程-唯一的區別是設備發送廣播消息。現在,網絡中的所有其他 DHCP 服務器都可以確認租約延期請求。

嗯,客戶端仍然可以在租用期內隨時選擇手動釋放和續訂 IP。下面的各個部分應該讓您對這個主題有更多的技術理解。

什麼是單播和廣播消息?

如果來自客戶端的消息到達網絡上的特定設備,稱為單播消息。另一方面,到達網絡上每個設備的消息稱為廣播消息。

例如,如果客戶端將某個數據包作為廣播消息轉發,它將到達每個站點(可以是客戶端和服務器)。但是,如果它僅到達指定設備(例如 DHCP 服務器),則這是單播消息。

DHCP 租約協商/DORA 流程

DORA 是Discover-Offer-Renew-Acknowledge 的縮寫。這些是在服務器和客戶端之間流動的消息。如果兩者不在同一網絡上,則 DHCP 中繼代理會處理這些消息。

DHCPDISCOVER 廣播消息從客戶端到網絡中的所有設備

假設您已在網絡上連接了一個新設備。現在,該設備(客戶端)廣播一條 DHCPDISCOVER 消息,該消息到達網絡上的所有設備。將此視為設備從可訪問的 DHCP 服務器請求 IP 地址。

在某些情況下,設備甚至可以在 DHCPDISCOVER 中包含“參數請求列表”選項信息。在這裡,客戶端可能會提到它感興趣的特定IP以及它想要的租用時間。

在 Wireshark 中監控 DHCP(發現消息)

讓我們在網絡監控軟件上測試一下。雖然我使用的是 Wireshark,但您可以選擇任何您喜歡的。您應該注意到源 IP 是 0.0.0.0,因為設備尚未分配任何 IP 地址。目的地是 255.255.255.255,表示廣播消息。

除此之外,您還可以檢查其他參數和選項,例如事務 ID、客戶端和服務器標識符、中繼代理地址、數據包長度等等。如果您在中繼代理地址字段中看到 0.0.0.0,請注意,沒有涉及代理(客戶端和服務器都在同一網絡上)。

注意: DHCP 協議對服務器使用 UDP 端口 67,對客戶端使用 UDP 68。您可以從 Wireshark 中的“用戶數據報協議”部分檢查源端口和目標端口。

DHCPOFFER 廣播消息從不同的服務器到客戶端

現在,每個 DHCP 服務器(接收到 DHCPDISCOVER 消息)可能會用 DHCPOFFER 數據包進行響應。將此視為向客戶端提供 IP 地址的 DHCP 服務器。

由於服務器尚不知道哪個客戶端需要此 IP,因此它廣播消息到達所有其他設備。

此處,源 IP 地址將是 DHCP 服務器地址。在大多數情況下,這只是您路由器的 IP。目標可能是 255.255.255.255(表示廣播消息)。

但是,如果您的設備之前已配置到 DHCP 服務器,則 DHCP 服務器可能會發送單播 DHCPOFFER 消息。在這種情況下,服務器將提供請求的 IP 和與先前配置匹配的其他參數。

在 Wireshark 中監控 DHCP(提供消息)

監控數據包,您將看到源IP是DHCP服務器地址。與前一種情況中的廣播消息不同,目標 IP 字段將顯示您設備的 IP(表明它是單播)。

DHCPREQUEST 廣播消息從客戶端發送到網絡中的所有 DHCP 服務器

基於此 DHCPOFFER 數據包,客戶端現在將使用 DHCPREQUEST 消息進行響應。基本上,這是您的設備請求 DHCP 服務器為其分配所提供的 IP 地址。

由於其他服務器也可能嘗試與此客戶端通信,因此它必須廣播請求數據包。通過這樣做,其他人現在知道該設備只會從指定的 DHCP 服務器獲取 IP。

在 Wireshark 中監控 DHCP(請求消息)

由於客戶端尚未分配此 IP 地址,因此“源”字段仍顯示 0.0.0.0。另外,由於這是一條廣播消息,因此 Destination 字段將為 255.255.255.255。

注意:如果客戶端之前已將參數請求列表包含在 DHCPDISCOVER 消息中,則發送 DHCPREQUEST 消息時必須包含相同的內容。如果請求的 IP 無效,DHCP 服務器將使用 NAK 數據包進行響應,有時還會附加一條錯誤消息。

從服務器到客戶端的 DHCKACK 消息

最終消息(可以是單播或廣播)來自 DHCP 服務器。它通過 DHCPACK 數據包以及其他配置(包括租用時間)來確認客戶端。

在 Wireshark 中監控 DHCP(確認消息)

如果是廣播消息,目標字段仍將顯示 255.255.255.255。但如果服務器知道設備的 IP 和 MAC 地址,它應該顯示提供的 IP

DHCP 租約續訂過程

租約續訂流程說明

為了讓客​​戶端繼續使用相同的 IP 地址,需要更新其租約時間。如前所述,當有效時間達到 50%時,該過程會自動啟動,這稱為續訂計時器(T1)。

例如,如果租用時間設置為24小時內,客戶端持續使用該IP 12小時。一旦 T1 計時器命中,DHCPREQUEST 數據包就會作為單播消息發送到 DHCP 服務器,請求更新租用時間。

設備繼續使用該地址直到 DHCP 服務器響應。如果服務器出現故障或沒有響應,它將繼續使用租用的 IP,直到重新綁定計時器 (T2) 為止。在此過程中,它不斷嘗試到達同一個 DHCP 服務器(本例中為 9 小時)。

如果服務器響應 ACK 消息,則基本上是在延長客戶端的租用時間。發生這種情況時,續訂過程將重新啟動(返回到綁定狀態),這意味著設備在 T1 之前使用新的租約,並再次請求續訂。

如果服務器回复 NAK 消息,基本上是要求客戶端停止使用租用的 IP 地址。因此,它返回到INIT狀態並再次啟動DORA進程以獲得新的租約。

T2 的 DHCP 續訂

一旦租約時間達到 87.5 %(T2),客戶端設備再次發送DHCPREQUEST報文。但這一次,它發送一條廣播消息,希望與網絡中的任何 DHCP 服務器進行通信。

如果原始 DHCP 服務器回复 ACK,則只有租約時間是有效的。神清氣爽。但如果另一台服務器響應 ACK,您的設備將獲得新的 IP 地址。無論哪種情況,進程都會返回到綁定狀態。

如果客戶端收到 NAK 回复,則必須重新啟動 DORA 進程。如果 DHCP 服務器根本沒有響應,它將繼續使用該 IP,直到到期(在本例中為 3 小時)。之後,它必須重新開始協商以獲得新的IP。

對於IPv4地址來說通常是這種情況。但是,如果您使用 IPv6,它會將租用的 IP 更改為已棄用狀態。雖然不建議這樣做,但它可以防止應用程序可能出現中斷。發生這種情況時,這些應用將繼續使用相同的舊 IP 地址,直到完成其必要的任務。

此外,續訂可以手動觸發使用 ipconfig/renew 命令。如果執行ipconfig/release命令,設備將放棄租約。 DHCP 服務器現在可以將此地址分配給新設備。

監控 DHCP ( Wireshark 中的釋放消息

這樣做時,客戶端基本上會向 DHCP 服務器發送DHCPRELEASE 數據包。將此視為設備將租用的 IP 釋放回服務器。正如您在上面看到的,這將使客戶端返回到 INIT 狀態,並且協商過程開始(再次從 DHCPDISCOVER 消息開始)。

但是如果您立即更新它,設備可能會獲得相同的 IP很長一段時間。雖然僅續訂只會將租約延長一段時間,但釋放和續訂將以新的租用時間重新獲取 IP

您可以更改 DHCP 租用時間嗎?

您當然可以從 DHCP 服務器上的相關設置更改租用時間。大多數家庭路由器都內置有 DHCP 服務器。在這種情況下,您需要首先訪問路由器設置來配置此選項。

下面是有關如何執行此操作的分步指南。不同路由器的步驟可能有所不同。這裡,我使用 TP-Link Archer A7 進行演示。

首先,打開任何網絡瀏覽器並輸入路由器的 IP 地址
如果您不知道這一點,只需啟動命令提示並執行 ipconfig 命令。在適配器下查找默認網關選項。進入路由器的登錄頁面後,輸入正確的用戶名和密碼即可登錄。
如果您對此不確定,可以檢查路由器貼紙以獲取默認憑據。這也可以在線獲取-只需搜索您的路由器型號即可。現在,轉到高級選項並展開網絡 從左側窗格中選擇 DHCP 服務器 選項。 切換到右側,在“設置”下,找到地址租用時間 字段檢查默認值。對於每個 DHCP 服務器來說,這通常是不同的。如下所示,我的時間是 120 分鐘(2 小時)。 要修改租用時間,只需編輯值即可。最後,按保存按鈕。

雖然某些 DHCP 服務器甚至允許您將租用時間設置為無限制,但其他服務器可能不支持。如果路由器上有嵌入式 DHCP 服務器,您可以在“地址租用時間”字段旁邊找到最小值和最大值

如果您已在 Windows 服務器上設置 DHCP ,其默認值為8 天。要更改此設置,您可以展開 IPv4 或 IPv6 並打開 Scope 文件夾的屬性。在這裡,您可以根據天、小時和分鐘配置租用時間。

請注意,客戶端只能查看和續訂租用期限。因此,如果您是Windows用戶,則無法更改租用時間。我已經討論過如何提前釋放和續訂 IP 地址。

在 Windows 中檢查租用期限

要確定租用期限,只需執行 ipconfig/all 命令並檢查 獲得的租用租用過期字段。前者指示 DHCP 服務器何時將當前 IP 租用給您的設備,後者顯示其到期時間。

DHCP 租用時間最佳實踐

配置或修改 DHCP 租用時時間,有幾件事需要考慮。您需要記住網絡中的用戶數量、客戶端類型、連接設備的類型、網絡可以處理的流量等等。

當然,很難確定一個適合各種情況的理想設置。 您需要測試不同的租用時間,以找到最適合您的網絡環境的租用時間。

以下是大多數網絡管理員喜歡的一些最佳實踐。這應該可以幫助您選擇最佳的 DHCP 租用時間:

如果您在頻繁傳入和傳出流量的繁忙地點設置 Wi-Fi 網絡,您可能會選擇<強>更短的租賃時間。這確保了新設備不必等待其他設備釋放其 IP 或過期。租用時間最好設置在 30 分鐘到 1 小時之間。在客戶不經常使用其設備的網絡環境中,您可以選擇較短的租用時間。例如,如果用戶僅在其智能手機上活躍一兩個小時,那麼租用持續時間更長的 IP 地址並不是一個明智的主意。我建議選擇幾個小時(3-4 小時甚至更短)。如果 DHCP 池中IP 地址數量有限,則還需要較短的租用時間在 1 小時到 1 天之間) >)。這樣,未使用的設備就會斷開連接,而較新的設備將獲得其租約。但是,如果 DHCP 池中有足夠的 IP 地址,那麼選擇更長的租用時間將是理想的選擇。如果您在家並且設備數量有限,您可以為每台設備預留一個特定的 IP 地址。否則,請在此處設置更長的 DHCP 租用時間(如果可能,8 天至無限制)。如果您不確定自己的網絡配置,也不必太擔心。只需將租用時間保留為默認或設置標準期限(即24小時)即可。

最終,您可以決定是短還是長 DHCP 租用時間。就我個人而言,我建議在流量瞬態且需要更高安全性的網絡中選擇較短的網絡。但如果您有足夠的 IP,並且網絡中連接的設備通常是永久性的,請選擇更長的租用時間。

Categories: IT Info