DHCP工做過程詳解

DHCP動態主機配置協議的做用我想做爲網管的兄弟們都應該知道了,這裏我就很少廢話了,今天我要談的是DHCP的工做過程,瞭解了工做過程,要排除故障就容易了。
 
1、 DHCP 客戶機初始化:
1.  尋找 DHCP Server
當DHCP客戶機第一次登陸網絡的時候(也就是客戶機上沒有任何IP地址數據時),它會經過UDP 67端口向網絡上發出一個DHCPDISCOVER數據包(包中包含客戶機的MAC地址和計算機名等信息)。由於客戶機還不知道本身屬於哪個網絡,因此封包的源地址爲0.0.0.0,目標地址爲255.255.255.255,而後再附上DHCP discover的信息,向網絡進行廣播。
DHCP discover的等待時間預設爲1秒,也就是當客戶機將第一個DHCP discover封包送出去以後,在1秒以內沒有獲得迴應的話,就會進行第二次DHCP discover廣播。若一直沒有獲得迴應,客戶機會將這一廣播包從新發送四次(以2,4,8,16秒爲間隔,加上1-1000毫秒之間隨機長度的時間)。若是都沒有獲得DHCP Server的迴應,客戶機會從169.254.0.0/16這個自動保留的私有IP地址中選用一個IP地址。而且每隔5分鐘從新廣播一次,若是收到某個服務器的響應,則繼續IP租用過程。
2.  提供 IP 地址租用
當DHCP Server監聽到客戶機發出的DHCP discover廣播後,它會從那些尚未租出去的地址中,選擇最前面的空置IP,連同其它TCP/IP設定,經過UDP 68端口響應給客戶機一個DHCP OFFER數據包(包中包含IP地址、子網掩碼、地址租期等信息)。此時仍是使用廣播進行通信,源IP地址爲DHCP Server的IP地址,目標地址爲255.255.255.255。同時,DHCP Server爲此客戶保留它提供的IP地址,從而不會爲其餘DHCP客戶分配此IP地址。
因爲客戶機在開始的時候尚未IP地址,因此在其DHCP discover封包內會帶有其MAC地址信息,而且有一個XID編號來辨別該封包,DHCP Server響應的DHCP OFFER封包則會根據這些資料傳遞給要求租約的客戶。
3.  接受 IP 租約
若是客戶機收到網絡上多臺DHCP服務器的響應,只會挑選其中一個DHCP OFFER(通常是最早到達的那個),而且會向網絡發送一個DHCP REQUEST廣播數據包(包中包含客戶端的MAC地址、接受的租約中的IP地址、提供此租約的DHCP服務器地址等),告訴全部DHCP Server它將接受哪一臺服務器提供的IP地址,全部其餘的DHCP服務器撤銷它們的提供以便將IP地址提供給下一次IP租用請求。此時,因爲尚未獲得DHCP Server的最後確認,客戶端仍然使用0.0.0.0爲源IP地址,255.255.255.255爲目標地址進行廣播。
事實上,並非全部DHCP客戶機都會無條件接受DHCP Server的OFFER,特別是若是這些主機上安裝有其它TCP/IP相關的客戶機軟件。客戶機也能夠用DHCP REQUEST向服務器提出DHCP選擇,這些選擇會以不一樣的號碼填寫在DHCP Option Field裏面。客戶機能夠保留本身的一些TCP/IP設定。
4.  租約確認
當DHCP Server接收到客戶機的DHCP REQUEST以後,會廣播返回給客戶機一個DHCP ACK消息包,代表已經接受客戶機的選擇,並將這一IP地址的合法租用以及其餘的配置信息都放入該廣播包發給客戶機。
客戶機在接收到DHCP ACK廣播後,會向網絡發送三個針對此IP地址的ARP解析請求以執行衝突檢測,查詢網絡上有沒有其它機器使用該IP地址;若是發現該IP地址已經被使用,客戶機會發出一個DHCP DECLINE數據包給DHCP Server,拒絕此IP地址租約,並從新發送DHCP discover信息。此時,在DHCP服務器管理控制檯中,會顯示此IP地址爲BAD_ADDRESS。
若是網絡上沒有其它主機使用此IP地址,則客戶機的TCP/IP使用租約中提供的IP地址完成初始化,從而能夠和其餘網絡中的主機進行通信。
 
2、 DHCP 客戶機租期續約:
客戶機會在租期過去50%的時候,直接向爲其提供IP地址的DHCP Server發送DHCP REQUEST消息包。若是客戶機接收到該服務器迴應的DHCP ACK消息包,客戶機就根據包中所提供的新的租期以及其它已經更新的TCP/IP參數,更新本身的配置,IP租用更新完成。若是沒有收到該服務器的回覆,則客戶機繼續使用現有的IP地址,由於當前租期還有50%。
若是在租期過去50%的時候沒有更新,則客戶機將在租期過去87.5%的時候再次向爲其提供IP地址的DHCP聯繫。若是還不成功,到租約的100%時候,客戶機必須放棄這個IP地址,從新申請。若是此時無DHCP可用,客戶機會使用169.254.0.0/16中隨機的一個地址,而且每隔5分鐘再進行嘗試。

本文出自 「Tonyguo De博客【知識..服務器

相關文章
相關標籤/搜索