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状态转换

相关推荐
山烛19 分钟前
小白学HTML,操作HTML网页篇(1)
运维·服务器·前端·python·html
来自于狂人1 小时前
零信任安全架构:如何在云环境中重构网络边界?
网络·重构·安全架构
ZCQ_dashuaibi1 小时前
HAProxy双机热备,轻松实现负载均衡
运维·服务器·负载均衡
别在内卷了1 小时前
测试学习之——Pytest Day2
服务器·学习·pytest
搬码临时工1 小时前
外网如何连接内网中的mysql数据库服务?跨网直接访问操作,不用公网IP
数据库·tcp/ip·mysql
2301_780789662 小时前
网络劫持对用户隐私安全有何影响?
网络·安全·php
緈福的街口2 小时前
【leetcode】1422. 分割字符串的最大得分
linux·服务器·leetcode
啊森要自信3 小时前
【Linux 学习指南】网络编程基础:从 IP、端口到 Socket 与 TCP/UDP 协议详解
linux·运维·服务器·网络·c++
Wayne_Greet4 小时前
Nginx配置负载均衡
服务器·nginx·负载均衡
biubiubiu07064 小时前
Racknerd服务器Ubuntu
运维·服务器