[IPv6] The behavior of the DHCPv6 client rebind fail
T1 时间到 client 送出 renew 封包
若 server 没有回应 , client 持续送出 renew 封包
T2 时间到 client 改送出 rebind 封包
若 server 没有回应
第一次重送 rebind 封包的时间 ( RT ) = IRT + RAND*IRT
第二次之后重送 rebind 封包的时间 ( RT ) = 2*RTprev + RAND*RTprev
若 server 一直没有回应
client 持续送出 rebind 封包到 valid lifetime
IRT = REB_TIMEOUT = Initial Rebind timeout = 预设是 10 秒 ( 请注意 , 不是 1 秒 )
RAND 是个随机变数 , 介于 -0.1 ~ 0.1 之间
RTprev 是前一次 RT 的时间
MRT = Maximum retransmission time = RT 的上限
若 MRT = 0 , 代表 RT 没有上限
若 MRT 不等于 0 , 则
if ( RT > MRT )
RT = MRT + RAND*MRT
详细请参考 RFC3315
这边的例子
T1 = 60 秒 , T2 = 240 秒 , Preferred lifetime = 400 秒 , Valid lifetime = 700 秒
client 和 server 做完一开始的 negotiate 后
60 秒后做第一次 renew ( Time = 280.959422 )
server 没有回应
一直到 240 秒后 , client 做第一次 rebind ( Time = 461.008212 )
server 还是没有回应
之后 client 陆续重送 5 次 rebind
直到 700 秒 ( Time = 921.595548 ) , client 重新做 solicit
待续
看完文章请按 赞 or 推 , 感谢啦 ~