![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
tcp的重传
1个回答
展开全部
前面也说过,TCP的保序,可用通过ack和seq等数据确定。那么当有包在传输的过程中丢失的话,那么需要一个重传机制去保证可靠性。常见的重传机制: 超时重传 快速重传 SACK D-SACK
那么超时重传的时候应该设置成多少呢?
这里就是涉及到一个概念:往返时延 RTT。
而超时重传时间RTO就必须是大于RTT的,但是也不能大太多,丢了半天才重发,性能效率就慢了。
但是RTO计算也没看起来那么简单,因为网络环境是复杂的,RTT可能随时在变,不是一个定值。
linux下需要 TCP 通过采样 RTT 的时间,然后进行加权平均,算出⼀个平滑 RTT 的值,而且这个值还是要
不断变化的,因为网络状况不不断地变化。除了采样 RTT,还要采样 RTT 的波动范围,这样就避免如果 RTT 有⼀个大的波动的话,很难被发现的情况。具体的计算公式很复杂,而且有很多经验值的地方,就不罗列了。
而且当触发到一次超时重传的时候,会将超时RTO设置翻倍,说明现在网络环境不好,需要延长下时间重传,别造成网络拥堵。但是超时时间太长,就会导致传输效率不高的问题,所以说下下一种方法,快速重传。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询