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

時(shí)間:2022-03-12 11:05:00

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

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

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

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

1概述

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

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

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

2.1ZigBee的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

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

圖2網(wǎng)絡(luò)的三種拓?fù)浣Y(jié)構(gòu)

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

在IEEE標(biāo)準(zhǔn)中,ZED被稱(chēng)為精簡(jiǎn)功能設(shè)備(Reduced-FunctionDevice,RFD),ZC和ZR被稱(chēng)作全功能設(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é)議是一個(gè)基于傳統(tǒng)的BellmanFord路由機(jī)制的表驅(qū)動(dòng)算法,被認(rèn)為是最早的無(wú)線自組網(wǎng)絡(luò)路由協(xié)議。DSDV在傳統(tǒng)的distance-vector算法的基礎(chǔ)上采用了序列號(hào)機(jī)制,用于區(qū)分路由的新舊程度,防止distance-vector算法可能產(chǎn)生的路由環(huán)路。DSDV采用時(shí)間驅(qū)動(dòng)和事件驅(qū)動(dòng)技術(shù)控制路由表的傳送,即每個(gè)移動(dòng)節(jié)點(diǎn)在本地都保留一張路由表,其中包括所有有效目的節(jié)點(diǎn)、路由跳數(shù)、目的節(jié)點(diǎn)路由序列號(hào)等信息,目的節(jié)點(diǎn)路由序列號(hào)用于區(qū)別有效和過(guò)期的路由信息以避免環(huán)路的產(chǎn)生。

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

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

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

2.2.2Z-AODV能量平衡路由

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

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

在路由選擇和路由維護(hù)時(shí),ZigBee的路由算法使用了路由成本的度量方法來(lái)比較路由的好壞。假定一個(gè)長(zhǎng)度為L(zhǎng)的路由P,則它的路由成本為:為:

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

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

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

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

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

2.2.3樹(shù)型(Tree)路由

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

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

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

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

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

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

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

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

其中,

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

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

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

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

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

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

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

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

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

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

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

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

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

圖4路由算法流程圖

2.3總結(jié)

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

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

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

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

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

圖5ZigBee模塊框圖

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

參考文獻(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ò)層的研究與實(shí)現(xiàn)[J]