TCP重传机制总结

超时重传概念

超时重传:发送方每发送一个数据包,就会为这个数据包设置一个超时时间,如果在时间内没收到应答这个数据包的ACK包,需要重新发送这个数据包;每次重传后,RTO会成倍增加,且重传次数有上限

超时重传时间

RTT:数据发送时刻到接收到确认的时刻的差;也就是包往返时间

RTO:超时重传时间

1.RTO较大:重传发生的慢,丢了很久才重发,效率低,性能差

2.RTO较小:可能导致数据包还没丢就重发,会增加网络拥塞,导致更多的超时,更多的超时会导致更多的重发

所以,RTO应该略大于RTT

快重传

快重传:发送方提前确认数据包的丢失,立刻重传该数据;

触发原则:当发送方收到3个冗余的ACK后,立刻重传该数据包

什么是SACK方法

SACK选择性确认

这种方式需要在TCP头部【选择】字段里添加SACK方法,他可以将已收到的数据的信息发送给发送方,这样发送方就可以知道哪些数据收到了,哪些没收到,这样就可以只重传丢失的数据;

什么是Duplicate SACK

Duplicate Sack又称D-SACK,其主要是使用SACK来告诉发送方有哪些数据被重复接收了

相关推荐
青瓦梦滋7 分钟前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
sibo_yzm2 小时前
ECE-583快速打通欧姆龙PLC与Modbus TCP客户端连接
tcp/ip·modbus tcp·工业通信·光伏·ethercat·工业网关·上海泗博
驭渊的小故事4 小时前
网络原理01(两千字解析)
网络
我今晚不熬夜5 小时前
Java语言实现Modbus协议通过用串口读取数据(以RTU为例)
java·网络协议
KaMeidebaby6 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
阿成学长_Cain8 小时前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
NiceCloud喜云9 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
门思科技9 小时前
TKL + EB:重新定义 LoRaWAN 在存量设备改造中的价值,让传统设备快速接入物联网
网络·物联网
hai3152475439 小时前
九章芯片电路集成体系:密度矩阵逆向·全域均衡网络计算总框架
网络·线性代数·矩阵
DLYSB_10 小时前
《从零开始搭建机房轻量化“声光告警”系统:基于 HTTP API 与 TTS 的运维实践》
运维·网络协议·http·报警灯