TCP重传机制——超时重传

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

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

1、数据包丢失

2、确认应答丢

深入研究:

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

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

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

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

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

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

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

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

相关推荐
半夏知半秋5 分钟前
游戏登录方案中常见的设计模式整理
服务器·开发语言·笔记·学习·游戏·设计模式·lua
海特伟业7 分钟前
医院数字IP广播系统:基于内部局域网的分布式数字化医院IP广播
网络·音频
代码哈士奇34 分钟前
使用仓颉开发一个简单的http服务
网络·网络协议·http·仓颉
Jayyih38 分钟前
OSI七层模型和TCP/IP四层模型
网络·tcp/ip·php
云心雨禅40 分钟前
DNS工作原理:从域名到IP
运维·前端·网络协议·tcp/ip·github
lzc_a41 分钟前
Android Studio模拟器无法联网(能打开IP网页,但不能打开域名,DNS解析错误)问题2025年10月22日
服务器·android studio·安卓
chilavert3181 小时前
技术演进中的开发沉思-146 java-servlet:Servlet 在云原生时代的适配”
服务器·servlet·云原生
一匹电信狗1 小时前
【C++】手搓AVL树
服务器·c++·算法·leetcode·小程序·stl·visual studio
C嘎嘎嵌入式开发1 小时前
(22)100天python从入门到拿捏《【网络爬虫】网络基础与HTTP协议》
网络·爬虫·python
小安运维日记2 小时前
RHCA - DO374 | Day01:使用红帽Ansible自动化平台开发剧本
运维·服务器·云原生·自动化·云计算·ansible