TCP超时重传时间的选择
假设往返时间是RTT0,那么若小于超时重传时间RTO,则会造成不必要的重传。假若大于RTO,则会使得网络浪费太多空间,所以综上所述,最好的就是
超时重传时间RTO应略大于往返时间RTT
但是实际上的情况并没有那么简单,因为每个报文段的往返时间都是不同的,可能TCP确认报文段的往返时间RTT1会比RTT0大,那么之前的那个重传时间到这里就不合适了。
我们不能直接使用魔偶此测量得到的RTT样本来计算超时重传时间RTO。
但是我们可以利用每次测量得到的RTT样本,计算加权平均往返时间RTTS。
无论是TCP数据报文段在传输过程中丢失了,亦或是TCP确认报文段超时到达了,只要TCP数据报文段出现了超时重传,所计算出来的RTT就是不准确的。如上图所示。
就直接取为两倍就好了。
RTO4=64.4459
而RTT5为80,可知一定会出现超时重传。
而出现这种现象,就直接将RTO5的值设置为RT04的两倍。
注意了,RTT是往返时间,RTO是超时重传时间