Karn算法

        Karn算法的提出是为了更好的计算RTO,设想一下情况:发送端发出一个报文段,并且设定的超时时间到了,还没有收到确认,于是重传报文段。经过了一段时间后,收到了报文段。现在的问题是:如何判定此确认报文段是对先发送的报文段的确认,还是对后来重传的报文段的确认?由于重传的报文段与原先的报文段完全一样,因此源主机在收到确认后就无法做出正确的判断,而正确的判断对确定平滑的往返时间(SRTT)的关系很大。

        根据以上所述,Karn提出了一个算法:SRTT时,只要报文段重传了,就不采用其往返时间样本。

       但是这有引起新的问题。设想这样的情况:报文段的时延突然增大了很多。因此在原来的重传时间内不会收到确认报文段。于是就重传报文段。但是根据Karn算法,不考虑重传的报文段的RTT样本。因此,超市重传时间就无法更新。

       因此考虑对Karn算法进行修正。方法是:报文段每重传一次,就把超时重传时间RTO增大一些。典型的做法是取新的重传时间为2倍的就得重传时间。当不再发生报文段的重传时,才根据正常的计算方法计算RTO。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值