DHCP的工作流程
各位親愛的小宇粉絲朋友們!上期我們淺淺的了解了一下“簡單省事專用助手”也就是DHCP。看到很多小伙伴對于這個小助手還是非常感興趣的。那今天咱就接著這個DHCP的工作流程接著講講吧!
DHCP 的工作流程一共分為4個過程:
發現階段
就是DHCP Client 尋找 DHCP Server 的階段,客戶端廣播一個DHCP Discover 消息,消息內包含著自身的MAC地址,以及想要請求的參數列表項、廣播標志位等信息;而二層廣播域中運行了DHCP Server服務的設備或者服務器,接收到該客戶端發送的消息,會對DHCP Discover消息進行回復。
提供階段
DHCP Server向DHCP Client提供IP地址,每一個接收到DHCP Discover消息的DHCP Server都會從自己維護的地址池中選擇一個合適的IP地址(DHCP服務ip地址分配順序:MAC地址綁定的IP 地址>已使用的IP地址>空閑狀態的IP地址>超過租期的IP地址>產生沖突的IP地址),并通過DHCP Offer消息將這個地址發送給對端DHCP Client。
選擇階段
在網絡中,客戶自動獲取地址,往往是“就近原則”,最快收到的哪臺服務器的回復,哪臺服務器將成為我們客戶端的服務器;實現客戶端對服務器一對一。假設DHCP Client會在收到的若干個Offer消息,那么會根據 “就近原則”來選擇接受哪一個Offer。通常情況下,會接受最先收到的那一個Offer。假設客戶端最先收到的消息來自于路由器R,客戶端則會廣播一個DHCP Request消息,目的是為了向路由器R(DHCP Server)發送請求,請求獲取到發送給自己的DHCP Offer中的IP地址,同時這個消息中帶有 “R”的標識,表示PC只愿意接受路由器R下發的 IP地址。路由器R收到之后后,知道PC愿意接受自己的Offer,而其他DHCP Server收到這個帶有R標記的消息后,就好比客戶端有了自己的歸屬,其他人就應該學會放手。其實很簡單,當客戶端有服務器給分配地址了,如果其他服務器還依舊給客戶端分地址,很大程度很造成客戶端頻繁更換地址,地址出問題了,客戶端不知道找誰好。因此,在網絡中,默認是選擇服務器之后,便只從這個服務器獲取服務。不會同時對多個相同服務的服務器獲取服務。
確認階段
即DHCP服務器確認所分配IP地址的階段;路由器R會向DHCP Client發送一個DHCP Ack消息。而收到該類型消息的客戶端,則會廣播一個免費的APR報文,探測本網段是否有其他終端使用服務器分配的IP地址,如果此時探測到本網段中有IP地址沖突,則會向DHCP服務器發送DHCP Decline報文。同時為了保證同一網絡中,IP地址的唯一性,過程中DHCP server有可能因為其他原因(如DHCP客戶端移到另一個網絡,DHCP server未查到該客戶端的租約信息)而發送一個DHCP Nak消息。如果 PC接受到了Nak消息,則表示嘗試獲取IP地址失敗,重新回到發現階段開始新一輪申請。
文字的表述中,4個流程看起來也是真的很大的工作量,但是在我們上網的時候,DHCP的使用卻在一瞬間的時間中完成了對于IP地址的配置,這波科技力量確實是一個“狠活”。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。