DHCP协议

DHCP动态主机配置协议,客户端根据mac从服务端获取ip等信息并到期前续约。

协议字段

图中单位是字节。

字段op

含义

1

客户端发送Discover广播请求,包括自身mac。

2

服务端回复Offer广播响应。

3

客户端发送Request广播,告知选择的服务端,希望获得分配的IP。

IP租期达到50%后,发送Request单播请求,请求续约。

IP租期达到87.5%后,发送Request广播请求,请求续约。

4

客户端收到ACK后,发现IP不能使用,发送Decline请求,希望获得新的IP。

5

根据Request中客户端MAC,找到租约记录后响应ACK。

6

根据Request中客户端MAC,没有找到租约记录,回复NAK,告知无法分配IP。

7

客户端发送RELEASE请求,告知服务端不再使用IP。

8

客户端发送Inform请求,获取详细配置信息。

htype:客户端MAC地址类型,1表示以太网MAC。
hlen:客户端MAC地址长度,以太网MAC地址长度是6个字节。
hops:DHCP报文经过的DHCP中继数目,包括路由器数量。
xid:客户端请求id,1次请求ip过程中多次请求报文id相同。
secs:客户端从获取到IP或者续约,开始到现在所消耗的时间,以秒为单位。
flags:最左1位,0表示单播,1表示广播。
ciaddr:客户端IP。
yiaddr:服务端分配的IP。
siaddr:下一个为客户端分配IP的服务端IP。
giaddr:客户端发出的请求报文经过的第1个DHCP中继IP。
chaddr:客户端MAC地址。
sname:服务端名称。
file:服务端为客户端指定的启动配置文件名称和路径信息。
options:可选项字段,长度可变,格式是代码+长度+数据。

请求IP流程

discover->offer->request->ack

1. 客户端发送DHCP DISCOVER广播包寻找DHCP服务端。
2. DHCP服务端向客户端发送DHCP OFFER单播包,包含ip/ip租期/写入resolv.conf nameserver的dns地址/默认路由网关/mtu/ntp server。
3. 客户端发送DHCP REQUEST广播包,向服务端请求使用之前提供的ip。
4. 服务端向客户端发送DHCP ACK单播包,明确可以使用。

参考资料

https://www.rfc-editor.org/rfc/rfc2131

posted on 2024-03-08 08:55  王景迁  阅读(34)  评论(0)    收藏  举报

导航