我正在尝试编写一个简单的脚本,可以检测网络中2个任意主机之间网络流量(两个方向的带宽和延迟)的下降。有没有工具可以做到这一点?
如果需要,我计划用bash编写几个客户端/服务器脚本来执行此测试 nc
(netcat),但如果预先存在的解决方案捕获我正在尝试做的事情,请告诉我。
首先,我将确定在任意主机之间1秒内可以发送多少数据。我们称之为“有效载荷”。初步测试显示有效载荷约为50 MB。
然后我将执行以下操作:
- 客户端将有效负载发送到服务器。
- 当服务器收到整个有效负载时,它将立即通过向客户端发送有效负载来响应。
- 当客户端收到整个有效负载时,它将休眠30秒。 转到1。
通过这样做,我将收到以下数据(双向带宽和延迟):
- 通过录制
time
执行nc
在(1)中从客户端到服务器,我将获得从客户端到服务器的带宽发送数据。 - 通过录制
time
执行nc
从服务器到客户端(2),我将获得从服务器向客户端发送数据的带宽。 - 不知何故,我将确定数据包延迟,可能使用监视工具或区分从源发送的有效负载的第一个数据包与目标上接收的有效负载的第一个数据包之间的时间戳。
time iperf -c <ip> -t 1 -r -i 30
),但它不测试延迟。为了测试没有ICMP的延迟,我正在使用hping -S