DHCP(动态主机配置协议)是一种网络协议,用于自动分配 IP 地址和其他网络配置参数给网络中的设备。
第一部分 DHCP 报文格式
DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。DHCP报文的格式如下图所示。
1 DHCP报文格式

图1 DHCP报文格式
< 所有DHCP提供的配置信息都在options字段中,这才是精华部分 >
报文中各字段的描述如下:
DHCP 报文格式说明:
1)op (1 byte):
-
表示 DHCP 报文的类型。1 表示请求(BOOTREQUEST),2 表示应答(BOOTREPLY)。
2)htype (1 byte):
-
硬件类型,用于指定网络接口的类型,例如以太网是 1。
3)hlen (1 byte):
-
硬件地址长度,指定硬件地址的长度,以太网地址长度通常是 6。
4)hops (1 byte):
-
跳数,用于指定报文经过的路由器数量,通常在 DHCP 报文中设置为 0。
5)xid (4 bytes):
-
事务 ID,一个随机生成的数值,用于匹配请求和应答。
6)secs (2 bytes):
-
秒数,表示 DHCP 客户端启动后的秒数。
7)flags (2 bytes):
-
标志,用于指定特定的 DHCP 选项,例如广播、多播等。
8)ciaddr (4 bytes):
-
客户端 IP 地址,如果客户端已知自己的 IP 地址,则在此字段中指定。
9)yiaddr (4 bytes):
-
你的(客户端)IP 地址,DHCP 服务器在 DHCP 应答中提供给客户端的 IP 地址。
10)siaddr (4 bytes): - 服务器 IP 地址,DHCP 服务器的 IP 地址,用于引导阶段的引导文件传输。
11)giaddr (4 bytes): - 网关 IP 地址,如果客户端通过路由器与服务器通信,则为路由器的 IP 地址。
12)chaddr (16 bytes): - 客户端硬件地址,客户端的 MAC 地址。
13)sname (64 bytes): - 服务器名称,DHCP 服务器的名称,可以为空。
14)file (128 bytes): - 引导文件名,请求的引导文件名,可以为空。
15)options (variable): - 选项,用于传递额外的配置信息,如子网掩码、默认网关、DNS 服务器等。
2 DHCP Options
DHCP 中的Options大全 - 分类DHCP - 博客园
| Option id |
Length(字节) |
描述 |
| 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携带域信息。ME60收到DHCP报文时,可根据Option 60中携带的域信息来分配IP地址。 |
| 82 |
n |
华为自定义:ME60作为DHCP Relay,在中继用户DHCP报文时,可在Option 82中填写用户的物理位置信息,通知DHCP服务器按物理位置信息对为用户分配IP地址。 |
3 DHCP报文类型
DHCP共有八种报文,分别为DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCP Release、DHCP Decline、DHCP Inform。各报文类型功能如表1所述。
| DHCP报文类型 |
描述 |
| DHCP Discover |
|


1261

被折叠的 条评论
为什么被折叠?



