测试目的:
验证客户端在REBINDING状态下发送DHCPREQUEST消息后,如果没有收到响应,是否等待了正确的时间间隔再重传DHCPREQUEST消息。
描述:
在RENEWING和REBINDING状态下,如果客户端发送DHCPREQUEST消息后未收到响应,客户端应在重传DHCPREQUEST消息之前等待剩余时间的一半,直到RENEWING状态的T2时间或REBINDING状态的剩余租约时间的一半,但至少等待60秒。
测试拓扑:
具体步骤:
- DUT配置:在
<DIface-0>
上外部配置DHCP客户端 - TESTER:外部导致DUT启动
<DIface-0>
- TESTER:初始化server1提供
<VERY-HIGH-LEASE-TIME>
秒的IP地址租约时间给DUT - TESTER:DHCP服务器
<SERVER-1>
使DUT转变其状态至DHCPCLIENT_STATE_REBINDING - DUT:转变有限状态至DHCPCLIENT_STATE_REBINDING
- TESTER:DHCP服务器
<SERVER-1>
在<DIface-0>
上监听(最多(((<REMOTE-CLIENT1-LEASE-TIME>
-<REMOTE-CLIENT1-T2>
) / 2) +<ParamToleranceTime>
)秒) - DUT:发送2个DHCPREQUEST消息
- TESTER:验证最后两个DHCPREQUEST消息接收之间的时间间隔在以下范围内:
(((<REMOTE-CLIENT1-LEASE-TIME>
-<REMOTE-CLIENT1-T2>
) / 2) -<ParamToleranceTime>
)到
(((<REMOTE-CLIENT1-LEASE-TIME>
-<REMOTE-CLIENT1-T2>
) / 2) +<ParamToleranceTime>
)秒
通过标准
5. DUT:转变有限状态至DHCPCLIENT_STATE_REBINDING
7. DUT:发送2个DHCPREQUEST消息
8. TESTER:验证最后两个DHCPREQUEST消息接收之间的时间间隔在以下范围内:
(((<REMOTE-CLIENT1-LEASE-TIME>
- <REMOTE-CLIENT1-T2>
) / 2) - <ParamToleranceTime>
)到
(((<REMOTE-CLIENT1-LEASE-TIME>
- <REMOTE-CLIENT1-T2>
) / 2) + <ParamToleranceTime>
)秒
参考文档:
- RFC 2131 Section 4.4.5 Page 41 ‘Reacquisition and expiration’
(SHOULD)