也就是说虽然 ping 值很高,但是在下载东西的时候,是可以到一个比较高的平均速度的,有没有这种情况?自己初步猜想了下,貌似 TCP 比较困难?UDP 的话是否可以实现这种情况?Wi-Fi 4 (802.11n) 网络,最大A-MPDU = 65 535 byte,采用最高MCS传输速率 = 600Mbps:传输时间 = 65535 * 8 / 600M = 0.0008738 s = 0.88 msWi-Fi 5 (802.11ac) 网络,最大A-MPDU =1 048 575 byte,采用最高MCS传输速率 = 6933Mbps:传输时间 =1048575 * 8 / 6933M = 0.001209 s = 1.2 msWi-Fi 6 (802.11ax) 网络,最大A-MPDU =6 500 631 byte,采用最高MCS传输速率 = 9608Mbps:传输时间 =6500631 * 8 / 9608M = 0.005412 s = 5.4 ms也意味着如果想访问网络,而网络被一个A-MPDU占用并处于发送或接收状态(busy),至少需要等待5.4 ms。读者可能觉得5.4ms也没有多长啊?是的,5.4ms真的不是一个大延迟。可是在真实无线网络里,真的可以达到9608Mbps?当然不能,最大值只是理想状态下的最大值,可能永远无法达到。接下来做减法,160MHZ的带宽available?应该不能,通常能有80MHz已经非常理想了。国内5G一共13个20M信道,而160M(或80 + 80)需要占用8个信道。如果一下子占用13个中的8个,如何避免的co-channel的干扰?而使用80MHz(4个20M信道),那么至少可以划分3个独立且无co-channel的干扰的BSS。带宽减半,时间翻倍: time = 10.8 msMU-MIMO支持8个空间流,但是SU-MIMO最高支持4个空间流,需要客户端要有四根天线。而真实的情况是,电脑通常有2根天线,手机一般只有一根天线。所以对于手机来说,压根不存在SU-MIMO,而是彻彻底底的SU-MISO,即只有一个空间流。速率除以8,时间乘以8: time = 80.6 ms上文假设都是理想信道,即高SNR可以支持高阶MCS以及Coding Rate。需要手机距离AP 在1-2米范围内,一旦手机距离AP三五米之外,SNR值已经无法有效支撑高阶MCS。那么意味着time 还会更大。以上的场景在家庭网络里特别常见,有一个客户端在看高清视频,上文的A-MPDU对应客户端下载视频流,一旦它正在传输,其它客户端的延迟是显而易见的。所以一旦网络里有客户端在玩游戏,是能明显感受到网络的延迟存在。一般的家庭无线网络,默认没有开启QoS功能,而普遍采用的Best-Effort转发,即对应所有的数据包采用一视同仁,谁先到先服务谁,谁的数据量多,谁占用的无线信道的时间越长。只要配置一下AP QoS功能,将延迟敏感的游戏设置为高优先级,就会和视频流的竞争中夺得先机。读者可能会说,Wi-Fi 6不是还有OFDMA可以大大减少延迟的吗?OFDMA可以让不同用户的视频流、网页流、游戏流在AP的协调下同时传输,所以不需要等待上文漫长的time了。但是在家庭网络里,OFDMA、MU-MIMO默认也是关闭的。之所以关闭,是因为一旦开启,pre-802.11ax 设备不支持OFDMA,只有支持OFDMA 的Wi-Fi 6设备才能作为Group 支持OFDMA。pre-802.11ax靠CSMA/CA算法抢占多少channel access time,则完全依赖于AP的心情与脸色。一旦AP是一个狠角色,占用了大部分的channel access time给MU-MIMO、OFDMA的Wi-Fi 6 设备使用,那么pre-802.11ax 设备的channel access time就会只有小部分(剩下的蛋糕)。不用说,访问速度肯定下降,因为大多数时间都在看Wi-Fi 6设备在表演。一个思考题,家庭无线网络在不开启QoS,也不开启OFDMA、MU-MIMO,如何避免游戏的延迟受高清视频流下载长时间占用信道的影响?
发表评论