dhcp流程涉及到8个报文,分别是 discovery, offer, request, ack, release, decline, nak,inform 8种。
1)discovery:第一个报文,client 广播发送discovery报文请求server端获取地址,此时client ip:0.0.0.0 (可能存在多个DHCP Server)
2)offer : 对dhcpdiscovery的响应,当server收到client的discovery报文后,会单播发送一个offer报文响应。告诉client ,server给提供的ip地址和其他设置信息。(可能有多个dhcpserver 发送offer)
3)request:对 offer的响应 或者是延续ip地址租期时发出的报文。对server提供的信息发送request请求获取提供的信息(client 接收第一个到达的offer并广播request 告诉其他server 已经选择好了dhcp server),其他人不需要再提供dhcp服务了。
4)ack : server对client的 request报文的确认响应报文,只要收到此报文才算是真正的获取了ip地址和相关配置信息。(ACK中有个option43字段,用于填充ACIP)
5)decline:当客户端发现服务器端分配的ip地址无法使用,如ip地址冲突,将发出此报文,通知server禁止使用此ip地址。
6)release :client主动释放server分配给它的ip地址的报文,server收到此报文后,可以回收这个ip地址,使其分配给其他client使用。(可手动 ipconfig /release 释放,wireshark抓包可以看到此报文,ipconfig /renew 重新获取,输入后,会重新走dhcp获取地址的流程)
7 ) nak : server对client的 request 报文的拒绝响应报文,client收到此报文后,一般会重新开始新的dhcp过程。
8 ) inform : client已经获取了ip地址,发送此报文,只是为了从server处获取其他的一些网络配置信息,如 route ip, dns ip等。
DHCP流程.pngclient 端口号 68 server 端口号 69
注意: 当用wireshark抓包软件进行捕获dhcp报文的时候,过滤条件是:过滤bootp报文,bootp 是dhcp的前身。
网友评论