多播 LAN ping 比单播慢两倍?

uli*_*tko 1 networking linux multicast

我在我的小家庭局域网上做了一个简单的测试。

我已启用广播 ICMP 回声响应

sysctl net.ipv4.icmp_echo_ignore_broadcasts=0
Run Code Online (Sandbox Code Playgroud)

仅在单个主机上,然后 ping 多播地址以查看该主机的响应。往返时间始终在2-3 毫秒左右。

--- 224.0.0.1 ping statistics ---
1000 packets transmitted, 1000 received, 0% packet loss, time 1000322ms
rtt min/avg/max/mdev = 1.956/3.666/163.318/10.781 ms
Run Code Online (Sandbox Code Playgroud)

但是,直接通过其 IP 地址单播 ping 对等方的测量时间为0.7-1.5毫秒。

--- 192.168.8.23 ping statistics ---
1000 packets transmitted, 1000 received, 0% packet loss, time 999270ms
rtt min/avg/max/mdev = 0.498/2.459/227.312/12.608 ms
Run Code Online (Sandbox Code Playgroud)

为完整起见,LAN 具有与主机之间的 100Mbit 以太网桥接的 wifi 链接。

那么,解释是什么?会不会是软件问题?广播理论上是否意味着传输延迟的增加?如何?

YLe*_*arn 5

如果 WiFi 链接在路径中,它可能是您的问题。WiFi 中的大多数广播/多播都以最低的基本/所需数据速率进行,因为它需要到达所有站点。这意味着它通常会显着减慢。

根据配置,通过 WiFi 链接的多播可能低至 1Mbps。这就是 WiFi 网络通常不允许多播的原因,并且许多企业供应商实施专有解决方案(例如多播到单播的转换)。