据我了解,Wifi 永远无法实现真正的多播,因为每个设备都与 AP 保持“1:1”关系,然后接收相同的数据包……然后下一个设备连接并获取相同的数据包。
你的理解有问题。组播确实存在,但与无线网络上的大多数管理流量一样,它必须以最低支持的基本/基本/所需数据速率运行。默认情况下,这通常是 AP 支持的最低数据速率。
原因是从 AP 向周围客户端广播或多播的任何内容都必须以所有客户端都必须支持且可以可靠接收的速度发送。
您所指的是一种许多接入点都可以采用的技术,即多播到单播的转换。由于无线电介质是共享介质,因此以最低数据速率发送的多播帧可能比以最高数据速率发送的单播帧占用 300 倍或更多的“传输时间”。这通常比将多播作为多播流量发送要有效得多。
在默认配置 AP(802.11n 或更高版本)上的示例情况中,以尽可能高的速度向 10 个设备中的每一个(即总共 100 个帧)传送 10 个单播帧所花费的时间可能比传送一个多播帧所需的时间更少框架。
802.11 上多播的另外两个考虑因素通常是使用多播到单播转换的原因,即多播帧永远不会被确认,而单播帧在没有 ack 的情况下会被 AP 确认并重新传输(不要与 TCP 确认混淆,这是 L2 机制,也是在 AP 和客户端之间寻找最佳数据速率的过程的一部分)。
其次,如果 BSS 中的任何客户端设备使用省电模式,则仅定期发送组播帧(基于配置的 DTIM 和信标间隔)以确保所有客户端再次收到组播帧。通过多播到单播的转换,如果客户端不使用省电模式,帧会立即发送到客户端,而只会延迟到处于省电模式的客户端。
有多种类型的路由器/AP——“3x3”和“4x4”,一些带有 MIMO 等。我应该使用什么作为选择 AP 的标准?
首先,您需要一个满足或超过客户端设备功能的接入点。我的意思是,如果您的客户端是支持 802.11n 2x2 的设备,那么您至少需要一个 802.11n 2x2 AP。即使使用所有 802.11n 客户端,802.11ac 也会为您提供一些优势,并且更多空间流永远不会受到伤害,因为额外的流以其他方式被利用。
其次,您需要一个接入点,您可以在其中拥有禁用/启用多播到单播转换的配置选项,为 ESS 选择特定支持/所需的数据速率,并且最好能够配置 DTIM 和信标间隔。
我可以真正通过 wifi 多播到 iOS 设备吗?我的理论正确吗?
分别是,是和否。您可以这样做,但是除非您真的知道自己在做什么,或者只是为了简单起见,否则您可能会利用多播到单播功能获得更“实时”的体验。未能根据您的情况获得以下正确信息实际上会减少客户端设备上的体验。
为了获得良好的性能,您需要尽可能向上调整所需的数据速率,同时根据您的环境和客户端设备与 AP 的距离保持可靠的信号。
由于 iOS 设备确实使用省电模式,因此您可能需要进一步调整 DTIM 和信标间隔,以减少省电模式引入的延迟。请记住,这些设置还会降低您的通话时间使用效率(即降低信标间隔意味着更多的信标等),造成的问题多于解决的问题。
有没有办法多播而不是将每个数据包/客户端视为单播?
正如我已经介绍的那样,是的。只要您的 AP 一开始就没有多播到单播功能,或者可以选择让您禁用它。