测试目的:
验证TCP在CLOSE-WAIT状态下,接收到一个窗口外的序列号或不可接受的ACK号的段时,是否能够返回一个带有正确的序列号和ACK号的ACK段,并保持在相同的状态。
描述:
在TCP连接的CLOSE-WAIT状态下,如果接收到一个序列号超出当前窗口或ACK号不可接受的段,TCP必须回应一个空的ACK段,其中包含当前的发送序列号和期望接收的下一个序列号,并保持连接状态不变。
测试拓扑:
具体步骤:
- TESTER:使DUT移动到CLOSE-WAIT状态
- TESTER:发送满足以下任一情况的数据段
- CASE 1: Data segment with out of window SEQ number
- CASE 2: Data segment with an unacceptable ACK number - DUT:发送一个带有当前发送序列号和确认号的ACK,指示期望的下一个序列号
- TESTER:验证DUT保持在CLOSE-WAIT状态
通过标准 - DUT:发送一个带有当前发送序列号和确认号的ACK,指示期望的下一个序列号
- TESTER:验证DUT保持在CLOSE-WAIT状态
参考文档:
- RFC 793 s3.4 p37 Establishing a Connection
(MUST)