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

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

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