哪个类似 ping 的命令可以测量两台机器之间可能的最低延迟?

哪个类似 ping 的命令可以测量两台机器之间可能的最低延迟?

我的任务是测量两台机器之间的网络延迟(单向和双向都可以)。两台电脑位于同一个房间,在同一个网络上,并连接到同一个路由器。

当我使用ping命令时,我得到了14-18us往返时间。当我运行onload ping(Solarflare 内核旁路)时,我得到了5-7us。但5-7us似乎仍然太长了。

我可以使用哪些其他命令来测量两台机器之间可能的最低延迟?我只关心最低延迟,而不是吞吐量;理想的命令应该发送一个包含 1 个字节有效负载的数据包以最小化成本。

答案1

我觉得你的延迟很短。不过你可以尝试使用更短的 ping 和 arping。

更短的 ping

ping -s 16 <destination_IP>
ping -s 0 <destination_IP>

通常,ping 数据包的默认大小在第 3 层为 84 B(帧长度为 98 字节)。该-s 16标志要求仅发送 44 B(帧长度为 58 B),即数据包大小小于默认值。

如果-s 0使用,则 ICMP 回应请求 L3 数据包大小为 28 B(42 B 帧)。这是最短的有效负载。但响应数据包为 60 B。

阿尔平

arping 是另一种可能性:

sudo apt-get install arping
sudo arping <destination_IP>

最终

sudo arping -S <source_IP> -i <interface> <destination_IP>

在我的测试中请求帧长度为58 B,应答为60 B。

您可以使用Wireshark检查情况、数据包大小和响应时间。

相关内容