收到的确认是对哪一个报文段的确认?
发布时间:2014/9/6 21:18:21 访问次数:2229
达里B是个小于1的系数,它的推荐值是1/4,即0.25。
上面所说的往返时间的测量, MSS5131-332MLC实现起来相当复杂。试看下面的例子。
如图5-20所示。发送出一个报文段。设定的重传时间到了,还没有收到确认。于是重传报文段。经过了一段时间后,收到了确认报文段。现在的问题是:如何判定此确认报文段是对先发送的报文段的确认,还是对后来重传的报文段的确认?由于重传的报文段和原来的报文段完全一样,因此源主机在收到确认后,就无法做出正确的判断,而正确的判断对确定加权平均RTTs的值关系很大。
图5-20收到的确认是对哪一个报文段的确认?
若收到的确认是对重传报文段的确认,但却被源主机当成是对原来的报文段的确认,则这样计算出的RTTs和超时重传时间RTO就会偏大。若后面再发送的报文段又是经过重传后才收到确认报文段,则按此方法得出的超时重传时间RTO就越来越长。
同样,若收到的确认是对原来的报文段的确认,但被当成是对重传报文段的确认,则由此计算出的RTTs和RTO都会偏小。这就必然导致报文段过多地重传。这样就有可能使RTO越来越短。
根据以上所述,Karn提出了一个算法:在计算加权平均RTTs肘,只要报文段重传了,就不采用其往返时间样本。这样得出的加权平均RTTs和RTO就较准确。
但是,这又引起新的问题。设想出现这样的情况:报文段的时延突然增大了很多。因此在原来得出的重传时间内,不会收到确认报文段。于是就重传报文段。但根据Karn算法,不考虑重传的报文段的往返时间样本。这样,超时重传时间就无法更新。
因此要对Karn算法进行修正。方法是:报文段每重传一次,就把超时重传时间RTO增大一些。典型的做法是取新的重传时间为2倍的旧的重传时间。当不再发生报文段的重传时,才根据上面给出的(5-5)式计算超时重传时间。实践证明,这种策略较为合理。
总之,Karn算法能够使运输层区分开有效的和无效的往返时间样本,从而改进了往返时间的估测。
达里B是个小于1的系数,它的推荐值是1/4,即0.25。
上面所说的往返时间的测量, MSS5131-332MLC实现起来相当复杂。试看下面的例子。
如图5-20所示。发送出一个报文段。设定的重传时间到了,还没有收到确认。于是重传报文段。经过了一段时间后,收到了确认报文段。现在的问题是:如何判定此确认报文段是对先发送的报文段的确认,还是对后来重传的报文段的确认?由于重传的报文段和原来的报文段完全一样,因此源主机在收到确认后,就无法做出正确的判断,而正确的判断对确定加权平均RTTs的值关系很大。
图5-20收到的确认是对哪一个报文段的确认?
若收到的确认是对重传报文段的确认,但却被源主机当成是对原来的报文段的确认,则这样计算出的RTTs和超时重传时间RTO就会偏大。若后面再发送的报文段又是经过重传后才收到确认报文段,则按此方法得出的超时重传时间RTO就越来越长。
同样,若收到的确认是对原来的报文段的确认,但被当成是对重传报文段的确认,则由此计算出的RTTs和RTO都会偏小。这就必然导致报文段过多地重传。这样就有可能使RTO越来越短。
根据以上所述,Karn提出了一个算法:在计算加权平均RTTs肘,只要报文段重传了,就不采用其往返时间样本。这样得出的加权平均RTTs和RTO就较准确。
但是,这又引起新的问题。设想出现这样的情况:报文段的时延突然增大了很多。因此在原来得出的重传时间内,不会收到确认报文段。于是就重传报文段。但根据Karn算法,不考虑重传的报文段的往返时间样本。这样,超时重传时间就无法更新。
因此要对Karn算法进行修正。方法是:报文段每重传一次,就把超时重传时间RTO增大一些。典型的做法是取新的重传时间为2倍的旧的重传时间。当不再发生报文段的重传时,才根据上面给出的(5-5)式计算超时重传时间。实践证明,这种策略较为合理。
总之,Karn算法能够使运输层区分开有效的和无效的往返时间样本,从而改进了往返时间的估测。
热门点击
- 数据链路层的点对点信道和广播信道的特点
- 不同的子网掩码得出相同的网络地址
- 运输层的两个主要协议
- 采样周期T的确定
- CIDR的32位地址掩码
- TCP报文段的首部格式
- IP地址具有以下一些重要特点
- ENIG即化学镀镍
- 光纤调制解调器的作用
- 100 Mb/s以太网物理层标准
推荐技术资料
- 泰克新发布的DSA830
- 泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]