TCP重传

重传类型

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 中的 cwndssthresh

    • BBR状态转换

相关推荐
虾..3 分钟前
网络其他重要协议或技术
开发语言·网络·php
apocalypsx4 分钟前
含并行连接的网络GoogLeNet
网络·人工智能·深度学习
℡終嚸♂6809 分钟前
钓鱼攻击全面解析:原理、手段与实战防御
网络·安全·web安全
疯狂吧小飞牛8 小时前
GPG基础指令
linux·服务器·网络
C++ 老炮儿的技术栈8 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
小饕9 小时前
苏格拉底式提问对抗315 AI投毒:实操指南
网络·人工智能
hjxu20169 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
斯安9 小时前
车载总线与网络总结
网络
czxyvX10 小时前
009-数据链路层
网络
源远流长jerry10 小时前
RDMA 基本操作类型详解:从双端通信到单端直访
linux·网络·tcp/ip·ip