gpt4 book ai didi

linux - 在 linux 内核中测量 TCP 的 RTT

转载 作者:可可西里 更新时间:2023-11-01 02:51:00 35 4
gpt4 key购买 nike

我正在自定义协议(protocol)中实现类似 TCP 的 RTT 估计。当我查看函数时

static void tcp_rtt_estimator(struct sock *sk, long mrtt){
long m = mrtt; /* RTT */

对于第一次迭代,当之前没有做过RTT预估时,代码片段是

srtt = m << 3;          /* take the measured time to be rtt */

为什么 m 的值不是直接拍srtt ?据我了解,参数 mrtt_us只是当前往返时间测量值(以 jiffies 为单位)。

上面的假设是关于mrtt_us的吗?不正确?如果是,那么我应该向这个函数传递什么值?

P.S.- 我在 jiffies 中有测量的 RTT,我目前正在传递给这个函数。显然,这是不正确的,因为第一个 srtt由于 srtt = m << 3,值变成测量的 rtt 以外的东西

最佳答案

我从位于 https://lkml.org/lkml/1998/9/12/41 的 LKML 上的一个邮件链中发现了这一点

它提到存储的SRTT实际上是真实SRTT的8倍。我认为这样做是为了提供更高的计算精度。

所以要回答这个问题,RTT的测量值应该在jiffies(内核版本3.13)中传递给这个函数

关于linux - 在 linux 内核中测量 TCP 的 RTT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40112346/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com