Karn算法与计时器补偿
问题:如果原来的传输和最近的重传都不能提供精确的往返时间,TCP应该怎么做呢?
方法:TCP不应该为重传的报文段更新往返时间的估计值。这个思想,即为Karn算法。
问题:Karn算法忽略了重传报文段得到的往返时间,TCP使用已有的往返时间估计值来设置超时时限。如果时延增大,超时时限就显得很小,造成报文段重传一直持续下去。
方法:计时器退避策略。使用计时器来计算超时时限。当计时器出现超时并导致重传时,TCP加大超时时限。
Karn算法吧退避技术与往返时间的估计结合起来,解决往返时间估计值用不增加的问题。