DHCP解決什么問題
DHCP,Dynamic Host Configuration Protocol,動態主機配置協議,定義為用于為主機分配可重用的IP地址和配置信息的應用層協議。常用的功能包括:
- 為方便用戶快速地接入和退出網絡、提高IP地址資源的利用率以及支持無盤網絡工作站等應用, DHCP允許計算機快速、動態的獲取IP地址。為使用DHCP的動態地址分配機制,管理員必須配置DHCP服務器,使其能提供一組IP地址,稱之為地址池。任何時候一旦有新的計算機連接到網絡上,該計算機就與服務器聯系,并申請一個IP地址。服務器從配置的地址池中選擇一個地址,并將它分配給該計算機。
- DHCP可使計算機通過報文交互獲取所需的全部配置信息。例如:IP地址、子網掩碼,缺省網關,WINS服務器的IP地址,DNS服務器的IP地址等。
相關術語
- DHCP Server:DHCP服務器,為用戶提供可用的IP地址等配置信息。
- DHCP Client:DHCP客戶端,通過DHCP動態申請IP地址的用戶。
- DHCP Relay:DHCP中繼,用戶跨網段申請IP地址時,實現DHCP報文的中繼轉發功能。
具體技術細節
DHCP是基于“客戶/服務器”模式的,由一臺指定的主機分配網絡地址、傳送網絡配置參數給需要的網絡設備或主機。提供DHCP服務的主機一般稱為服務器,接收信息的主機稱為客戶端。
一次地址申請過程
客戶端與服務器的交互包括以下四個過程
- 1.發現階段: 客戶端-》服務端, 廣播DISCOVER
即DHCP客戶機尋找DHCP服務器的階段。因為DHCP服務器的IP地址對于客戶機來說是未知的,所以DHCP客戶機以廣播方式發送DHCP-DISCOVER信息來尋找DHCP服務器,即向地址255.255.255.255發送特定的廣播信息。網絡上每一臺安裝了TCP/IP協議的主機都會接收到這種廣播信息,但只有DHCP服務器才會做出響應。
- 2.提供階段: 服務端-》客戶端,應答OFFER
即DHCP服務器提供IP地址的階段。在網絡中接收到DHCP-DISCOVER信息的DHCP服務器都會做出響應,它從尚未出租的IP地址中挑選一個分配給DHCP客戶機,向DHCP客戶機發送一個包含出租的IP地址和其他設置的DHCP-OFFER信息。
- 3.選擇階段: 客戶端-》服務端,廣播REQUEST
即DHCP客戶機選擇某臺DHCP服務器提供的IP地址的階段。如果有多臺DHCP服務器向DHCP客戶機發來DHCP-OFFER信息,則DHCP客戶機只接收第一個收到的DHCP-OFFER信息,然后它就以廣播方式回答一個DHCP-REQUEST信息,該信息中包含向它所選定的DHCP服務器請求IP地址的內容。之所以要以廣播方式回答,是為了通知所有的DHCP服務器,他將選擇某臺DHCP服務器所提供的IP地址。
- 4.確認階段: 服務端-》客戶端,應答ACK
即DHCP服務器確認所提供的IP地址的階段。當DHCP服務器收到DHCP客戶機回答的DHCP-REQUEST信息之后,它便向DHCP客戶機發送一個包含它所提供的IP地址和其他設置的DHCP-ACK信息,告訴DHCP客戶機可以使用它所提供的IP地址。然后DHCP客戶機便將獲取到的IP地址與網卡綁定,另外,除DHCP客戶機選中的服務器外,其他的DHCP服務器都將收回曾提供的IP地址。
一次續租過程
DHCP服務器分配給客戶端的IP地址有一定的租借期限,當租借期滿后服務器會收回該IP地址。為了延長DHCP客戶端使用該地址的期限,需要更新IP地址租約
- 請求續租: 客戶端-》服務端
在DHCP客戶端的IP地址租約期限達到一半時間時,DHCP客戶端會向DHCP服務器單播發送DHCP-REQUEST報文,進行IP租約的更新。
- 允許續租: 服務端-》客戶端
如果此IP地址有效,則DHCP服務器單播回應DHCP-ACK報文,通知DHCP客戶端已經獲得新IP租約;
- 不允許續租: 服務端-》客戶端
如果此IP地址不可以再分配給該客戶端,則DHCP服務器回應DHCP-NAK報文,通知DHCP客戶端不能獲得新的租約。
- 續租失敗后的再次嘗試 客戶端-》服務端
如果在租約的一半時間進行的續約操作失敗,DHCP客戶端會在租約期限達到7/8時,再次廣播發送DHCP-REQUEST報文進行續約。DHCP服務器的處理同上,不再贅述。
參考文檔: