提取linux上的TCP往返时间(RTT)估计

提取linux上的TCP往返时间(RTT)估计,第1张

概述我在Ubuntu上运行apache服务器.客户端连接并下载图像.我需要提取底层TCP连接的RTT估计.有没有办法做到这一点?也许就像在调试模式下运行我的tcp堆栈,让它在某处记录这个信息?请注意,我不想运行tcpdump并从记录的跟踪中提取RTT!我需要TCP堆栈的RTT估计(显然这是您可以通过TCP_INFO套接字选项获得的信息的一部分).基本上需要像tc

我在Ubuntu上运行apache服务器.客户端连接并下载图像.我需要提取底层TCP连接的RTT估计.有没有办法做到这一点?也许就像在调试模式下运行我的tcp堆栈,让它在某处记录这个信息?

请注意,我不想运行tcpdump并从记录的跟踪中提取RTT!我需要TCP堆栈的RTT估计(显然这是您可以通过TCP_INFO套接字选项获得的信息的一部分).基本上需要像tcpprob(kprobe)之类的东西来插入一个钩子并记录每个传入数据包(或每次更改)上TCP连接的估计RTT.

更新:

我找到了解决方案. rtt,拥塞窗口等可以使用tcpprobe记录.我在下面发布了一个答案.

最佳答案这可以使用tcpprobe来完成,这是一个模块,它使用kprobe记录TCP连接的状态以响应传入的数据包,将钩子插入到tcp_recv处理路径中.

假设您要在端口443上探测tcp连接,则需要执行以下 *** 作:

sudo modprobe tcp_probe port=443 full=1sudo chmod 444 /proc/net/tcpprobecat /proc/net/tcpprobe > /tmp/output.out &pID=$!

full = 1:登录收到的每个ack数据包

full = 0:仅登录公寓更改(如果使用此输出可能为空)

现在pID是记录探针的过程.要停止,只需终止此过程:

kill $pID

output.out的格式(根据第198行的source):

[time][src][dst][length][snd_nxt][snd_una][snd_cwnd][ssthresh][snd_wnd][srtt][rcv_wnd]
总结

以上是内存溢出为你收集整理的提取linux上的TCP往返时间(RTT)估计全部内容,希望文章能够帮你解决提取linux上的TCP往返时间(RTT)估计所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1046335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存