TCP RTT
Posted soul-stone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP RTT相关的知识,希望对你有一定的参考价值。
1、https://cloud.tencent.com/developer/article/1097489
Karn的算法解决了初代算法的问题并且有了个可行的方案,但是RTO粗暴翻倍的做法感觉还是比较浪费。所以,在一年之后又有两个人Jacobson 和 Karels 针对这种加权移动平均的算法对RTT波动handle能力不强的弊端做了修正。其原理是用最新采样的RTT和平滑过的SRTT的差距来作为另一个影响因子。
SRTT = SRTT + α * (RTT - SRTT)
DevRTT = (1-β) * DevRTT + β *(|RTT - SRTT|)
RTO = μ * SRTT + δ * DevRTT //估算重传时间(以后称之为RTO,Retransmission Timeout)
这三个公式就是现在TCP协议中真正运用的算法,关于这些参数,α是取0.125,β是0.25,μ 是1,δ是4,这就是linux中的取值,至于为什么,没有人知道,但是在实际效果中,果真就很有效,在编程过程中,我们称这种玄学叫做调的一手好参数。
以上是关于TCP RTT的主要内容,如果未能解决你的问题,请参考以下文章