DHCP协议简析

  • 推荐这篇文章,原理及抓包都分析的很好:

https://blog.csdn.net/andy_93/article/details/78238931

在这里插入图片描述

  • 简要步骤分析如下:

1、DHCP_Client 发给 DHCP_Server:DHCP DISCOVER(寻找服务器)(广播包)
  当DHCP客户端开机的时候,就会广播寻找DHCP服务器。 由于客户端此时还不知道自己属于哪一个网路,所以封包的来源地址会为0.0.0.0, 目的地址则为255.255.255.255,然后再附上DHCP discover的包信息。

2、DHCP_Server 发给 DHCP_Client:DHCP OFFER(分配IP信息)
  当DHCP服务器监听到客户端发出的DHCP Discover广播后, 会从自己的IP池里分配一个IP地址,再加上客户端的硬件地址 (MAC)、XID编号(用于识别)等信息,封装为一个DHCP OFFER包,发送给客户端。

3、DHCP_Client 发给 DHCP_Server:DHCP REQUEST(请求使用具体的IP)(广播包)
  假如客户端接收到多个服务器发来的DHCP OFFER包,会选择最先接收到的包信息,然后以广播的方式发送一个DHCP REQUEST,相当于广播给所有服务器:我接受了这个服务器的包。其他被拒绝的服务器就不会继续建立连接啦。

4、DHCP_Server 发给 DHCP_Client:DHCP ACK(分配确认)
  当DHCP服务器收到DHCP客户端回答的DHCP Request请求信息之后, 它便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP Ack确认信息。以确认IP地址的正式生效。然后DHCP客户端便将其TCP/IP协议与自己的网卡绑定。

PS:如果第3步request包DHCP server判断不合法,会恢复回复DHCP NAK包,这样可以马上重新进行1~4步骤。

猜你喜欢

转载自blog.csdn.net/LIU944602965/article/details/108575923
今日推荐