超时间隔根据网络动态变化。它通常表示为 TimeoutInterval = EstimatedRTT + 4 * DevRTT
但为什么我们4 * DevRTT?
为什么不能成为2 * DevRTT ??
答案 0 :(得分:2)
你可以将它设置为那个,但是你会减少你给RTT变化一半的缓冲量。
如果你在RTT中有很大的差异,这种情况可能发生在比你意识到的更多的情况下,那么你会将超时值设置得相对较低。
因为此超时控制数据的重新传输,所以设置此级别几乎肯定意味着在某些情况下重传次数会增加。担心的是这些重新传输是不必要的,并且可能会提高已经饱和的网络的利用率。