利用捎帶技術(shù)提高ZigBee網(wǎng)絡(luò)性能的方法

相關(guān)專題: 無線 芯片

摘要:對構(gòu)建低速無線個域網(wǎng)的關(guān)鍵技術(shù)——ZigBee協(xié)議進行深入研究,重點討論其網(wǎng)絡(luò)層所支持的拓撲結(jié)構(gòu)及采用的路由算法。ADOVjr是AODV的簡化算法,ZigBee協(xié)議網(wǎng)絡(luò)層使用該路由算法架設(shè)Ad hoc網(wǎng)絡(luò),支持隨意的拓撲架構(gòu)。在深入研究AODVjr的基礎(chǔ)上,提出一種將因特網(wǎng)“捎帶確認”技術(shù)應(yīng)用于ZigBee協(xié)議AODVjr路由算法的方案,并使用該方案架設(shè)無線傳感器網(wǎng)絡(luò)。實驗證明該方案能降低算法實現(xiàn)的復(fù)雜度,減少通信量,節(jié)約電池能量,有效提高ZigBee網(wǎng)絡(luò)的總體性能,具有一定的實用價值。

關(guān)鍵字: ZigBee協(xié)議;捎帶;AODVjr

1 引言

IEEE 802.11、藍牙、UWB等協(xié)議推出以來,在短距離的無線監(jiān)測、控制、數(shù)據(jù)傳輸領(lǐng)域得到廣泛應(yīng)用,但它們?nèi)匀淮嬖诠拇蟆⒔M網(wǎng)能力差等弱點。以組網(wǎng)能力強著稱的ZigBee協(xié)議能彌補上述協(xié)議的不足,特別適合于組建短距離低速無線個域網(wǎng)、無線傳感器網(wǎng)絡(luò)等。

ZigBee協(xié)議由ZigBee聯(lián)盟于2004年12月中旬正是推出,其介質(zhì)訪問控制子層(MAC)基于IEEE 802.15.4標(biāo)準,網(wǎng)絡(luò)層采用Cluster-Tree+AODVjr路由算法,支持星形(Star)、樹狀(Cluster-Tree)、網(wǎng)格(Mesh)等多種拓撲結(jié)構(gòu)[1],算法可在簡單的單片機平臺上實現(xiàn)[2]。其中,單獨采用AODVjr(AODV Junior,簡化的AODV)路由算法的Mesh網(wǎng)絡(luò)最為簡單,應(yīng)用較廣泛。AODVjr算法是AODV(Ad hoc On Demand Distance Vector, Ad hoc按需距離矢量路由協(xié)議)算法的簡化,它跟AODV一樣,與目標(biāo)節(jié)點通信時,采用先問路由,再發(fā)送數(shù)據(jù)或命令的辦法[3,4]。本文提出采用捎帶技術(shù)的AODVjr算法,將要發(fā)送的數(shù)據(jù)捎帶在AODVjr的路由請求和路由應(yīng)答包中,大大提高ZigBee網(wǎng)絡(luò)的通信效率。

2 ZigBee的AODVjr協(xié)議

ZigBee協(xié)議網(wǎng)絡(luò)層AODVjr算法是需求驅(qū)動型的,由源節(jié)點選擇路由,它是針對AODV算法的簡化改進。考慮到節(jié)能、成本、應(yīng)用方便性等因素,AODVjr簡化AODV的一些特點,但是仍然保持AODV的主要功能。

首先,在AODVjr路由算法中,沒有目標(biāo)節(jié)點序列號,只有目標(biāo)節(jié)點才能發(fā)送路由應(yīng)答(Route Reply,RREP)包,這樣可以避免循環(huán)問題和無效RREP包出現(xiàn),提高通信效率。其次,AODVjr刪除路由錯誤(Route Error,RERR)包及前驅(qū)列表(Precursor List)。另外,為了避免廣播風(fēng)暴,AODV中周期性發(fā)送的Hello包也被刪除。在ZigBee的集成路由算法中,AODVjr中的許多優(yōu)點使得路由協(xié)議簡單化且實現(xiàn)AODV的基本路由功能[5,6]。

圖1(a)和(b)是AODVjr算法尋找路由的方式。當(dāng)節(jié)點A要發(fā)送信息給節(jié)點D時,如果發(fā)現(xiàn)自己沒有到節(jié)點D的路由,便通過組播(Multi-Broadcast)路由請求(Route Request,RREQ)包,請求其鄰居幫忙查找到節(jié)點D的路徑。每個接收到RREQ包的節(jié)點,都維護一條到節(jié)點A的路由信息,同時幫助節(jié)點A廣播查找節(jié)點D。通過這種洪泛(Flooding)方式,RREQ包會被廣播轉(zhuǎn)發(fā)至節(jié)點D。節(jié)點D接收到RREQ包后,根據(jù)RREQ包的路由代價(Cost)決定是否更新自己的路由表,同時通過路由代價最小的路徑給節(jié)點A回復(fù)RREP包。節(jié)點A查找目標(biāo)節(jié)點通常是通過組播進行的,而節(jié)點D給節(jié)點A回復(fù)RREP包則通過單播(Unit-Broadcast)進行的。節(jié)點A接收到節(jié)點D的RREP包后,根據(jù)Cost最小原則決定與節(jié)點D通信所走的最佳路徑。圖1中,節(jié)點A查找到節(jié)點D的最短路徑:A->B->C->D,然后把數(shù)據(jù)發(fā)送給節(jié)點D,節(jié)點D再通過D->C->B->A給節(jié)點A確認信息。

圖1 AODVjr算法查找路由及通信方式

在ZigBee協(xié)議里,AODVjr的RREQ包和RREP包作為網(wǎng)絡(luò)層命令傳送,成為單獨的網(wǎng)絡(luò)負荷,如圖2所示。其中命令標(biāo)識值等于0x01時是RREQ包,等于0x02時是RREP包;單字節(jié)的命令選項只使用一個比特,用于區(qū)分該路由包是單獨進行路由查找還是進行路由修復(fù)(Route Repair)[1]。

(a)路由請求包                     

(b)路由應(yīng)答包               

(c)命令選項

圖2 ZigBee網(wǎng)絡(luò)層的命令包

3 捎帶技術(shù)在AODVjr的應(yīng)用

ZigBee網(wǎng)絡(luò)里的AODVjr屬于后應(yīng)式的按需Ad hoc網(wǎng)絡(luò),不周期性地更新自己的路由信息,只有在需要通信時,才發(fā)起路由查找過程。在ZigBee網(wǎng)絡(luò)里,節(jié)點會移動或者休眠,通信時幾乎每次都要重新查找路由,而每次傳輸?shù)臄?shù)據(jù)量又比較少,絕大多數(shù)情況下只要傳送一次即可完成,如獲取傳感器的值。為了達到節(jié)能且降低通信復(fù)雜度的目的,可將互聯(lián)網(wǎng)中常用的“捎帶確認”技術(shù)應(yīng)用于ZigBee網(wǎng)絡(luò)。

所謂“捎帶確認”,是指為了提高網(wǎng)絡(luò)的通信效率,目標(biāo)節(jié)點接收到源節(jié)點的數(shù)據(jù)后,將確認(ACK)信息附加在目標(biāo)節(jié)點發(fā)送給源節(jié)點的數(shù)據(jù)包中,由這些數(shù)據(jù)包捎帶給源節(jié)點。

采用捎帶技術(shù)后,如圖3(a)所示,源節(jié)點可以把要發(fā)送給目標(biāo)節(jié)點的數(shù)據(jù)或命令放置在RREQ包后面,成為網(wǎng)絡(luò)負荷的一部分,由RREQ包傳送給目標(biāo)節(jié)點。目標(biāo)節(jié)點接收到RREQ包后,在給源節(jié)點回應(yīng)RREP包之前,處理源節(jié)點發(fā)送的數(shù)據(jù)或者命令,將要發(fā)送的ACK或者數(shù)據(jù)由RREP包捎帶給源節(jié)點,如圖3(b)所示。

(a)捎帶數(shù)據(jù)或命令的路由請求包  

(b)捎帶ACK或數(shù)據(jù)的路由應(yīng)答包 

(c)改進后的命令選項

圖3 采用捎帶技術(shù)的ZigBee網(wǎng)絡(luò)層命令包

如圖3(c)所示:引進捎帶功能后,要修改AODVjr里的命令選項,將保留的7個比特用于表示捎帶數(shù)據(jù)的長度,為0時表示此路由包沒有捎帶任何數(shù)據(jù),是普通的AODVjr路由包。

沒有采用捎帶技術(shù)時,如圖1所示,源節(jié)點和目標(biāo)節(jié)點之間傳輸數(shù)據(jù)需要2個來回;改進后只需要圖1(a)、(b)所示的一個來回。由此可見,將數(shù)據(jù)捎帶在路由包中,對于只需通信一次數(shù)據(jù)就可以傳輸完畢的情況,能夠節(jié)省一個來回的時間。這樣,網(wǎng)絡(luò)在通信延遲、節(jié)能、效率上都有優(yōu)化,同時降低通信復(fù)雜度。

4 算法的實現(xiàn)

4.1 協(xié)議棧

采用捎帶技術(shù)的ZigBee協(xié)議棧有3層,其體系結(jié)構(gòu)如圖4所示。協(xié)議棧參考ZigBee網(wǎng)絡(luò)的結(jié)構(gòu),物理層和介質(zhì)訪問控制層采用IEEE 802.15.4協(xié)議,網(wǎng)絡(luò)層僅使用捎帶技術(shù)的AODVjr路由算法,通過應(yīng)用支持子層與應(yīng)用層建立聯(lián)系。該協(xié)議棧簡單、實用、高效。

圖4 采用捎帶技術(shù)的ZigBee協(xié)議棧

4.2 路由設(shè)計與實現(xiàn)

(a)目標(biāo)節(jié)點接收到RREQ包             

(b)源節(jié)點接收到RREP包

圖5 目標(biāo)節(jié)點和源節(jié)點處理RREQ和RREP流程

采用捎帶技術(shù)后,對算法復(fù)雜度的影響不大。只要稍微改動源節(jié)點和目標(biāo)節(jié)點發(fā)送以及接收RREQ包和RREP包的程序即可,中間節(jié)點仍按普通的AODVjr包處理數(shù)據(jù)。

圖5是目標(biāo)節(jié)點和源節(jié)點處理RREQ包和RREP包的程序流程,從中可以看出,捎帶技術(shù)并沒有增加算法實現(xiàn)的復(fù)雜度。作者在美國赫立訊公司的IP-Link122x系列模塊中使用Keil C編程,實現(xiàn)使用捎帶技術(shù)的ZigBee網(wǎng)絡(luò)。該模塊通過美國FCC認證,經(jīng)過ZigBee聯(lián)盟指定的德國萊茵TUV ZigBee實驗室一致性測試,是符合IEEE 802.15.4標(biāo)準和ZigBee協(xié)議的模塊。本文算法運行在模塊自帶的嵌入式芯片——Silicon Laboratories公司的8051內(nèi)核MCU上,采用Chipcon AS公司的射頻芯片CC2420收發(fā)數(shù)據(jù)。

5 實驗結(jié)果

研發(fā)過程中,可以使用Chipcon AS公司的IEEE 802.15.4包監(jiān)聽器(Packet Sniffer)分析空氣中傳送的數(shù)據(jù)包,對不同節(jié)點數(shù)目的Ad hoc進行測試,可取得良好的結(jié)果。

實驗中,采用Mesh拓撲,50個節(jié)點組成的ZigBee網(wǎng)絡(luò)隨意分布在三層樓中,采用對等連接方式,僅使用AODVjr路由算法。兩個節(jié)點通信的平均傳輸延遲及成功率,采用捎帶技術(shù)前后質(zhì)量對比如表1所示。從表1可知,傳輸延遲時間可以減少很多,且成功率有一定的提高。證明本文提出的網(wǎng)絡(luò)結(jié)構(gòu)及軟硬件設(shè)計的可行性。

表1 采用捎帶技術(shù)前后的通信質(zhì)量對比

6 結(jié)論

本文提出采用捎帶技術(shù)的AODVjr算法,同時給出簡化的ZigBee協(xié)議體系結(jié)構(gòu),并在硬件平臺上實現(xiàn)該方案。實踐證明,采用捎帶技術(shù)能降低算法實現(xiàn)的復(fù)雜度,減少通信量,節(jié)約電池能量,有效提高ZigBee網(wǎng)絡(luò)的總體性能。本方法還可以在其他使用AODV算法的網(wǎng)絡(luò)中推廣,具有一定的實用價值。DSP2812開發(fā)板
 

參考文獻:

[1] Zigbee Alliance. ZigBee Specification (Version 1.1)[S]. 2006.

[2] 張成武,譚斌.單片機Zigbee技術(shù)在遠程抄表系統(tǒng)中的應(yīng)用[J].微計算機信息,DSP2812開發(fā)板  2006:22(32):96-98.

[3] RFC 3561:Ad hoc On-Demand Distance Vector (AODV) Routing[S].2003.http://www.51kaifa.com/shop/read.php?ID=4732

[4]Mobility Management and Networking (MOMENT) Laboratory. Ad hoc On-Demand Distance Vector Routing[EB/OL].http://moment.cs.ucsb.edu/AODV/aodv.html, 2007-4-2.

[5]Ian D. Chakeres, Luke Klein-Verndt. AODVjr,AODV Simplified[J]. Mobile Computing and Communication Review,2002,6(3):100-101.http://www.51kaifa.com/shop/read.php?ID=4732

[6]Qiu F., Wang J-M., Leng J. "Design and Implementation of a Wireless Personal Area Network Based on AODVjr Routing" in Wireless Mobile&Multimedia Networks (ICWMMN) Proceedings[C].Beijing:The Institution of Engineering and Technology,London(IET),2006:424-427.

 

作者:朱向慶 王建明   來源:微計算機信息
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息