ZigBee无线自组网技术的应用局限性之三:竞争可靠性概率分析 二维码
来源:原创网址:http://www.wiminet.cn 之前的文章中提到过,ZigBee技术主要针对智能家居的应用而量身定制,但是也可以扩展到其他的行业和应用,这一点和ZigBee联盟的官方说法也是基本一致的,但是很多人并不明白,到底哪些行业和应用使用ZigBee技术效果比较理想,哪些则效果不太理想呢?这个要从ZigBee技术本身的运作机制来说起,如果应用场景本身破坏了ZigBee技术稳定运行的前置条件,那么要想取得取得成功可不能靠概率了,因为概率这个概率本身就是零! 对于有一个很小的规模,比方说100个节点的ZigBee网络而言,我们给定一个非常理想的作业条件:传输环境周边没有其他无线电干扰,通讯距离也不远,也没有什么显著的障碍物体,应该说这可以算得上是一个优质的项目了,这个要是都做不不好,那就不用混了。在现实应用中,有一些应用取得了一定的成功,但是也有一些是真的搞砸了,那么然后呢?没有然后了!家丑不可外扬,长点经验教训而已,接着再找下一个目标接着糟蹋。 对于一个250Kbps的报文而言,发射一个数据包的时间通常不会超过3ms,假定在某一个节点覆盖半径之内刚好有10个节点,这些节点每隔30秒钟发送一次数据,那么这个系统的碰撞的概率有多大呢?对于30秒钟的时间平均到10个节点,每一个节点的发送间隔就是3秒钟,相对于3ms的报文发送时间而言,其占空比就是10-3,也就是千分之一,大量的实际案例表明,ZigBee技术要想比较稳定的工作,这个发送密度将会是一个临界点,前面的文章中通过定量的数学计算表明,一个经过5跳的网络的可靠性将会降低到59%。而200个节点的网络,平均每一个节点的覆盖半径之内有10个节点,按照最简单的链状网络来分析,大约需要10跳,考虑到现场环境的不规则性,将跳数打个对折,也就是5跳,这个概率就比较大了。 ZigBee技术不是说Mesh可以冗余么,这条路径不通,就切换到另外一条路径么?事实上这就好比两个人下象棋,光计算自己的步骤是远远不够的,还要想好了你的对手是怎么会怎么下棋,他的某一步棋子会直接将你后面的走法活活堵死! 以下图为例子,节点STA-1的覆盖半径为蓝色,节点STA-2的覆盖半径为绿色,路由器AP在都在这两个节点的覆盖半径之内,但是STA-1和STA-2都彼此超出对方的覆盖半径,对于对方而言都是不可见的,如果路由器AP声明此时空闲,可以接收数据,如果STA-1和STA-2都同时发送数据,彼此的确都是安全的,但是报文到了路由器AP哪里却撞车了,谁的报文都收不到,两个节点的发送都失败了。在多次尝试发送失败之后,他们都认为“这里不安全,需要马上离开”,于是决定切换到其他的路由器上。这个时候“多粒子系统”的致命打击就来了,其他的节点也会有相同的感觉认为“这里不安全,需要马上离开”,基于相同的策略,他们在另外条备份链路上还会出现相同的碰撞,于是又会切换到原来的路由器节点上来,就这样来回震荡。和下象棋**的不同,你的对手不是一个人,而是另外9个人,好比打扑克牌,你没有办法看到其他几个人手上的牌。实际上打扑克牌还算较好一些,怎么说也就是4个人而已,真要是10个人,即便是世界上最高明的赌王,也很难算出来每一个人会怎么想出牌,除非你跟《澳门风云》里面演的一样,可以看到别人的牌! 如果上面的这一段话还不够直白的话,那么前些年社会上的某些奇怪现象或许可以从一个侧面进行解释。前期由于政府舆论的引导,农民们一窝蜂的种植玉米,希望能够卖出好的价格,但是到了收割的时候,由于种植的面积实在是太过于巨大,玉米的价格一路暴跌;此时政府又放出口风,说今年之所以价格不理想,是因为种植玉米的人太多了,但是大数据表明,大豆的种植很少,非常抢手,于是农民们在来年全部改种大豆,结果到了秋天,竟然发现种植大豆的比去年的玉米还要饱和得多,价格跌的一塌糊涂,烂在地里都没有人收割;于是大家又开始听信政府的舆论引导,改重新的品种……
让我们重新回到技术原理的讨论上来。 在基于CSMA/CA方式的MAC层接入机制上,所有的节点都是采用指数回退的方式来躲避竞争的,如果发现在其覆盖半径之内有一个节点正在发送数据,那么他会认为该报文可能有后续的发送和接收端送出来的应答行为,因此需要回退一段时间再重新启动发送,如果在第二次启动发送的过程中,仍然发现信道不空闲,此时则再进一步,然后将回退时间以指数方式增加,依次类推,对方发送的报文越大,则会退的周期越长,白白浪费的等待时间也就越长,网络带宽浪费也就越严重。 在上述的竞争回退机制作用下,有一种情况其实对于发送业务是安全的,但是也会处于白白的等待状态。如下图所示,STA-1和STA-2的覆盖半径有明显重叠,但是其目标的接收路由器的覆盖半径却并没有重叠,此时STA-1和STA-2同时启动发送,对于处于接收状态的AP1和AP2来说,其实是完全可以分别收到STA-1和STA-2发送来的报文的,但是由于STA-1和STA-2的碰撞回退机制,至少有其中某一个节点会处于指数回退等待的状态,这样白白的牺牲了网络的带宽,加大了网络通讯的延时。 同时基于上述的分析可以看出,基于竞争和指数回退机制的MAC层接入模型要想有一个稳定工作的性能,实际上暗含了一个前置条件: (1) 单个节点的覆盖半径不能太大 (2) 覆盖半径内的节点数量不能太多 (3) 单个节点的报文发送不能太频繁 (4) 单个节点发送的报文不能太长
上述这些限制条件从另一个侧面可以反映出,真的要想组建一个一定规模的网络,比如1000个节点的数据采集网络,哪的多大的覆盖半径啊?这在欧美那些地广人稀的发达国家或许很容易,但是在城镇化逐步加速的中国,地处偏远的农村正在加速消亡,根本没有实施ZigBee技术的需求,而要在钢筋水泥堆积起来的大中城市要找到这样的合适的“实验田”还是有一定难度的,这可能也从另外一个侧面说明了为什么ZigBee自组网技术在国外发展比国内要顺利得多了吧。 微网智控WiMi-net的无线自组网技术在竞争可靠性环节做了深入全面的支持,我们会在后续的连载文章中为大家奉献精彩纷呈的点评和分析。 |