TCP重传机制——超时重传

重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的 ACK 确认应答报文,就会重发该数据,也就是我们常说的超时重传

TCP 会在以下两种情况发生超时重传:

1、数据包丢失

2、确认应答丢

深入研究:

超时时间应该设置为多少呢?

要知道超时时间应该设置为多少,我们需要了解一下RTT(Round-Trip Time 往返时延)。

RTT 指的是数据发送时刻到接收到确认的时刻的差值,也就是包的往返时间。

超时重传时间是以 RTO (Retransmission Timeout 超时重传时间)表示。

  • 当超时时间 RTO 较大时,重发就慢,丢了老半天才重发,没有效率,性能差;
  • 当超时时间 RTO 较小时,会导致可能并没有丢就重发,于是重发的就快,会增加网络拥塞,导致更多的超时,更多的超时导致更多的重发。

精确的测量超时时间 RTO 的值是非常重要的,这可让我们的重传机制更高效。

根据上述的两种情况,我们可以得知,超时重传时间 RTO 的值应该略大于报文往返 RTT 的值

实际上「报文往返 RTT 的值」是经常变化的,因为我们的网络也是时常变化的。也就因为「报文往返 RTT 的值」 是经常波动变化的,所以「超时重传时间 RTO 的值」应该是一个动态变化的值

相关推荐
计算机安禾几秒前
【Linux从入门到精通】第8篇:用户与权限管理(上)——谁动了我的文件?
linux·运维·服务器
艾莉丝努力练剑几秒前
【Linux线程】Linux系统多线程(九):线程池实现(附代码示例)
linux·运维·服务器·c++·学习·架构
hhb_6183 分钟前
Thunderbolt(雷电/雷雳)技术文档
网络
bukeyiwanshui3 分钟前
20260420 Nginx 服务器
运维·服务器·nginx
Sayuanni%35 分钟前
五层网络模型-应用层
开发语言·网络·php
xingyuzhisuan5 分钟前
警惕“套牌”4090:如何辨别服务器用的是不是真卡?
运维·服务器·gpu算力
艾莉丝努力练剑6 分钟前
【Linux线程】Linux系统多线程(八):<策略模式>日志系统的封装实现
linux·运维·服务器·c++·学习·策略模式
深圳元器猫7 分钟前
AI服务器功率电感解决方案_4.7μH电感应对GPU高负载挑战
服务器·dc-dc·新能源汽车·元器猫·功率电感
2301_780789667 分钟前
游戏盾是如何防护各个重要的游戏端口呢
服务器·网络·人工智能·游戏·架构·零信任
何中应10 分钟前
清理服务器磁盘空间的方法
linux·运维·服务器