连接到同一路由器的两个设备之间的 Ping 值较高

连接到同一路由器的两个设备之间的 Ping 值较高

为了进行研究,我需要让两个设备以非常低的延迟(<1 毫秒)相互同步。我知道当它们连接到同一个 wifi 路由器时,它们将获得路由器分配的不同私有 IP 地址。理想情况下,同一本地网络下设备之间的 ping 值应该非常低。除非我在这里误解了什么。

在我的实验中,我断开了路由器与互联网的连接(从墙上拔下电缆),并使用一个设备 ping 路由器和另一个设备。设备的名称和 IP 地址如下:

路由器:192.168.1.254 设备1:192.168.1.122 设备2:192.168.1.154

延迟时间不符合我的预期:在路由器和设备 1 之间 ping 操作:图片1;在设备1和设备2之间进行ping操作:图片2。我期望时间在 1 毫秒以内,但这里的情况并非如此。所有设备都位于同一个房间内,且在 3 米以内,因此我认为连接不是这里的问题。

我不确定如何解决这种高延迟问题。我可能误解了这里的一些概念。任何帮助都将不胜感激。

答案1

如果您想减少延迟,您可能需要从通信中移除路由器。

使用临时无线网络,您应该会看到 ping 值远低于 1ms。

节点之间会发现彼此并直接通信,这样速度会快很多。当然,您还应该选择正确的信道(和位置),因为既然这是无线电链路,相同频率的其他节点可能会产生干扰并减慢您的速度。

本教程适用于 Debian显示时间低于 0.07 毫秒。我知道这不是你的系统,但它仍然是一个很好的参考。这一页解释如何在某些 Windows 版本中执行此操作。

答案2

如果您想要低延迟,请使用有线连接。

将以下两个 ping 测试从我的桌面与家里网络上的其他设备进行比较。

第一个是从我的台式机到我的家庭服务器,两者都是有线的:

C:\Users\micha>ping 192.168.20.140

Pinging 192.168.20.140 with 32 bytes of data:
Reply from 192.168.20.140: bytes=32 time<1ms TTL=64
Reply from 192.168.20.140: bytes=32 time<1ms TTL=64
Reply from 192.168.20.140: bytes=32 time<1ms TTL=64
Reply from 192.168.20.140: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.20.140:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

第二个是从我的台式机到我的手机,通过无线连接:

C:\Users\micha>ping 192.168.20.168

Pinging 192.168.20.168 with 32 bytes of data:
Reply from 192.168.20.168: bytes=32 time=57ms TTL=64
Reply from 192.168.20.168: bytes=32 time=4ms TTL=64
Reply from 192.168.20.168: bytes=32 time=200ms TTL=64
Reply from 192.168.20.168: bytes=32 time=113ms TTL=64

Ping statistics for 192.168.20.168:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 200ms, Average = 93ms

您可以看到,即使三台设备彼此相距不到一米,一半的连接跨越 WiFi 也会显著增加 ping 时间。

答案3

有线延迟将小于 1 毫秒。但是 WiFi 的延迟预计会更高。在某些情况下,延迟可能会高出 10 倍甚至 100 倍。WiFi 也很挑剔,因为小变量可能会造成很大的差异。您可以尝试切换 Wifi 频道、移动天线,甚至用高增益天线替换天线。

如果您需要低延迟,则需要使用有线以太网以获得最佳性能。

相关内容