UDP 广播在某些路由器上不起作用?

Vex*_*xir 3 networking router firewall udp

我有一个在移动设备上运行的游戏,并通过使用 UDP 广播并同时收听和广播将其中两个连接在一起。在大多数家庭 WiFi 网络上,这种方式效果很好(企业网络则不同)。然而,在其他设备上,设备无法找到对方。

我对家庭网络不够熟悉,不知道为什么会出现这种情况,但我很想知道一些可能的原因,以便我可以为遇到此问题的人提供一些可能的解决方案。

Spi*_*iff 6

廉价 802.11 设备上的多播(包括广播)不可靠的原因有很多。

\n\n

多播支持是 802.11 协议中难以实现的部分,许多实现者都犯了错误,而他们的 QA 团队也未能发现这一点。它与 WPA/WPA2 和 802.11 省电模式交互的方式使其更加棘手。它也是\xe2\x80\x99t Ack\xe2\x80\x99d,因此必须以低数据速率(简单的调制方案)发送,以帮助客户端更可靠地接收它。

\n\n

一些值得尝试的事情:

\n\n
    \n
  • 在 AP 上禁用 \xe2\x80\x9cClient Isolation\xe2\x80\x9d。
  • \n
  • 禁用 WPA;仅使用纯 WPA2。
  • \n
  • 调整 AP 上的多播速率,使其\xe2\x80\x99 足够低,以便每个人都能收到它们,但又不能太低,以免它们占用太多通话时间并开始被丢弃。
  • \n
  • 将 AP 上的 DTIM 间隔降低到 1。
  • \n
  • 确保您的多播接收器正确执行 IGMP。否则禁用 AP 上的 IGMP 侦听。
  • \n
  • 让您的客户端更靠近接入点。
  • \n
  • 选择一个更干净的渠道。
  • \n
  • 在 802.11 驱动程序的高级驱动程序属性中禁用 802.11 省电模式。除此之外,请考虑使用交流电源运行客户端(某些客户端在\xe2\x80\x99不使用电池时不太可能使用省电模式)。
  • \n
  • 这是一项严厉的措施,但请尝试确保所有客户端都位于同一 AP 的同一频段上。这可能需要配置每个 AP 的每个无线电以使用不同的 SSID。
  • \n
  • 升级到更好的 AP 固件,即使这意味着 LEDE 等 Linux 路由器发行版。
  • \n
  • 购买更好的设备,以处理多播而闻名,例如 Apple AirPort 基站和其他 Apple 产品(Bonjour,即多播,是 Apple 生态系统的一个非常重要的协议,因此 Apple 几乎总是能正确执行)。
  • \n
\n\n

有关详细信息,请查看此处:为什么某些 WiFi 路由器会阻止从有线到无线的多播数据包?\n(该答案是针对有线到无线的情况编写的,但也适用于无线到无线的情况。)

\n