TCP重传机制——超时重传

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

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

1、数据包丢失

2、确认应答丢

深入研究:

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

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

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

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

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

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

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

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

相关推荐
鲸屿1957 分钟前
Shell基础
linux·运维·服务器
2301_8135061343 分钟前
STP学习
网络·学习
用手码出世界3 小时前
【Linux】进程间通信、匿名管道、进程池
linux·运维·服务器
垂金烟柳3 小时前
CentOS 7上配置SQL Server链接其他SQL Server服务器
服务器·数据库·sqlserver
HHONGQI1233 小时前
Linux 基础入门操作 前言 linux操作指令介绍
linux·运维·服务器
电星托马斯3 小时前
Linux如何设置bash为默认shell
linux·运维·服务器·笔记·程序人生·bash·个人开发
那些乐趣3 小时前
已经使用中的clickhouse更改数据目录
java·服务器·clickhouse
LUCIAZZZ4 小时前
计算机网络-TCP的重传机制
java·网络·网络协议·tcp/ip·计算机网络·操作系统·springboot
苏格拉没有底_coder4 小时前
【Easylive】详细解析 `stream()` 方法的使用
linux·服务器·windows
心灵宝贝6 小时前
openssl-1.0.1e.tar.gz编译安装步骤
linux·运维·服务器