DHCP原理介紹和8個報文

DHCP工作過程:
dhcp工作過程
DHCP採用UDP爲傳輸協議
主機端口爲68,服務器端口爲67

1、Client發出DHCP Discover報文
———Client開機或重新啓動網卡後,會向網絡中以廣播形式發出一個Discover報文,該報文的源ip爲0.0.0.0,目標ip爲255.255.255.255

2、服務器回覆offer報文
———網絡中的所有主機收到Discover報文後會直接丟棄,所有DHCP服務器接收到該報文都會發送一個Offer報文。
———Offer報文中含有能夠提供給Client預使用的ip地址和服務器自己的ip地址,以便區分不同的服務器,發出Offer報文後在本地作IP地址分配記錄。
服務器基於以下條件進行分配ip地址:
(1)該MAC地址曾使用過某個ip,且當前無人使用,則將此ip提供
(2)該MAC地址綁定了某特定ip,則將此ip提供
(3)以上兩種情況都不符,則隨機選取ip地址提供
注意:Offer報文中提供的ip地址不一定爲最終分配的地址,服務器會保留該地址直到Client正式發出請求。

3、發送Request包迴應服務器
———Client通常只處理最先收到的Offer報文,然後發出一個廣播的Request報文,並向其中加入選中的Server ip地址和需要的ip地址
注意:Request報文采用廣播形式,是爲了讓其它發送Offer報文的服務器也接受到該數據包,清除剛纔發出的Offer報文。

4、服務器回覆響應
———服務器收到Request報文後,判斷報文中Server ip地址是否與自己相同,若不相同,則清除剛纔ip地址分配記錄;若相同,會向Client響應一個ACK報文,並在選項字段增加ip地址的使用租期信息。
注意:如果收到的Request消息中地址信息不正確,如Client已經遷移到新的子網或者租約已經過期,則服務器會發送NAK報文給Client讓重新申請。

5、檢查ip是否可用
———Client收到ACK報文後,檢查服務器分配的ip地址能否使用,若可以使用,則成功獲得ip地址並根據租期自動啓動續約過程;若不能使用(已被使用),則向服務器發送Decline報文,通知禁用這個ip地址,然後開始重新申請。

6、釋放ip地址
———成功獲取ip地址後,可隨時發送Release報文釋放ip地址,服務器收到後就回收此ip並重新分配。

7、續租
———在使用租期到50%時刻處,Client會以單播形式向服務器發送Request報文來續租,若服務器沒有迴應ACK報文,則到87.5%時刻處,Client再以廣播形式發送Request報文來續租,若服務器沒有迴應ACK報文,則租約到期時,Client發送Release報文釋放ip地址。

DHCP的8個數據報文:
Discover:廣播形式發送用於發現網絡中的DHCP服務器
Offer:提供預使用ip地址和服務器自己的ip地址
Request:廣播發送選中的服務器ip和請求使用的ip地址
ACK:提供Client請求的ip地址和租約信息
NAK:響應所請求的ip地址不可用,讓重新申請
Decline:通知服務器提供的ip地址不可用
Release:釋放ip地址,通知服務器回收
Inform:向服務器獲取更詳細的ip地址配置信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章