KaliLinux常用服务配置教程DHCP服务工作流程
DHCP服务工作流程如图1.1所示。
具体的工作流程如下所示:
(1)DHCP客户端以广播的方式发出DHCP Discover报文。
(2)所有的DHCP服务器(DHCP Server-A、ServerB)都能够接收到DHCP客户端发送的DHCP Discover报文。所有的DHCP服务器都会给出响应,向DHCP客户端发送一个DHCP Offer报文。DHCP Offer报文中“Your(Client) IP Address”字段就是DHCP服务器能够提供给DHCP客户端使用的IP地址,且DHCP服务器会将自己的IP地址放在“option”字段中以便DHCP客户端区分不同的DHCP服务器。DHCP服务器在发出此报文后会存在一个已分配IP地址的记录。
(3)DHCP客户端只能处理其中的一个DHCP Offer报文。一般的原则是DHCP Client处理最先收到的DHCP Offer报文。DHCP客户端会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP服务器的IP地址和需要的IP地址。
(4)DHCP服务器收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP服务器(如Server-A)不做任何处理只清除相应的IP地址分配记录;如果相同,DHCP服务器(如Server-B)就会向DHCP客户端响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。
(5)DHCP客户端收到DHCP ACK报文后,检查DHCP服务器分配的IP地址是否能够使用。如果可以使用,则DHCP客户端成功获得IP地址,并根据IP地址使用租期自动启动续延过程;如果DHCP客户端发现分配的IP地址已经被使用,则DHCP客户端向DHCP服务器发出DHCP Decline报文,通知DHCP服务器禁用这个IP地址,然后DHCP客户端开始新的地址申请过程。
(6)DHCP客户端在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址。DHCP服务器收到DHCP Release报文后,会回收相应的IP地址并重新分配。