测试目的:
本测试用例旨在验证DUT(被测试设备)在TCP连接中对于零窗口探测包的发送间隔是否按照指数退避算法进行增加。当接收方的窗口大小持续为零时,发送方TCP应该能够逐渐增加发送零窗口探测包的间隔。
描述:
在TCP连接中,如果接收方的窗口大小持续为零,发送方TCP会定期发送零窗口探测包以检测连接状态。根据TCP协议,发送方应该指数级地增加这些探测包之间的间隔,以减少网络拥塞并避免对接收方造成不必要的压力。本测试用例将验证DUT是否能够正确实现这一行为。
测试拓扑:
具体步骤:
1、TESTER: 使DUT进入ESTABLISHED状态
2、TESTER: 导致DUT端的一个应用程序发出数据段的SEND请求
3、DUT: 发送数据段
4、TESTER: 发送声明零窗口的ACK
5、TESTER: 导致DUT端的一个应用程序再次发出数据段的SEND请求
6、DUT: 在一定延迟后持续发送零窗口探测
7、TESTER: 验证连续探测之间的延迟不断增加
通过标准
3. DUT: 发送数据段
6. DUT: 在一定延迟后持续发送零窗口探测
7. TESTER: 验证连续探测之间的延迟不断增加
参考文档:
RFC 1122 s4.2.2.17 p92 Probing Zero Windows “RFC-793 Section 3.7
page 42”
(SHOULD)