俞仁來(lái),譚明皓
(沈陽(yáng)工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110870)
無(wú)線傳感器網(wǎng)絡(luò)(WSN, Wireless Sensor Network)[1]采用微小型的傳感器節(jié)點(diǎn)獲取信息,節(jié)點(diǎn)之間具有自動(dòng)組網(wǎng)和協(xié)同工作能力,網(wǎng)絡(luò)內(nèi)部采用無(wú)線通信方式,采集和處理網(wǎng)絡(luò)中的信息,發(fā)送給觀察者。目前WSN使用的無(wú)線通訊技術(shù)過(guò)于復(fù)雜,非常耗電,成本很高。而ZigBee[2]是一種短距離、低成本、低功耗、低復(fù)雜度的無(wú)線網(wǎng)絡(luò)技術(shù),在無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用領(lǐng)域極具發(fā)展?jié)摿Α?/p>
路由協(xié)議是無(wú)線傳感器網(wǎng)絡(luò)中一個(gè)關(guān)鍵技術(shù),其優(yōu)劣直接影響著網(wǎng)絡(luò)的性能[3]。這里的工作就是在分析研究了多種應(yīng)用在WSN上的路由協(xié)議之后,對(duì)比分析ZigBee路由算法,分析得出各自優(yōu)劣及其適用的環(huán)境,為路由協(xié)議設(shè)計(jì)人員提供參考。
AODV[4]是逐跳的按需距離向量路由協(xié)議。當(dāng)源節(jié)點(diǎn)沒(méi)有已知的路由到達(dá)目的節(jié)點(diǎn)時(shí),廣播一個(gè)請(qǐng)求消息(RREQ),每個(gè)接收到RREQ的中間節(jié)點(diǎn)記錄下到源節(jié)點(diǎn)的逆向路徑(以便為之后的應(yīng)答消息(RREP)提供路由),然后重新廣播RREQ。當(dāng)RREQ到達(dá)目的節(jié)點(diǎn)時(shí),目的節(jié)點(diǎn)利用記錄在報(bào)文中的逆向路徑發(fā)送RREP。如果中間節(jié)點(diǎn)知道最新的指向目的節(jié)點(diǎn)的路由,它就代替目的節(jié)點(diǎn)發(fā)送RREP。每個(gè)接收到 RREP的節(jié)點(diǎn)以相同的方式記錄下本節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑,以便為將來(lái)數(shù)據(jù)分組報(bào)文的到來(lái)提供路由服務(wù)。另外,每個(gè)節(jié)點(diǎn)都維護(hù)有一個(gè)目的序列號(hào)用于判斷更新路由。節(jié)點(diǎn)廣播HELLO消息來(lái)維護(hù)本地鄰居表及其一跳內(nèi)的鏈路。
LEACH[5]是MIT的Heinzelman等人提出的基于簇的數(shù)據(jù)融合的層次型路由算法。該算法以輪為單位計(jì)算網(wǎng)絡(luò)周期。每一輪從建立階段開(kāi)始,即節(jié)點(diǎn)自組織成一個(gè)一個(gè)的簇,然后進(jìn)入穩(wěn)定階段,即成員節(jié)點(diǎn)將其數(shù)據(jù)發(fā)送給其簇首節(jié)點(diǎn),然后簇首節(jié)點(diǎn)將所收成員的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,發(fā)送給基站。
ZigBee網(wǎng)絡(luò)[6]支持兩種類型的物理設(shè)備:全功能設(shè)備節(jié)點(diǎn)(FFD)和半功能設(shè)備節(jié)點(diǎn)(RFD)。FFD節(jié)點(diǎn)通常作為網(wǎng)絡(luò)協(xié)調(diào)器或路由,能和任何設(shè)備通信;RFD節(jié)點(diǎn)只能作為網(wǎng)絡(luò)的終端節(jié)點(diǎn),負(fù)責(zé)本地信息收集和數(shù)據(jù)處理,只能和FFD節(jié)點(diǎn)通信。ZigBee網(wǎng)絡(luò)支持三種節(jié)點(diǎn)類型:主節(jié)點(diǎn)、路由節(jié)點(diǎn)以及終端節(jié)點(diǎn)。主節(jié)點(diǎn)即協(xié)調(diào)器,必須由FFD節(jié)點(diǎn)構(gòu)成,它是網(wǎng)絡(luò)的核心,負(fù)責(zé)建立一個(gè)網(wǎng)絡(luò)并下發(fā)地址。路由節(jié)點(diǎn)也是FFD節(jié)點(diǎn),搜索網(wǎng)絡(luò)并加入,給加入路由的終端節(jié)點(diǎn)分配地址。終端節(jié)點(diǎn)可以是FFD節(jié)點(diǎn)或者RFD節(jié)點(diǎn)。ZigBee的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)有三種:星型網(wǎng)絡(luò)、樹(shù)簇型網(wǎng)絡(luò)、網(wǎng)型網(wǎng)絡(luò),如圖1所示。
圖1 ZigBee三種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
ZigBee網(wǎng)絡(luò)常見(jiàn)的路由算法有Cluster-Tree、AODVjr和Cluster-Tree+AODVjr等。ZigBee路由通常采用Cluster-Tree與AODVjr相結(jié)合的路由算法[7-8]。
2.1.1 Cluster-Tree
Cluster-Tree是一種邏輯鏈路和網(wǎng)絡(luò)層協(xié)議,使用鏈路狀態(tài)數(shù)據(jù)包建立一個(gè)簡(jiǎn)單的簇網(wǎng)絡(luò)或是一個(gè)潛在的更大型的簇樹(shù)網(wǎng)絡(luò)。該網(wǎng)絡(luò)具有自組織能力,并支持網(wǎng)絡(luò)冗余,有一定的錯(cuò)誤冗余度和自修復(fù)能力。網(wǎng)絡(luò)中的節(jié)點(diǎn)形成父子關(guān)系,當(dāng)有節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),父節(jié)點(diǎn)將為其分配地址。分配機(jī)制如下:根據(jù)式(1),父節(jié)點(diǎn)為節(jié)點(diǎn)分配地址,其中C為父節(jié)點(diǎn)包容的最大節(jié)點(diǎn)數(shù),R為參與路由的最大子節(jié)點(diǎn)數(shù),L為網(wǎng)絡(luò)的最大深度,d為當(dāng)前網(wǎng)絡(luò)深度,A為節(jié)點(diǎn)地址。為第n個(gè)RFD分地址為式(2);為第n個(gè)FFD分配地址為式(3)。
網(wǎng)絡(luò)路徑上的下一跳節(jié)點(diǎn)地址分配如下:對(duì)于地址為A的節(jié)點(diǎn),如果滿足式(4),則地址為D的節(jié)點(diǎn)為該節(jié)點(diǎn)后代:
如果滿足式(5),則下一跳為終端后代,地址為N D= ,否則,地址為式(6)。
2.1.2 AODVjr
AODVjr具有AODV的主要功能,但考慮到降低成本、節(jié)能、使用的方便性等因素,對(duì)AODV作了一些簡(jiǎn)化。①?zèng)]有使用目的節(jié)點(diǎn)序列號(hào),并規(guī)定只有目的節(jié)點(diǎn)可以回復(fù)RREP;②不存在“先驅(qū)節(jié)點(diǎn)列表”,簡(jiǎn)化了路由表結(jié)構(gòu);③節(jié)點(diǎn)不發(fā)送HELLO分組,僅根據(jù)收到的分組或者M(jìn)AC層提供的信息更新鄰居節(jié)點(diǎn)列表;④RERR消息格式僅包含一個(gè)不可到達(dá)的目的節(jié)點(diǎn)。
文中基于NS-2.34模擬仿真軟件對(duì)路由協(xié)議進(jìn)行仿真。NS[9-10]即網(wǎng)絡(luò)模擬,是面向?qū)ο蟮?、離散事件驅(qū)動(dòng)的網(wǎng)絡(luò)環(huán)境模擬器,可以完整地模擬整個(gè)網(wǎng)絡(luò)環(huán)境。主要用于解決網(wǎng)絡(luò)研究方面的問(wèn)題。
在NS2下分別仿真ZigBee路由和AODV協(xié)議,以比較兩者的實(shí)現(xiàn)效果。采用101個(gè)節(jié)點(diǎn)隨機(jī)分布在(100m×100m)的空間中, 消息長(zhǎng)度設(shè)置為500 byte,運(yùn)行時(shí)間200 s。每個(gè)節(jié)點(diǎn)的初始能量相同,均為2 J。rxPower和txPower都設(shè)為0.3 W。通訊距離設(shè)為25 m,消息發(fā)送間隔設(shè)為0.05 s,以802.15.4為底層。ZigBee簇樹(shù)數(shù)量為:set Cm 4;set Lm 7。源節(jié)點(diǎn)(84.124781416787201, 85.201271942444734),目的節(jié)點(diǎn)(0,0)。
在仿真運(yùn)行到151 s時(shí),ZigBee和AODV中各節(jié)點(diǎn)的剩余能量如圖2所示,除了一部分節(jié)點(diǎn)的剩余能量大致相同外,大部分AODV節(jié)點(diǎn)的剩余能量比ZigBee節(jié)點(diǎn)多,即ZigBee能量消耗相比AODV較多。這表明采用Cluster-Tree+AODVjr的ZigBee路由算法在能量損耗上,并不比AODV節(jié)省,反而消耗更多能量。
圖3顯示,Zigbee節(jié)點(diǎn)在151 s之后有71個(gè)存活節(jié)點(diǎn);AODV節(jié)點(diǎn)在151 s之后有80個(gè)存活節(jié)點(diǎn),在181 s之后仍有70個(gè)存活節(jié)點(diǎn)。Zigbee在151 s之后,網(wǎng)絡(luò)活動(dòng)停止,而AODV在181 s之后網(wǎng)絡(luò)活動(dòng)才停止。可知,AODV網(wǎng)絡(luò)在151 s之后發(fā)現(xiàn)第二條路徑,繼續(xù)傳輸數(shù)據(jù),使網(wǎng)絡(luò)存活時(shí)間延長(zhǎng)。
仿真結(jié)果表明,采用Cluster-Tree+AODVjr的Zigbee路由,沒(méi)有考慮到節(jié)點(diǎn)在通信和路由處理過(guò)程中能量的變化,能量損耗超過(guò)了 AODV,限制了網(wǎng)絡(luò)的生存時(shí)間。因此,Zigbee路由算法應(yīng)更注重節(jié)能設(shè)計(jì)。
圖2 節(jié)點(diǎn)剩余能量
圖3 網(wǎng)絡(luò)存活節(jié)點(diǎn)
由于AODVjr主要適用于動(dòng)態(tài)網(wǎng)絡(luò)中發(fā)現(xiàn)最新的轉(zhuǎn)發(fā)路徑,但在網(wǎng)絡(luò)拓?fù)渥兓苈臒o(wú)線傳感器網(wǎng)絡(luò)中,AODVjr就顯得太過(guò)復(fù)雜,導(dǎo)致Zigbee路由能耗過(guò)大。而LEACH協(xié)議實(shí)現(xiàn)了所有節(jié)點(diǎn)間能量均勻分布的分群自適應(yīng)算法和群首位置循環(huán)算法,節(jié)省了通信資源,降低了節(jié)點(diǎn)能耗,大大提高系統(tǒng)壽命。因此,以LEACH為參照修改Zigbee路由協(xié)議,將更有利于延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間。
[1] 夏少波,許娥.無(wú)線傳感器網(wǎng)絡(luò) WSN探究[J].通信技術(shù),2010,43(08):18-19.
[2] 徐志,陳彬兵.自組織 ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)通信研究[J].通信技術(shù),2009,42(12):128-131..
[3] 羅玥,李雷.無(wú)線傳感器網(wǎng)絡(luò)路由問(wèn)題探討[J].通信技術(shù),2007,40(12):361-362.
[4] 王新穎,吳釗,江小玲.基于節(jié)能的移動(dòng)Ad Hoc網(wǎng)絡(luò)AODV路由協(xié)議改進(jìn)[J].通信技術(shù),2008,41(07):121-123.
[5] HEINZELMAN W, CHANDRAKASAN A, BALAKRISHNAN H. Energy Efficient Communication Protocol for Wireless Microsensor Networks[C]//IEEE Computer Society. HICSS 2000, Hawaii,United States,2000.United States:IEEE Publications, 2000:3005-3014.
[6] Sinem Coleri Ergen. ZigBee/IEEE 802.15.4 Summary[EB/OL].(2004-09-10)[2010-06-01].http://citeseerx.ist.psu.edu/viewdoc/download?doi = 10.1.1.124.6333&rep=rep1&type=pdf.
[7] ZigBee Specification.ZigBee Document 053474r17[EB/OL].(2008-01-17)[2010-06-01]. http://www.zigbee.org/Markets/ZigBeeSm artEnergy/Specification.aspx.
[8] 杜煥軍,張維勇,劉國(guó)田.ZigBee網(wǎng)絡(luò)的路由協(xié)議研究[J].合肥工業(yè)大學(xué)學(xué)報(bào),2008,31(10):1617-1621.
[9] KEVIN FALL,KANNAN VARADHAN. The ns Manual[R].[s.l.]: The VINT Project, 2008.
[10] 于斌,孫斌,溫暖,等.NS2與網(wǎng)絡(luò)模擬[M]. 北京:人民郵電出版社,2007.