DHCP的工作原理

   DHCP(Dynamic Host Configure Protocol,动态主机配置协议),用于向网络中的计算机分配IP地址及一些TCP/ip配置信息。DHCP提供了安全,可靠且简单的TCP/IP网络设置,避免了TCP/ip网络地址的冲突,同时大大降低了工作负担。

   DHCP的 工作原理:客户机从服务器获取IP的四个租约过程,客户机请求ip,服务器相应请求,客户机选择ip,服务器确定租约。

                                                                   

   1. 客户机请求IP地址  —— DHCP客户机在网络中广播一个DHCP DISCOVER包,请求ip地址 ,DHCP Discover 包的源地址为0.0.0.0 。目的地址为255.255.255.255,该包 包含客户机的MAC和计算机名,使服务器能够确定是哪个客户机发送的请求。

  2. 服务器响应请求——当DHCP服务器接收到客户机请求ip地址的信息时,就在自己的库中查找是否有合法的ip地址提供给客户机,如果有  ,将此ip标记,广播一个  DHCP offer 包。这个包中包含:客户机的的MAC地址;提供的合法ip;子网掩码;租约期限;服务器标示;其他参数等。因为客户机没有ip地址,所以还是以广播方式发送的,源地址:0.0.0.0 目的地255.255.255.255。

 3. 客户机选择IP地址——DHCP客户机接收到第一个DHCP offer包中选择ip地址,并在次 广播一个DHCP request 包到所有服务器,该包中包含为客户机提供的ip配置的服务器的服务标示符(ip地址),服务器查看标示符,以确定自己提供的ip地址是否被客户机选中,如果客户机接受ip,则发出ip地址的DHCP服务器将该地址保留,就不能将该地址提供给另一个DHCP。如果拒绝,提供给下一个ip租约请求。这个源地址仍然是0.0.0.0 目的地255.255.255.255

 4. 服务器确认IP 租约——DHCP租约的最后一步,服务器确认租约,发送一个DHCP ack/DHCP NACK包。服务器收到DHCP request 包后,以dhcp ack 包向客户机广播出去,当客户机收到后,就配置了ip地址,完成初始化,就可以在TCP/IP网络上通信了。客户机收到DHCP nack 包后会重新发送DHCP discover包。这次源地址是服务器的ip地址 目的地是255.255.255.255。