在我的发送方和接收方之间的某处,有主机明确限制我的传输速率。
我知道这是一台 Linux 主机。我的流量入口接口是eth0
,出口接口是eth1
。速率限制器很可能已经实现不知何故使用Linux的流量控制(tc
),但我不知道细节。
从较早前离线比较在eth0
和eth1
接口记录的 pcap 文件之间,我知道速率限制器会增加显着的数据包延迟(最多 15 秒!)和数据包丢失(最多 16%),当我尝试推动通过尽可能多的数据,使用iperf
。
所有流量都是 TCP/IP。源 IP、目标 IP 和目标端口都是已知且恒定的。只有源端口在连续流之间会发生变化。
给定(root)访问权限,有没有办法实时测量数据包延迟和丢包计数器/率?或者以时间序列数据的形式记录到文件中?
答案1
是的,你可以。首先,你应该观察你的tc
统计输出(见https://unix.stackexchange.com/questions/96804/tc-show-output-explanation)此外,您可以使用任何网络负载
实用程序来监视网络流量 - ,,,,iftop
等等。iptraf
nethogs
bandwhich
PS 我建议检查一下 tc 的配置tc
- 最好使用成型比硬速率限制。一个很好的差异解释如下:https://www.cisco.com/c/en/us/support/docs/quality-of-service-qos/qos-policing/19645-policevsshape.html