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 分鐘再進行嘗試。
相關文章
相關標籤/搜索