在Linux中获取TCP RTT

Kar*_*ana 5 linux procfs

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

提前致谢.

Mat*_*man 10

也许ssiproute utils中提供的(socket statistics)util可以帮助你解决这个问题.

# 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
Run Code Online (Sandbox Code Playgroud)

如果您想了解更多信息,什么rtt领域是我认为最好是看看ss.c.

  • 注意:如果您没有看到来自 `ss` 的 rtt 信息,则意味着机器尚未在内核中启用 INET_DIAG 子系统,并且它会回退到使用来自 /proc/net/ 的更有限的信息。您需要使用 INET_DIAG/“INET 套接字监视接口”支持来重建内核才能启用。 (2认同)