客戶端PC入網後DHCP請求過程(轉)
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租用過程。
(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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx 處理客戶端請求的完整過程Nginx客戶端
- 網通dhcp客戶端設定詳解(轉)客戶端
- nginx截獲客戶端請求Nginx客戶端
- 服務端如何獲取客戶端請求IP地址服務端客戶端
- 「美餐客戶端 3.0」設計過程客戶端
- OPC客戶端開發過程整理客戶端
- 傳送 options 請求 後端返回 405 的解決過程後端
- 從客戶端向服務端發起請求(3種)客戶端服務端
- PC客戶端Winform掃描微信二維碼登入網站Navite客戶端ORM網站Vite
- .net socket.io客戶端使用過程客戶端
- 網站提示400 - 請求錯誤,伺服器無法理解客戶端的請求怎麼辦網站伺服器客戶端
- 搭建本地server,響應Android客戶端HTTP請求ServerAndroid客戶端HTTP
- 用whistle和proxifier抓包除錯任意客戶端的網路請求除錯客戶端
- Web請求過程Web
- http請求到達後端的執行過程——閘道器篇HTTP後端
- 客戶端到伺服器端的通訊過程客戶端伺服器
- fastHttp服務端處理請求的過程ASTHTTP服務端
- Android客戶端請求伺服器端的詳細解釋Android客戶端伺服器
- PC客戶端安全測試服務客戶端
- 開發WebApp之PC客戶端WebAPP客戶端
- Node.js 使用http客戶端向網站請求資料並儲存Node.jsHTTP客戶端網站
- Nginx基於客戶端請求頭的訪問分類Nginx客戶端
- FreeBSD DHCP的工作過程(轉)
- HTTP的請求過程HTTP
- SpringBoot系列之服務端解析客戶端國際化請求Spring Boot服務端客戶端
- 走近原始碼:Redis命令執行過程(客戶端)原始碼Redis客戶端
- 怎樣在紅旗5.0下設定DHCP客戶端上網(轉)客戶端
- 【SpringBoot + Tomcat】請求到達後端服務程序後的處理過程Spring BootTomcat後端
- 客戶端到伺服器端的通訊過程及原理客戶端伺服器
- 客戶端段建立到伺服器端的連線過程客戶端伺服器
- 從貼吧看的逆向網路協議過程逆向校園網客戶端協議客戶端
- Fabric1.4原始碼解析:客戶端建立通道過程原始碼客戶端
- 跨域請求後端配置跨域後端
- Spring Boot入坑-7-後端HTTP請求Spring Boot後端HTTP
- 技術基礎 | 改進版的Apache Cassandra客戶端請求路由Apache客戶端路由
- Go-Micro客戶端請求報500錯誤的解決方法Go客戶端
- PC客戶端軟體升級方式簡史客戶端
- Winform客戶端引用WCF客戶端後,部分類無法正常使用ORM客戶端