序言
该机制的基本思想就是通过AP竞争,获得TXOP传输时间后,根据各个终端的缓存情况,进行RU资源的分配,当分配完成后,进行上行OFDMA的传输。在这个过程中,缓存情况的反馈可以通过AP询问的方式主动完成(即AP发送BSRP帧向终端请求),也可以进行非主动的反馈,本文就针对于非主动反馈缓存信息BSR(Buffer Status Reports)做一个介绍。
非主动的BSR反馈
在802.11ax中,UL-OFDMA一共有三次帧交换过程,一共包含了3个触发帧
- Trigger #1:BSRP帧,用于请求终端的缓存情况
- Trigger #2:MU-RTS帧,用于兼容保护传统的802.11终端,以及分配RU资源
- Trigger #3:Basic-Trigger帧,用于触发节点进行并行的上行传输
在此叙述中,我们重点描述的是,AP采用显式的请求终端们的缓存情况(即BSRP,BSR过程)。在实际情况下,UL-OFDMA不一定具备完整的这个三个触发帧。比如,若网络中不存在传统的802.11终端,则不需要MU-RTS帧,或者为了减少开销,AP不用显式的发送BSRP帧,而是将其和其他的控制帧,数据帧或者管理帧结合进行发送。
终端是可以在未经BSRP请求的时候,直接反馈非主动的BSR帧给AP,即unsolicited buffer status report。终端可以在任意一个帧中利用以下字段发送这种非主动的BSR:
QoS控制字段(QoS Control field):802.11 ax终端可以在其发送的QoS数据帧或者QoS Null帧(也就是只有Header,payload部分为空)中,利用Queue Size字段(每一个QoS类型有一个单独该字段),来反馈缓存的状态信息。另外,终端还可以用聚合帧的形式,反馈多个QoS类别,其不同的缓存情况。不同的QoS类别利用TID进行区分(Traffic identifier,TID)。Queue Size字段用来指示具体的缓存信息。
BSR控制字段(BSR Control subfield):如果是在一个802.11ax的网络中,AP支持BSR控制字段的话,那么终端还可以在发送的任意帧中添加BSR控制字段内,进行BSR信息的反馈。如上图所示,802.11ax会标识不同的QoS接入类别(Access Category,AC)通过ACI High字段,并且反馈具体的Buffer信息通过Queue Size High字段(图上粉色标识为反馈单个接入类型的BSR情况)。终端会决定哪个QoS队列相对于其他队列具备更高的优先级。这一种相对QoS设置的方法并没有在协议中严格规定,从而为不同类型的终端分配优先级提供灵活性。
一个802.11ax终端还可以报告多个QoS类别的缓存情况。这要通过上图中的ACI Bitmap,Delta TID和Queue Size All字段来反馈(图中蓝色标识为反馈多个接入类型的BSR情况)。ACI Bitmap和Delta TID标识多个QoS的接入类型,QoS Size All字段标识其对应的缓存情况。另外还有一个字段为Scaling Factor(SF),这个字段代表缩放因子,用以表示缓存的单位大小。即QoS Size High或者QoS Size All需要配合SF字段才表示真实的缓存情况。SF一共有两位,分别表示了4种缩放情况,如上图所示。这种缩放的表示方法也是为了不同终端其反馈对应流量时候,具有比较高的灵活性。
另外一点需要注意的是,在802.11协议中,协议支持同时在QoS控制字段(QoS Control field)和BSR控制字段(BSR Control subfield)中,同时反馈BSR信息,当然这也协议中是一种可选的选项,而且同时包含BSR信息时,其两个字段所包含的信息需要一致才行。