超时重传时间的选择

超时重传时间的选择

TCP的发送方在规定的时间内没有收到确认就要重传已发送的报文段。

对于超时重传时间,TCP采用了一种自适应算法,它记录一个报文段发出的时间,以及收到相应的确认的时间。这两个时间之差就是报文段的往返时间RTTTCP保留了RTT的一个加权平均往返时间 R T T s RTT_s RTTs​(又称为平滑的往返时间)。

每当第一次测量到RTT的样本时, R T T s RTT_s RTTs值就取为所测量到的RTT样本值。但以后每测量到一个新的RTT样本,就按下式重新计算一次 R T T s RTT_s RTTs:
新 的 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 \le \alpha < 1 0α<1。若 α \alpha α很接近于零,表示新的 R T T s RTT_s RTTs和旧的 R T T s RTT_s RTTs相比变化不大,而对新的RTT样本影响不大。若 α \alpha α很接近于1,表示新的 R T T s RTT_s RTTs和旧的 R T T s RTT_s RTTs相比变化较大,而对新的RTT样本影响大。

超时计时器设置的 超时重传时间 R T O RTO RTO 略大于上面得出的加权平均往返时间 R T T s RTT_s RTTs
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​是 R T T RTT RTT​的偏差的加权平均值,它与 R T T s RTT_s RTTs​和新的 R T T RTT RTT​样本之差有关。

当第一次测量时, R T T D RTT_D RTTD值取为测量到的 R T T RTT RTT样本值的一半,在以后的测量中,则使用下式计算加权平均的 R T T D RTT_D RTTD:
新 的 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)+β×RTTSRTT
这里 β \beta β是个小于1的系数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值