圖解DHCP的4步租約過程

圖解DHCP的4步租約過程

 

DHCP租約過程就是DHCP客戶機動態獲取IP地址的過程。

DHCP租約過程分爲4步:

客戶機請求IP(客戶機發DHCPDISCOVER廣播包);

服務器響應(服務器發DHCPOFFER廣播包);

客戶機選擇IP(客戶機發DHCPREQUEST廣播包);

服務器確定租約(服務器發DHCPACK/DHCPNAK廣播包)。

 

 

詳解4步租約過程:

 

第1步:客戶機請求IP

客戶機請求IP也稱爲DHCPDISCOVER。

當一個DHCP客戶機啓動時,會自動將自己的IP地址配置成0.0.0.0,由於使用0.0.0.0不能進行正常通信,所以客戶機就必須通過DHCP服務器來獲取一個合法的地址。由於客戶機不知道DHCP服務器的IP地址,所以它使用0.0.0.0的地址作爲源地址,使用UDP68端口作爲源端口,使用255.255.255.255作爲目標地址,使用UDP67端口作爲目的端口來廣播請求IP地址信息(見圖一)。廣播信息中包含了DHCP客戶機的MAC地址和計算機名,以便使DHCP服務器能確定是哪個客戶機發送的請求。

 

DHCP客戶機總是試圖重新租用它接收過的最後一個IP地址,這給網絡帶來一定的穩定性。

 

圖一:客戶機請求IP

10_thumb[1]

 

第2步:服務器響應

服務器響應也稱爲DHCPOFFER。

當DHCP服務器接收到客戶機請求IP地址的信息時,它就在自己的IP地址池中查找是否有合法的IP地址提供給客戶機。如果有,DHCP服務器就將此IP地址做上標記,加入到DHCPOFFER的消息中,然後DHCP服務器就廣播一則包括下列信息的DHCPOFFER消息:

DHCP客戶機的MAC地址;DHCP服務器提供的合法IP地址;子網掩碼;默認網關(路由);租約的期限;DHCP服務器的IP地址。

 

因爲DHCP客戶機還沒有IP地址,所以DHCP服務器使用自己的IP地址作爲源地址,使用UDP67端口作爲源端口,使用255.255.255.255作爲目標地址,使用UDP68端口作爲目的端口來廣播DHCPOFFER信息(見圖二)。

 

圖二:服務器響應

20_thumb[1]

 

第3步:客戶機選擇IP

客戶機選擇IP,也稱爲DHCPREQUEST。

DHCP客戶機從接收到的第一個DHCPOFFER消息中選擇IP地址,發出IP地址的DHCP服務器將該地址保留,這樣該地址就不能提供給另一個DHCP客戶機。當客戶機從第一個DHCP服務器接收DHCPOFFER並選擇IP地址後,DHCP租約的第三過程發生。客戶機將DHCPREQUEST消息廣播到所有的DHCP服務器,表明它接受提供的內容。DHCPREQUEST消息包括爲該客戶機提供IP配置的服務器的服務標識符(IP地址)。DHCP服務器查看服務器標識符字段,以確定它自己是否被選擇爲指定的客戶機提供IP地址,如果那些DHCPOFFER被拒絕,則DHCP服務器會取消提供並保留其IP地址以用於下一個IP租約請求。

 

在客戶機選擇IP的過程中,雖然客戶機選擇了IP地址,但是還沒有配置IP地址,而在一個網絡中可能有幾個DHCP服務器,所以客戶機仍然使用0.0.0.0的地址作爲源地址,使用UDP68端口作爲源端口,使用255.255.255.255作爲目標地址,使用UDP67端口作爲目的端口來廣播DHCPREQUEST信息(見圖三)。

 

圖三:客戶機選擇IP

30_thumb[1]

 

第4步:服務器確認租約

服務器確認租約,也稱爲DHCPACK/DHCPNAK。

DHCP服務器接收到DHCPREQUEST消息後,以DHCPACK消息的形式向客戶機廣播成功的確認,該消息包含有IP地址的有效租約和其他可能配置的信息。雖然服務器確認了客戶機的租約請求,但是客戶機還沒有收到服務器的DHCPACK消息,所以服務器仍然使用自己的IP地址作爲源地址,使用UDP67端口作爲源端口,使用255.255.255.255作爲目標地址,使用UDP68端口作爲目的端口來廣播DHCPACK信息(見圖四)。當客戶機收到DHCPACK消息時,它就配置了IP地址,完成了TCP/IP的初始化。

 

如果DHCPREQUEST不成功,例如客戶機試圖租約先前的IP地址,但該IP地址不再可用,或者因爲客戶機移到其他子網,該IP無效時,DHCP服務器將廣播否定確認消息DHCPNAK。當客戶機接收到不成功的確認時,它將重新開始DHCP租約過程。

 

如果DHCP客戶機無法找到DHCP服務器,它將從TCP/IP的B類網段169.254.0.0中挑選一個IP地址作爲自己的IP地址,繼續每隔5分鐘嘗試與DHCP服務器進行通訊,一旦與DHCP服務器取得聯繫,則客戶機放棄自動配置的IP地址,而使用DHCP服務器分配的IP地址。

 

如果一臺DHCP客戶機有兩個或者多個網卡,則DHCP服務器會爲每個網卡分配一個唯一而有效的IP地址。

 

圖四:服務器確認租約

40_thumb[1]

 

圖五:DHCP服務器日誌

clip_p_w_picpath009_thumb[1]

注:因爲是虛擬機,所以這個DHCP服務器的系統時間有些問題

 

圖六:DHCP客戶機IP信息

50_thumb[1]

可以看到客戶端獲取的IP地址是192.168.1.34;默認網關是192.168.1.10;DHCP服務器IP是192.168.1.240;租約時間是6個小時。

 

DHCP消息類型
1 DHCPDISCOVER
2 DHCPOFFER
3 DHCPREQUEST
4 DHCPDECLINE
5 DHCPACK
6 DHCPNACK
7 DHCPRELEASE
8 DHCPINFORM


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