在802.11ax以前,MAC的接入机制是典型的CSMA机制(即DCF中所采用的CSMA/CA)。在引入了OFDMA的需求之后,802.11ax的MAC层随机接入机制也发生了变化,在协议中,代替传统的CSMA思想,802.11ax采用了基于ALOHA思想设计了竞争协议。本节我们主要就是介绍802.11ax中所采用的TF(Trigger Frame)以及TF-R(Trigger Frame for Random access)机制。
本节我们讨论内容主要参考Draft 0.1中的相应描述,以及如下提案(按照时间顺序):
IEEE 802.11-15/0365r0:UL MU ProcedureIEEE 802.11-15/0880r2:Scheduled Trigger framesIEEE 802.11-15/0875r1:Random Access with Trigger Frames using OFDMAIEEE 802.11-15/1137:Triggered OFDMA Random Access ObservationsIEEE 802.11-15/1105r0:UL OFDMA-based Random Access ProcedureIEEE 802.11-15/1047r0:Random RU selection process upon TF-R receptionIEEE 802.11-15/1370r0:UL OFDMA Random Access ControlIEEE 802.11-16/0582r3:Random Access RU Allocation in the Trigger Frame
以上的草案资源整理如下
注:由于协议正在制定的过程中,所以会存在TBD(To Be Determined)的部分以及不断更新的协议内容,笔者未必跟上最新的协议进程,如果有错漏的地方,还请见谅。
TF(Trigger Frame)接入机制
802.11ax与传统的DCF所需求的MAC层机制是不同的。传统的DCF同一个时刻只有一个用户接入信道,而由于802.11ax采用OFDMA技术,其需求多个用户可以同一时间接入信道(选择的RU是正交的)。
本节我们所介绍的TF机制,主要是用在UL MU (Uplink Multi-users)这种上行传输的场景下的。TF机制是一个上行传输的框架,其具体的随机接入的方法是TF-R机制。参考draft 0.1中,第10.3.2.11.4节部分,以及草案(IEEE 802.11-15/0365r0),我们描述协议中TF接入机制。
注:如果研读过协议草案的可以发现,802.11协议指定是一个非常严谨的过程,其属于一个个小草案慢慢叠加,一步一步往上设定的过程,比如在IEEE 802.11-15/0365r0草案中,仅仅是一个很简单的TF的机制,并没有设置一些具体内容。在TF机制基本思想通过以后,协议会在其上进一步设计,最终不断修改才获得了最终的802.11协议版本。
TF是一种上行接入的传输框架,其定义了一个很简单的过程:
AP发送Trigger frame,宣称这一轮接入开始。Trigger frame中,包含了节点上传所使用的时频资源(RU)信息。根据Trigger frame中的指示,节点选择其对应的RU位置,进行OFDMA的接入。多个节点同时向AP发送上行PPDU。AP接收完全部数据后,反馈ACK,结束这一轮传输。在草案(IEEE 802.11-15/1105r0)中,TF帧不仅仅指定了什么节点发,还指定了节点的发送一系列参数,如下图:
其中第一列是该RU被分配给那个用户(具体是指定用户的AID),如果AID设置为RA(协议中RA的AID号还没给定,即TBD),那么该RU就是供节点竞争的。后面的几列包含了比如Coding Type以及MCS值,这一块细节较多,所以我们就不展开了。
以上就是一个TF的接入框架,笔者总结其与传统的802.11相比有以下不同:
单节点接入和多节点接入:传统的802.11中,都是单个节点占据整个信道的。在TF中,多个节点基于OFDMA,同时接入信道。发起者不同:在传统的802.11中,节点只要竞争到信道,就可以立刻发起传输。而在TF中,只有当AP发送了TF帧之后,节点才可以发起上行接入竞争。ACK反馈时机不同:在传统802.11中,ACK是在发送完之后,立刻被反馈的。而在TF中,ACK实际上是等所有用户都传输完之后,再一次反馈给所有接受者的。由于每一个发送者可能发送的数据包长短不一,所以先发送完的,需要等待后发送完的。这一点实际上也是多用户接入协议一个设计的公共问题。使用场景不同:基于以上的几点不同,我们还可以理解,TF机制本身就是在假定网络是工作在基础架构的情况下,进行的设计,其不好在IBSS网络情况下工作。而传统802.11中的DCF设计,是即可以在基础架构模式下,也可以在IBSS模式下工作的。
注:802.11ax中不是完全把DCF删除,而是分时采用不同的模式。TF机制主要是用在上行接入这一部分的,有关我们这一节不进行展开。
TF-R(Trigger Frame for Random access)
TF-R是基于TF的进一步扩展,是在TF机制中,引入了竞争的机制,其基本思想是Slot-Aloha。参考draft 0.1中,第25.5.2.6.1节部分,以及草案(IEEE 802.11-15/1105r0),我们描述协议中TF-R接入机制。
初看上图是比较复杂的,以下我们一步一步做解析。
TF-R是将原来时域竞争转为频率竞争(如左边红色竖线上所示)。
TF-R是在我们前面所述的TF过程之前执行的,在每一次接入时,AP首先发送TF-R帧,在该帧中的部分RU其相应AID=X,这个X代表这个RU是供节点竞争接入的。节点在识别到TF-R帧之后,具体是采用OBO(UL-OFDMA Backoff)的机制竞争(我们所述TF-R的接入思想是基于Aloha而不是CSMA的主要原因也在这里)。
Aloha和CSMA的核心区别在于LBT(Listen Before Talk)机制上:Aloha是没有LBT的,而CSMA是基于LBT的。
在OBO中,每一个节点首先从CWO(Contention Window for UL-OFDMA)窗口中,选择一个随机数并放入Backoff counter中。如上图,STA1选择的是10,STA2选择的是4,STA3选择的是0。然后节点比较,这一轮TF-R帧中,可供竞争的RU slot的数目,比如上图RU数目为3。若Backoff counter小于RU的总数(比如STA3选择为0,其小于3),那么节点就可以发送数据,反之不行。那么该节点就随机选择一个RU(比如上图,从3个中随机选择1个,即RU=3),然后在该RU上进行数据传输。
当RU=3被竞争之后,开始下一个的TF-R。此时节点首先要进行Backoff过程,即本地的Backoff counter要减去上一轮总的竞争RU数目(比如STA2选择为4,那么要减去3,即将Backoff counter设置为1)。若新的一轮中节点的Backoff counter小于这一轮的可供竞争的RU数目(比如STA2现在Backoff counter为1,RU数目为2),那么该节点竞争胜利,可以任意选择一个RU(比如选择RU=1)。只有当TF帧中,有被用来Random Access的RU的时候(即TF-R帧),其才会触发OBO的过程,若该TF帧中没有这种RU,那么不会进行Backoff。
当RU资源被竞争好以后,AP发送TF帧,节点正式向AP反馈上行数据,其过程就和我们之前所述的TF过程一样了。
注:Slot-Aloha的思想是用来判断节点在这个时刻可不可以发送,并没有包含在哪个位置具体传输的机制。故OBO主要是用来判断,节点能不能发的,至于使用哪个信道具体发送,那么这里是随机的。这一块可能有性能评估的问题,不过目前协议是这样设定的。