tft每日頭條

 > 圖文

 > 用dhcp有什麼好處

用dhcp有什麼好處

圖文 更新时间:2024-07-02 12:51:56
序言

動态主機配置協議DHCP(Dynamic Host Configuration Protocol)是一種網絡管理協議,用于集中對用戶IP地址進行動态管理和配置。DHCP于1993年10月成為标準協議,其前身是BOOTP協議。DHCP協議由RFC 2131定義,采用客戶端/服務器通信模式,由客戶端(DHCP Client)向服務器(DHCP Server)提出配置申請,DHCP Server為網絡上的每個設備動态分配IP地址、子網掩碼、默認網關地址,域名服務器(DNS)地址和其他相關配置參數,以便可以與其他IP網絡通信。

為什麼要使用DHCP?

在IP網絡中,每個連接Internet的設備都需要分配唯一的IP地址。DHCP使網絡管理員能從中心結點監控和分配IP地址。當某台計算機移到網絡中的其它位置時,能自動收到新的IP地址。DHCP實現的自動化分配IP地址不僅降低了配置和部署設備的時間,同時也降低了發生配置錯誤的可能性。另外DHCP服務器可以管理多個網段的配置信息,當某個網段的配置發生變化時,管理員隻需要更新DHCP服務器上的相關配置即可,實現了集中化管理。

總體來看,DHCP帶來了如下優勢:

  • 準确的IP配置:IP地址配置參數必須準确,并且在處理“ 192.168.XXX.XXX”之類的輸入時,很容易出錯。另外印刷錯誤通常很難解決,使用DHCP服務器可以最大程度地降低這種風險。
  • 減少IP地址沖突:每個連接的設備都必須有一個IP地址。但是,每個地址隻能使用一次,重複的地址将導緻無法連接一個或兩個設備的沖突。當手動分配地址時,尤其是在存在大量僅定期連接的端點(例如移動設備)時,可能會發生這種情況。DHCP的使用可确保每個地址僅使用一次。
  • IP地址管理的自動化:如果沒有DHCP,網絡管理員将需要手動分配和撤消地址。跟蹤哪個設備具有什麼地址可能是徒勞的,因為幾乎無法理解設備何時需要訪問網絡以及何時需要離開網絡。DHCP允許将其自動化和集中化,因此網絡專業人員可以從一個位置管理所有位置。
  • 高效的變更管理:DHCP的使用使更改地址,範圍或端點變得非常簡單。例如,組織可能希望将其IP尋址方案從一個範圍更改為另一個範圍。DHCP服務器配置有新信息,該信息将傳播到新端點。同樣,如果升級并更換了網絡設備,則不需要網絡配置。
DHCP是怎麼工作的?

DHCP協議采用UDP作為傳輸協議,DHCP客戶端發送請求消息到DHCP服務器的68号端口,DHCP服務器回應應答消息給DHCP客戶端的67号端口。

隻有跟DHCP客戶端在同一個網段的DHCP服務器才能收到DHCP客戶端廣播的DHCP DISCOVER報文。當DHCP客戶端與DHCP服務器不在同一個網段時,必須部署DHCP中繼來轉發DHCP客戶端和DHCP服務器之間的DHCP報文。在DHCP客戶端看來,DHCP中繼就像DHCP服務器;在DHCP服務器看來,DHCP中繼就像DHCP客戶端。

無中繼場景時DHCP客戶端首次接入網絡的工作原理

如下圖所示,在沒有部署DHCP中繼的場景下,首次接入網絡DHCP客戶端與DHCP服務器的報文交互過程,該過程稱為DHCP報文四步交互。

用dhcp有什麼好處(什麼是DHCP)1

無中繼場景時DHCP客戶端首次接入網絡的報文交互示意圖

第一步:發現階段

首次接入網絡的DHCP客戶端不知道DHCP服務器的IP地址,為了學習到DHCP服務器的IP地址,DHCP客戶端以廣播方式發送DHCP DISCOVER報文(目的IP地址為255.255.255.255)給同一網段内的所有設備(包括DHCP服務器或中繼)。DHCP DISCOVER報文中攜帶了客戶端的MAC地址(chaddr字段)、需要請求的參數列表選項(Option55)、廣播标志位(flags字段)等信息。

第二步:提供階段

與DHCP客戶端位于同一網段的DHCP服務器都會接收到DHCP DISCOVER報文,DHCP服務器選擇跟接收DHCP DISCOVER報文接口的IP地址處于同一網段的地址池,并且從中選擇一個可用的IP地址,然後通過DHCP OFFER報文發送給DHCP客戶端。

通常,DHCP服務器的地址池中會指定IP地址的租期,如果DHCP客戶端發送的DHCP DISCOVER報文中攜帶了期望租期,服務器會将客戶端請求的期望租期與其指定的租期進行比較,選擇其中時間較短的租期分配給客戶端。

DHCP服務器在地址池中為客戶端分配IP地址的順序如下:

  1. DHCP服務器上已配置的與客戶端MAC地址靜态綁定的IP地址。
  2. 客戶端發送的DHCP DISCOVER報文中Option50(請求IP地址選項)指定的地址。
  3. 地址池内查找“Expired”狀态的IP地址,即曾經分配給客戶端的超過租期的IP地址。
  4. 在地址池内随機查找一個“Idle”狀态的IP地址。
  5. 如果未找到可供分配的IP地址,則地址池依次自動回收超過租期的(“Expired”狀态)和處于沖突狀态(“Conflict”狀态)的IP地址。回收後如果找到可用的IP地址,則進行分配;否則,DHCP客戶端等待應答超時後,重新發送DHCP DISCOVER報文來申請IP地址。

設備支持在地址池中排除某些不能通過DHCP機制進行分配的IP地址。例如,客戶端所在網段已經手工配置了地址為192.168.1.100/24的DNS服務器,DHCP服務器上配置的網段為192.168.1.0/24的地址池中需要将192.168.1.100的IP地址排除,不能通過DHCP分配此地址,否則,會造成地址沖突。

為了防止分配出去的IP地址跟網絡中其他客戶端的IP地址沖突,DHCP服務器在發送DHCP OFFER報文前通過發送源地址為DHCP服務器IP地址、目的地址為預分配出去IP地址的ICMP ECHO REQUEST報文對分配的IP地址進行地址沖突探測。如果在指定的時間内沒有收到應答報文,表示網絡中沒有客戶端使用這個IP地址,可以分配給客戶端;如果指定時間内收到應答報文,表示網絡中已經存在使用此IP地址的客戶端,則把此地址列為沖突地址,然後等待重新接收到DHCP DISCOVER報文後按照前面介紹的選擇IP地址的優先順序重新選擇可用的IP地址。

此階段DHCP服務器分配給客戶端的IP地址不一定是最終确定使用的IP地址,因為DHCP OFFER報文發送給客戶端等待16秒後如果沒有收到客戶端的響應,此地址就可以繼續分配給其他客戶端。通過下面的選擇階段和确認階段後才能最終确定客戶端可以使用的IP地址。

第三步:選擇階段

如果有多個DHCP服務器向DHCP客戶端回應DHCP OFFER報文,則DHCP客戶端一般隻接收第一個收到的DHCP OFFER報文,然後以廣播方式發送DHCP REQUEST報文,該報文中包含客戶端想選擇的DHCP服務器标識符(即Option54)和客戶端IP地址(即Option50,填充了接收的DHCP OFFER報文中yiaddr字段的IP地址)。

DHCP客戶端廣播發送DHCP REQUEST報文通知所有的DHCP服務器,它将選擇某個DHCP服務器提供的IP地址,其他DHCP服務器可以重新将曾經分配給客戶端的IP地址分配給其他客戶端。

第四步:确認階段

當DHCP服務器收到DHCP客戶端發送的DHCP REQUEST報文後,DHCP服務器回應DHCP ACK報文,表示DHCP REQUEST報文中請求的IP地址(Option50填充的)分配給客戶端使用。

DHCP客戶端收到DHCP ACK報文,會廣播發送免費ARP報文,探測本網段是否有其他終端使用服務器分配的IP地址,如果在指定時間内沒有收到回應,表示客戶端可以使用此地址。如果收到了回應,說明有其他終端使用了此地址,客戶端會向服務器發送DHCP DECLINE報文,并重新向服務器請求IP地址,同時,服務器會将此地址列為沖突地址。當服務器沒有空閑地址可分配時,再選擇沖突地址進行分配,盡量減少分配出去的地址沖突。

當DHCP服務器收到DHCP客戶端發送的DHCP REQUEST報文後,如果DHCP服務器由于某些原因(例如協商出錯或者由于發送REQUEST過慢導緻服務器已經把此地址分配給其他客戶端)無法分配DHCP REQUEST報文中Option50填充的IP地址,則發送DHCP NAK報文作為應答,通知DHCP客戶端無法分配此IP地址。DHCP客戶端需要重新發送DHCP DISCOVER報文來申請新的IP地址。

有中繼場景時DHCP客戶端首次接入網絡的工作原理

有DHCP中繼的場景中,首次接入網絡的DHCP客戶端和DHCP服務器的工作原理與無中繼場景時DHCP客戶端首次接入網絡的工作原理相同。主要差異是DHCP中繼在DHCP服務器和DHCP客戶端之間轉發DHCP報文,以保證DHCP服務器和DHCP客戶端可以正常交互。下面僅針對DHCP中繼的工作原理進行介紹。

如下圖所示,在部署DHCP中繼的場景下,首次接入網絡DHCP客戶端與DHCP服務器的報文交互過程。

用dhcp有什麼好處(什麼是DHCP)2

有中繼場景時DHCP客戶端首次接入網絡的報文交互示意圖

第一步:發現階段

DHCP中繼接收到DHCP客戶端廣播發送的DHCP DISCOVER報文後,進行如下處理:

  1. 檢查DHCP報文中的hops字段,如果大于16,則丢棄DHCP報文;否則,将hops字段加1(表明經過一次DHCP中繼),并繼續下面的操作。
  2. 檢查DHCP報文中的giaddr字段。如果是0,将giaddr字段設置為接收DHCP DISCOVER報文的接口IP地址。如果不是0,則不修改該字段,繼續下面的操作。
  3. 将DHCP報文的目的IP地址改為DHCP服務器或下一跳中繼的IP地址,源地址改為中繼連接客戶端的接口地址,通過路由轉發将DHCP報文單播發送到DHCP服務器或下一跳中繼。

如果DHCP客戶端與DHCP服務器之間存在多個DHCP中繼,後面的中繼接收到DHCP DISCOVER報文的處理流程同前面所述。

第二步:提供階段

DHCP服務器接收到DHCP DISCOVER報文後,選擇與報文中giaddr字段為同一網段的地址池,并為客戶端分配IP地址等參數,然後向giaddr字段标識的DHCP中繼單播發送DHCP OFFER報文。

DHCP中繼收到DHCP OFFER報文後,會進行如下處理:

  1. 檢查報文中的giaddr字段,如果不是接口的地址,則丢棄該報文;否則,繼續下面的操作。
  2. DHCP中繼檢查報文的廣播标志位。如果廣播标志位為1,則将DHCP OFFER報文廣播發送給DHCP客戶端;否則将DHCP OFFER報文單播發送給DHCP客戶端。

第三步:選擇階段

中繼接收到來自客戶端的DHCP REQUEST報文的處理過程同無中繼場景下的選擇階段。

第四步:确認階段

中繼接收到來自服務器的DHCP ACK報文的處理過程同無中繼場景下的确認階段。

DHCP客戶端重用曾經使用過的地址的工作原理

DHCP客戶端非首次接入網絡時,可以重用曾經使用過的地址。如下圖所示,DHCP客戶端與DHCP服務器交互DHCP報文,以重新獲取之前使用的IP地址等網絡參數,該過程稱為兩步交互。

用dhcp有什麼好處(什麼是DHCP)3

DHCP客戶端重用曾經使用過的IP地址的報文交互過程

第一步:選擇階段

客戶端廣播發送包含前一次分配的IP地址的DHCP REQUEST報文,報文中的Option50(請求的IP地址選項)字段填入曾經使用過的IP地址。

第二步:确認階段

DHCP服務器收到DHCP REQUEST報文後,根據DHCP REQUEST報文中攜帶的MAC地址來查找有沒有相應的租約記錄,如果有則返回DHCP ACK報文,通知DHCP客戶端可以繼續使用這個IP地址。否則,保持沉默,等待客戶端重新發送DHCP DISCOVER報文請求新的IP地址。

DHCP客戶端更新租期的工作原理

DHCP服務器采用動态分配機制給客戶端分配IP地址時,分配出去的IP地址有租期限制。DHCP客戶端向服務器申請地址時可以攜帶期望租期,服務器在分配租期時把客戶端期望租期和地址池中租期配置比較,分配其中一個較短的租期給客戶端。租期到期或者客戶端下線釋放地址後,服務器會收回該IP地址,收回的IP地址可以繼續分配給其他客戶端使用。這種機制可以提高IP地址的利用率,避免客戶端下線後IP地址繼續被占用。如果DHCP客戶端希望繼續使用該地址,需要更新IP地址的租期(如延長IP地址租期)。

DHCP客戶端更新租期的過程如下圖所示。

用dhcp有什麼好處(什麼是DHCP)4

DHCP客戶端更新租期示意圖

  1. 當租期達到50%(T1)時,DHCP客戶端會自動以單播的方式向DHCP服務器發送DHCP REQUEST報文,請求更新IP地址租期。如果收到DHCP服務器回應的DHCP ACK報文,則租期更新成功(即租期從0開始計算);如果收到DHCP NAK報文,則重新發送DHCP DISCOVER報文請求新的IP地址。
  2. 當租期達到87.5%(T2)時,如果仍未收到DHCP服務器的應答,DHCP客戶端會自動以廣播的方式向DHCP服務器發送DHCP REQUEST報文,請求更新IP地址租期。如果收到DHCP服務器回應的DHCP ACK報文,則租期更新成功(即租期從0開始計算);如果收到DHCP NAK報文,則重新發送DHCP DISCOVER報文請求新的IP地址。
  3. 如果租期時間到時都沒有收到服務器的回應,客戶端停止使用此IP地址,重新發送DHCP DISCOVER報文請求新的IP地址。

客戶端在租期時間到之前,如果用戶不想使用分配的IP地址(例如客戶端網絡位置需要變更),會觸發DHCP客戶端向DHCP服務器發送DHCP RELEASE報文,通知DHCP服務器釋放IP地址的租期。DHCP服務器會保留這個DHCP客戶端的配置信息,将IP地址列為曾經分配過的IP地址中,以便後續重新分配給該客戶端或其他客戶端。客戶端可以通過發送DHCP INFORM報文向服務器請求更新配置信息。

如下圖所示,部署DHCP中繼時,更新租期的過程與上述過程相似。

用dhcp有什麼好處(什麼是DHCP)5

客戶端通過DHCP中繼更新租期示意圖

DHCP使用場景

DHCP提供了兩種地址分配機制,網絡管理員可以根據網絡需求為不同的主機選擇不同的分配策略。

  • 動态分配機制:通過DHCP為主機分配一個有使用期限的IP地址。
  • DHCP使用了租期的概念,或稱為設備IP地址的有效期。租用時間是不定的,主要取決于用戶在某地連接Internet需要多久,這種分配機制适用于主機需要臨時接入網絡或者空閑地址數小于網絡主機總數且主機不需要永久連接網絡的場景。
  • 靜态分配機制:網絡管理員通過DHCP為指定的主機分配固定的IP地址。
  • 相比手工靜态配置IP地址,通過DHCP方式靜态分配機制避免人工配置發生錯誤,方便管理員統一維護管理。
,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved