我需要获取RTT以获取TCP流。我已经研究了proc文件系统,但无法获得TCP的RTT值。如果有人对此有任何想法,请在其中存储RTT文件(请共享)。
提前感谢。
也许iproute实用程序中提供的ss
(套接字统计)实用程序可以帮助您。
# 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。
您可以使用tcpprobe做到这一点(使用kprobe将钩子插入tcp_recv处理路径,并记录TCP连接的状态以响应传入的数据包)。
在这里解释:Extract TCP round trip time (RTT) estimations on linux
也可以使用ip
命令为先前的目的地打印缓存的rtts(和rttvar,cwnd):
sudo ip tcp_metrics