802.11 CCA和NAV机制
CSMA/CA节点接入
在CSMA/CA机制中,节点在接入信道前需要进行信道监听。这里涉及到两个阶段:等待阶段和退避阶段。
等待阶段:节点在竞争信道前需等待一段时间,在这段时间内信道必须一直保持空闲状态;(不同的机制(例如DCF和EDCA机制)会有不同的规则,但是相同的是:在等待时间内需要一直进行**“信道空闲检测”**)
退避阶段:在等待阶段的条件满足后,节点会根据规则在竞争窗口CW中随机选择一个退避值进行退避,即backoff;(退避阶段也需要每隔一个Slot时间进行一次“信道空闲检测”,若空闲,则退避值减1;否则,悬挂退避值)
以上提到的“信道空闲检测”就涉及物理载波侦听(CCA机制)和虚拟载波侦听(NAV机制),CCA机制又包括能量检测ED和载波侦听。
物理载波侦听
在CSMA/CA中,CCA(Clear Channel Assessment)由能量检测和载波检测一起完成:
能量检测(Energy Detection):是直接用物理层接收的能量来判断是否有信号进行接入,若信号强度大于ED_threshold,则认为信道是忙,若小于ED_threshold,则认为信道是闲。同时该ED_threshold的设置与发送功率有关,比如发送功率大于100mW,那么ED_threhold约为-80dBm,发送功率在50mW至100mW之间,那么ED_threshold应该为-76dBm。不过至于具体的数值,需要查看其具体所对应版本的802.11协议。
载波侦听(Carrier Sense):载波监听的方法指的是用来识别802.11数据帧的物理层头部(PLCP header)中的preamble部分。简单的说,802.11中的preamble部分采用特定的序列所构造,该序列对于发送方和接收方都是已知的,其用来做帧同步以及符号同步。在实际监听过程中,节点会不断采样信道信号,用其做自相关或者互相关运算,其中自相关在基于OFDM的802.11技术中常用,比如802.11a,而互相关在基于DSSS技术中常用,比如802.11b。与能量检测类似,相关计算值需要与一个阈值进行判断,若大于,则认为检测到了一个信号,若小于则没有检测到。
网络分配向量NAV
802.11 标准使用网络分配向量( Network Allocation Vector—— NAV )实现虚拟侦听。 MAC 帧中的 Dur/ID 字段中存放着的“持续时间” ,用于发射该帧的无线站点向监听该无线信道的所有站点通告自己预估的“本次发射”持续时间。
请注意,由于在 802.11 中使用了多片连发、单帧等待确认等技术,所以“本次发射”的持续时间指标准规定的、不应当被中断的、多片连发交互序列占用的总时间。
每个无线站点维护自身的 NAV变量,根据对无线介质的预计占用时间及时更新NAV,并将最新的NAV值放入待发送的Duration/ID字段,使当前的NAV值向全网通告自己根据CSMA/CA协议分配到的对无线媒介的占用时间。所有收到NAV的STAs则根据收到的帧中的Duration/ID字段来设置自己的NAV值。
关于RTS/CTS帧中的NAV机制回头再补充。
信道空闲的条件
协议中规定,CCA同时采用ED和CS两种检测方式,且只要两者检测方式中,有一种判断信道是busy的话,那么就认为信道是busy的,只有两者都认为信道空闲时,那么再判断虚拟载波监听机制是否为0,以上条件都满足时,那么才可以进行backoff倒数。
补充
在物理级中使用了信道空闲评估技术对物理信道进行侦听,用以确定无线介质的当前占用状态; MAC 层使用网络分配向量实现虚拟侦听。
帧中的 Duration/ID 字段中存放着的 “持续时间” ,用于发射该帧的无线站点向监听该无线信道的所有站点通告自己预估的 “本次发射”持续时间。两种载波侦听的技术配合使用,适应了无线介质的特点,保证了载波侦听的准确性。
原文链接:https://blog.csdn.net/qq_33307581/article/details/109063014