DHCP的工作机制,DHCP服务采用UDP协议,其中DHCP服务器采用67号端口,DHCP客户机采用68号端口。
1.DHCP租借过程
下面介绍DHCP客户机是如何获得IP地址的,这个过程又称为DHCP租借过程。以下是从客户机发出获得IP地址的请求开始来介绍一个完整的DHCP租借过程的。
(1)DHCP发现——DHCP DISCOVERDHCP
客户机发出“DHCP发现”广播包,即目的IP地址为255.255.255.255的数据包,这样的广播包会被同一个网段的所有主机收到。
(2)DHCP提供——DHCP OFFER
收到“DHCP发现”广播包的客户机会忽略该信息,而DHCP服务器会给予响应,称为DHCP提供。需要注意的是可能有多台DHCP服务器都给出响应,它们分别从自己的IP地址池中找出一个未分配IP地址并附带上子网掩码等参数一并提供客户机。很明显,此时“DHCP提供”包也是以广播包的形式发出的。
(3)DHCP请求——DHCP REQUESTDHCP
客户机收到“DHCP提供”包后(可能有多台DHCP服务器发来DHCP提供包),DHCP客户机将准备采用收到的第一个提供包中所提供的IP地址等信息。于是,正式向该DHCP服务器发出“DHCP请求”包,但此时仍然采用的是广播包。这样做目的是可以保证所有发出“DHCP提供”包的服务器收到该请求包,另一个暗含的目的是同时“谢绝”其他DHCP服务器的“提供”,以便其他DHCP服务器及时收回自己的IP地址。
(4)DHCP确认——DHCP ACK
当收到“DHCP请求”包之后,该DHCP服务器正式发出“DHCP确认”包,予以确认。很明显,此时仍然要采用广播包的形式。
当客户收到“DHCP确认”包后,DHCP的租借过程成功完成,此时DHCP客户机才有了IP地址等网络参数。不过,客户机并不是永久获得了该IP地址,而是“租借”一段时间,即获得的IP地址是有使用期限的,称为租期。DHCP服务器在分配给客户机IP地址的同时设置了租期的长短。因此,客户机只能在租期范围内使用获得的IP地址。
2.DHCP租期更新机制
为了能够及时地延长租期,DHCP服务制定了DHCP租期更新机制。
(1)RENEW更新
在T1时间点即50%租期的时刻,DHCP客户机发出DHCP REQUEST数据包,向DHCP服务器请求续租,如果收到DHCP服务器的响应,则续租成功。否则,进入下一个更新阶段。
(2)REBIND更新
如果在T1时间点没有收到DHCP服务器的响应,则DHCP客户机可以继续使用当前IP地址,直到T2时间点,即87.5%租期时刻,DHCP客户发出DHCP DISCOVER数据包,如果收到原DHCP服务器的响应,则续租成功,如果收到其他DHCP服务器的响应,则在使用完剩下12.5%的租约后采用新的租期。