作者:徐方鑫
链接:https://zhuanlan.zhihu.com/p/108559681
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
序言
BSS Coloring技术是802.11ax中引入,目的进一步优化空间复用(Spatial Reuse Parameter)。我们在之前的专栏中写过关于BSS Coloring技术(Wi-Fi 6(802.11ax)解析7:BSS Coloring技术)。但是关于如何基于BSS Coloring进行Spatial Reuse Parameter,我们还没有说明清楚,同时为了解释清楚,我们还要额外理解Adaptive-CCA机制。本文就关于这两个问题做一个阐述。
本文参考自:
- Future Indoor Networks: The role of Wi-Fi and its evolution - nokia bell lab。
- IEEE 802.11ax: Highly Efficient WLANs for Intelligent Information Infrastructure
- IEEE 802.11ax draft 4.3
SRP空间复用(Spatial Reuse Parameter)
我们先介绍SRP空间复用技术。在802.11ax中,基于BSS Coloring,我们可以区分出Inter-BSS和Intra-BSS。如果现在一个Inter-BSS的节点检测到信道是忙的,但是其知道这个信道不是自己BSS正在进行传输,那么其可以认为信道是idle状态,进而继续backoff。如果backoff到0,那么其可以进行传输。
如上图所示,假设一个BSS的AP发送了一个SR-enable trigger frame(协议中称为SRP PPDU),代表当前的AP是允许一个SRP传输的。目前我理解的SRP仅仅支持AP上行接收的情况。AP发送完SRP TF帧后,其执行自己BSS内的一次传输,比如说一次上行传输。此时,如果一个支持SRP技术的Inter-BSS STA,也就是其他BSS Color下的节点,收到该SRP TF帧后。其会采用adaptive-CCA机制进行信道检测。如果其在adaptive-CCA的阈值下(即OBSS_PD阈值)检测信道是idle的,那么其可以继续执行backoff的操作。当backoff到0以后,其就可以执行一次数据的传输。
SR-enable的标志位应该是在PHY头部的HE-SIG-A1里面的Spatial Reuse field,这里面一共有4个field,可以设置disable SRP技术,也可以设置对应延迟或者具体的adaptive-CCA阈值等。
另外需要注意的是,这里允许传输的inter-BSS STA的数据帧大小也是有限制的。在一开始AP发送的TF帧中,实际上是包含了duration参数设置,代表其上行接收PPDU过程所需要的时间。inter-BSS需要在该Duration时间内完成SRP空间复用的传输,这里可能又会应用到动态帧分片技术了。
SRP技术实际上是一种利用捕获效应的空间复用技术,简单理解就是,如果当前AP的接收信号质量不错,不容易被干扰。那么此时就允许在该网络内,一个其他BSS的节点传输。由于本身我的信号强度够强,所以不会受到其他节点的干扰。该技术可以利用的核心机制就是adaptive-CCA机制,AP可以控制CCA的阈值,从而控制让部分节点(也就是不对自己产生干扰的节点)进行空间复用。
Adaptive-CCA(自适应CCA)
CCA技术是802.11协议用来检测信道是否有数据包在传输的物理载波监听技术,我们在之前的文章中写过关于CCA技术(802.11协议精读22:CCA (Clear Channel Assessment))。
802.11ax除了传统的ED_Threshold和CS_Threshold,进一步引入了OBSS_PD这个参数。
参考:NI的802.11ax白皮书
上面左图描述的是传统802.11的情况,其中CCA-Energy Detection对应到ED_Threshold(-62 dBm),CCA-Signal Detection对应到CS_Threshold(-82 dBm)。右边描述的是802.11ax中的情况,我们可以看到起CCA_SD实际上一个新的阈值(协议命名是OBSS_PD),其高于原来的CS_Threshold(-82 dBm),这个阈值是自适应调节的,所以被称为Adaptive-CCA。该阈值的目的就是用来区分,目前CCA检测到的数据帧是不是本BSS域内的。按照SRP的规则,如果STA检测到该数据帧不是本BSS的,而且STA的信号强度是小于该Adaptive-CCA的,那么可以认为信道是idle,可以继续backoff。
我们用下图解释。(注:由于参考了多份材料,其所用的概念命名有所区别。在下图中,CCA_SD对应的是-82dBm,也就是传统的CS_Threshold。而OBSS_SD对应的是Adaptive-CCA的阈值,也就是上图右的CCA-SD,协议的命名是OBSS_PD)
该图是描述一个inter-bss的STA如何做判断的。如上图,一开始STA会判断是否有数据帧在传输(也就是和CCA_SD比较)。如果大于,那么就意味着有数据在传输,那么说明信道忙,并且要开始接收数据,接收是从物理层头部PLCP开始的,这是一个独立的片段。
- 如果PLCP失败,那么等待EIFS时间(这里笔者不是很认同上图,如果PLCP解调失败,那么EIFS等待完的结果实际上是挂起到当前数据帧的传输结束,而不仅仅是等待EIFS时间,这点记录下)。
- 如果PLCP接收成功,那么判断该数据帧是不是同一个BSS的(在PLCP中会标识,该数据帧是哪一个BSS的,标识方法是BSS Coloring)。
- 如果是相同的BSS,那么意味着该数据帧节点需要接收,所以反馈信道忙,并进入接收状态。
- 如果是不同BSS,那么该节点需要与OBSS_SD的阈值比较,该阈值就是我们这里所说的Adaptive-CCA阈值(按协议应该是OBSS_PD阈值)。
- 如果信号强度大于OBSS_SD阈值,那么意味着inter-BSS的节点和当前接收上行传输的AP干扰比较大。如果该节点传输,会影响AP的上行接收,所以无法执行SRP传输。因此信道还是busy的状态,不能够backoff。
- 如果信号强度小于OBSS_SD阈值,那么意味着inter-BSS的节点不会干扰到AP的上行,其检测结果为idle,从而该节点可以执行backoff(这里竞争是为了多个inter-BSS的STA,同时检测到信道是idle的,从而发生冲突)。当节点backoff到0以后,那么可以进行传输。
在协议中,该OBSS_SD(本文命名有点杂,对应协议是OBSS_PD)是一个范围值,是AP根据网络情况自适应调节的,并且在Spatial Reuse field给出。
如上图所示,该范围是在-62dBm和-82dBm之间,也就是对应传统的ED_Threshold和CSThreshold之间。该图上的21 dBm描述的参考的发送功率,TXPWR_Ref。
综上我们阐述了802.11ax中的SRP技术,本节中的字母定义有点乱,还请见谅。