“白呼”是东北话,“吹牛”的意思。
这篇也是存货。是在去年我司刚刚发布802.11ax产品的时候写的一个学习笔记,部分来源于高通的802.11ax-transforming-wi-fi-to-bring-unprecedented-capacity-efficiency.pdf,其他的来源找不到了,只记得有一个渠道好像叫Google :-)
802.11ax的概念
802.11ax,也称为高效无线 (High-Efficiency Wireless,HEW),它的目标是在密集用户环境中将用户的平均吞吐量提高至少 4 倍。这一新标准侧重于实现机制,旨在在多用户环境中为更多用户提供一个一致的,可靠的数据流(更高的平均吞吐量)

802.11ax的特性主要有以下几点:
向后兼容802.11a/b/g/n/ac
在高密度情景下,如火车站、机场和体育馆,将用户平均吞吐量提高4倍
与802.11ac类似的数据速率和信道宽度,但采用基于1024-QAM的新调制方案和编码集(MCS10和11)
通过MU-MIMO和正交频分多址(OFDMA)技术指定下行链路和上行链路多用户操作
更大型的OFDMFFT(大4倍)、较窄的子载波间隔(近4倍)和更长的符号时间(4倍),以提高多径衰落环境和室外的鲁棒性和性能
优化了流量和信道访问
更好的电源管理,延长电池使用寿命

其中MU-MIMO和OFDMA是11ax技术的关键。名词很多,下面还有更多的名词。所以这篇文章注定写的不流畅,可读性比较差了。

上图是Wi-Fi标准的发展历程,802.11n被称为HT(High Throughput),802.11ac就被称为VHT(Very High Throughput),但是在高密度高并发的场景,11ac的速度仍然不尽如人意,所以才需要11ax高效无线。
上图紫色字体是11ax与11ac有区别的地方。
首先,11ac只能工作在5GHz,但是11ax在2.4GHz和5GHz都可以工作。
其次,峰值PHY速率从6.8Gbps提升到了10Gbps,进入万兆以太网的行列,所以才需要POE交换机提供2.5Gbps和5Gbps的以太网端口。您可能会觉得我写错了,峰值速率都已经10Gbps了,交换机的端口却只有2.5Gbps或5Gbps,明显不够用啊!实际上我没有写错,因为PHY速率和实际的吞吐量有显著的差异,是两个完全不同的概念,下文会具体解释原因。
11ax的频谱效率也更高。比较不同通信系统的有效性时,单看他们的传输速率是不够的,还应该看在这样的传输速率下所占信道的宽度。所以真正衡量数字通信系统传输效率的应当是单位频带内的码元传输速率,即链路频谱效率(Linkspectral efficiency)。它的单位是bit/s/Hz,或(bit/s)/Hz(较少用,但更准确)。其定义为净比特率(有用信息速率,不包括纠错码)或最大吞吐量除以通信信道或数据链路的带宽(单位:赫兹)。11ax和11ac占用的信道宽度相同,但是传输速率更高,所以频谱效率也更高。
MIMO、空间流、GI和MU-MIMO
MIMO就是Multiple In and Multiple Out,它和空间流是相辅相成的。用多根天线同时发送信号,也用多根天线同时接收信号,每一份信号就是一条空间流。如果多个空间流传输的信号是相同的,这叫做分集传输,可以提高信号传输的可靠性。如果多个空间流传输的信号是不同的,这叫做空间复用,可以提高数据的传输速率。11ac的草案定义最多可实现8条空间流,但商用版本只支持4条,因为客户端并不支持这么多空间流。
现在的无线技术基本上都采用空间复用,因为可以利用环境自然地实现分集传输的效果。大家都应该听到过“回声”吧?在山谷里面大喊一声,过一会儿你会听到很多次重复的声音。在房间里也一样有电磁波的回声,因为反射是所有波的物理特性。只不过时间太短,人的耳朵感知不到,但是天线却可以。

如上图,如果天线正在接收第N个信号的回声,此时第N+1个信号也发送过来了,就会产生冲突使信号损坏。所以天线在发送信号的时候,要周期性的停顿一下,等回声消失或减弱之后再发送下一个信号。这个停顿的时间叫做GI(Guard Interval,防护间隔)。GI的长度有几种,环境好的时候是400ns,此时你看到网卡显示的PHY速率都是你熟悉的数字:

在生产车间、仓库或者室外环境会自动降低到800ns。所以你会发现网卡显示的速率好像不对啊,少了!是AP有问题吗?其实不是的,只不过是因为周围的电磁环境不太理想,STA将GI调整到了800ns,导致PHY速率也相应的下降。

随着MIMO数量的增加和天线阵列的增大,11ac/ax普遍使用800ns和1600ns的GI。另外,实际速率为什么低于PHY速率?因为很多时间要消耗在GI上面,这就是其中一个原因。
MU-MIMO(Multiple user MIMO)可以把多个空间流分配给多个STA,所以称为多用户MIMO。它从802.11ac Wave2开始得到支持,但只能在下行方向(AP向终端设备发送数据)被支持,在上行方向(终端设备向AP发送数据)仍然是单用户的。而802.11ax在上行方向和下行方向都可以支持MU-MIMO,空间流的数量也从4个增加到8个。

无线网络为什么总是容易出现使用体验上的问题,根本的原因并不是因为干扰,而是因为无线AP它是半双工的,有点像古老的Hub。
有些年轻的朋友可能不知道Hub是什么东西。从外形上看,Hub就是个小交换机,但是它并不会维护MAC地址表。所以虽然它有多个端口,每个RJ45端口也有多个针脚,但是在同一时间,只能有一个终端发送数据,而且也只能有一个方向——要么上行,要么下行。如果同时有多个终端,或者双向都有数据传输会怎样呢?电信号就会发生变化,数据就会损坏,这个过程称为“冲突”或“碰撞”。
无线AP虽然可以识别终端设备的MAC地址,但是它只有一个“端口”,也就是“空中端口”,简称“空口”。电磁波的物理特性决定了空口在同一时间只能单向发送或接收信号,所以无线AP仍然是一个半双工的设备。空口的资源应该给哪个终端使用呢?在11ac之前,只能靠抢,也就是靠概率,文明的说法叫做“竞争”。虽然有一个叫做CSMA/CA的控制机制来避免冲突,但也只能把概率变得相对公平一点,终端仍然要竞争空口资源。无线的实际传输速率为什么不能达到PHY速率,这也是原因之一。因为在争抢和排队的过程中肯定会产生损耗,导致速度变慢。相信大家在日常生活中也都会有切身感受。
如果还是不明白半双工意味着什么,就去玩一下对讲机吧。体验一下对讲机的通话效率和电话会议的通话效率。
上行和下行方向都支持MU-MIMO使得802.11ax无线AP有可能同时发送电磁信号给多个STA(Station,终端设备),也有可能同时接收多个STA的电磁信号,所以可以提升并发用户数和单位时间的数据吞吐量。但还是无法改变AP是半双工的事实。
子载波,QAM,OFDM
802.11ax还有其他的一些技术来提升用户容量和数据容量。下面我们来分别了解一下。
在上面的表格中,我们可以看到11ax的最大OFDM频域从512增加到了2048,子载波空间从312.5 kHz减小到78.125 kHz。这都是什么意思呢?
首先我们先看看什么是子载波。下面是利用Wi-Spy捕获的信号能量图。信道6占用20MHz的频宽,但仔细观察振幅的最高点,你会发现并不是平的,有很多小的突起。

这些小突起就是子载波。空口并不会发送一个占满了整个20MHz频宽的信号,而是会在这个频段空间内传输多个不同频率的,频宽更窄的波形。每个波形对应若干个比特的信号,这些波形就是子载波。
子载波之间的频率间隔就是子载波空间。频段空间除以子载波空间就是频域。

11ac和11ax的最大频段空间都是160MHz,但是11ax的子载波空间更小,所以频域是11ac的4倍,性能也是11ac的4倍。
下图的解释更加清晰,可以看到不同的子载波有不同的频率,振幅,和相位,在空中叠加的波形似乎也没有规律,但是信号的接收方可以通过解调制来还原子载波的信号。

而电信号和波信号的转换就涉及到傅立叶变换了。这个概念很复杂,我也讲不明白,就不在这里献丑了,请大家阅读《傅里叶分析之掐死教程(完整版)》,网址是 https://zhuanlan.zhihu.com/p/19763358,也可以点击左下角“阅读原文”。贴这个图上来的目的是引出另外一个概念,QAM(Quadrature
Amplitude Modulation,正交振幅调制)的星座图。

不同相位,不同振幅,不同频率的波,会在QAM的星座图上的不同位置落下一个点,这个点叫做QAM Symbol。每个Symbol表示若干个比特。比如16QAM可以在星座图上落下16个Symbol,每个Symbol可以表示4个比特。

QAM前面的数字越大,能够落在星座图上落下更多的Symbol。比如256QAM就可以落下256个Symbol,1024QAM就可以在星座图上落下1024个Symbol。理论上,有多少子载波就能够实现多少QAM。11ac/11ax 虽然有最多 512/2048 个子载波,但并不是所有的子载波都传输数据,所以目前只实现了 256/1024 QAM。

256QAM的星座图上,每个Symbol可以表示8个bit。而1024QAM的每个Symbol可以表示10个bit。所以11ax不仅Symbol的数量是11ac的4倍,每个Symbol的传输效率也提升了25%。也因此,802.11ax的PHY速率能够达到万兆级别。

接下来我们来看看OFDM的帧结构。OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,是从802.11a开始采用的调制模式。给大家看OFDM的帧结构的目的,是让大家知道OFDM Symbol这个概念。OFDM Symbol和QAM Symbol的概念不同,它指的是波的单位传输时间。在802.11a的帧结构中,前导码的Short Training持续时间8us,Long Training部分持续时间也是8us,DATA部分是以4us的持续时间为单位进行传输的。如果能够协商到更高的PHY速率,使用更多的空间流,就可以在OFDM Symbol的持续时间内传输更多的数据,吞吐量自然就更高了。

理解了OFDM Symbol的概念,大家就可以理解“无线射频资源实际上是时间片的资源”。11a/g/n/ac的OFDM Symbol持续时间都是4us,其中3.2us用来传输“有用的”数据,0.8us是GI。总体的开销比较大。而11ax的OFDM Symbol持续时间更长,可以用12.8us传输有用的数据,是11a/g/n/ac的4倍。因此在室内环境,可以节省3/4的GI开销,提升吞吐量。在车间/仓库/室外环境,可以使用4倍长度的GI,提升MIMO的稳健性。

OFDMA
OFDMA是正交频分多址,与OFDM的区别关键在多址上面。虽然一个频段中可以传输多个子载波,但是OFDM必须把所有的子载波都发给单个STA,所以它是Single Address的。而OFDMA可以把子载波分成几个集合,这几个集合分别发给多个STA,所以称为Multiple Address。

每个子载波集最小可达2MHz,OFDMA系统可动态地把可用带宽资源分配给需要的用户,很容易实现系统资源的优化利用。我们手机使用的4G LTE就已经采用了OFDMA技术。
举个形象的例子,在OFDM系统中,每个STA无论流量大小,需要使用多少个子载波,都独占整个信道。就好比它只需要运输少量的货物,却独占了整个集装箱卡车。而OFDMA系统可以将子载波分配给多个STA,就好比利用1台集装箱卡车同时运输多个客户的货物,因此可以有效的提高信道资源利用效率,提升转发性能。

我们知道国家正在发展工业互联网,会有大量的物联网应用。IoT设备的流量类型就是文本消息,网络内也会存在大量的即时通讯的应用,例如微信,同样是体积很小的流量。如果是采用OFDM调制,在处理这类流量的时候难免会存在大量的损耗,而OFDMA就可以利用很小的子载波集将这些流量打包发送出去,再统一接收ACK应答,由此而产生的前导码和GI损耗会少很多。

在这里歪个楼。因为无线介质是不可靠的,所以发送方每发送一段数据,都要等待接收方回复一个ACK应答,然后才能发送下一段数据,否则就要重传。ACK报文属于802.11管理帧,管理帧还包括Probe报文、关联与解关联报文、认证与解认证报文等等。文章读到这里,我们都已经知道无线的PHY速率可以很高,甚至达到万兆的级别。但是请注意,管理帧/控制帧采用的调制方式仍然是DSSS,PHY速率最高也只有11Mbps,一般情况下是2Mbps。所以无线的实际速率和PHY速率为什么相差很多?除了竞争导致的损耗,GI导致的损耗,还有龟速的管理帧/控制帧导致的损耗。
回到正题。OFDMA和MU-MIMO可以互补,根据流量类型自动选择是采用OFDMA还是采用MU-MIMO(它们并不是同时工作的)。对于低带宽的应用,采用OFDMA,可以提高性能和效率,降低延迟。对于高带宽的应用,采用MU-MIMO,可以为每个用户都提供高速连接,提升无线网络的容量。
OFDMA的多址接入技术还改变了信道资源的调度机制。

传统的CSMA/CA只能在单独的1台AP的场景才能运行良好,AP与AP之间无法针对竞争进行协商。你可以理解成无线网络就是一个很大的广播域,当有限的空间内AP和终端数量足够多的时候,竞争导致的损耗将严重影响使用体验。
而OFDMA的多址机制,可以让AP决定利用哪些子载波和哪些STA通信,所以在上行方向上就有了一个有效的调度机制,因此可以降低竞争导致的损耗。同时,在上行方向的损耗降低,消耗的时间也减少了,那么在下行方向可以利用的时间就更多,因此OFDMA的资源调度机制可以有效提升无线网络容量,很适用于高密度的场景。
TWT
802.11ax AP可以和关联其上的STA协商一个计时器,称为目标唤醒时间(TWT)。AP会维护所有STA的TWT计时器,并避免重叠。STA在自身的TWT来临之前会进入睡眠状态,不再参与信道资源的竞争。而AP会在合适的时间分别向不同的STA发送Trigger报文,将STA唤醒。活动时间结束之后,该STA会再次进入睡眠状态,而AP则向下一台STA发送Trigger报文。

利用TWT特性,可以减少STA之间因为竞争而产生的不必要的开销,提升转发性能,并且显著降低STA的电池消耗。
CSMA/CA和BSS Color
最后一个特性是BSS着色。无线干扰有两种:一种是邻频干扰,不同的频段的波的叠加会导致数据损坏;另一种是同频干扰,虽然不会损坏数据,但是会使竞争开销增加。再进一步讲解BSS着色之前,我们需要复习一下CSMA/CA的原理。
传统的802.11使用空闲信道评估(CCA, Clear Channel Assessment)技术,利用能量检测和载波侦听来判断信道是否空闲,这是一个物理层的技术;利用网络分配向量 (NAV, Network Allocation Vector) 充当虚拟载波侦听,确保能够为关键帧 (例如控制帧,RTS/CTS交换之后的数据,和ACK) 预留媒介资源。

上图是一个CSMA/CA的竞争过程。
STA1在开始发送数据之前,会广播一个DV(Distance Vector)计时器,通知其他STA:在我的Data传输完成之后,你们都必须等待DV计时器结束之后才能发起竞争
AP、STA2和STA3在STA1发送Data的过程中一直用CCA进行载波探测,判断STA1的Data什么时候结束传输
STA1的Data结束传输,此时STA2和STA3必须静默,等待DV计时器结束,这个过程称为“虚拟的CCA”,也叫做NAV
在STA2和STA3的NAV期间,AP可以利用这段时间将Ack报文发给STA1,不过在发送Ack之前需要等待SIFS短帧间隔,802.11ac的SIFS是9us
NAV结束,但STA2和STA3仍然不能马上发起竞争,必须要等待DIFS分布式帧间隔,802.11ac的DIFS是34us
DIFS结束,STA2和STA3会自动的回退几个时隙,时隙的数量是随机的,所以称为Random Back-off。在上图的例子中,STA2的RB是3个时隙,STA3的RB是5个时隙,所以STA2竞争成功,可以发送数据,而STA3则必须进入CCA,等待下一次的竞争
STA2在发送Data之前,同样会广播一个DV计时器,如此反复
这个工作模式称为DCF(Distributed Coordination Function)。如果AP的发射功率过大,覆盖半径过大,可能会因为关联的STA之间的距离过远而无法收到DV通知,产生隐藏节点的问题。不过这不是本文要讨论的范围,所以就不展开了。
然后我们来看一个同频干扰的例子:

上图绿色的User1和User2关联到左边的BSS,灰色的UserA关联到右边的BSS。左右2台AP的信道相同并且覆盖区域发生了重叠,则产生了重叠服务区 (OBSS, overlapping BSS) ,也就是所谓的同频干扰。
User1将与User2争夺媒介的接入权,期望与左边的AP交换数据。但是,User1仍能够监听来自右侧OBSS的UserA通信量。在这种情况下,来自OBSS的流量将触发User1的DCF避退程序,这会造成User1必须等待更长时间才能获得传输机会,大大降低了它的平均数据吞吐量以及BSS的总体平均吞吐量。
为了降低同频干扰对网络容量的影响,802.11ax使用BSS着色位(Color Bit)来标识这个数据帧属于哪个BSS。还记得上面的OFDM帧格式的图片么?在前导码之后有一个Signal Symbol,Color Bit就在这个Signal Symbol里面,所以STA可以快速判断这个帧是否是自己的,如果不是,马上终止后续报文的解析。
此外,802.11ax还使用2种NAV:
Intra-BSS NAV,如果所侦测的协议数据单元 (PPDU) 中的BSS color bit与所关联AP已公布的color bit相同,STA就会将该帧视为Intra-BSS帧
Inter-BSS NAV,如果所侦测帧的BSS color bit与STA所关联的AP的color bit不同,STA就会将该帧视为来自重叠BSS的Inter-BSS帧。在这之后,只有在需要STA验证帧是否是Inter-BSS帧期间,STA才将媒介视作busy状态

此时OFDMA的多址技术就派上用场了,它可以将不同频域里的子载波分配给不同的BSS。虽然BSS可以利用的频域缩小了,但是CSMA/CA的开销也减小很多,总体的传输性能可以得到改善。
802.11ax面临的挑战
2017年2月,高通推出面向网络设备的IPQ8074 SoC芯片和面向终端的QCA6290芯片,各个网络设备厂商先后发布自己的第一代802.11ax无线AP。但是802.11ax技术在电脑和手机等终端设备上的普及还需要很长的时间。上面介绍的OFDMA、MU-MIMO、TWT、BSS Color、1024QAM等技术都需要终端设备也能够支持才可以工作。
802.11ac wave2商用已经有2年时间了吧,到现在支持ac wave2的终端有多少?虽然高通骁龙处理器全线支持MU-MIMO,Intel和Broadcom个别台式机PCIe网卡也支持MU-MIMO,但手机厂商却很少在基带驱动中支持MU-MIMO。目前明确支持MU-MIMO的手机只有小米4C和以上型号,以及三星S7、Note7和以上型号。即使是IPhone X和Macbook Pro现在也还没有支持MU-MIMO。
这样看来,至少两年内,11ax的各种技术都派不上用场。那么如果客户端都是小米手机或者三星手机,8个空间流的下行MU-MIMO总是可以用的吧?因为可以和ac wave2的STA兼容啊,为更多的MU-MIMO STA提供并行下载可以么?
答案是不一定。
有一种说法,MU-MIMO已死。为什么这么说呢?因为如果想要MU-MIMO生效,需要非常苛刻的条件。首先我们再重温MU-MIMO的原理:

MU-MIMO基于Beamforming波束成型技术 (意味着部分厂商的所谓智能天线都无效了)
AP周期性地从每个天线广播“sounding frames”,STA必须反馈给AP它从每个天线接收到的信号质量,AP利用这些数据计算STA位置
同一个MU-MIMO组内的所有STA都需要支持MU-MIMO
而波束成型并不是一个完美的技术,它在使用时有很多的限制条件:
如果STA距离AP太近 (例如少于3-6 米),Beamforming无法工作
STA与AP之间的方向角不能相同,也不能太小,否则Beamforming无法工作
AP到每一个STA的传输往返时间需近似相同,否则性能会有明显下降——这意味着每个STA传输的数据量要接近,传输速率要接近
在实际的部署场景,上面3个限制条件基本上任何一条都无法满足。
最后,QAM越大,频宽越大,对于信噪比的要求也更高。以256QAM 为例,下图是信号在不同SNR环境中的星座图,可以看到在信噪比为27dB的时候,信号已经无法被解调了。在家庭环境,也许160MHz的频宽和1024QAM可以被应用,但是在办公和商业场所基本上无法使用,除非工信部再开放更多的信道资源给Wi-Fi。

所以,不要对802.11ax期望太高,传统AP的技术水平仍然是决定无线网络容量和性能的关键因素。




