來源:微網高通
之前的文章中提到過,ZigBee無線自組網技術主要針對智能家居的應用而量身定制,但是也可以擴展到其他的行業(yè)和應用,這一點和ZigBee聯(lián)盟的官方說法也是基本一致的,但是很多人并不明白,到底哪些行業(yè)和應用使用ZigBee無線自組網技術效果比較理想,哪些則效果不太理想呢?這個要從ZigBee無線自組網技術本身的運作機制來說起,如果應用場景本身破壞了ZigBee無線自組網技術穩(wěn)定運行的前置條件,那么要想取得取得成功可不能靠概率了,因為概率這個概率本身就是零!
對于有一個很小的規(guī)模,比方說100個節(jié)點的ZigBee網絡而言,我們給定一個非常理想的作業(yè)條件:傳輸環(huán)境周邊沒有其他無線電干擾,通訊距離也不遠,也沒有什么顯著的障礙物體,應該說這可以算得上是一個優(yōu)質的項目了 ,這個要是都做不不好,那就不用混了。在現(xiàn)實應用中,有一些應用取得了一定的成功,但是也有一些是真的搞砸了,那么然后呢?沒有然后了!家丑不可外揚,長點經驗教訓而已,接著再找下一個目標接著糟蹋。
對于一個250Kbps的報文而言,發(fā)射一個數(shù)據包的時間通常不會超過3ms,假定在某一個節(jié)點覆蓋半徑之內剛好有10個節(jié)點,這些節(jié)點每隔30秒鐘發(fā)送一次數(shù)據,那么這個系統(tǒng)的碰撞的概率有多大呢?對于30秒鐘的時間平均到10個節(jié)點,每一個節(jié)點的發(fā)送間隔就是3秒鐘,相對于3ms的報文發(fā)送時間而言,其占空比就是10-3,也就是千分之一,大量的實際案例表明,ZigBee無線自組網技術要想比較穩(wěn)定的工作,這個發(fā)送密度將會是一個臨界點,前面的文章中通過定量的數(shù)學計算表明,一個經過5跳的網絡的可靠性將會降低到59%。而200個節(jié)點的網絡,平均每一個節(jié)點的覆蓋半徑之內有10個節(jié)點,按照最簡單的鏈狀網絡來分析,大約需要10跳,考慮到現(xiàn)場環(huán)境的不規(guī)則性,將跳數(shù)打個對折,也就是5跳,這個概率就比較大了。
ZigBee無線自組網技術不是說Mesh可以冗余么,這條路徑不通,就切換到另外一條路徑么?事實上這就好比兩個人下象棋,光計算自己的步驟是遠遠不夠的,還要想好了你的對手是怎么會怎么下棋,他的某一步棋子會直接將你后面的走法活活堵死!
以下圖為例子,節(jié)點STA-1的覆蓋半徑為藍色,節(jié)點STA-2的覆蓋半徑為綠色,路由器AP在都在這兩個節(jié)點的覆蓋半徑之內,但是STA-1和STA-2都彼此超出對方的覆蓋半徑,對于對方而言都是不可見的,如果路由器AP聲明此時空閑,可以接收數(shù)據,如果STA-1和STA-2都同時發(fā)送數(shù)據,彼此的確都是安全的,但是報文到了路由器AP哪里卻撞車了,誰的報文都收不到,兩個節(jié)點的發(fā)送都失敗了。在多次嘗試發(fā)送失敗之后,他們都認為“這里不安全,需要馬上離開”,于是決定切換到其他的路由器上。這個時候“多粒子系統(tǒng)”的致命打擊就來了,其他的節(jié)點也會有相同的感覺認為“這里不安全,需要馬上離開”,基于相同的策略,他們在另外條備份鏈路上還會出現(xiàn)相同的碰撞,于是又會切換到原來的路由器節(jié)點上來,就這樣來回震蕩。和下象棋最大的不同,你的對手不是一個人,而是另外9個人,好比打撲克牌,你沒有辦法看到其他幾個人手上的牌。實際上打撲克牌還算較好一些,怎么說也就是4個人而已,真要是10個人,即便是世界上最高明的賭王,也很難算出來每一個人會怎么想出牌,除非你跟《澳門風云》里面演的一樣,可以看到別人的牌!
如果上面的這一段話還不夠直白的話,那么前些年社會上的某些奇怪現(xiàn)象或許可以從一個側面進行解釋。前期由于輿論的引導,農民們一窩蜂的種植玉米,希望能夠賣出好的價格,但是到了收割的時候,由于種植的面積實在是太過于巨大,玉米的價格一路暴跌;此時相關媒體又放出口風,說今年之所以價格不理想,是因為種植玉米的人太多了,但是大數(shù)據表明,大豆的種植很少,非常搶手,于是農民們在來年全部改種大豆,結果到了秋天,竟然發(fā)現(xiàn)種植大豆的比去年的玉米還要飽和得多,價格跌的一塌糊涂,爛在地里都沒有人收割;于是農民們又開始聽信輿論引導,改重新的品種……

讓我們重新回到技術原理的討論上來。
在基于CSMA/CA方式的MAC層接入機制上,所有的節(jié)點都是采用指數(shù)回退的方式來躲避競爭的,如果發(fā)現(xiàn)在其覆蓋半徑之內有一個節(jié)點正在發(fā)送數(shù)據,那么他會認為該報文可能有后續(xù)的發(fā)送和接收端送出來的應答行為,因此需要回退一段時間再重新啟動發(fā)送,如果在第二次啟動發(fā)送的過程中,仍然發(fā)現(xiàn)信道不空閑,此時則再進一步,然后將回退時間以指數(shù)方式增加,依次類推,對方發(fā)送的報文越大,則會退的周期越長,白白浪費的等待時間也就越長,網絡帶寬浪費也就越嚴重。
在上述的競爭回退機制作用下,有一種情況其實對于發(fā)送業(yè)務是安全的,但是也會處于白白的等待狀態(tài)。如下圖所示,STA-1和STA-2的覆蓋半徑有明顯重疊,但是其目標的接收路由器的覆蓋半徑卻并沒有重疊,此時STA-1和STA-2同時啟動發(fā)送,對于處于接收狀態(tài)的AP1和AP2來說,其實是完全可以分別收到STA-1和STA-2發(fā)送來的報文的,但是由于STA-1和STA-2的碰撞回退機制,至少有其中某一個節(jié)點會處于指數(shù)回退等待的狀態(tài),這樣白白的犧牲了網絡的帶寬,加大了網絡通訊的延時。

同時基于上述的分析可以看出,基于競爭和指數(shù)回退機制的MAC層接入模型要想有一個穩(wěn)定工作的性能,實際上暗含了一個前置條件:
(1) 單個節(jié)點的覆蓋半徑不能太大
(2) 覆蓋半徑內的節(jié)點數(shù)量不能太多
(3) 單個節(jié)點的報文發(fā)送不能太頻繁
(4) 單個節(jié)點發(fā)送的報文不能太長
上述這些限制條件從另一個側面可以反映出,真的要想組建一個一定規(guī)模的網絡,比如1000個節(jié)點的數(shù)據采集網絡,哪的多大的覆蓋半徑???這在歐美那些地廣人稀的發(fā)達國家或許很容易,但是在城鎮(zhèn)化逐步加速的中國,地處偏遠的農村正在加速消亡,根本沒有實施ZigBee無線自組網技術的需求,而要在鋼筋水泥堆積起來的大中城市要找到這樣的合適的“實驗田”還是有一定難度的,這可能也從另外一個側面說明了為什么ZigBee無線自組網技術在國外發(fā)展比國內要順利得多了吧。
微網高通WiMi-net無線自組網技術在競爭可靠性環(huán)節(jié)做了深入全面的支持,我們會在后續(xù)的連載文章中為大家奉獻精彩紛呈的點評和分析。