超时重传时间的选择是TCP最复杂的问题之一,超时重传时间RTO在很大程度上影响了TCP的传输效率。
如上图所示的通信过程,A首先向B发送数据报文段0,并接收来自B的确认报文段,这中间的时间称为往返时间RTT,因此我们选择的超时重传时间RTO应当略大于往返时间RTT,如果太小了就会导致A在收到确认报文之前就进行了重传。
但网络是很复杂的,基于一次样本的测量是无法确定RTO的,就比如A给B发送的数据报文段1,它的往返时间很可能因为网络质量的波动,而导致往返时间大于超时重传时间。
因此,我们需要选择新的、更加合理的RTO计算方案。如上图所示的计算公式,考虑到了新的RTT样本给RTO带来的影响,进行了加权处理。
在根据RTT计算出RTO后,当又获得了新的RTT样本,那么就要综合两个RTT时间,给新老RTT赋予不同的权值,新的RTTs=(1-α)x 旧RTTs + α x 新的RTT样本值,而新的RTO由RTTs和RTTD两部分组成,RTTD的计算公式也如图上所示。
在对RTT样本进行采集时,也可能会出现一定的问题。如上图所示,如果A发送的报文段丢失了,在到达重传时间后进行该报文的重传,并收到了针对重传报文的确认,而如果把这个确认当做是对丢失报文的确认,就会使RTT样本过大;而如上图右侧所示,如果将对报文的确认误以为是对重传报文的确认,就会导致RTT样本过小。
为了解决这个问题,提出了一个方案,即报文段每重传一次,就将超时重传时间RTO增大,一般做法是取为原来的两倍。
如上图所示的通信过程,根据采集到的往返时间RTT和RTO的计算公式,我们可以很方便地求得具体的RTO数值。
而如果出现了超时重传的情况,就直接将新的RTO取为原来的两倍即可。
计算机网络——TCP超时重传时间的选择
最新推荐文章于 2024-07-29 10:23:07 发布
TCP的超时重传时间(RTO)计算是网络通信中的关键技术,影响着传输效率。传统的RTO计算易受网络波动影响,可能导致重传过早或过晚。文中介绍了采用加权平均法更新RTO的策略,结合新的RTT样本,通过(1-α)×旧RTTs+α×新RTT样本值来动态调整。同时,为解决重传报文确认错误导致的RTT样本偏差,提出报文每重传一次,RTO翻倍的方案。这种智能计算方法旨在提高网络通信的稳定性和效率。
摘要由CSDN通过智能技术生成