2024年3月21日发(作者:)

DHCP报文解析

DHCP报文

DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)

两个端口号。DHCP报文的格式如下图所示。

图1 DHCP报文格式

< 所有DHCP提供的配置信息都在options字段中,这才是精华部分 >

报文中各字段的描述如下:

op,报文类型,1表示请求报文,2表示回应报文。

htype,硬件地址类型,1表示10Mb/s的以太网的硬件地址。

hlen,硬件地址长度,以太网中该值为6。

hops,跳数。客户端设置为0,也能被一个代理服务器设置。

xid,事务ID,由客户端选择的一个随机数,被服务器和客户端用来在它们之间交流请求和响应,

客户端用它对请求和应答进行匹配。该ID由客户端设置并由服务器返回,为32位整数。

secs,由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数。

flags,标志字段。这个16比特的字段,目前只有最左边的一个比特有用,该位为0,表示单播,

为1表示广播。

 ciaddr,客户端的IP地址。只有客户端是Bound、Renew、Rebinding状态,并且能响应ARP请

求时,才能被填充。

 yiaddr,"你自己的"或客户端的IP地址。

siaddr,表明DHCP协议流程的下一个阶段要使用的服务器的IP地址。

giaddr,DHCP中继器的IP地址。//注意:不是地址池中定义的网关

chaddr,客户端硬件地址。客户端必须设置它的"chaddr"字段。UDP数据包中的以太网帧首部也

有该字段,但通常通过查看UDP数据包来确定以太网帧首部中的该字段获取该值比较困难或者说

不可能,而在UDP协议承载的DHCP报文中设置该字段,用户进程就可以很容易地获取该值。

sname,可选的服务器主机名,该字段是空结尾的字符串,由服务器填写。

file,启动文件名,是一个空结尾的字符串。DHCP Discover报文中是"generic"名字或空字符,

DHCP Offer报文中提供有效的目录路径全名。

 options,可选参数域,格式为"代码+长度+数据"。

DHCP Options

Option Length(字

id 节)

1

3

6

7

26

33

35

42

51

4

n*4

n*4

n*4

2

n*8

4

n*4

4

描述

Subnet Mask

Router(网关)

DNS Server

Log Server

Interface MTU

Static route

ARP cache timeout

NTP servers

IP address lease time

Message type 1-DHCPDISCOVER 2-DHCPOFFER

3-DHCPREQUEST 4-DHCPDECLINE 5-DHCPACK 6-DHCPNAK

7-DHCPRELEASE 8-DHCPINFORM

DHCP Server Identifier

华为自定义:可配置该终端设备在发起DHCP请求时,通

过Option 60携带域信息。ME60收到DHCP报文时,可根

据Option 60中携带的域信息来分配IP地址。

53 1

54 4

60 n