TCP往返传输时间(RTT)的估计

本文介绍了TCP往返传输时间(RTT)的测量方法,包括利用重传队列中的TCP控制块和TCP时间戳选项,并讨论了使用时间戳选项的原因。同时,文章还提及了平滑RTT(SRTT)的概念,它是通过加权平均来减少RTT波动,用于更准确地判断重传超时。
摘要由CSDN通过智能技术生成

RTT Round-Trip Time

比如重传定时器,那么到底多长时间没接到ACK才重传呢?

测量的RTT
RTT的测量可以采用两种方法:

(1)重传队列中数据包的TCP控制块
在TCP重传队列中保存着发送而未被确认的数据包,数据包skb中的TCP控制块包含着一个变量,
tcp_skb_cb->when,记录了该数据包的第一次发送时间。
RTT = 当前时间 – when
 

image

(2)TCP Timestamp选项
在前面的blog中有详细的介绍过这个选项,TCP时间戳选项可以用来精确的测量RTT。
RTT = 当前时间 -  数据包中Timestamp选项的回显时间
这个回显时间是该数据包发出去的时间,知道了数据包的接收时间(当前时间)和发送时间
(回显时间),就可以轻松的得到RTT的一个测量值。

为什么用时间戳选项测量RTT?
既然不用时间戳选项就可以实现RTT测量,为何还增加时间戳选项呢?看下面解释:

“TCP must use Karn's algorithm for taking RTT samples. That is, RTT samples MUST NOT be made using segments that were retransmitted (and thus for which i

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值