ZigBee技術(shù)網(wǎng)絡(luò)路由分析論文

時間:2022-03-12 11:05:00

導(dǎo)語:ZigBee技術(shù)網(wǎng)絡(luò)路由分析論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

ZigBee技術(shù)網(wǎng)絡(luò)路由分析論文

摘要基于IEEE802.15.4標(biāo)準(zhǔn)的zigbee網(wǎng)絡(luò)是一種具有強大組網(wǎng)能力的新型無線個域網(wǎng),其中的路由算法是研發(fā)工作的重點。本文介紹了IEEE802.15.4標(biāo)準(zhǔn)及ZigBee規(guī)范的協(xié)議模型,重點研究了ZigBee協(xié)議網(wǎng)絡(luò)層的路由算法,分析了Tree路由及Z-AODV路由算法,在此基礎(chǔ)上提出了ZigBee網(wǎng)格型網(wǎng)絡(luò)中基于數(shù)據(jù)特性的路由選擇機制,該機制在網(wǎng)絡(luò)性能和低功耗方面有明顯的優(yōu)勢,并且可以平衡節(jié)點能量,最后簡單介紹了ZigBee節(jié)點的硬件實現(xiàn)。

關(guān)鍵詞ZigBee協(xié)議;網(wǎng)絡(luò);IEEE802.15.4;路由算法;Tree路由;Z-AODV路由

1概述

ZigBee技術(shù)是由英國Invensys公司、日本三菱電氣公司、美國摩托羅拉公司以及荷蘭飛利浦等公司在2002年10月共同提出設(shè)計研究開發(fā)的具有低成本、體積小、能量消耗小和傳輸速率低的無線通信技術(shù)。

2000年12月,IEEE802無線個域網(wǎng)(WPAN,WirelessPersonalAreaNetwork)小組成立,致力于WPAN無線傳輸協(xié)議的建立。2003年12月,IEEE正式了該技術(shù)物理層和MAC層所采用的標(biāo)準(zhǔn)協(xié)議,即IEEE802.15.4協(xié)議標(biāo)準(zhǔn),作為ZigBee技術(shù)的網(wǎng)絡(luò)層和媒體接入層的標(biāo)準(zhǔn)協(xié)議。2004年12月,ZigBee聯(lián)盟在IEEE802.15.4定義的物理層(PHY)和媒體接入層(MAC)的基礎(chǔ)上定義了網(wǎng)絡(luò)層和應(yīng)用層,正式了基于IEEE802.15.4的ZigBee標(biāo)準(zhǔn)協(xié)議。

2網(wǎng)絡(luò)層的研究

ZigBee技術(shù)的體系結(jié)構(gòu)主要由物理層(PHY)、媒體接入層(MAC)、網(wǎng)絡(luò)/安全層以及應(yīng)用框架層組成,各層之間的分布如圖1所示。

圖1ZigBee技術(shù)協(xié)議組成

PHY層的特征是啟動和關(guān)閉無線收發(fā)器、能量檢測、鏈路質(zhì)量、信道選擇、清除信道評估(CCA)以及通過物理媒體對數(shù)據(jù)包進行發(fā)送和接收。MAC層可以實現(xiàn)信標(biāo)管理、信道接入、時隙管理、發(fā)送確認幀、發(fā)送連接及斷開連接請求,還為應(yīng)用合適的安全機制提供一些方法。它包含具有時間同步信標(biāo)的可選超幀結(jié)構(gòu),采用免碰撞的載波偵聽多址訪問(CSMA-CA)。安全層主要實現(xiàn)密鑰管理、存取等功能。網(wǎng)絡(luò)層主要用于ZigBee的LR-WPAN網(wǎng)的組網(wǎng)連接、數(shù)據(jù)管理等。應(yīng)用框架層主要負責(zé)向用戶提供簡單的應(yīng)用軟件接口(API),包括應(yīng)用子層支持APS(ApplicationSub-layerSupport)、ZigBee設(shè)備對象ZDO(ZigBeeDeviceObject)等,實現(xiàn)應(yīng)用層對設(shè)備的管理,為ZigBee技術(shù)的實際應(yīng)用提供一些應(yīng)用框架模型等,以便對ZigBee技術(shù)的開發(fā)應(yīng)用。

網(wǎng)絡(luò)層的定義包括網(wǎng)絡(luò)拓撲、網(wǎng)絡(luò)建立、網(wǎng)絡(luò)維護、路由及路由的維護。

2.1ZigBee的網(wǎng)絡(luò)拓撲結(jié)構(gòu)

ZigBee定義了三種拓撲結(jié)構(gòu):星型拓撲結(jié)構(gòu)(Star),主要為一個節(jié)點與多個節(jié)點的簡單通信設(shè)計;樹型拓撲結(jié)構(gòu)(Tree),使用分等級的樹型路由機制;網(wǎng)格型拓撲結(jié)構(gòu)(Mesh),將Z-AODV和分等級的樹型(Tree)路由相結(jié)合的混合路由方法。三種拓撲結(jié)構(gòu)如圖2所示。

圖2網(wǎng)絡(luò)的三種拓撲結(jié)構(gòu)

ZigBee定義了三種設(shè)備類型:ZigBee協(xié)調(diào)器(ZigBeeCoordinator,ZC),用于初始化網(wǎng)絡(luò)信息,每個網(wǎng)絡(luò)只有一個ZC;ZigBee路由器(ZigBeeRouter,ZR),它起監(jiān)視或控制作用,但它也是用跳頻方式傳遞信息的路由器或中繼器;ZigBee終端設(shè)備(ZigBeeEndDevice,ZED),它只有監(jiān)視或控制功能,不能做路由或中繼之用。

在IEEE標(biāo)準(zhǔn)中,ZED被稱為精簡功能設(shè)備(Reduced-FunctionDevice,RFD),ZC和ZR被稱作全功能設(shè)備(Full-FunctionDevice,F(xiàn)FD)。

2.2網(wǎng)絡(luò)層路由算法的分析

網(wǎng)絡(luò)層支持Tree、Z-AODV、Tree+Z-AODV等多種路由算法。

2.2.1AODV路由協(xié)議

DSDV(destination-sequenceddistance-vector)協(xié)議是一個基于傳統(tǒng)的BellmanFord路由機制的表驅(qū)動算法,被認為是最早的無線自組網(wǎng)絡(luò)路由協(xié)議。DSDV在傳統(tǒng)的distance-vector算法的基礎(chǔ)上采用了序列號機制,用于區(qū)分路由的新舊程度,防止distance-vector算法可能產(chǎn)生的路由環(huán)路。DSDV采用時間驅(qū)動和事件驅(qū)動技術(shù)控制路由表的傳送,即每個移動節(jié)點在本地都保留一張路由表,其中包括所有有效目的節(jié)點、路由跳數(shù)、目的節(jié)點路由序列號等信息,目的節(jié)點路由序列號用于區(qū)別有效和過期的路由信息以避免環(huán)路的產(chǎn)生。

DSR(dynamicsourcerouting)協(xié)議是最早采用按需路由思想的路由協(xié)議,包括路由發(fā)現(xiàn)和維護兩個過程。它的主要特點是使用了源路由機制進行數(shù)據(jù)包轉(zhuǎn)發(fā)。

AODV(ad-hocon-demanddistancevector)協(xié)議在DSDV協(xié)議的逐跳路由、序列號、定期廣播機制基礎(chǔ)上,加入了DSR的按需路由發(fā)現(xiàn)和維護機制。

AODV在每個中間節(jié)點隱式保存了路由請求和應(yīng)答的結(jié)果,并利用擴展環(huán)搜索(expandingringresearch)的辦法限制搜索發(fā)現(xiàn)目的節(jié)點的范圍。AODV支持組播功能,支持QoS,而且AODV使用IP地址,便于同Internet連接。但AODV基于雙向信道的假設(shè),路由應(yīng)答數(shù)據(jù)包直接沿著路由請求的反方向回溯到源節(jié)點,因而不支持單向信道。與DSDV保存完整的路由表不同的是,AODV通過建立按需路由來減少路由廣播的次數(shù),這是AODV對DSDV的重要改進。與DSR相比,AODV的好處在于源路由并不需要包括在每一個數(shù)據(jù)包中,這樣會降低路由協(xié)議的開銷。AODV是一個純粹的按需路由協(xié)議,那些不在路徑內(nèi)的節(jié)點不保存路由信息,也不參與路由表的交換。

2.2.2Z-AODV能量平衡路由

在ZigBee路由規(guī)范中沒有過多的考慮能量控制,但是對于adhoc無線網(wǎng)絡(luò)來說,能量控制非常重要。因此提出了能量控制策略來改進ZigBee路由。它將使節(jié)點避免用盡所有能量以至于過早的失去作用。當(dāng)節(jié)點想要選擇路徑時,它將考慮路徑上的節(jié)點的剩余能量。

Z-AODV算法是針對AODV(Adhoc按需距離矢量路由協(xié)議)算法的改進,AODV是基于序列號的路由,它總是選擇最新的路由。Z-AODV是基于路徑的能量消耗的路由,考慮到節(jié)能、應(yīng)用方便性等因素,簡化了AODV的一些特點,但仍保持AODV的原始功能。

在路由選擇和路由維護時,ZigBee的路由算法使用了路由成本的度量方法來比較路由的好壞。假定一個長度為L的路由P,則它的路由成本為:為:

其中,表示從節(jié)點Di到節(jié)點Di+1的鏈路成本。對于鏈路l,鏈路成本可按照下面的表達式計算:

其中,pl為鏈路l中發(fā)送數(shù)據(jù)包的概率。

在ZigBee規(guī)范中沒有涉及到pl的具體計算方法。pl可通過實際計算收到的信標(biāo)和數(shù)據(jù)幀來進行估計,即通過觀察幀的響應(yīng)序列號來檢測丟失的幀,這就通常被認為最準(zhǔn)確地測量接收概率的方法。但是,對于所有的方法來說,最直接和有效的方法就是基于IEEE802.15.4的MAC層和PHY層所提供的每一幀的LQI通過平均所計算的值。即使使用其他方法,最初的成本估計值也是基于平均的LQI值。可以根據(jù)驅(qū)動函數(shù)表來映射平均LQI值與C﹛l﹜值的關(guān)系(見表1)。

表1LQI值與鏈路成本的關(guān)系

能量平衡運算要考慮許多因素來選擇路由。這些因素包括臨近節(jié)點的能量、節(jié)點自身的能量和鏈路質(zhì)量。剩余能量Elocal可以在每一個ZigBee幀中的保留域發(fā)送,這樣每個節(jié)點都能得到它的鄰居節(jié)點最新的能量分配﹛E1,E2…En﹜。

2.2.3樹型(Tree)路由

樹型路由機制包括配置樹型地址和樹型地址的路由。當(dāng)協(xié)調(diào)器建立一個新的網(wǎng)絡(luò),它將給自己分配網(wǎng)絡(luò)地址0,網(wǎng)絡(luò)深度Depth0=0。如果節(jié)點(i)想要加入網(wǎng)絡(luò),并且與節(jié)點(k)連接,那么節(jié)點(k)將稱為節(jié)點(i)的父節(jié)點。根據(jù)自身的地址Ak和網(wǎng)絡(luò)深度Depthk,節(jié)點(k)將為節(jié)點(i)分配網(wǎng)

絡(luò)地址Ai和網(wǎng)絡(luò)深度Depthi=Depthk+1。網(wǎng)絡(luò)深度表示僅僅采用父子關(guān)系的網(wǎng)絡(luò)中,一個傳送幀傳送到ZigBee協(xié)調(diào)器所傳遞的最小跳數(shù)。ZigBee協(xié)調(diào)器自身深度為0,而它的子設(shè)備深度為1。

圖3為ZigBee樹型結(jié)構(gòu)。參數(shù)nwkMaxChildren(Cm)表示路由器或協(xié)調(diào)器在網(wǎng)絡(luò)中允許擁有子設(shè)備數(shù)量的最大值。參數(shù)nwkMaxRouters(Rm)表示子節(jié)點中路由器的最大個數(shù),而剩下的設(shè)備數(shù)為終端設(shè)備數(shù)。

圖3ZigBee樹型結(jié)構(gòu)

一個新的RFD節(jié)點(i),它沒有路由能力,它與協(xié)調(diào)器連接作為協(xié)調(diào)器的第n個子節(jié)點。根據(jù)它的深度d,父節(jié)點(k)將為子節(jié)點(i)分配網(wǎng)絡(luò)地址:

Ai=Ak+Cskip(d)·Rm+n其中1≤n≤(Cm-Rm)

如果是新的子節(jié)點FFD,它有路由能力,父節(jié)點(k)將給它分配網(wǎng)絡(luò)地址:

Ai=Ak+1+Cskip(d)·(n-1)

其中,

否則,參數(shù)nwkMaxDepth(Lm)表示網(wǎng)絡(luò)的最大深度。

假設(shè)一個路由器向網(wǎng)絡(luò)地址為D的目的地址發(fā)送數(shù)據(jù)包,路由器的網(wǎng)絡(luò)地址為A,網(wǎng)絡(luò)深度為d。路由器將首先通過表達式:

A<D<A+Cskip(d-1)

判斷該目的節(jié)點是否為自己的子節(jié)點。如果目的節(jié)點是自己的子節(jié)點,則下一跳節(jié)點的地址為:

否則,下一跳節(jié)點是該路由器的父節(jié)點。

2.2.4Tree+Z-AODV路由算法的分析

根據(jù)上文對Tree和Z-AODV兩種路由算法的分析,在我們的ZigBee網(wǎng)絡(luò)中將二者結(jié)合,使用Z-AODV和分等級的樹型(Tree)路由相結(jié)合的混合路由方法,構(gòu)成網(wǎng)格型拓撲結(jié)構(gòu)(Mesh)的網(wǎng)絡(luò)。

具體實現(xiàn)方法是在數(shù)據(jù)幀幀頭的DiscoverRouter域指定路由。該域可以是如下三種值:

⑴抑制路由發(fā)現(xiàn):它使用已經(jīng)存在的路由表。當(dāng)路由表中沒有相應(yīng)的目的節(jié)點的地址時,參數(shù)nwkUseTreeRouting的值為TRUE,網(wǎng)絡(luò)將使用樹型路由。

⑵使能路由發(fā)現(xiàn):如果在路由表中有路由地址,將按照該路由表進行路由。否則,路由器將使用Z-AODV路由算法初始路由發(fā)現(xiàn)。如果該節(jié)點沒有初始路由發(fā)現(xiàn)的能力,它將使用樹型路由。

⑶強制路由發(fā)現(xiàn):不管是否有相應(yīng)的路由表,節(jié)點都強制使用Z-AODV路由算法初始化路由發(fā)現(xiàn)。

在ZigBee規(guī)范中提出了將AODV和Tree路由混合的路由機制。但在ZigBee規(guī)范中并沒有說明如何配置參數(shù)來選擇路由策略,沒有使兩者平衡的設(shè)計方法。根據(jù)上面Tree路由和Z-AODV的分析,我們提出了基于數(shù)據(jù)特性的路由方法,即在兩種路由算法構(gòu)成的網(wǎng)格型網(wǎng)絡(luò)中,根據(jù)節(jié)點間傳輸數(shù)據(jù)特性的不同,通過設(shè)置數(shù)據(jù)幀幀頭的DiscoverRouter域,選擇不同的路由方法。對于捆綁型的連續(xù)數(shù)據(jù),ZigBee應(yīng)用層應(yīng)選擇使用使能路由的方法。即采用Z-AODV路由首先建立路由發(fā)現(xiàn),然后選擇跳數(shù)少的路由,成為最佳路徑;對于爆發(fā)型的不連續(xù)數(shù)據(jù)則使用抑制路由發(fā)現(xiàn)的方法,即在路由表中沒有響應(yīng)的目的節(jié)點的地址時,采用Tree路由方法。因為這種路由不需要建立路由表,因此對傳輸?shù)臄?shù)據(jù)響應(yīng)較快。

圖4為節(jié)點接收到上層或其他節(jié)點發(fā)送的數(shù)據(jù)包時,網(wǎng)絡(luò)層處理程序的流程圖。

圖4路由算法流程圖

2.3總結(jié)

Tree路由是一種由網(wǎng)絡(luò)協(xié)調(diào)器展開生成樹狀網(wǎng)絡(luò)的拓撲結(jié)構(gòu),適合于節(jié)點靜止或者移動較少的場合,屬于靜態(tài)路由,不需要存儲路由表。樹型路由對傳輸數(shù)據(jù)包的響應(yīng)較快,因為樹型路由不需要建立路由表。其缺點是所選擇的路由并非是最佳的路由,不能獲得最小路由。樹型路由適用于爆發(fā)型的數(shù)據(jù)傳輸。

Z-AODV需要首先建立路由發(fā)現(xiàn),然后選擇跳數(shù)少的路由,成為最佳路徑。Z-AODV適用于連續(xù)的數(shù)據(jù)傳輸。

在ZigBee規(guī)范中,設(shè)計了Z-AODV和Tree路由混合的路由策略,這里我們提出了基于數(shù)據(jù)服務(wù)的ZigBee路由選擇策略。根據(jù)上述分析可以看出,這種路由選擇機制在網(wǎng)絡(luò)性能和低功耗方面有明顯的優(yōu)勢;并且根據(jù)能量控制機制,可以有效地平衡節(jié)點能量,避免節(jié)點耗盡能量而過早地失去作用。

3ZigBee模塊硬件設(shè)計

模塊集無線收發(fā)器、微處理器、存儲器和用戶API等軟硬件于一體,可實現(xiàn)1.0版ZigBee協(xié)議棧的功能。

圖5ZigBee模塊框圖

圖5是模塊的硬件框圖,射頻芯片采用Chipcon公司生產(chǎn)的符合IEEE802.15.4標(biāo)準(zhǔn)的模塊CC2420;控制射頻芯片的微處理器可以根據(jù)需要選擇Atmel公司的AVR系列單片機或者SiliconLabs公司的8051內(nèi)核單片機。單片機與射頻芯片之間通過SPI通信。單片機與外部設(shè)備之間通過串口通信,單片機自帶若干ADC或者溫度傳感器,可以實現(xiàn)簡單的模數(shù)轉(zhuǎn)換或者溫度監(jiān)控。為了方便代碼移植到不同的硬件平臺,模塊固件采用標(biāo)準(zhǔn)C語言編寫代碼實現(xiàn)。

參考文獻

[1]蔣挺,趙成林.紫蜂技術(shù)及其應(yīng)用[M].北京:北京郵電大學(xué)出版社,2006

[2]ZigBeeSpecification.ZigBeeAlliance[R],2006

[3]IEEE.IEEEstandards8021.15.4[R];2003

[4]RanPeng,SunMao-hen,ZouYou-min.ZigBeeRoutingSelectionStrategyBaseonDataServicesandEngergy-balanceZigBeeRoutingServiceConmputing,2006.APSCC06.IEEEAsia-PacificConferenceonDec.2006:400-404

[5]朱向慶,王建明.ZigBee協(xié)議網(wǎng)絡(luò)層的研究與實現(xiàn)[J]