Table of Contents
TCP 中的再传输定时器对于管理数据传输和确保可靠发送至关重要。它们决定了发送者何时应再发送未确认的包。 理解如何计算这些定时器需要掌握影响其设置的基本理论、算法和实际因素。
TCP再传输计时器理论基础
TCP 重发送计时器的核心理念是估计发送者与接收者之间的往返时间(RTT),如果在一定时间内没有收到确认,这个估计有助于决定何时重发送数据。计时器必须适应网络条件,以防止不必要的重发送或延迟.
计算再传输计时器的算法
最常见的算法是Jacobson/Karels算法,它根据测量到的RTTs对重传时断(RTO)进行动态调整,它维持了对平滑的RTT(SRTT)和RTT差异(RTTVAR)的估计. RTO的计算方式是:
RTO = SRTT + 4 * RTTVAR ].
这种方法可以让计时器适应不断变化的网络条件,减少不必要的重传,提高效率.
计时器计算中的实际考虑因素
在实践中,网络拥塞,包丢失,RTT影响定时器设置中的变异性等因素. TCP执行中往往包括最低和最大RTO值等保障措施,以防止超短或长时器. 典型的最低RTO值约为200毫秒,而最大值可以达到数秒.
此外,在重复转发后使用指数式后退策略以避免给网络造成压倒性压力。 适当的定时器计算对于保持TCP性能和可靠性至关重要。