李鐵良,于紀(jì)言,孫宇嘉,朱立坤
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇南京210000)
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是隨著微機(jī)電系統(tǒng),微處理器,微型傳感器等技術(shù)高速發(fā)展而產(chǎn)生的一種低功耗新型無線技術(shù),是集數(shù)據(jù)采集、傳輸、處理為一體的多功能無線網(wǎng)絡(luò)。其中基于IEEE802.15.4協(xié)議的ZigBee技術(shù)具有很高的實(shí)用性優(yōu)點(diǎn),使得它在國防軍事、自然災(zāi)害和健康生活上都有很廣泛的應(yīng)用[1-6]。
傳統(tǒng)ZigBee節(jié)點(diǎn)采用非時(shí)隙CSMA/CA隨機(jī)接入機(jī)制的MAC層協(xié)議,其缺點(diǎn)在于入網(wǎng)連接耗時(shí)過長,很難滿足應(yīng)急環(huán)境下孤立節(jié)點(diǎn)快速入網(wǎng)以保證實(shí)時(shí)通信要求。大部分學(xué)者致力于從協(xié)議層上提出改進(jìn)方法,降低整個(gè)網(wǎng)絡(luò)組網(wǎng)時(shí)延。如陳珊珊[7]等提出的集中式信道分配算法,Hao[8-9]等人提出的分布式信道分配算法,Saifullah[10]提出了基于節(jié)點(diǎn)的和基于鏈路的分布式信道分配算法Dis-Link,李[11]等人提出了包括頻譜感知調(diào)度與信道接入競爭兩部分的低延遲MAC層頻譜接入方案。同時(shí)一部分學(xué)者從應(yīng)用層協(xié)議出發(fā),如賈[12]等人提出一種基于代理節(jié)點(diǎn)的ZigBee地址分配算法,植[13]等人提出通過選擇和交換合適的父節(jié)點(diǎn)來改善孤立節(jié)點(diǎn)入網(wǎng)算法,從而相對降低孤立節(jié)點(diǎn)入網(wǎng)時(shí)間。不同于上述兩種思路,部分學(xué)者從組網(wǎng)機(jī)制的角度出發(fā)改善組網(wǎng)延時(shí)。如孟[14]等人分析組網(wǎng)連接過程,在網(wǎng)絡(luò)部署前對每個(gè)節(jié)點(diǎn)進(jìn)行配置,通過縮減為單信道,并采用預(yù)分配地址縮短關(guān)聯(lián)接入時(shí)間,但同時(shí)也造成信道干擾問題。文獻(xiàn)[15]通過減少冗余原語提高應(yīng)答時(shí)間,進(jìn)而縮短采用信標(biāo)網(wǎng)絡(luò)的關(guān)聯(lián)延遲。文獻(xiàn)[16]為了讓移動(dòng)節(jié)點(diǎn)快速入網(wǎng),直接刪除了802.15.4MAC層的關(guān)聯(lián)過程,只能對于相應(yīng)環(huán)境下有一定作用。然而針對應(yīng)急環(huán)境下,如戰(zhàn)場、火災(zāi)等情況,由于大量路由節(jié)點(diǎn)被損毀、能量不足和地址分配不均等其他問題,產(chǎn)生大量孤立節(jié)點(diǎn),其入網(wǎng)耗時(shí)過長,造成局部信息不能及時(shí)傳遞方面的問題研究涉及較少。因此本文綜合分析了非時(shí)隙CSMA/CA隨機(jī)接入機(jī)制,針對孤立節(jié)點(diǎn)入網(wǎng)耗時(shí)問題,從應(yīng)用層方面提出一種新的孤立節(jié)點(diǎn)快速入網(wǎng)策略,簡化入網(wǎng)機(jī)制,減少關(guān)聯(lián)地址分配沖突,縮短組網(wǎng)時(shí)間,以滿足應(yīng)急環(huán)境的通信要求。
基于ZigBee技術(shù)分布式地址分配機(jī)制[17]缺陷,孤立節(jié)點(diǎn)不可避免,主要原因有兩個(gè):1)節(jié)點(diǎn)自身原因:由于節(jié)點(diǎn)能量不足、自毀需要以及通信干擾等情況導(dǎo)致一些設(shè)備成為孤立節(jié)點(diǎn);2)地址分配空間不足:父節(jié)點(diǎn)達(dá)到最大網(wǎng)絡(luò)深度Lm、父節(jié)點(diǎn)的子設(shè)備總數(shù)達(dá)到最大值Cm或者子路由總數(shù)達(dá)到最大值Rm。
組建ZigBee網(wǎng)絡(luò)后產(chǎn)生的孤立節(jié)點(diǎn),當(dāng)父節(jié)點(diǎn)損毀時(shí),重新入網(wǎng)的主要方式是通過MAC層關(guān)聯(lián)接入。首先節(jié)點(diǎn)進(jìn)行孤立狀態(tài)判斷,用于判斷自身是否是孤立節(jié)點(diǎn),當(dāng)子設(shè)備連續(xù)未收到信標(biāo)幀的次數(shù)達(dá)到aMaxLostBeacons(IEEE802.15.4標(biāo)準(zhǔn)定義為常量值4)或者多次與父設(shè)備通信失敗,則判斷自身為孤立節(jié)點(diǎn)。其次進(jìn)行信道掃描,選擇一個(gè)干擾較少的信道。然后進(jìn)行關(guān)聯(lián)接入,發(fā)送入網(wǎng)請求,父節(jié)點(diǎn)對其進(jìn)行認(rèn)證和編址并應(yīng)答入網(wǎng)申請形成父子關(guān)系。其中孤立狀態(tài)判斷、主動(dòng)信道掃描、關(guān)聯(lián)接入機(jī)制為IEEE802.15.4網(wǎng)絡(luò)提供了基本的自修復(fù)和自組織能力。
經(jīng)過分析孤立點(diǎn)入網(wǎng)流程可知,孤立點(diǎn)入網(wǎng)過程主要包括孤立狀態(tài)判斷、主動(dòng)信道掃描、關(guān)聯(lián)接入3個(gè)階段,如圖1所示。
圖1 孤立節(jié)點(diǎn)入網(wǎng)原語圖
在信標(biāo)網(wǎng)絡(luò)中,父節(jié)點(diǎn)每隔一段時(shí)間廣播一次,子節(jié)點(diǎn)收到信標(biāo)幀表示父子關(guān)系存在。在非信標(biāo)網(wǎng)絡(luò)中,子節(jié)點(diǎn)通過每隔一段時(shí)間與父節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信保持聯(lián)絡(luò)維持父子關(guān)系。傳感器節(jié)點(diǎn)較多時(shí),為了節(jié)省能量,一般采用非信標(biāo)模式。網(wǎng)絡(luò)形成后,子節(jié)點(diǎn)每間隔Tspan向父節(jié)點(diǎn)發(fā)送數(shù)據(jù),假設(shè)兩次收不到父設(shè)備的ACK應(yīng)答就判斷自身為孤立節(jié)點(diǎn)。為了有效傳遞數(shù)據(jù)通常間隔Tspan取值最小為1 s,由以上分析可知孤立狀態(tài)判斷所需時(shí)間:
節(jié)點(diǎn)重新申請入網(wǎng)時(shí),通過主動(dòng)信道掃描,發(fā)現(xiàn)通信范圍內(nèi)的協(xié)調(diào)器,對于每一個(gè)邏輯信道,子節(jié)點(diǎn)先進(jìn)行主動(dòng)信道掃描,然后等待描述個(gè)域網(wǎng)的信標(biāo)幀,等待最長時(shí)間為Twait在這段時(shí)間如果收到信標(biāo)幀直接進(jìn)入關(guān)聯(lián)過程,如果沒有收到信標(biāo)幀則掃描下一信道。IEEE802.15.4協(xié)議規(guī)定單信道掃描時(shí)間[18]:
式中:aBaseSuperframeDuration為MAC常量,換算成時(shí)間為15.36ms;ScanDuration取值范圍為[0,14],默認(rèn)值為3。計(jì)算可得單信道掃描時(shí)間約為:Twait=138.24ms
IEEE802.15.4協(xié)議定義2.4G和900 MHz兩個(gè)工作頻段。在2.4G頻段有16個(gè)信道,當(dāng)所有信道掃描一遍則耗時(shí)T2.4G=Twait×16=2.2 s;900 MHz頻段有10個(gè)信道,同樣掃描一遍則耗時(shí):T900 MHz=Twait×10=1.38 s。
孤立節(jié)點(diǎn)經(jīng)過主動(dòng)信道掃描得到網(wǎng)絡(luò)信息,向父節(jié)點(diǎn)發(fā)出連接請求。父節(jié)點(diǎn)接收到請求后回復(fù)ACK應(yīng)答幀,同時(shí)自身在最長aResponseWaitTime時(shí)間內(nèi)決定是否同意連接,并使用間接發(fā)送方法發(fā)送到請求連接的子設(shè)備。由于采用的是非信標(biāo)模式,孤立節(jié)點(diǎn)仍需等待aResponseWaitTime時(shí)間后發(fā)送數(shù)據(jù)請求,然后向父節(jié)點(diǎn)提取連接響應(yīng)命令,成功則建立父子關(guān)系,失敗則重新入網(wǎng)。經(jīng)過分析,關(guān)聯(lián)接入時(shí)間主要浪費(fèi)在等待響應(yīng)命令的時(shí)間間隔aRsponseWaitTime上(標(biāo)準(zhǔn)規(guī)定的aRsponseWaitTime是 32個(gè) aBaseSuperframeDuration)。因此 aRsponse?WaitTime=32×15.36 ms=491.52 ms。
通過分析孤立節(jié)點(diǎn)入網(wǎng)耗時(shí)情況,本文針對性的提出一種改進(jìn)策略,改進(jìn)后孤立節(jié)點(diǎn)入網(wǎng)流程如圖2所示。
圖2 改進(jìn)后孤立節(jié)點(diǎn)入網(wǎng)原語圖
由上文可知,等待孤立點(diǎn)自身判斷是否丟失父節(jié)點(diǎn)耗時(shí)略大于2 s,耗時(shí)過長??梢酝ㄟ^父節(jié)點(diǎn)提前退網(wǎng)策略強(qiáng)制清除子節(jié)點(diǎn)相關(guān)注冊信息。如惡劣環(huán)境下,由于父節(jié)點(diǎn)自身能量不足或者戰(zhàn)場強(qiáng)制報(bào)廢等情況,可以通過設(shè)定閥值在父節(jié)點(diǎn)報(bào)廢前強(qiáng)制將子節(jié)點(diǎn)退網(wǎng)。子節(jié)點(diǎn)收到退網(wǎng)信標(biāo)幀后,直接判斷自己為孤立節(jié)點(diǎn)并開始主動(dòng)信道掃描,重新加入網(wǎng)絡(luò)。
文獻(xiàn)[14,18]已經(jīng)提出了縮短信道掃描過程。首先,由于全部信道掃描耗時(shí)過長,在快速組網(wǎng)應(yīng)用條件下,可以直接指定掃描某一信道,節(jié)省大量信道掃描時(shí)間。另外根據(jù)IEEE802.15.4協(xié)議基礎(chǔ),默認(rèn)ScanDuration取值為3,部分學(xué)者提出將其減少為2,單信道掃描周期將從138.24 ms降低到76.8 ms,可節(jié)省61.44 ms。但同時(shí)這兩方面也導(dǎo)致信道干擾以及單信道掃描時(shí)間過短等缺點(diǎn),影響組網(wǎng)性能,文中不予以考慮。
通過分析,關(guān)聯(lián)接入過程,理論上節(jié)點(diǎn)成功連接一次需等待491.52 ms,實(shí)際由于地址分配空間不足和原語碰撞造成地址分配失敗,子節(jié)點(diǎn)需要重新入網(wǎng),耗時(shí)明顯。其中,由于采用的CSMA/CA協(xié)議,原語碰撞沖突較低以及同時(shí)入網(wǎng)的孤立點(diǎn)數(shù)目相對有限。造成孤立點(diǎn)關(guān)聯(lián)沖突主要原因是父節(jié)點(diǎn)地址分配空間不足。部分學(xué)者提出簡化關(guān)聯(lián)過程,直接給予節(jié)點(diǎn)固定地址。顯然,這種方法不適用于失去父節(jié)點(diǎn)的孤立節(jié)點(diǎn)重新入網(wǎng)。所以根據(jù)上文分析,為了降低關(guān)聯(lián)沖突,通過分析分布式地址分配機(jī)制,讓父節(jié)點(diǎn)在線讀取自身地址分配空間以及子節(jié)點(diǎn)RSSI強(qiáng)度,并根據(jù)這兩類信息,設(shè)定閥值,強(qiáng)制子節(jié)點(diǎn)退網(wǎng),留出一定地址空間,降低地址分配沖突。流程圖如圖3所示。
如圖3所示,父節(jié)點(diǎn)首先讀取自身子節(jié)點(diǎn)總數(shù)C1,將其與Cm比較,判斷是否存在可分配地址。然后讀取自身網(wǎng)絡(luò)深度d1,將d1與Lm比較,判斷自身網(wǎng)絡(luò)深度:如果自身網(wǎng)絡(luò)深度處于最后一層,首先強(qiáng)退距離最近的子路由,其次強(qiáng)退距離最近的子終端。如果自身網(wǎng)絡(luò)深度沒有處于最后一層,直接強(qiáng)退距離最近的子終端。為了節(jié)省能量,可以設(shè)置循環(huán)若干次即中斷循環(huán)。
圖3 依據(jù)地址空間強(qiáng)制退網(wǎng)流程圖
由于實(shí)際硬件數(shù)量以及場地的限制,本文進(jìn)行小范圍組網(wǎng)實(shí)驗(yàn),以評估基于強(qiáng)制子節(jié)點(diǎn)退網(wǎng)的快速組網(wǎng)策略。本文采用Texas Instruments(TI)公司的CC2530節(jié)點(diǎn)進(jìn)行現(xiàn)場組網(wǎng)實(shí)驗(yàn)。該節(jié)點(diǎn)主要有2.4GHz的RF收發(fā)器以及低功耗8051微控制器內(nèi)核組成,具有很高的接收靈敏度和抗干擾性能,以及可編程的輸出功率,最高達(dá)4.5 dBm。
圖4 硬件實(shí)驗(yàn)
實(shí)驗(yàn)部分:首先在3m×3m的室內(nèi)環(huán)境部署6個(gè)傳感器節(jié)點(diǎn)組建樹型網(wǎng)絡(luò),如圖4所示。然后,分別采用IEEE802.15.4協(xié)議的原組網(wǎng)策略和本文提出的快速入網(wǎng)策略,通過將路由節(jié)點(diǎn)斷電制造孤立節(jié)點(diǎn),測量單個(gè)孤立節(jié)點(diǎn)每次入網(wǎng)耗時(shí),進(jìn)行比較。
實(shí)驗(yàn)結(jié)果如圖5所示,原組網(wǎng)策略,單個(gè)孤立節(jié)點(diǎn)入網(wǎng)耗時(shí)基本在2.8 s左右。因?yàn)閷?shí)際節(jié)點(diǎn)數(shù)量有限,地址分配空間充足,幾乎不會發(fā)生地址分配失敗,通過分析,主要耗時(shí)是孤立狀態(tài)判斷耗時(shí)2.1 s左右,單信道掃描耗時(shí)0.2 s左右,關(guān)聯(lián)接入耗時(shí)0.5 s左右。采用改進(jìn)的快速組網(wǎng)策略進(jìn)行試驗(yàn),孤立節(jié)點(diǎn)入網(wǎng)時(shí)間縮短至0.6 s左右,可能會有小概率次數(shù)出現(xiàn)原語碰撞造成關(guān)聯(lián)接入過程失敗,需要重新入網(wǎng)。
圖5 孤立節(jié)點(diǎn)入網(wǎng)耗時(shí)
根據(jù)本文分析,仿真試驗(yàn)場景設(shè)定為300 m×300 m的區(qū)域并隨機(jī)布撒若干個(gè)節(jié)點(diǎn),協(xié)調(diào)器位于中間區(qū)域,Cm=7,Rm=3,Lm=5,孤立節(jié)點(diǎn)個(gè)數(shù)為10,其他仿真參數(shù)采用默認(rèn)值。鑒于文獻(xiàn)[15]對單一信道掃描的仿真實(shí)驗(yàn)分析,本文不再重復(fù)討論。
圖6 孤立節(jié)點(diǎn)入網(wǎng)耗時(shí)
如圖6所示,隨著節(jié)點(diǎn)總數(shù)增大,即網(wǎng)絡(luò)中地址分配空間縮小時(shí),孤立節(jié)點(diǎn)入網(wǎng)時(shí)間的變化。從圖中可以看出,當(dāng)節(jié)點(diǎn)個(gè)數(shù)小于100時(shí),地址空間充足,節(jié)點(diǎn)入網(wǎng)耗時(shí)和實(shí)驗(yàn)結(jié)果相當(dāng)。隨著節(jié)點(diǎn)個(gè)數(shù)達(dá)到125也即飽和度達(dá)到50%時(shí),節(jié)點(diǎn)入網(wǎng)平均耗時(shí)增加1.1 s左右,隨著節(jié)點(diǎn)個(gè)數(shù)持續(xù)增多,由于地址分配空間不足,造成地址分配失敗,導(dǎo)致入網(wǎng)耗時(shí)相對增加明顯。當(dāng)節(jié)點(diǎn)飽和度達(dá)到80%以上時(shí),改進(jìn)后組網(wǎng)策略入網(wǎng)耗時(shí)縮減明顯。
圖7 孤立節(jié)點(diǎn)地址分配成功率
如圖7所示,隨著節(jié)點(diǎn)總數(shù)增大,孤立點(diǎn)連接成功率的變化。很明顯,隨著節(jié)點(diǎn)總數(shù)增大,地址分配空間不足,孤立節(jié)點(diǎn)連接成功率逐漸下降。當(dāng)節(jié)點(diǎn)個(gè)數(shù)小于125時(shí)即飽和度維持在50%以下時(shí),兩種組網(wǎng)方式都達(dá)到了90%以上的連接成功率。隨著節(jié)點(diǎn)飽和度達(dá)到90%,改進(jìn)組網(wǎng)策略相比原組網(wǎng)策略,連接成功率提高10%左右。
圖8 路由節(jié)點(diǎn)網(wǎng)絡(luò)深度對比
如圖8所示,兩種不同組網(wǎng)策略在不同網(wǎng)絡(luò)深度下,路由節(jié)點(diǎn)個(gè)數(shù)占比圖。從圖中可以看出,改進(jìn)組網(wǎng)策略在網(wǎng)絡(luò)深度2、3、4時(shí)路由節(jié)點(diǎn)平均占比高于原組網(wǎng)方式3%左右。最后一層網(wǎng)絡(luò)深度,路由節(jié)點(diǎn)占比低于原組網(wǎng)方式10%左右,提高了網(wǎng)絡(luò)路由的健壯性。
文中為滿足應(yīng)急環(huán)境背景下孤立節(jié)點(diǎn)重新快速入網(wǎng)通信需求,提出一種新的孤立節(jié)點(diǎn)快速入網(wǎng)策略,用于簡化孤立節(jié)點(diǎn)握手機(jī)制,減少關(guān)聯(lián)過程地址分配沖突,優(yōu)化路由節(jié)點(diǎn)網(wǎng)絡(luò)深度。通過現(xiàn)場試驗(yàn)可知,當(dāng)節(jié)點(diǎn)較少時(shí),通常節(jié)省2.1s左右的入網(wǎng)時(shí)間。仿真試驗(yàn)表明,當(dāng)節(jié)點(diǎn)飽和度高于90%時(shí),孤立點(diǎn)連接成功率提高10%,進(jìn)而有效縮短孤立節(jié)點(diǎn)入網(wǎng)時(shí)間,并且可以有效優(yōu)化路由節(jié)點(diǎn)網(wǎng)絡(luò)深度,提高網(wǎng)絡(luò)的健壯性。