超时重传时间RTO的确定

超时重传时间的确定

  • 超时重传时间RTO:TCP数据报文段发出后,经过RTO的时间没有收到其确认报文,就会重新发送该报文段
  • 往返时间RTT:TCP数据报文段发出到收到该报文的确认报文所经历的时间
  • 通常:超时重传时间RTO要略大于往返时间RTT,但由于实际网络环境的复杂性,RTT的测量并没有那么容易,RTT的测量有可能偏大或偏小。
一、实际网络中使用的往返时间RTT是由平滑往返时间 R T T S RTT_S RTTS度量的
  • 在实际的网络中,通常不直接使用测量得到的RTT样本,而是使用加权平均往返时间 R T T S RTT_S RTTS , R T T S RTT_S RTTS是经过 RTT样本加权计算得到的:其中 R T T S RTT_S RTTS 又称为平滑往返时间
    R T T S 1 = R T T 1 , ( R T T 1 是第一次测得的 R T T 样本 ) RTT_S1 = RTT_1,(RTT_1是第一次测得的RTT样本) RTTS1=RTT1(RTT1是第一次测得的RTT样本)

    新的 R T T S = ( 1 − α ) × 旧的 R T T S + α × 新的 R T T 样本 新的RTT_S = (1-\alpha)\times 旧的RTT_S + \alpha \times 新的RTT样本 新的RTTS=(1α)×旧的RTTS+α×新的RTT样本

    其中: 0 ≤ α < 1 0 \leq \alpha < 1 0α<1,当前的建议标准是 α = 0.125 \alpha = 0.125 α=0.125.

    • 也即新的平滑往返时间 R T T S RTT_S RTTS 是旧的平滑往返时间和新测得的往返时间样本RTT样本的加权平均
    • 举例 R T T S 2 = ( 1 − α ) × R T T S 1 + α × 新的 R T T 样本 RTT_S2 = (1-\alpha)\times RTT_S1 + \alpha \times 新的RTT样本 RTTS2=(1α)×RTTS1+α×新的RTT样本
二、超时重传时间RTO由平滑往返时间 R T T S RTT_S RTTSRTT偏差共同决定
  • 请不要忘了,我们的任务是计算超时重传时间RTO,上述的仅仅是处理得到了比较合理的平滑往返时间 R T T S RTT_S RTTS

    • RTO官方建议计算标准是:
      R T O = R T T S + 4 × R T T D RTO = RTT_S + 4 \times RTT_D RTO=RTTS+4×RTTD

    • 其中 R T T D RTT_D RTTD是RTT偏差的加权平均,其计算公式如下:
      R T T D 1 = R T T 1 ÷ 2 , ( R T T 1 是第一次测得的 R T T 样本 ) RTT_D1 = RTT_1 \div 2,(RTT_1是第一次测得的RTT样本) RTTD1=RTT1÷2,(RTT1是第一次测得的RTT样本)

      新的 R T T D = ( 1 − β ) × 旧的 R T T D + β × ∣ 旧的 R T T S − 新的 R T T 样本 ∣ 新的RTT_D = (1-\beta)\times旧的RTT_D + \beta\times |旧的RTT_S - 新的RTT样本| 新的RTTD=(1β)×旧的RTTD+β×旧的RTTS新的RTT样本

      • 其中: 0 ≤ β < 1 0 \leq \beta < 1 0β<1,当前官方建议标准 β = 0.25 \beta = 0.25 β=0.25
    • 上述的绝对值正好解释了为什么是偏差,所谓的偏差就是前一次计算的较为合理的往返时间 R T T S RTT_S RTTS与新测量的RTT样本之间的偏差

    • 也即对于第三个公式理解就是:新的超时重传时间RTO是平滑往返时间 R T T S RTT_S RTTS R T T D RTT_D RTTD线性求和

      • R T T D RTT_D RTTD是旧的 R T T D RTT_D RTTDRTT样本的偏差的加权平均
      • 举例: R T T D 2 = ( 1 − β ) × R T T D 1 + β × ∣ R T T S 1 − 新的 R T T 样本 ∣ RTT_D2 = (1-\beta)\times RTT_D1 + \beta \times |RTT_S1 -新的RTT样本| RTTD2=(1β)×RTTD1+β×RTTS1新的RTT样本
三、总结

①超时重传时间RTO由平滑往返时间 R T T S RTT_S RTTSRTT偏差共同决定

②平滑往返时间 R T T S RTT_S RTTS由新测得的往返时间样本RTT和上一次的平滑往返时间 R T T S RTT_S RTTS加权平均决定

RTT偏差由新测得的往返时间样本RTT和上次的RTT偏差以及上次的平滑往返时间 R T T S RTT_S RTTS共同决定

如此迭代,不断更新超时重传时间RTO


如果本文对您有用,可以点赞、收藏本文哦,下次用到时就好找多了
如果能关注作者就太好了,作者将持续学习,持续输出,持续分享!谢谢鼓励!

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖啡与乌龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值