當前位置:編程學習大全網 - 源碼下載 - DHCP的原理

DHCP的原理

很簡單的三步,客戶端是否第壹次登錄網路,DHCP 的工作形式會有所不同。

第壹次登錄的時候:

1. 尋找 Server。當 DHCP 客戶端第壹次登錄網路的時候,也就是客戶發現本機上沒有任何 IP 資料設定,它會向網路發出壹個 DHCPDISCOVER 封包。因為客戶端還不知道自己屬於哪壹個網路,所以封包的來源位址會為 0.0.0.0 ,而目的位址則為 255.255.255.255 ,然後再附上Dhcpdiscover 的信息,向網路進行廣播。在 Windows 的預設情形下,Dhcpdiscover 的等待時間預設為 1 秒,也就是當客戶端將第壹個 Dhcpdiscover 封包送出去之後,在 1 秒之內沒有得到回應的話,就會進行第二次 Dhcpdiscover 廣播。若壹直得不到回應的情況下,客戶端壹***會有四次 Dhcpdiscover 廣播(包括第壹次在內),除了第壹次會等待 1 秒之外,其余三次的等待時間分別是 9、13、16 秒。如果都沒有得到 DHCP 伺服器的回應,客戶端則會顯示錯誤信息,宣告 Dhcpdiscover 的失敗。之後,基於使用者的選擇,系統會繼續在 5 分鐘之後再重復壹次 Dhcpdiscover 的過程。

2. 提供 IP 租用位址。當 DHCP 伺服器監聽到客戶端發出的 Dhcpdiscover 廣播後,它會從那些還沒有租出的位址範圍內,選擇最前面的的空置 IP ,連同其它 TCP/IP 設定,回應給客戶端壹個 DHCPOFFER 封包。由於客戶端在開始的時候還沒有 IP 位址,所以在其 Dhcpdiscover 封包內會帶有其 MAC 位址信息,並且有壹個 XID 編號來辨別該封包,DHCP 伺服器回應的Dhcpoffer 封包則會根據這些資料傳遞給要求租約的客戶。根據伺服器端的設定,Dhcpoffer 封包會包含壹個租約期限的信息。

3. 接受 IP 租約。如果客戶端收到網路上多臺 DHCP 伺服器的回應,只會挑選其中壹個 Dhcpoffer 而已(通常是最先抵達的那個),並且會向網路發送壹個Dhcprequest廣播封包,告訴所有 DHCP 伺服器它將指定接受哪壹臺伺服器提供的 IP 位址。同時,客戶端還會向網路發送壹個 ARP 封包,查詢網路上面有沒有其它機器使用該 IP 位址;如果發現該 IP 已經被占用,客戶端則會送出壹個 DHCPDECLINE 封包給 DHCP 伺服器,拒絕接受其 Dhcpoffer ,並重新發送 Dhcpdiscover 信息。

  • 上一篇:Dvd原始源代碼
  • 下一篇:14名女主播以色情表演引誘青少年打賞,非法斂財2000萬,後來怎樣?
  • copyright 2024編程學習大全網