我在我的小型家庭局域网上做了一个简单的测试。
我已经启用了广播 ICMP 回显响应
sysctl net.ipv4.icmp_echo_ignore_broadcasts=0
仅在单个主机上,然后 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
但是,直接通过 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
为了完整起见,LAN 具有通过 100Mbit 以太网桥接的 wifi 链路,可在主机之间使用。
那么,这该如何解释呢?这可能是软件问题吗?从理论上讲,广播是否意味着传输延迟增加?如何解释呢?
答案1
如果 WiFi 链接位于路径中,则可能是您的问题。WiFi 中的大多数广播/多播都以最低的基本/所需数据速率进行,因为它需要到达所有站点。这意味着它通常会大幅减慢速度。
根据配置,WiFi 链路上的多播速度可能低至 1Mbps。这就是为什么 WiFi 网络上通常不允许多播,并且许多企业供应商实施专有解决方案(例如多播到单播的转换)。