在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中的相应描写,和以下提案(依照时间顺序):
以上的草案资源整理以下,【TF与TF-R相干草案】。
注:由于协议正在制定的进程中,所以会存在TBD(To Be Determined)的部份和不断更新的协议内容,笔者未必跟上最新的协议进程,如果有错漏的地方,还请见谅。
802.11ax与传统的DCF所需求的MAC层机制是不同的。传统的DCF同1个时刻只有1个用户接入信道,而由于802.11ax采取OFDMA技术,其需求多个用户可以同1时间接入信道(选择的RU是正交的)。
本节我们所介绍的TF机制,主要是用在UL MU (Uplink Multi-users)这类上行传输的场景下的。TF机制是1个上行传输的框架,其具体的随机接入的方法是TF-R机制。参考draft 0.1中,第10.3.2.11.4节部份,和草案(IEEE 802.11⑴5/0365r0),我们描写协议中TF接入机制。
注:如果研读过协议草案的可以发现,802.11协议指定是1个非常严谨的进程,其属于1个个小草案渐渐叠加,1步1步往上设定的进程,比如在IEEE 802.11⑴5/0365r0草案中,仅仅是1个很简单的TF的机制,并没有设置1些具体内容。在TF机制基本思想通过以后,协议会在其上进1步设计,终究不断修改才取得了终究的802.11协议版本。
TF是1种上行接入的传输框架,其定义了1个很简单的进程:
其中第1列是该RU被分配给那个用户(具体是指定用户的AID),如果AID设置为RA(协议中RA的AID号还没给定,即TBD),那末该RU就是供节点竞争的。后面的几列包括了比如Coding Type和MCS值,这1块细节较多,所以我们就不展开了。
以上就是1个TF的接入框架,笔者总结其与传统的802.11相比有以下不同:
注:802.11ax中不是完全把DCF删除,而是分时采取不同的模式。TF机制主要是用在上行接入这1部份的,有关我们这1节不进行展开。
TF-R是基于TF的进1步扩大,是在TF机制中,引入了竞争的机制,其基本思想是Slot-Aloha。参考draft 0.1中,第25.5.2.6.1节部份,和草案(IEEE 802.11⑴5/1105r0),我们描写协议中TF-R接入机制。
初看上图是比较复杂的,以下我们1步1步做解析。
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)窗口中,选择1个随机数并放入Backoff counter中。如上图,STA1选择的是10,STA2选择的是4,STA3选择的是0。然后节点比较,这1轮TF-R帧中,可供竞争的RU slot的数目,比如上图RU数目为3。若Backoff counter小于RU的总数(比如STA3选择为0,其小于3),那末节点就能够发送数据,反之不行。那末该节点就随机选择1个RU(比如上图,从3个中随机选择1个,即RU=3),然后在该RU上进行数据传输。
当RU=3被竞争以后,开始下1个的TF-R。此时节点首先要进行Backoff进程,即本地的Backoff counter要减去上1轮总的竞争RU数目(比如STA2选择为4,那末要减去3,行将Backoff counter设置为1)。若新的1轮中节点的Backoff counter小于这1轮的可供竞争的RU数目(比如STA2现在Backoff counter为1,RU数目为2),那末该节点竞争成功,可以任意选择1个RU(比如选择RU=1)。只有当TF帧中,有被用来Random Access的RU的时候(即TF-R帧),其才会触发OBO的进程,若该TF帧中没有这类RU,那末不会进行Backoff。
当RU资源被竞争好以后,AP发送TF帧,节点正式向AP反馈上行数据,其进程就和我们之前所述的TF进程1样了。
注:Slot-Aloha的思想是用来判断节点在这个时刻可不可以发送(参考我这里所提过的同步异步2:ALOHA中的同步异步),并没有包括在哪一个位置具体传输的机制。故OBO主要是用来判断,节点能不能发的,至于使用哪一个信道具体发送,那末这里是随机的。这1块可能有性能评估的问题,不过目前协议是这样设定的。