设为首页收藏本站language 语言切换
查看: 3139|回复: 4
收起左侧

[分享] DHCP报文格式

[复制链接]
 成长值: 63925
发表于 2017-11-24 16:08:19 | 显示全部楼层 |阅读模式
网络协议报文格式大全
http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)


DHCP报文格式报文格式
DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。
DHCP的报文格式如下图所示。
图1 DHCP报文格式

DHCP报文中各字段的含义:

字段长度含义
OP1字节
表示报文的类型:
  • 1:客户端请求报文
  • 2:服务器响应报文
htype1字节表示硬件地址的类型。对于以太网,该类型的值为“1”。
hlen1字节表示硬件地址的长度,单位是字节。对于以太网,该值为6。
Hops1字节跳数。客户端设置为0,也能被一个代理服务器设置。
xid4字节事务ID,由客户端选择的一个随机数,被服务器和客户端用来在它们之间交流请求和响应,客户端用它对请求和应答进行匹配。该ID由客户端设置并由服务器返回,为32位整数。
secs2字节由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数。
flags2字节
此字段在BOOTP中保留未用,在DHCP中表示标志字段。
图2 Flags字段格式

只有标志字段的最高位才有意义,其余的位均被置为0。
最左边的字段被解释为广播响应标志位,内容如下所示:
  • 0:客户端请求服务器以单播形式发送响应报文
  • 1:客户端请求服务器以广播形式发送响应报文
ciaddr4字节客户端的IP地址。只有客户端是Bound、Renew、Rebinding状态,并且能响应ARP请求时,才能被填充。
yiaddr4字节"你自己的"或客户端的IP地址。
siaddr4字节表明DHCP协议流程的下一个阶段要使用的服务器的IP地址。
giaddr4字节该字段表示第一个DHCP中继的IP地址(注意:不是地址池中定义的网关)。当客户端发出DHCP请求时,如果服务器和客户端不在同一个网络中,那么第一个DHCP中继在转发这个DHCP请求报文时会把自己的IP地址填入此字段。服务器会根据此字段来判断出网段地址,从而选择为用户分配地址的地址池。服务器还会根据此地址将响应报文发送给此DHCP中继,再由DHCP中继将此报文转发给客户端。
若在到达DHCP服务器前经过了不止一个DHCP中继,那么第一个DHCP中继后的中继不会改变此字段,只是把Hops的数目加1。
chaddr16字节该字段表示客户端的MAC地址,此字段与前面的“Hardware Type”和“Hardware Length”保持一致。当客户端发出DHCP请求时,将自己的硬件地址填入此字段。对于以太网,当“Hardware Type”和“Hardware Length”分别为“1”和“6”时,此字段必须填入6字节的以太网MAC地址。
sname64字节该字段表示客户端获取配置信息的服务器名字。此字段由DHCP Server填写,是可选的。如果填写,必须是一个以0结尾的字符串。
file128字节该字段表示客户端的启动配置文件名。此字段由DHCP Server填写,是可选的,如果填写,必须是一个以0结尾的字符串。
options可变该字段表示DHCP的选项字段,至少为312字节,格式为"代码+长度+数据"。DHCP通过此字段包含了服务器分配给终端的配置信息,如网关IP地址,DNS服务器的IP地址,客户端可以使用IP地址的有效租期等信息。


DHCP Options
Option id长度(字节)描述
14Subnet Mask
3n*4Router(网关)
6n*4DNS Server
7n*4Log Server
262Interface MTU
33n*8Static route
354ARP cache timeout
42n*4NTP servers
514IP address lease time
531Message type:
  • 1-DHCPDISCOVER
  • 2-DHCPOFFER
  • 3-DHCPREQUEST
  • 4-DHCPDECLINE
  • 5-DHCPACK
  • 6-DHCPNAK
  • 7-DHCPRELEASE
  • 8-DHCPINFORM
544DHCP Server Identifier
60n华为自定义:可配置该终端设备在发起DHCP请求时,通过Option 60携带域信息。收到DHCP报文时,可根据Option 60中携带的域信息来分配IP地址。
82n华为自定义:作为DHCP Relay,在中继用户DHCP报文时,可在Option 82中填写用户的物理位置信息,通知DHCP服务器按物理位置信息对为用户分配IP地址。


报文示例图3 DHCP报文格式(discover阶段)

图4 DHCP报文格式(offer阶段)

图5 DHCP报文格式(request阶段)

图6 DHCP报文格式(ACK阶段)


参考标准
标准描述
RFC 951Bootstrap Protocol (BOOTP)
RFC 1542Clarifications and Extensions for the Bootstrap Protocol
RFC 2131Dynamic Host Configuration Protocol
RFC 2132DHCP Options and BOOTP Vendor Extensions





评分

参与人数 1好评度 +1 收起 理由
xqlz + 1 很给力!

查看全部评分

发表于 2020-2-2 21:20:13 | 显示全部楼层
ddddddddddddddd
板凳 2020-2-2 21:20:13 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2022-10-18 19:32:05 | 显示全部楼层
感謝您的分享
地板 2022-10-18 19:32:05 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2022-10-18 19:32:39 | 显示全部楼层
感謝您的分享
5# 2022-10-18 19:32:39 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-3-9 22:30 , Processed in 0.068923 second(s), 23 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表