客戶端PC入網後DHCP請求過程(轉)

leon830216發表於2015-02-02
1、先了解一下需要抓取的DHCP報文


(1)、客戶發出的IP租用請求報文,DHCP客戶機初始化TCP/IP,透過UDP埠67向網路中傳送一個DHCPDISCOVER廣播包,請求租用IP地址。該廣播包中的源IP地址為0.0.0.0,目標IP地址為255.255.255.255;包中還包含客戶機的MAC地址和計算機名。


DHCP回應的IP租用提供報文。


(2)、任何接收到DHCPDISCOVER廣播包並且能夠提供IP地址的DHCP伺服器,都會透過UDP埠68給客戶機回應一個DHCPOFFER廣播包,提供一個IP地址。該廣播包的源IP地址為DCHP伺服器IP,目標IP地址為255.255.255.255;包中還包含提供的IP地址、子網掩碼及租期等資訊。


2、客戶選擇IP租用報文


客戶機從不止一臺DHCP伺服器接收到提供之後,會選擇第一個收到的DHCPOFFER包,並向網路中廣播一個DHCPREQUEST訊息包,表明自己已經接受了一個DHCP伺服器提供的IP地址。該廣播包中包含所接受的IP地址和伺服器的IP地址。所有其他的DHCP伺服器撤消它們的提供以便將IP地址提供給下一次IP租用請求。


3、DHCP伺服器發出IP租用確認報文


被客戶機選擇的DHCP伺服器在收到DHCPREQUEST廣播後,會廣播返回給客戶機一個DHCPACK訊息包,表明已經接受客戶機的選擇,並將這一IP地址的合法租用以及其他的配置資訊都放入該廣播包發給客戶機。


4、客戶配置成功後發出的公告報文


客戶機在收到DHCPACK包,會使用該廣播包中的資訊來配置自己的TCP/IP,則租用過程完成,客戶機可以在網路中通訊。


至此一個客戶獲取IP的DHCP服務過程基本結束,不過客戶獲取的IP一般是用租期,到期前需要更新租期,這個過程是透過租用更新資料包來完成的。


5、客戶IP租用更新報文


(1)在當前租期已過去50%時,DHCP客戶機直接向為其提供IP地址的DHCP伺服器傳送DHCPREQUEST訊息包。如果客戶機接收到該伺服器回應的DHCPACK訊息包,客戶機就根據包中所提供的新的租期以及其它已經更新的TCP/IP引數,更新自己的配置,IP租用更新完成。如果沒收到該伺服器的回覆,則客戶機繼續使用現有的IP地址,因為當前租期還有50%。


(2)如果在租期過去50%時未能成功更新,則客戶機將在當前租期過去87.5%時再次向為其提供IP地址的DHCP聯絡。如果聯絡不成功,則重新開始IP租用過程。


(3)如果DHCP客戶機重新啟動時,它將嘗試更新上次關機時擁有的IP租用。如果更新未能成功,客戶機將嘗試聯絡現有IP租用中列出的預設閘道器。如果聯絡成功且租用尚未到期,客戶機則認為自己仍然位於與它獲得現有IP租用時相同的子網上(沒有被移走)繼續使用現有IP地址。如果未能與預設閘道器聯絡成功,客戶機則認為自己已經被移到不同的子網上,將會開始新一輪的IP租用過程。


DHCP客戶機在發出IP租用請求的DHCPDISCOVER廣播包後,將花費1秒鐘的時間等待DHCP伺服器的回應,如果1秒鐘沒有伺服器的回應,它會將這一廣播包重新廣播四次(以2,4,8和16秒為間隔,加上1~1000毫秒之間隨機長度的時間)。四次之後,如果仍未能收到伺服器的回應,則執行Windows 2000的DHCP客戶機將從169.254.0.0/16這個自動保留的私有IP地址(APIPA)中選用一個IP地址,而執行其他作業系統的DHCP客戶機將無法獲得IP地址。DHCP客戶機仍然每隔5分鐘重新廣播一次,如果收到某個伺服器的回應,則繼續IP租用過程。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22558114/viewspace-1424385/,如需轉載,請註明出處,否則將追究法律責任。

相關文章