劉會珍
(滁州職業(yè)技術(shù)學(xué)院,安徽 滁州 239000)
目前我國已經(jīng)全面跨入信息化時代,ZigBee技術(shù)作為信息產(chǎn)業(yè)最關(guān)鍵的信息技術(shù)之一,具有非常廣泛的應(yīng)用前景。尤其是在多元化通信技術(shù)的發(fā)展背景下,提升ZigBee技術(shù)的通信性能、減少信道干擾等是強(qiáng)化與進(jìn)一步推廣ZigBee技術(shù)的關(guān)鍵[1]。對此,眾多研究人員對ZigBee技術(shù)進(jìn)行了優(yōu)化與改進(jìn),王能河、王飛等人(2018)提出一種基于GA-PSO算法的ZigBee自組網(wǎng)并通過仿真實驗結(jié)果顯示很大程度上減少了延時,性能的整體性得到大幅度提高;于紀(jì)言、李鐵良等人(2018)提出了一種新孤立節(jié)點技術(shù)并通過仿真測試得到該技術(shù)能對節(jié)點入網(wǎng)時間進(jìn)行縮短;何智勇(2018)針對存在死亡節(jié)點率高等問題,在結(jié)合ZigBee技術(shù)路由協(xié)議的基礎(chǔ)上提出了改進(jìn)型算法——G-AODVjr,最后通過仿真結(jié)果證明改進(jìn)后的算法能大幅度提高節(jié)點的生存率,使節(jié)點能量處于均衡狀態(tài)[2-4]。綜合前人的研究可以明顯得知加強(qiáng)ZigBee技術(shù)協(xié)議算法優(yōu)化是強(qiáng)化該技術(shù)應(yīng)用的重要內(nèi)容。對此本文提出一種基于ZigBee技術(shù)的路由協(xié)議改進(jìn)算法,來實現(xiàn)網(wǎng)絡(luò)協(xié)調(diào)器的底層優(yōu)化和通信性能提升,從而強(qiáng)化ZigBee技術(shù)的進(jìn)一步推廣與應(yīng)用。
ZigBee技術(shù)是一種新興的具有短距離、低功耗、低成本的無線通信技術(shù),是介于無線標(biāo)記技術(shù)和藍(lán)牙之間的一種技術(shù)方案。該技術(shù)是基于IEEE 802.15.4無線標(biāo)準(zhǔn)下研發(fā)的關(guān)于組網(wǎng)、信息安全與應(yīng)用等方面的通信技術(shù)[5]。飛利浦以及摩托羅拉等眾多國際知名企業(yè)在2001年8月共同成立了ZigBee聯(lián)盟,其著力開發(fā)低成本、低功耗等功能的無線通信技術(shù),這正是ZigBee技術(shù)的由來。于2004年聯(lián)盟發(fā)布了第一款標(biāo)準(zhǔn)協(xié)議正式標(biāo)志著ZigBee技術(shù)的興起。ZigBee技術(shù)在功耗、成本、組網(wǎng)以及數(shù)據(jù)傳輸可靠性等多個方面具有很大的優(yōu)勢性,尤其是通信標(biāo)準(zhǔn)能與多個傳感器之間起到協(xié)調(diào)通信的作用,使其具有極強(qiáng)的應(yīng)用價值。目前ZigBee技術(shù)得到廣泛應(yīng)用,在醫(yī)療、工業(yè)檢測以及智能家居等多個領(lǐng)域都可見其身影,并且隨著ZigBee技術(shù)不斷成熟其應(yīng)用范圍與規(guī)模將不斷壯大。
ZigBee的網(wǎng)絡(luò)結(jié)構(gòu)體系是在傳統(tǒng)的ISO/OSI模型上僅選擇了四層進(jìn)行定義。應(yīng)用層(APL)、網(wǎng)絡(luò)層(NWK)、媒體訪問控制層(MAC)以及物理層(PHY)構(gòu)成完整的ZigBee協(xié)議結(jié)構(gòu),其中MAC與PHY層使用的是IEEE802.15.4 協(xié)議,NWK與APL層則有ZigBee聯(lián)盟制定[6]。ZigBee的網(wǎng)絡(luò)結(jié)構(gòu)體系由下層向上層提供數(shù)據(jù)與管理接口等服務(wù)。從網(wǎng)絡(luò)配置結(jié)構(gòu)上來說ZigBee技術(shù)網(wǎng)絡(luò)主要可以分為星狀、網(wǎng)狀以及簇樹狀這三種類型的拓?fù)浣Y(jié)構(gòu),如圖1所示。
圖1 拓?fù)浣Y(jié)構(gòu)
這種類型各有優(yōu)勢,根據(jù)不同的使用環(huán)境進(jìn)行適用。在拓?fù)浣Y(jié)構(gòu)中共分為終端節(jié)點、路由器節(jié)點和協(xié)調(diào)器節(jié)點三種節(jié)點,其中協(xié)調(diào)器節(jié)點屬于功能型節(jié)點,其主要起到啟動時建立網(wǎng)絡(luò)通信以及節(jié)點入網(wǎng)與退網(wǎng)等功能,路由器節(jié)點與終端節(jié)點則分別起到轉(zhuǎn)發(fā)消息、采集數(shù)據(jù)與路由器節(jié)點通信的功能。無論是哪種撲結(jié)構(gòu),在ZigBee中協(xié)調(diào)器節(jié)點都是唯一存在的。
ZigBee無線通信網(wǎng)絡(luò)的低功耗以及高可靠性等特點的實現(xiàn),有賴于簇樹(Cluster-Tree)與精簡按需距離矢量(AODVj)路由協(xié)議算法[7]。
簇樹路由協(xié)議算法(Cluster-Tree)是根據(jù)傳輸數(shù)據(jù)的目的節(jié)點的網(wǎng)絡(luò)地址從而計算出下一跳節(jié)點的地址。假設(shè)網(wǎng)絡(luò)地址為A的節(jié)點,其目的節(jié)點的網(wǎng)絡(luò)地址為D,并且D網(wǎng)絡(luò)地址滿足公式(1),那么D網(wǎng)絡(luò)節(jié)點則是A節(jié)點的一個子節(jié)點。
A (1) 其中skipd是深度為d 的父節(jié)點與子節(jié)點之間的分配網(wǎng)絡(luò)地址的偏移量,滿足公式(2)。 Cskip(d)={1+Cm*(Lm-d-1),Rm-1 (2) 當(dāng)節(jié)點的目的節(jié)點為接收節(jié)點的一個子節(jié)點,此時節(jié)點A就需要將傳輸?shù)臄?shù)據(jù)發(fā)給它的所有子節(jié)點。若節(jié)點的網(wǎng)絡(luò)地址滿足D>A+Rm×Cskip(d),這就說明所需要發(fā)送數(shù)據(jù)的目的節(jié)點是節(jié)點的一個終端子節(jié)點,假定下一跳節(jié)點的地址N=D,不然為公式(3)所呈現(xiàn)的網(wǎng)絡(luò)地址。如果當(dāng)節(jié)點的目的節(jié)點不是接收節(jié)點的一個子節(jié)點,那么則會分組發(fā)送至節(jié)點的父節(jié)點。 (3) AODVj算法是簡化了的AODV算法,其繼承了AODV算法絕大部分的優(yōu)良特性,AODVj路由協(xié)議中取消了先驅(qū)節(jié)點列表且未使用目的節(jié)點序列號。當(dāng)AODVj路由協(xié)議接受目的節(jié)點的傳輸數(shù)據(jù)后會回復(fù)RREP數(shù)據(jù)包,這極大地減少了的控制量,簡化了運算流程。另外,當(dāng)通信鏈路斷開時,AODVj路由協(xié)議會采用本地修復(fù),此時只允許目的節(jié)點回復(fù)RREP數(shù)據(jù)包。簇樹路由協(xié)議算法存在延時性較大且傳輸分布不均最后造成通信中斷,而AODVj算法雖具有延時性短的特點但是存在的較高的消耗性,對此ZigBee技術(shù)將這兩種算法結(jié)合起來,集合了這兩種算法的優(yōu)勢。 雖然在ZigBee網(wǎng)絡(luò)中采用了Cluster-Tree和AODVj路由協(xié)議算法,但是在實際的應(yīng)用過程中還存在著不少的問題,在數(shù)據(jù)傳輸性能上還有待進(jìn)一步提升才能滿足日益增長的ZigBee技術(shù)應(yīng)用需求。對此在結(jié)合前人的研究成果基礎(chǔ)上提出了一種改進(jìn)后的路由協(xié)議算法,在傳統(tǒng)的ZigBee路由協(xié)議算法上,對路由發(fā)現(xiàn)過程中的RREQ分組轉(zhuǎn)發(fā)方向進(jìn)行預(yù)先確定從而來控制其分組發(fā)送的范圍,同時還利用轉(zhuǎn)發(fā)節(jié)點的鄰居列表來減少節(jié)點的跳數(shù),另外設(shè)置變量Pmin隨著時間來不斷進(jìn)行調(diào)整使得網(wǎng)絡(luò)能量消耗處于均衡。 為了明確改進(jìn)后的ZigBee技術(shù)路由協(xié)議算法的性能是否能夠達(dá)到預(yù)期設(shè)想,為此利用NS2仿真軟件進(jìn)行仿真模擬。NS2仿真軟件是美國伯克利大學(xué)開發(fā)的一種面向?qū)ο蟮木W(wǎng)絡(luò)仿真工具包,是目前最常用來對ZigBee進(jìn)行仿真的權(quán)威性仿真軟件。設(shè)定網(wǎng)絡(luò)覆蓋面積為50mX50m,節(jié)點數(shù)量共計50個,節(jié)點初始能量均是100J,傳輸速率與數(shù)據(jù)包長度分別為250kb/s和64Byte,時間間隔設(shè)置為100s,網(wǎng)絡(luò)設(shè)置參數(shù)Cm、Rm與Lm分別為5、4和4,通過對傳統(tǒng)的ZigBee技術(shù)路由協(xié)議算法和改進(jìn)后的算法在網(wǎng)絡(luò)節(jié)點平均跳數(shù)、啟動時間以及節(jié)點失效個數(shù)上的仿真結(jié)果具體如下所示。 網(wǎng)絡(luò)節(jié)點平均跳數(shù)表示的是所有的數(shù)據(jù)包被轉(zhuǎn)發(fā)的總次數(shù)/接收到的數(shù)據(jù)包數(shù)量,其仿真結(jié)果如圖2所示,兩種算法在網(wǎng)絡(luò)節(jié)點的平均跳數(shù)對比結(jié)果可以看到,改進(jìn)后的ZigBee路由協(xié)議算法的平均跳數(shù)明顯要優(yōu)于傳統(tǒng)算法。因為改進(jìn)后的算法在路由發(fā)現(xiàn)階段就有效地減少了RREQ分組轉(zhuǎn)發(fā)從而使得路由過程中節(jié)點的平均跳數(shù)減少,并且隨著節(jié)點數(shù)量的增多效果更為明顯。 圖2 兩種算法網(wǎng)絡(luò)節(jié)點平均跳數(shù)仿真結(jié)果對比 網(wǎng)絡(luò)失效節(jié)點指的是能量耗盡后的節(jié)點數(shù)量,一般來說節(jié)點深度越淺越容易變成失效節(jié)點。 圖3 兩種算法網(wǎng)絡(luò)失效節(jié)點數(shù)仿真結(jié)果對比 如上圖3,網(wǎng)絡(luò)失效節(jié)點的數(shù)量對比結(jié)果顯示,改進(jìn)后的ZigBee路由協(xié)議算法的失效節(jié)點數(shù)量會隨著時間的推移不斷增加,但是數(shù)量的增長速度與數(shù)量要明顯小于傳統(tǒng)ZigBee算法,能有效控制因能量耗盡而出現(xiàn)的網(wǎng)絡(luò)分割現(xiàn)象。 仿真結(jié)果顯示,改進(jìn)后的算法的節(jié)點通信啟動時間為30.6s,比傳統(tǒng)算法的啟動時間要快上近3秒,使得網(wǎng)絡(luò)性能得到很大程度的提高。 為提升ZigBee網(wǎng)絡(luò)的整體性能,基于ZigBee技術(shù)進(jìn)行了路由算法改進(jìn),仿真實驗結(jié)果顯示,改進(jìn)后算法能減少網(wǎng)絡(luò)節(jié)點的平均跳數(shù)和失效節(jié)點數(shù)量,同時縮短啟動反應(yīng)時間,綜合顯示滿足預(yù)期效果,達(dá)到ZigBee網(wǎng)絡(luò)性能優(yōu)化的目的。2.2 ZigBee技術(shù)路由協(xié)議改進(jìn)算法
3 基于NS2仿真軟件的仿真結(jié)果分析
3.1 網(wǎng)絡(luò)節(jié)點平均跳速結(jié)果對比
3.2 網(wǎng)絡(luò)失效節(jié)點個數(shù)結(jié)果對比
3.3 網(wǎng)絡(luò)啟動反應(yīng)時間結(jié)果對比
4 結(jié)論