DHCP之簡要分析

2021-12-29 22:34:04 字數 3866 閱讀 2807

dhcp之簡要分析

www.2cto.com  

(1)        發現階段,即dhcp客戶端尋找dhcp伺服器的階段。客戶端以廣播方式傳送dhcp-discover報文。 

(2)        提供階段,即dhcp伺服器提供ip位址的階段。dhcp伺服器接收到客戶端的dhcp-discover報文後,根據ip位址分配的優先次序選出乙個ip位址,與其他引數一起通過dhcp-offer報文傳送給客戶端。dhcp-offer報文的傳送方式由dhcp-discover報文中的flag欄位決定。 

(3)        選擇階段,即dhcp客戶端選擇ip位址的階段。如果有多台dhcp伺服器向該客戶端發來dhcp-offer報文,客戶端只接受第乙個收到的dhcp-offer報文,然後以廣播方式傳送dhcp-request報文,該報文中包含dhcp伺服器在dhcp-offer報文中分配的ip位址。 

(4)        確認階段,即dhcp伺服器確認ip位址的階段。dhcp伺服器收到dhcp客戶端發來的dhcp-request報文後,只有dhcp客戶端選擇的伺服器會進行如下操作:如果確認將位址分配給該客戶端,則返回dhcp-ack報文;否則返回dhcp-nak報文,表明位址不能分配給該客戶端。 

注:    客戶端收到伺服器返回的dhcp-ack確認報文後,會以廣播的方式傳送免費arp報文,探測是否有主機使用伺服器分配的ip位址,如果在規定的時間內沒有收到回應,客戶端才使用此位址。否則,客戶端會傳送dhcp-decline報文給dhcp伺服器,並重新申請ip位址。 

如果網路中存在多個dhcp伺服器,除dhcp客戶端選中的伺服器外,其它dhcp伺服器中本次未分配出的ip位址仍可分配給其他客戶端。 

www.2cto.com  

dhcp 主要有四個過程: discover、offer、request、ack。 

step 1: 

客戶端(pc機或移動終端)以廣播包的形式,找尋可以提供分配ip的伺服器或路由器,這即為discover階段。 

step 2: 

所有收到這個discover廣播包,並且可以有分配ip功能的伺服器或路由器,會回應這個廣播包;發包的方式可能是廣播報文,也可能是 單播報文 (這因路由器的不同而可能不同)。這即為offer階段 

step3: 

客戶端收到這個包後(雖然這時候網路中有很多offer報文,但此時只會接受第乙個到達的offer報文),從這個offer報文中提取所要的 ip,dns,net gate,並根據ip計算submask, 然後以廣播包的形式,告知所有的可分配ip的伺服器或路由器我已經得到乙個ip,並且此報文中包含了為客戶端分配ip的伺服器或路由器的資訊。這即為 request階段。 

step4: 

所有的路由器或伺服器收到這個request廣播包之後,從中提取伺服器的資訊,如果是指向自己的,則會回ack(同樣,因路由器的不同回ack的方式可能是廣播報文,也可能是單播報文 ),其他的伺服器或路由器則不會回ack。這即為ack階段。 

www.2cto.com  

ip位址分配策略 

針對客戶端的不同需求,dhcp提供三種ip位址分配策略: 

手工分配位址:由管理員為少數特定客戶端(如www伺服器等)靜態繫結固定的ip位址。通過dhcp將配置的固定ip位址發給客戶端。 

自動分配位址:dhcp為客戶端分配租期為無限長的ip位址。 

動態分配位址:dhcp為客戶端分配具有一定有效期限的ip位址,到達使用期限後,客戶端需要重新申請位址。絕大多數客戶端得到的都是這種動態分配的位址。 

ip位址的租約更新 

如果採用動態位址分配策略,則dhcp伺服器分配給客戶端的ip位址有一定的租借期限,當租借期滿後伺服器會收回該ip位址。如果dhcp客戶端希望繼續使用該位址,需要更新ip位址租約。 

在dhcp客戶端的ip位址租約期限達到一半時間時,dhcp客戶端會向為它分配ip位址的dhcp伺服器單播發送dhcp-request報文,以進行ip租約的更新。如果客戶端可以繼續使用此ip位址,則dhcp伺服器回應dhcp-ack報文,通知dhcp客戶端已經獲得新ip租約;如果此ip位址不可以再分配給該客戶端,則dhcp伺服器回應dhcp-nak報文,通知dhcp客戶端不能獲得新的租約。 

如果在租約的一半時間進行的續約操作失敗,dhcp客戶端會在租約期限達到7/8時,廣播傳送dhcp-request報文進行續約。dhcp伺服器的處理方式同上,不再贅述。 

dhcp有8種型別的報文,每種報文的格式相同,只是某些欄位的取值不同。dhcp報文格式基於bootp的報文格式,具體格式所示(括號中的數字表示該字段所佔的位元組)。 

各字段的解釋如下: 

l              op:報文的操作型別,分為請求報文和響應報文,1為請求報文;2為響應報文。具體的報文型別在option欄位中標識。 

l              htype、hlen:dhcp客戶端的硬體位址型別及長度。 

l              hops:dhcp報文經過的dhcp中繼的數目。dhcp請求報文每經過乙個dhcp中繼,該字段就會增加1。

l              xid:客戶端發起一次請求時選擇的隨機數,用來標識一次位址請求過程。 

l              secs:dhcp客戶端開始dhcp請求後所經過的時間。目前沒有使用,固定為0。 

www.2cto.com  

l              flags:第乙個位元為廣播響應標識位,用來標識dhcp伺服器響應報文是採用單播還是廣播方式傳送,0表示採用單播方式,1表示採用廣播方式。其餘位元保留不用。 

l              ciaddr:dhcp客戶端的ip位址。 

l              yiaddr:dhcp伺服器分配給客戶端的ip位址。 

l              siaddr:dhcp客戶端獲取ip位址等資訊的伺服器ip位址。 

l              giaddr:dhcp客戶端發出請求報文後經過的第乙個dhcp中繼的ip位址。 

l              chaddr:dhcp客戶端的硬體位址。 

l              sname:dhcp客戶端獲取ip位址等資訊的伺服器名稱。 

l              file:dhcp伺服器為dhcp客戶端指定的啟動配置檔案名稱及路徑資訊。 

l              options:可選變長選項字段,包含報文的型別、有效租期、dns伺服器的ip位址、wins伺服器的ip位址等配置資訊。 

dhcp常用選項介紹 

常見的dhcp選項有: 

l              option 3:路由器選項,用來指定為客戶端分配的閘道器位址。 

l              option 6:dns伺服器選項,用來指定為客戶端分配的dns伺服器位址。 

l              option 51:ip位址租約選項。 

l              option 53:dhcp訊息型別選項,標識dhcp訊息的型別。 

l              option 55:請求引數列表選項。客戶端利用該選項指明需要從伺服器獲取哪些網路配置引數。該選項內容為客戶端請求的引數對應的選項值。 

l              option 66:tftp伺服器名選項,用來指定為客戶端分配的tftp伺服器的網域名稱。 

l              option 67:啟動檔名選項,用來指定為客戶端分配的啟動檔名。 

l              option 121:無分類路由選項。該選項中包含一組無分類靜態路由(即目的位址的掩碼為任意值,可以通過掩碼來劃分子網),客戶端收到該選項後,將在路由表中新增這些靜態路由。 

l              option 33:靜態路由選項。該選項中包含一組有分類靜態路由(即目的位址的掩碼固定為自然掩碼,不能劃分子網),客戶端收到該選項後,將在路由表中新增這些靜態路由。如果存在option 121,則忽略該選項。   

作者 sharp2wing

DHCP服務簡要

製作人 全心全意 dhcp 動態主機配置協議 dhcp租約過程 客戶機請求ip discover 伺服器響應 offer 客戶機選擇ip request 伺服器確定租約 ack 客戶機在哪些情況下回發生租約更新 客戶端計算機重啟 租約到達一半時間 客戶端輸入命令 ipconfig renew dhc...

抓包分析之DHCP

dhcp 報文是承載於 udp 上的高層協議報文,採用 67 dhcp 伺服器 和 68 dhcp 客戶端 兩個埠號。offer 單播廣播都有可能 ack 單播廣播都有可能 magic cookie 區分是bootp還是dhcp,有的話是dhcp,欄位純固定 dhcp的攻擊 一 惡意dhcp伺服器 ...

DHCP 日誌分析

dhcp dynamic host configuration protocol,動態主機配置協議 是一種有效的ip 位址分配手段,現已經被廣泛地應用在各種區域網管理。它能動態地向網路中每台計算機分配唯一的ip 位址,並提供安全 可靠 簡單和統一的tcp ip網路配置,確保不發生ip位址衝突。當在伺...