802.11 CSMA/CA

转自这里

CSMA/CA机制

由于无线信道只有一个冲突域的特性,所以需要设置一种随机接入机制,以避免多个节点同时访问网络所带来的冲突问题,在WiFi协议中,该随机接入机制即是CSMA/CA。CSMA/CA的全称是Carrier Sense Multiple Access with Collision Avoidance,即载波侦听多路访问/冲突避免。

载波侦听Carrier Sense

我们讨论物理载波监听和虚拟载波监听机制,两者是在CSMA/CA过程中同时使用的,在《CWNA第一版》一书中,对此有较好的描述:
在这里插入图片描述
从该图中,我们可以明显看出,物理载波监听和虚拟载波监听是同时执行判断的,其中只要有一个是出于Busy状态,那么就不会触发随机回退计数值减1的过程,换言之,即是挂起了随机回退计数值。从该图中,我们可以明显得知,虚拟载波监听就是对应的NAV机制,而物理载波监听则是对应到了CCA(Clear Channel Assessment)机制。下面我们着重关注物理载波监听的CCA机制:

在CSMA/CA中,CCA由能量检测和载波检测一起完成:

能量检测(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。与能量检测类似,相关计算值需要与一个阈值进行判断,若大于,则认为检测到了一个信号,若小于则没有检测到。

协议中规定,两种检测方式同时采用,且只要两者检测方式中,有一种判断信道是busy的话,那么就认为信道是busy的,只有两者都认为信道空闲时,那么再判断虚拟载波监听机制是否为0,以上条件都满足时,那么才可以进行backoff倒数。