當前位置:
首頁 > 知識 > DHCP的原理與應用

DHCP的原理與應用

簡介

DHCP 英文全稱:(Dynamic Host Configuration Protocol,動態主機配置協議)是一個 區域網 的 網路協議,在傳輸層使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務 供應商自動分配IP地址 ,給用戶或者內部網路管理員 作為對所有 計算機 作中央管理的手段,在RFC 2131中有詳細的描述。DHCP有3個埠,其中UDP67和UDP68為正常的DHCP服務埠,分別作為DHCP Server和DHCP Client的服務埠;546號埠用於DHCPv6 Client,而不用於DHCPv4,是為DHCP failover服務,這是需要特別開啟的服務,DHCP failover是用來做「雙機熱備」的。


DHCP的報文格式

2.DHCP報文格式

DHCP服務的8種報文的格式是相同的,不同類型的報文只是報文中的某些欄位取值不同。DHCP報文格式基於BOOTP的報文格式。下面是各欄位的說明。

DHCP的原理與應用

OP:報文的操作類型。分為請求報文和響應報文。1:請求報文,2:應答報文。即client送給server的封包,設為1,反之為2。

請求報文:DHCP Discover、DHCP Request、DHCP Release、DHCP Inform和DHCP Decline。

應答報文:DHCP Offer、DHCP ACK和DHCP NAK。

Htype:DHCP客戶端的MAC地址類型。MAC地址類型其實是指明網路類型,Htype值為1時表示為最常見的乙太網MAC地址類型。

Hlen:DHCP客戶端的MAC地址長度。乙太網MAC地址長度為6個位元組,即乙太網時Hlen值為6。

Hops:DHCP報文經過的DHCP中繼的數目,默認為0。DHCP請求報文每經過一個DHCP中繼,該欄位就會增加1。沒有經過DHCP中繼時值為0。(若數據包需經過router傳送,每站加1,若在同一網內,為0。)

Xid:客戶端通過DHCP Discover報文發起一次IP地址請求時選擇的隨機數,相當於請求標識。用來標識一次IP地址請求過程。在一次請求中所有報文的Xid都是一樣的。

Secs:DHCP客戶端從獲取到IP地址或者續約過程開始到現在所消耗的時間,以秒為單位。在沒有獲得IP地址前該欄位始終為0。(DHCP客戶端開始DHCP請求後所經過的時間。目前尚未使用,固定為0。)

Flags:標誌位,只使用第0比特位,是廣播應答標識位,用來標識DHCP伺服器應答報文是採用單播還是廣播發送,0表示採用單播發送方式,1表示採用廣播發送方式。其餘位尚未使用。(即從0-15bits,最左1bit為1時表示server將以廣播方式傳送封包給client。)

【注意】在客戶端正式分配了IP地址之前的第一次IP地址請求過程中,所有DHCP報文都是以廣播方式發送的,包括客戶端發送的DHCP Discover和DHCP Request報文,以及DHCP伺服器發送的DHCP Offer、DHCP ACK和DHCP NAK報文。當然,如果是由DHCP中繼器轉的報文,則都是以單播方式發送的。另外,IP地址續約、IP地址釋放的相關報文都是採用單播方式進行發送的。

Ciaddr:DHCP客戶端的IP地址。僅在DHCP伺服器發送的ACK報文中顯示,在其他報文中均顯示0,因為在得到DHCP伺服器確認前,DHCP客戶端是還沒有分配到IP地址的。只有客戶端是Bound、Renew、Rebinding狀態,並且能響應ARP請求時,才能被填充。

Yiaddr:DHCP伺服器分配給客戶端的IP地址。僅在DHCP伺服器發送的Offer和ACK報文中顯示,其他報文中顯示為0。

Siaddr:下一個為DHCP客戶端分配IP地址等信息的DHCP伺服器IP地址。僅在DHCP Offer、DHCP ACK報文中顯示,其他報文中顯示為0。(用於bootstrap過程中的IP地址)

Giaddr:DHCP客戶端發出請求報文後經過的第一個DHCP中繼的IP地址。如果沒有經過DHCP中繼,則顯示為0。(轉發代理(網關)IP地址)

Chaddr:DHCP客戶端的MAC地址。在每個報文中都會顯示對應DHCP客戶端的MAC地址。

Sname:為DHCP客戶端分配IP地址的DHCP伺服器名稱(DNS域名格式)。在Offer和ACK報文中顯示發送報文的DHCP伺服器名稱,其他報文顯示為0。

File:DHCP伺服器為DHCP客戶端指定的啟動配置文件名稱及路徑信息。僅在DHCP Offer報文中顯示,其他報文中顯示為空。

Options:可選項欄位,長度可變,格式為"代碼+長度+數據"。

列出部分可選的選項:


DHCP的原理及應用

1.發現階段

在DHCP服務配置完成後,DHCP Client啟動時,由於沒有IP地址,會自動發送以discover的廣播報文,源地址為0.0.0.0目的地址為255.255.255.255。網路上的所有支持TCP/IP的主機都會收到該DHCP Discovery報文,但是只有DHCP Server會響應該報文。

2.DHCP Server offer響應階段

DHCP Server收到discover報文後,通過解析報文,查詢dhcpd.conf配置文件,如果在地址池中能找到合適的IP地址,DHCP Server會給DHCP Client發送offer報文,告訴DHCP Client,該DHCP Server擁有資源,可以提供DHCP服務。

3.DHCP Client請求使用階段

當DHCP Client收到offer報文時,知道在本網段中有可用的DHCP Server可以提供DHCP服務,因此,它會發送一個request請求報文,向該DHCP Server請求IP地址、掩碼、網關、DNS等信息,以便登陸網路。

4.DHCP Server確認使用階段(獲得IP地址)

當DHCP Server收到DHCP Client發送的DHCP Request後,確認要為該DHCP Client提供的IP地址後,便向該DHCP Client響應一個包含該IP地址以及其他Option的報文,來告訴DHCP Client可以使用該IP地址了。然後DHCP Client即可以將該IP地址與網卡綁定。另外其他DHCP Server都將收回自己之前為DHCP Client提供的IP地址。

5. DHCP Client重新登錄網路階段

當DHCP Client重新登錄後,發送一個以前的DHCP Server分配的IP地址信息的DHCP Request報文,當DHCP Server收到該請求後,會嘗試讓DHCP客戶端繼續使用該IP地址。並回答一個ACK報文。

如果該IP地址無法再次分配給該DHCP Client後,DHCP回復一個NAK報文,當DHCP Client收到該NAK報文後,會重新發送DHCP Discovery報文來重新獲取IP地址。

6. DHCP Client續約階段

DHCP獲取到的IP地址都有一個租約,租約過期後,DHCP Server將回收該IP地址,所以如果DHCP Client如果想繼續使用該IP地址,則必須更新器租約。更新的方式就是,噹噹前租約期限過了一半後,DHCP Client都會發送DHCP Renew報文來續約租期。


配置DHCP伺服器(華為路由器)

DHCP的原理與應用

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 青峰科技 的精彩文章:

華為路由器配置RIP路由協議全攻略

TAG:青峰科技 |