**dhcp(dynamic host configuration protocol,動態主機配置協議 )**是乙個區域網的網路協議,它主要是通過客戶端傳送廣播資料報給整個物理網段內的所有主機,若區域網內有dhcp伺服器時,才會響應客戶端的ip引數要求。
客戶端取得ip引數的過程如下:
(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位址已經被占用,客戶端則會送出乙個dhcpdeclient包給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.85t後還會再次傳送資料報一次。正因如此,所以伺服器端會啟動port67監聽客戶端請求,而客戶端會啟動port68主動向伺服器請求。
Linux DHCP原理與配置
dhcp 動態主機配置協議,乙個區域網的網路協議,專門用於為tcp ip網路中的計算機自動分配tcp ip引數。由伺服器控制一段ip位址範圍,客戶機登入伺服器時就可以自動獲得伺服器分配的ip位址和子網掩碼。dhcp優勢 減少管理員的工作量 避免輸入錯誤的可能 避免ip位址衝突 當更改ip位址段時,不...
簡易linux dhcp設定
dncp的設定 查詢dhcp是否安裝 ank rpm qa grep dhcp etc dhcp.conf 主要的設定檔 usr sbin dhcpd dhcp的daemon的執行檔 var lib dhcp dhcpd leases 租約的啟動與到期就是記錄在這個檔案當中 設定dhcp.conf ...
Linux DHCP服務配置
dhcp簡介 dhcp服務 動態逐級配置協議 作用 注意!dhcp在固定的伺服器上不建議使用,因為固定的伺服器有固定的ip訪問速度會更快!dhcp適用於公司,學校等地方。客戶機和伺服器要在乙個網段中 dhcp原理 客戶端尋找伺服器 discover 伺服器提供位址資訊 offer 客戶端接受並廣播 ...