DHCP(動態主機配置協議)工作原理及過程

2021-10-06 14:04:06 字數 1659 閱讀 5035

dhcp協議採用udp作為傳輸協議,客戶端主機傳送請求訊息到dhcp伺服器的67號埠,dhcp伺服器回應應答訊息給客戶端主機的68號埠。詳細的互動過程如下圖(**於網路):

(1)客戶端:利用廣播資料報傳送搜尋dhcp伺服器

若客戶端網路設定使用dhcp協議取得ip,則當客戶端開機或者是重新啟動網絡卡時,客戶端主機會傳送出查詢dhcp伺服器的udp資料報(discover)給所有物理網段內的計算機。因為客戶端還不知道自己屬於哪乙個網路,所以該資料報的**位址會為0.0.0.0,而目的位址則為255.255.255.255。一般主機接收到這個資料報之後會直接丟棄,若區域網內有dhcp伺服器,則會開始後續行為。

(2)伺服器端:提供客戶端網路相關的租約以供選擇。(dhcp offer)

dhcp伺服器在監聽到客戶端發出的dhcp discover廣播後,會針對這個客戶端的硬體位址( mac)與本身的設定資料進行下列工作:

①到伺服器的日誌檔案中查詢該使用者之前是否曾經租用過某個ip,若有且該ip目前無人使用,則提供此ip給客戶端。

②若配置檔案針對該mac位址提供特定的固定ip時,則提供該固定的ip給客戶端。

③若不符合上述兩個條件,則隨機選取當前沒有被使用的ip引數給客戶端,並記錄下來。

(3)客戶端:決定選擇dhcp伺服器提供的網路引數租約並向伺服器確認。

由於區域網內可能並非僅有一台dhcp伺服器,但客戶端僅能接收一組網路引數租約,因此客戶端只會挑選其中乙個dhcp offer(通常是最先抵達的那個)。當決定好使用此伺服器的網路引數租約後,客戶端便開始使用這組網路引數來配置自己的網路環境。此外,客戶端會傳送乙個dhcp request廣播資料報給所有物理網段內的主機,告知已經接受該伺服器的租約(此時若有兩台以上的dhcp伺服器,則這些沒有被接受的伺服器會收回該ip租約)。同時,客戶端還會向網路傳送乙個arp封包,查詢網路上面有沒有其他機器使用該ip位址;如果發現該ip位址已經被占用,客戶端則會送出乙個dhcp declient包給dhcp伺服器,拒絕接受其dhcp offer,並重新傳送dhcp discover資訊。

(4)伺服器端:記錄該次租約行為後並向客戶端傳送響應資料報資訊以確認客戶端的使用。

當伺服器端收到客戶端的確認選擇後,伺服器會回送確認的dhcp ack響應資料報,並且告知客戶端這個網路引數租約的期限,並且開始租約計時。那麼該次租約何時會到期而被解約,有以下幾種情況:

①客戶端離線:關閉網路介面、重新啟動、關機等行為,都算是離線狀態,這個時候server端就會將該ip位址收回,並放到server的備用區中,以便日後使用。

②客戶端租約到期:dhcp server端發放的ip有使用的期限,客戶端使用這個ip到達期限規定的時間,而且沒有重新提出dhcp的申請時,server端就會將該ip收回,這個時候就會斷線。但使用者也可以向dhcp伺服器再次要求分配ip。

由於目前的dhcp客戶端程式大多數會主動依據租約時間去重新申請ip,所以即使有租約期限,也不需要在某個時間點手動去重新申請ip。一般情況下,假設租約時間是t小時,那麼客戶端程式在0.5t時會主動向dhcp伺服器發出重新要求網路引數的資料報。如果這次資料報請求沒有成功,那麼在0.875t後還會再次傳送資料報一次。正因如此,所以伺服器端會啟動port67監聽客戶端請求,而客戶端會啟動port68主動向伺服器請求。

DHCP 動態主機配置協議

dhcp dynamic host configuration protocol,動態主機配置協議,工作在osi的應用層,是一種幫助計算機從指定的dhcp伺服器獲取它們的配置資訊的自舉協議,其最重要的功能是動態分配。dhcp的工作流程 發現階段,即dhcp客戶機尋找dhcp伺服器的階段。dhcp客戶...

動態主機配置協議DHCP

一.產生的原因?通常我們的協議都是固定在程式裡,一旦編寫好就不希望老是改動,但有很多時候為了軟體協議便於移植,往往並不把協議的所有細節都固定在源 中。我們希望可以在很多計算機上使用同乙個經過編譯的 在軟體執行之前,對軟體協議的莫些字段進行引數的賦值。在協議軟體中給這些引數賦值的動作叫做協議配置。乙個...

動態主機配置協議DHCP

dhcp提供一種動態指定 ipdhcp基於 c s模式,主要用於大型網路。dhcp用來自動給客戶端分配 tcp ip 資訊的網路協議,如 ip位址 閘道器 子網掩碼等資訊。每個dhcp 客戶端通過廣播連線到區域內的 dhcp 伺服器,該伺服器會響應請求,返回包括 ip位址 閘道器和其他網路配置資訊。...