通过抓包分析,DHCP四个包都为广播包,并且DHCP服务器为了防止地址冲突,在分配给DHCP客户端地址前,还发出arp包,如果是DHCP中继情况,则发出icmp包。
1.DHCP客户端发出DHCP Discover广播包:
二层:源MAC---客户端的mac,目标MAC---FFFF.FFFF.FFFF
三层:源 IP---0.0.0.0, 目标 IP---255.255.255.255
2.DHCP收到DHCP Discover广播包,从地址池中选出从低到高选出地址,并发出arp包:
二层:源MAC---DHCP服务的mac,目标MAC---FFFF.FFFF.FFFF
3.如果未收到arp的回应包,则准备将这个地址分配给客户端,否则会发出第二个ARP包:
4.DHCP客户端继续发出DHCP Discover广播包:
二层:源MAC---客户端的mac,目标MAC---FFFF.FFFF.FFFF
三层:源 IP---0.0.0.0, 目标 IP---255.255.255.255
5.DHCP服务器回应DHCP Offer广播包:
二层:源MAC---DHCP服务器的MAC,目标MAC---FFFF.FFFF.FFFF
三层:源 IP---DHCP服务器的IP, 目标 IP---255.255.255.255
6.DHCP客户端回应DHCP Request广播包:
二层:源MAC---DHCP客户端的MAC,目标MAC---FFFF.FFFF.FFFF
三层:源 IP---0.0.0.0, 目标 IP---255.255.255.255
7.DHCP服务器回应DHCP ACK广播包:
二层:源MAC---DHCP服务器的MAC,目标MAC---FFFF.FFFF.FFFF
三层:源 IP---DHCP服务器的IP, 目标 IP---255.255.255.255
8.DHCP客户端收到DHCP ACK广播包,发出无理arp,确认该IP可用,否则会继续DHCP服务器申请IP:
二层:源MAC---DHCP客户端的mac,目标MAC---FFFF.FFFF.FFFF
本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/976405,如需转载请自行联系原作者