根据各种 DHCP 描述,达到 50% 后,客户端将进入 RENEW 状态,并开始向服务器发送 DHCPREQUEST 消息以续订租约。它将继续发送请求,直到获得响应或达到 87.5% 的时间。达到该时间后,它将状态更改为 REBOUND 并将继续发送请求(直到响应或 100%)。
那么,RENEW 和 REBOUND 状态之间有什么区别?如果客户端的行为没有变化,这个标记计时器的意义何在?对于外界来说,服务器似乎只会在超过 50% 的租约后发送请求,直到获得响应或达到 100%。
答案1
我认为本文可能是一本不错的读物。
为了管理租约延期过程,在分配租约时设置了两个计时器。续订计时器 (T1) 会响起,告知客户端是时候尝试与最初授予租约的服务器续订租约了。如果客户端无法成功与该服务器续订,则重新绑定计时器 (T2) 会响起,并告知客户端尝试与任何服务器续订租约。如果租约续订或重新绑定,客户端将恢复正常运行。如果无法重新绑定,租约将过期,客户端将需要寻求新的租约。
答案2
在 RENEW 状态(T1 计时器到期)下,DHCP 客户端将直接向 DHCP 服务器发送单播 UDP DHCPQREQUEST 数据包。如果客户端未收到 DHCPACK 消息,它将继续尝试通过定期发送这些单播 UDP DHCPREQUEST 数据包来更新其 IP。一旦 T2 计时器到期,客户端将进入 REBIND 状态并开始发送播送DHCPREQUEST 数据包尝试到达另一个将确认该请求的本地 DHCP 服务器,或者希望 DHCP 中继将请求转发到将执行此操作的网外 DHCP 服务器。
总结一下,RENEW = 单播 DHCP 数据包,REBIND = 广播 DHCP 数据包。