重传超时时间(RTO)

这个值太大会导致不必要的等待,太小会导致不必要的重传,理论上最好是网络RTT时间,但又受制于网络距离与瞬间态时延变化,所以时间上使用自适应的动态规划算算法。(例如Jacobson算法和IKarn算法等)来确定超时时间。

  jacobson算法:

  工作原理是:
  1,将每条连接TCP都保持一个变量RTT
  2,当发送一个数据段时,同时启动连接的定时器。
  3,如果定时器超时前确认到达,则记录所需的时间。
  4,修正RTT的值。
  5,如果定时器超时前没有收到确认,则将RTT的值增加一倍。
  Karn算法:
  报文段每重传一次,就将重传时间增大一些:
  新的重传时间 = γ×(旧的重传时间)
  系数 γ 的典型值是2 。
  当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延 RTT 和重传时间的数值。
  实践证明,这种策略较为合理。
原文地址:https://www.cnblogs.com/littleswan/p/11383320.html