动态主机配置协议封包格式
时间:2023-06-14 04:15:01 | 来源:营销百科
时间:2023-06-14 04:15:01 来源:营销百科
动态主机配置协议封包格式:DHCP的封包格式如右图所示,各字段定义如下:
FIELD OCTETS DESCRIPTION
----- ------ -----------
OP: 若是 client 送给 server 的 封包,设为 1 ,反向为 2。HTYPE
硬件 类别,Ethernet 为 1。
HLEN: 硬件地址长度, Ethernet 为 6。
HOPS: 若 封包需经过 router 传送,每站加 1 ,若在同一网内,为 0。
TRANSACTION ID: DHCP REQUEST 时产生的数值,以作 DHCPREPLY 时的依据。
SECONDS: Client 端启动时间(秒)。
FLAGS: 从 0 到 15 共 16 bits ,最左一 bit 为 1 时表示 server 将以广播方式传送 封包给 client ,其余尚未使用。
ciaddr: 要是 client 端想继续使用之前取得之 IP 地址,则列于这里。
yiaddr: 从 server 送回 client 之 DHCP OFFER 与 DHCPACK 封包中,此栏填写分配给 client 的 IP 地址。
siaddr: 若 client 需要透过网络开机,从 server 送出之 DHCP OFFER、DHCPACK、DHCPNACK 封包中,此栏填写开机程序 代码所在 server 之地址。
giaddr: 若需跨网域进行 DHCP 发放,此栏为 relay agent 的地址,否则为 0。
chaddr: Client 之硬件地址。
sname: Server 之名称字符串,以 0x00 结尾。
file: 若 client 需要透过网络开机,此栏将指出开机程序名称,稍后以 TFTP 传送。
options: 允许厂商定议选项(Vendor-Specific Area),以提供更多的设定信息(如:Netmask、Gateway、DNS、等等)。其长度可变,同时可携带多个选项,每一选项之第一个 byte 为信息 代码,其后一个 byte 为该项数据长度,最后为项目内容。CODE LEN VALUE 此字段完全兼容 BOOTP ,同时扩充了更多选项。其中,DHCP 封包可利用编码为 0x53 之选项来设定封包 类别:
项值 类别:
1 DHCP DISCOVER
2 DHCP OFFER
3 DHCP REQUEST
4 DHCPDECLINE
5 DHCPACK
6 DHCPNACK
7 DHCPRELEASE
DHCP 的选项非常多,有空请查阅 RFC 或相关文献,并好好理解,这里不再叙述了。