1. DHCP: Dynamic Host Configuration Protocol 动态主机配置协议
动态分配管理IP地址和其他配置参数
2. 协议标准
RFC 2131, Dynamic Host Configuration Protocol
RFC 2132, DHCP Options and BOOTP Vendor Extensions
RFC951 BOOTSTRAP PROTOCOL (BOOTP)
RFC1542 Clarifications and Extensions for the Bootstrap Protocol
UDP port 67 server side
UDP port 68 client side
3. 协议数据包格式
op: 操作码。 client 发送给 server 的包,值为 1 ,server发送给client, 值为2。
1 = BOOTREQUEST, 2 = BOOTREPLY
hlen: 硬件地址长度, Ethernet 为 6。
hops: 跳数。经过 router 传送,每站加 1 ,若在同一网内,为 0。
xid: TRANSACTION ID 事务ID. client发送DHCP REQUEST时产生。以后server回复也用这个
secs: seconds, client启动以来的时间
flags: 标志位,一般未使用
ciaddr: client IP address, DHCP request时如果client想用上次的IP address, 则加上ciaddr
yiaddr: your IP address, Server在发送DHCP OFFER/DHCP ACK时用于分配给client端的IP地址
siaddr: Server IP address, Server在发送DHCP OFFER/DHCP ACK时告诉client端的Server IP地址
giaddr: relay agent IP address中继代理的IP address, 如果client, server 之间存在中继代理(通常client/server不在一个子网)
chaddr: client hardware address
sname: Server host name. optional
file: boot file name
options: 选项
4. 协议
参考文档
https://tools.ietf.org/html/rfc2131
baike.baidu.com
https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol