无线自组网就找WiMi-net
 

433MHz自组网和ZigBee的MAC层差异之二: CSMA/CSCA技术的概率性特征

作者:微网智控 WiMi-net来源:原创网址:http://www.wiminet.cn

为什么很多用户普遍反应ZigBee网络大了就很难长期稳定运行呢,是软件有Bug还是存在理论上的根本性缺陷呢?


大家都知道,ZigBee技术的MAC层是802.15.4,该技术最核心的机制就是CSMA/CA,其中处理介质接入竞争的算法就是二进制随机退避机制(random binary backoff),在第 i 次退避时,在 2i+2个时隙中随机选择一个,举例如下:

(1)   第1次退避在8个时隙中随机选择一个(而不是象以太网那样第1次冲突后在2个时隙中选)

(2)   第2次退避在16个时隙中随机选择一个(而不是象以太网那样第2次冲突后在4个时隙中选)


20170424-1.jpg


 仔细严格的分析不难看出,CSMA/CA机制虽然可以十分有效的调度无线资源的共享,然也也存在下面的严重缺陷:


 (1) 不同节点竞争资源依靠随机二进制退避(random binary backoff),不良后果是有可能带来过长的延时等待(delay),将网络带宽大大的浪费了。


 (2) 二进制退避(random binary backoff)的选择是完全离散(discrete的),所以不同节点可能会有相同的二进制退避(random binary backoff)数值,引发碰撞(collision)发生。 

20170425-11.png


综上所述,CSMA/CA的随机性带来很多不可预知的影响。因此该机制本质上是一个概率网络,不是一个确定性的网络。在Wi-Fi网络中,由于网络规模通常不是很大,同时Wi-Fi本身的带宽本身很高,因此这种不确定性可以在很大程度上通过重传机制进行补偿而高层应用并不会有受到明显的影响。


但是ZigBee网络就没有这么幸运了,原因如下:


(1) ZigBee的网络规模远远比Wi-Fi要大,计算机仿真表明,Wi-Fi网络超过8个节点的时候,RTS/CTS的碰撞概率就会急剧上升;基于同样的CSMA/CA机制,ZigBee网络的节点数量通常要大得多,该技术号称可以支持6万个节点,在工业应用中,100个节点都算是小型网络,其碰撞概率将比Wi-Fi高出至少10倍。


(2)ZigBee网络的速率比Wi-Fi要低很多,在报文长度确定的情况下,速率越低,报文在空中的飞行时间越长,碰撞的概率越大。


(3) ZigBee网络的数据报文/控制报文长度比值远小于Wi-Fi,其碰撞躲避效果比Wi-Fi要差很多。以Wi-Fi为例,其RTS报文长度为20字节,CTS报文长度为14字节,但是最大数据报文的长度可达2346字节,其比值高达167,而ZigBee只有该数值的不到十分之一。


20170425-22.png

基于上述的分析可以看出,在组建大型的网络或者高密度通讯的网络方面,CSMA/CA机制本身的防冲突机制的性能将会急剧下降,至于说下降到什么程度,则要视应用场景而定。也就是说并不能确定的说这种情况下100%的OK,或者100%的不行,总之它不能给你一个可靠的承诺说在信号覆盖良好的情况下,数据传输绝对可靠,因此本质上该机制是一个概率性网络,不是一个确定性网络。


我们也可以说ZigBee网络性能的这种不确定性并不是来自于软件设计上的bug,而是在原理层面就有这个缺陷,最要命的是,随着网络规模的扩大和通讯的频率增加,这种不确定性像“癌症”一样急剧扩散并且完全无药可救,要么你亲手毙了它,要么你就闭上眼睛默默的承认这个事实。