DHCP协议解析

动态主机配置协议(Dynamic Host Configuration Protocol),用于自动分配IP、子网掩码、网关、DNS服务器等网络参数,基于UDP协议进行传输。

一、DHCP工作流程

1.客户端发送DHCP Discover,寻找DHCP服务器

2.服务端接收到DHCP Discover,返回一个DHCP Offer,包含可用IP及其他信息

3.客户端接收到DHCP Offer,向服务端发送DHCP Request,验证IP是否可用

4.服务端接收到DHCP Request,向客户端发送DHCP ACK,确认IP可用

DHCP协议解析_第1张图片

DHCP会话过程中,通过“UDP”协议以“广播”的形式进行传输

二、租期与续约

DHCP服务器给客户端分配IP时,通常会带有一个“租期”时间。不同的应用场景,其租期时间不同,像家用的Wifi,租期时间一般为24小时~7天。

1.当客户端使用DHCP服务器分配的IP时间,达到租期时间的50%,则客户端需要主动发起“DHCP Request”报文给服务器,请求更新租期时间,此时的报文是以“单播”的形式发送。

2.当租期时间达到87.5%,仍未收到DHCP服务器的应答,则客户端会转为以“广播”的形式发送“DHCP Request”报文。

3.当租期时间达到100%,仍没有DHCP服务器应答,客户端将放弃使用当前IP,直接重新发起“DHCP Discover”,请求一个新的IP,此时的报文是以“广播”的形式发送。

3.1如果收到ACK,则租期时间重置,使用原有的IP。

3.2如果收到NACK,表示该IP不能继续使用了,需要重新发起一个完整的DHCP流程,即发送“DHCP Discover”请求一个新的IP。

DHCP协议解析_第2张图片

三、重试机制(IPv4)

客户端发送DHCP Discover,服务端未应答,则客户端等待1秒后会进行重发。后续重发,每次等待时间均会以2^n秒递增,如第二次重发为2秒,第三次重发为4秒,第四次重发为8秒......,直到达到最大重发次数停止(通常为10次,总耗时几分钟)。

在Windows系统下,达到最大重发次数仍无应答,客户端自动进入IP自动配置状态。自动生成一个APIPA地址(169.254.0.1~169.254.255.254区间),子网掩码255.255.0.0,每隔5分钟的发送Discover尝试获取DHCP租期。

在Linux系统下,达到最大重发次数仍无应答。若未配置静态IP,则IP保持0.0.0.0,客户端处于无法通信状态。

你可能感兴趣的:(网络协议解析,网络协议,udp,DHCP,tcp/ip)