DHCP報文格式


DHCP報文格式

報文格式

DHCP報文是承載於UDP上的高層協議報文,采用67(DHCP服務器)和68(DHCP客戶端)兩個端口號。

DHCP的報文格式如下圖所示。

圖1 DHCP報文格式

 

 

DHCP報文中各字段的含義:

字段

長度

含義

OP

1字節

表示報文的類型:

  • 1:客戶端請求報文
  • 2:服務器響應報文

htype

1字節

表示硬件地址的類型。對於以太網,該類型的值為“1”。

hlen

1字節

表示硬件地址的長度,單位是字節。對於以太網,該值為6。

Hops

1字節

跳數。客戶端設置為0,也能被一個代理服務器設置。

xid

4字節

事務ID,由客戶端選擇的一個隨機數,被服務器和客戶端用來在它們之間交流請求和響應,客戶端用它對請求和應答進行匹配。該ID由客戶端設置並由服務器返回,為32位整數。

secs

2字節

由客戶端填充,表示從客戶端開始獲得IP地址或IP地址續借后所使用了的秒數。

flags

2字節

此字段在BOOTP中保留未用,在DHCP中表示標志字段。

圖2 Flags字段格式

 

 

只有標志字段的最高位才有意義,其余的位均被置為0。

最左邊的字段被解釋為廣播響應標志位,內容如下所示:

  • 0:客戶端請求服務器以單播形式發送響應報文
  • 1:客戶端請求服務器以廣播形式發送響應報文

ciaddr

4字節

客戶端的IP地址。只有客戶端是Bound、Renew、Rebinding狀態,並且能響應ARP請求時,才能被填充。

yiaddr

4字節

"你自己的"或客戶端的IP地址。

siaddr

4字節

表明DHCP協議流程的下一個階段要使用的服務器的IP地址。

giaddr

4字節

該字段表示第一個DHCP中繼的IP地址(注意:不是地址池中定義的網關)。當客戶端發出DHCP請求時,如果服務器和客戶端不在同一個網絡中,那么第一個DHCP中繼在轉發這個DHCP請求報文時會把自己的IP地址填入此字段。服務器會根據此字段來判斷出網段地址,從而選擇為用戶分配地址的地址池。服務器還會根據此地址將響應報文發送給此DHCP中繼,再由DHCP中繼將此報文轉發給客戶端。

若在到達DHCP服務器前經過了不止一個DHCP中繼,那么第一個DHCP中繼后的中繼不會改變此字段,只是把Hops的數目加1。

chaddr

16字節

該字段表示客戶端的MAC地址,此字段與前面的“Hardware Type”和“Hardware Length”保持一致。當客戶端發出DHCP請求時,將自己的硬件地址填入此字段。對於以太網,當“Hardware Type”和“Hardware Length”分別為“1”和“6”時,此字段必須填入6字節的以太網MAC地址。

sname

64字節

該字段表示客戶端獲取配置信息的服務器名字。此字段由DHCP Server填寫,是可選的。如果填寫,必須是一個以0結尾的字符串。

file

128字節

該字段表示客戶端的啟動配置文件名。此字段由DHCP Server填寫,是可選的,如果填寫,必須是一個以0結尾的字符串。

options

可變

該字段表示DHCP的選項字段,至少為312字節,格式為"代碼+長度+數據"。DHCP通過此字段包含了服務器分配給終端的配置信息,如網關IP地址,DNS服務器的IP地址,客戶端可以使用IP地址的有效租期等信息。

DHCP Options

Option id

長度(字節)

描述

1

4

Subnet Mask

3

n*4

Router(網關)

6

n*4

DNS Server

7

n*4

Log Server

26

2

Interface MTU

33

n*8

Static route

35

4

ARP cache timeout

42

n*4

NTP servers

51

4

IP address lease time

53

1

Message type:

  • 1-DHCPDISCOVER
  • 2-DHCPOFFER
  • 3-DHCPREQUEST
  • 4-DHCPDECLINE
  • 5-DHCPACK
  • 6-DHCPNAK
  • 7-DHCPRELEASE
  • 8-DHCPINFORM

54

4

DHCP Server Identifier

60

n

華為自定義:可配置該終端設備在發起DHCP請求時,通過Option 60攜帶域信息。收到DHCP報文時,可根據Option 60中攜帶的域信息來分配IP地址。

82

n

華為自定義:作為DHCP Relay,在中繼用戶DHCP報文時,可在Option 82中填寫用戶的物理位置信息,通知DHCP服務器按物理位置信息對為用戶分配IP地址。

報文示例

圖3 DHCP報文格式(discover階段)

 

 

圖4 DHCP報文格式(offer階段)

 

 

圖5 DHCP報文格式(request階段)

 

 

圖6 DHCP報文格式(ACK階段)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM