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

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

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