TCP重传机制总结

超时重传概念

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

超时重传时间

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

RTO:超时重传时间

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

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

所以,RTO应该略大于RTT

快重传

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

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

什么是SACK方法

SACK选择性确认

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

什么是Duplicate SACK

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

相关推荐
zjun10011 分钟前
TCP专栏-3.三次握手
网络·网络协议·tcp/ip
Psyduck_ing3 分钟前
从MCU到Linux开发的思维破壁
linux·网络·单片机
cd_949217214 分钟前
HPE以全新自主网络能力推动“自动驾驶的网络”愿景落地,加速安全AI原生运维
网络·安全·自动驾驶
路溪非溪4 分钟前
认识BLE MESH架构和实际开发过程
网络
liulilittle10 分钟前
SA6400内核5.10编译TCP_BBR的具体方法整理
chrome·网络协议·tcp/ip
淼淼爱喝水11 分钟前
管理标准交换机教程
服务器·网络·php·虚拟化技术
H Journey14 分钟前
Linux网络编程,高性能 IO 多路复用服务器:向 epoll 监控器注册要监听的 socket 和事件
网络·socket·多路复用·事件注册
Hical_W16 分钟前
Hical 踩坑实录五部曲(一):Boost.Asio 协程开发的 N 个坑
网络·c++·开源
赏金术士17 分钟前
Kotlin 从入门到进阶 之面向对象 OOP 模块(三)
开发语言·网络·kotlin