首先,介绍一点背景信息:我正在开发一些自定义软件,该软件允许同一 LAN 上的一组计算机以分布式、容错的方式协作处理实时任务。特别是,每台计算机每秒数次发出多播(IPv6/UDP)“心跳”数据包,其他计算机接收该数据包,并根据他们对当时还有谁在线的了解,自组织在他们之间分配任务。如果任何对等方脱机,他们的任务部分将自动重新分配给剩余的计算机。此外,对等方有时会使用多播将一对多的数据更新传达给该组。
这一切都在有线以太网网络上运行良好;但在某些时候,我想让它也能在无线网络上很好地工作,例如允许自组织的无人机群和其他类似的有趣实验。
问题是 Wi-Fi在多播方面是出了名的糟糕——特别是,多播数据包通常以 AP 最慢、效率最低的速率传输,而且它们经常被延迟或丢弃。这意味着除非我将我的软件的容差拨回来,否则在 Wi-Fi 网络上运行它意味着我偶尔会得到“误报”,系统认为特定计算机已经消失,但实际上只是 Wi-Fi 网络没有t 及时提供心跳。缺乏及时性也使得很难及时准确地协调行为,因为没有近乎恒定的速度网络,同步时钟就很困难。
我的问题是,Wi-Fi 是不是适合此应用程序的工具?如果不是,我是否应该考虑使用其他一些无线网络技术?(似乎,至少在原则上,无线电应该有助于高效的多播/广播,因为它本质上是一种共享媒体)或者如果 Wi-Fi 真的是无线网络的唯一游戏,我应该如何调整Wi-Fi 设置(在 AP 和/或客户端上)以获得最佳多播性能?