Tag: H31-341_V2.5
-
什麼是DHCP?為什麼要用DHCP?
動態主機設定協定DHCP(Dynamic Host Configuration Protocol)是一種網路管理協議,用於集中對使用者IP位址進行動態管理和設定。 DHCP於1993年10月成為標準協議,其前身為BOOTP協議。 DHCP協定由RFC 2131定義,採用客戶端/伺服器通訊模式,由客戶端(DHCP Client)向伺服器(DHCP Server)提出設定申請,DHCP Server為網路上的每個裝置動態分配IP位址、子網路遮罩、預設網關位址,網域名稱伺服器(DNS)位址和其他相關設定參數,以便可以與其他IP網路通訊。 01 為什麼要使用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伺服器配置有新訊息,該訊息將傳播到新端點。同樣,如果升級並更換了網路設備,則不需要網路配置。 02 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客戶端。 2.1 無中繼場景時DHCP客戶端首次接取網路的工作原理 如下圖所示,在沒有部署DHCP中繼的場景下,首次接取網路DHCP用戶端與DHCP伺服器的封包互動過程,此流程稱為DHCP封包四步驟互動。 無中繼場景時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位址的順序如下: DHCP伺服器上已設定的與客戶端MAC位址靜態綁定的IP位址。 用戶端所傳送的DHCP DISCOVER封包中Option50(請求IP位址選項)指定的位址。 在位址池內尋找「Expired」狀態的IP位址,即曾經指派給客戶端的超過租期的IP位址。 在位址池內隨機尋找一個「Idle」狀態的IP位址。 如果找不到可供指派的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…