重传类型

1. 超时重传
-
场景:模拟网络延迟导致ACK超时
-
触发条件:设置RTT > RTO
-
预期行为:
-
发送端在RTO后重传数据包
-
重传后RTO值按指数退避增加
-
-
验证指标:
-
ss -i
中的rto
值变化 -
/proc/net/netstat
中的TCPTimeouts
-
2. 快速重传
-
场景:模拟少量数据包丢失
-
触发条件:连续3个重复ACK
-
预期行为:
-
发送端在收到3个重复ACK后立即重传
-
拥塞窗口减半
-
-
验证指标:
-
ss -i
中的retrans
计数 -
Wireshark中快速重传标志
-
3. SACK重传
-
场景:模拟多个非连续数据包丢失
-
触发条件:接收端启用SACK选项
-
预期行为:
-
发送端只重传丢失的数据段
-
不重传已成功接收的数据
-
-
验证指标:
-
TCP头部SACK选项分析
-
重传包序列号验证
-
4. DSACK测试用例
-
场景:模拟重复接收数据包
-
触发条件:发送端重传但原始包未丢失
-
预期行为:
-
接收端发送DSACK通知重复接收
-
发送端调整RTO估计
-
-
验证指标:
-
DSACK选项分析
-
RTO值变化
-
5. 拥塞控制交互测试
-
场景:重传与拥塞控制协同
-
触发条件:连续重传事件
-
预期行为:
-
拥塞窗口按算法调整
-
慢启动阈值更新
-
-
验证指标:
-
ss -i
中的cwnd
和ssthresh
-
BBR状态转换
-