簡說DHCP協(xié)議
DHCP協(xié)議的學習是很關鍵的。那么對于一個網(wǎng)絡管理員來說,DHCP協(xié)議的原理和功能我們都需要進行詳細地,全面的掌握?,F(xiàn)在我們就來講解一下它的基礎內(nèi)容吧。
DHCP協(xié)議的工作原理
根據(jù)客戶端是否第一次登錄網(wǎng)絡,DHCP的工作形式會有所不同。 第一次登錄的時候:
尋找Server
當 DHCP客戶端第一次登錄網(wǎng)絡的時候,也就是客戶發(fā)現(xiàn)本機上沒有任何IP數(shù)據(jù)設定,它會向網(wǎng)絡發(fā)出一個 DHCPDISCOVER 封包。因為客戶端還不知道自己屬于哪一個網(wǎng)絡,所以封包的來源地址會為 0.0.0.0 ,而目的地址則為 255.255.255.255 ,然后再附上 DHCPdiscover 的信息,向網(wǎng)絡進行廣播。
在 Windows 的預設情形下,DHCPdiscover 的等待時間預設為 1 秒,也就是當客戶端將第一個 DHCPdiscover 封包送出去之后,在 1 秒之內(nèi)沒有得到響應的話,就會進行第二次 DHCPdiscover 廣播。若一直得不到響應的情況下,客戶端一共會有四次 DHCPdiscover 廣播(包括第一次在內(nèi)),除了第一次會等待 1 秒之外,其余三次的等待時間分別是 9、13、16 秒。如果都沒有得到 DHCP服務器的響應,客戶端則會顯示錯誤信息,宣告 DHCPdiscover 的失敗。之后,基于使用者的選擇,系統(tǒng)會繼續(xù)在 5 分鐘之后再重復一次 DHCPdiscover 的過程。
提供IP租用地址
當DHCP協(xié)議服務器監(jiān)聽到客戶端發(fā)出的 DHCPdiscover 廣播后,它會從那些還沒有租出的地址范圍內(nèi),選擇最前面的空置IP,連同其它TCP/IP設定,響應給客戶端一個DHCPOFFER封包。
由于客戶端在開始的時候還沒有IP地址,所以在其 DHCPdiscover 封包內(nèi)會帶有其 MAC 地址信息,并且有一個 XID 編號來辨別該封包,DHCP服務器響應的 DHCPoffer 封包則會根據(jù)這些資料傳遞給要求租約的客戶。根據(jù)服務器端的設定,DHCPoffer 封包會包含一個租約期限的信息。
接受IP租約
如果客戶端收到網(wǎng)絡上多臺DHCP協(xié)議服務器的響應,只會挑選其中一個 DHCPoffer 而已(通常是最先抵達的那個),并且會向網(wǎng)絡發(fā)送一個DHCPrequest廣播封包,告訴所有 DHCP服務器它將指定接受哪一臺服務器提供的IP地址。
同時,客戶端還會向網(wǎng)絡發(fā)送一個 ARP 封包,查詢網(wǎng)絡上面有沒有其它機器使用該IP地址;如果發(fā)現(xiàn)該IP已經(jīng)被占用,客戶端則會送出一個 DHCPDECLIENT 封包給 DHCP服務器,拒絕接受其 DHCPoffer ,并重新發(fā)送 DHCPdiscover 信息。
事實上,并不是所有 DHCP客戶端都會無條件接受 DHCP服務器的 offer ,尤其這些主機安裝有其它TCP/IP相關的客戶軟件??蛻舳艘部梢杂?DHCPrequest 向服務器提出 DHCP選擇,而這些選擇會以不同的號碼填寫在 DHCPOption Field 里面: 換一句話說,在 DHCP服務器上面的設定,未必是客戶端全都接受,客戶端可以保留自己的一些TCP/IP設定。而主動權永遠在客戶端這邊。