[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 推 , 感謝啦 ~