7

我需要获取 TCP 流的 RTT。我已经查看了 proc 文件系统,但无法获得 TCP 的 RTT 值。如果有人对此有任何想法,请分享 RTT 将存储在哪个文件中。

提前致谢。

4

3 回答 3

11

也许ssiproute utils 中可用的(socket statistics)实用程序可以帮助您解决这个问题。

# ss -i 'src 1.1.1.1:1234 and dst 2.2.2.2:1234'
State      Recv-Q Send-Q                         Local Address:Port                             Peer Address:Port
ESTAB      0      0                              1.1.1.1:1234                                   2.2.2.2:1234
    reno wscale:2,7 rto:3380 rtt:855/602.5 ato:40 ssthresh:2 send 27.3Kbps rcv_space:5840

如果您想了解更多信息,rtt我认为最好看一下ss.c

于 2013-04-26T08:46:30.340 回答
1

您可以使用 tcpprobe (使用 kprobe 将挂钩插入 tcp_recv 处理路径并记录 TCP 连接的状态以响应传入数据包)。

此处解释:在 Linux 上提取 TCP 往返时间 (RTT) 估计

于 2016-01-21T00:49:30.133 回答
1

还可以使用以下ip命令为以前的目的地打印缓存的 rtts(和 rttvar、cwnd):

sudo ip tcp_metrics
于 2020-01-09T11:43:14.783 回答