1、客户端利用广播数据包发送DHCP请求:

DHCP客户端设置为自动获取IP的时候,开机或是重启都会自动的向物理网段内的所有计算机发送广播数据包,此数据包的目标IP为255.255.255.255,如网段内没有DHCP服务器则其他计算机都会将此数据包丢弃,如果有DHCP数据包则会响应。

2、DHCP服务器的响应:

当DHCP服务器接收到客户端的请求后会针对此客户端的MAC和本身的网络设置数据来进行工作。首先会到本服务器的日志文件中查询该客户端是否曾经使用过某个IP,若使用过某个IP且还是空闲的话,则分配此IP给客户端。其次若是此客户端的MAC地址是绑定某个IP地址的话,则分配此IP给客户端。过前两者都不是则会自动分配有高位到低位切实空闲的IP给客户端。此外会给客户端一个租约时间并等待客户端的响应。

3、客户端修改网络环境:

客户端在接收到DHCP分配的IP和参数之后设置本身的网络环境,之后会向DHCP服务器发送一个确认数据包,确认接收。

4、DHCP服务器确认并记录:

当DHCP服务器收到客户端收到的确认之后本身也确认并完成此次的IP分配任务并建立租约行为以便记录到自己的日志文件当中去。当客户端离线、重启、关机或者是租约到期而客户端也没有重新向DHCP服务器申请的时候,那么DHCP服务器会回收该IP并放回到自己的IP地址池当中去,以等待备用。

原文来自:https://www.toutiao.com/a6527186141207069197/

本文地址:https://www.linuxprobe.com/linux-dhcp-principle.html编辑:苏西云,审核员:逄增宝