RTTs:加权平均往返时间
当第一次测量RTT样本时,RTTs值就为所测量的RTT样本值。
以后每测量一个新的RTT样本,就按下式重新计算一次RTTs:
新的RTTs=(1- a)*(旧的RTTS)+a*新的RTT样本
a取1/8
超时重传时间RTO=RTTs+4*RTTd
当第一次测量时,RTTd值取为测量到的RTT样本值一半。在以后的测量中
新的RTTd=(1-B)*旧的RTTd + B *|RTTs - 新的RTT样本|,B=0.25
如果有迟到超时重传,收到确认,确认报文可能是对先发送的报文段的确认,也可能是对后来重传报文段的确认。如果误判,出现误差。
解决:
Karn算法:计算加权平均RTTs时,只要报文段重传,就不采用往返时间样本。
修正的Karn算法:报文段重传一次,就把超时重传时间RTO增大一些。