天天看點

DHCP初步認識

1、DHCP(動态主機配置協定)是區域網路協定。

2、用戶端第一次登陸網絡——廣播DHCP DISCOVER

當 DHCP 用戶端第一次登入網絡的時候,也就是客戶發現本機上沒有任何 IP 資料設定,它會向網絡發出一個 DHCP DISCOVER 封包。因為用戶端還不知道自己屬于哪一個網絡,是以封包的來源位址會為 0.0.0.0 ,而目的位址則為 255.255.255.255 ,然後再附上 DHCP discover 的資訊,向網絡進行廣播。在 Windows 的預設情形下,DHCP discover 的等待時間預設為 1 秒,也就是當用戶端将第一個 DHCP discover 封包送出去之後,在 1 秒之内沒有得到響應的話,就會進行第二次 DHCP discover 廣播。若一直得不到響應的情況下,用戶端一共會有四次 DHCP discover 廣播(包括第一次在内),除了第一次會等待 1 秒之外,其餘三次的等待時間分别是 9、13、16 秒。如果都沒有得到DHCP 伺服器的響應,用戶端則會顯示錯誤資訊,宣告 DHCP discover 的失敗。之後,基于使用者的選擇,系統會繼續在 5 分鐘之後再重複一次 DHCP discover 的過程。

3、DHCP收到 DHCP discover 後——發送DHCP OFFER

  當 DHCP 伺服器監聽到用戶端發出的 DHCP discover 廣播後,它會從那些還沒有租出的位址範圍内,選擇最前面的空置 IP ,連同其它 TCP/IP 設定,響應給用戶端一個 DHCP OFFER 封包。由于用戶端在開始的時候還沒有 IP 位址,是以在其 DHCP discover 封包内會帶有其 MAC 位址資訊,并且有一個 XID 編号來辨識該封包,DHCP 伺服器響應的 DHCP offer 封包則會根據這些資料傳遞給要求租約的客戶。根據伺服器端的設定,DHCP offer 封包會包含一個租約期限的資訊。

4、用戶端收到DHCP的響應應答後——發送DHCP request接受 IP 租約

  如果用戶端收到網絡上多台 DHCP 伺服器的響應,隻會挑選其中一個 DHCP offer 而已(通常是最先抵達的那個),并且會向網絡發送一個DHCP request廣播封包,告訴所有 DHCP 伺服器它将指定接受哪一台伺服器提供的 IP 位址。同時,用戶端還會向網絡發送一個 ARP 封包,查詢網絡上面有沒有其它機器使用該 IP 位址;如果發現該 IP 已經被占用,用戶端則會送出一個 DHCPDECLIENT 封包給 DHCP 伺服器,拒絕接受其 DHCP offer ,并重新發送 DHCP discover 資訊。事實上,并不是所有 DHCP 用戶端都會無條件接受 DHCP 伺服器的 offer ,尤其這些主機安裝有其它 TCP/IP 相關的客戶軟體。用戶端也可以用 DHCP request 向伺服器提出 DHCP 選擇,而這些選擇會以不同的号碼填寫在 DHCP Option Field 裡面。

  換一句話說,在 DHCP 伺服器上面的設定,未必是用戶端全都接受。用戶端可以保留自己的一些 TCP/IP 設定,并且主動權永遠在用戶端這邊。

5、DHCP收到DHCP request發送DHCPACK 響應——租約确認

6、用戶端成功獲得IP後的操作:

DHCP 伺服器會盡量讓用戶端使用原來的 IP 位址。

在租約期限一半的時候也會發出 DHCP request ,如果此時得不到 DHCP 伺服器的确認的話,用戶端還可以繼續使用該 IP ;當租約期過了87.5%時,如果用戶端仍然無法與當初的DHCP伺服器聯系上,它将與其它DHCP伺服器通信。如果網絡上再沒有任何DHCP伺服器在運作時,該用戶端必須停止使用該IP位址,并從發送一個Dhcpdiscover資料包開始,再一次重複整個過程。

7、跨網絡的 DHCP 運作

 從前面描述的過程中,我們不難發現:DHCP DISCOVER 是以廣播方式進行的,其情形隻能在同一網絡之内進行,因為 router 是不會将廣播傳送出去的。但如果 DHCP 伺服器安設在其它的網絡上面呢?由于 DHCP 用戶端還沒有 IP 環境設定,是以也不知道 Router 位址,而且有些 Router 也不會将 DHCP 廣播封包傳遞出去,是以這情形下 DHCP DISCOVER 是永遠沒辦法抵達 DHCP 伺服器那端的,當然也不會發生 OFFER 及其它動作了。要解決這個問題,我們可以用 DHCP Agent (或 DHCP Proxy )主機來接管客戶的 DHCP 請求,然後将此請求傳遞給真正的 DHCP 伺服器,然後将伺服器的回複傳給客戶。這裡,Proxy 主機必須自己具有路由能力,且能将雙方的封包互傳對方。若不使用 Proxy,您也可以在每一個網絡之中安裝 DHCP 伺服器,但這樣的話,一來裝置成本會增加,而且,管理上面也比較分散。當然喽,如果在一個十分大型的網絡中,這樣的均衡式架構還是可取的。視您的實際情況而定了。

總結:1、用戶端與DHCP進行三次握手以擷取IP。

              2、用戶端會在租約期限一半時間,租約期限的87.5%時間續約。

繼續閱讀