《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 降低ZigBee網(wǎng)絡(luò)能耗的路由安全算法
降低ZigBee網(wǎng)絡(luò)能耗的路由安全算法
來(lái)源:電子技術(shù)應(yīng)用2012年第7期
蔣建平, 陳 輝
桂林電子科技大學(xué) 信息與通信學(xué)院, 廣西 桂林541004
摘要: 基于ZigBee技術(shù)的無(wú)線傳感網(wǎng)絡(luò)中,路由協(xié)議起著極其重要的作用。AODVJr協(xié)議是AODV協(xié)議的簡(jiǎn)化,它在ZigBee技術(shù)中得到廣泛的應(yīng)用。雖然AODVJr協(xié)議相對(duì)于AODV協(xié)議來(lái)說(shuō)進(jìn)行了各種優(yōu)化,在同等條件下其性能優(yōu)于AODV協(xié)議,然而對(duì)路徑信息及傳輸數(shù)據(jù)的安全方面并未提供保障。將SRP(安全遠(yuǎn)程密碼協(xié)議)協(xié)議、AODVJr協(xié)議與樹(shù)路由算法相結(jié)合并考慮了局部節(jié)點(diǎn)的路由跳數(shù),以達(dá)到降低ZigBee網(wǎng)絡(luò)的總能量、提高網(wǎng)絡(luò)數(shù)據(jù)傳輸安全的目的。
中圖分類(lèi)號(hào): TN918
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)07-0140-04
Drop the ZigBee network energy′s routing safety arithmetic
Jiang Jianping, Chen Hui
College of Information and Communication Engineering, Guilin University of Electronic Technollogy, Guilin 541004, China
Abstract: Based on the wireless sensor network of ZigBee technology, it is important to routing protocol in the network.The AODVJr protocols is the simplified of the AODV protocols,which will be widely applied in the ZigBee technology. But the AODVJr protocols did not provide security protect during the path of information and data transmission. This paper combied the SRP arithmetic and the tree route arithemetic,at the same time,which considered the routing hop of local node.Such as drop the cost and improved the network data transmission safety functions in the ZigBee network.
Key words : AODVJr protocols; SRP protocols; ZigBee network; route protocol

    ZigBee網(wǎng)絡(luò)協(xié)議在PHY層和MAC層采用802.15.4協(xié)議標(biāo)準(zhǔn),在EWK(網(wǎng)絡(luò))層和APL(應(yīng)用)層則采用由ZigBee聯(lián)盟定義的ZigBee協(xié)議標(biāo)準(zhǔn),具有低功耗、低速率、高穩(wěn)健、可靠、靈活的特點(diǎn)[1]。隨著ZigBee協(xié)議的不斷升級(jí),基于ZigBee技術(shù)的無(wú)線傳感網(wǎng)絡(luò)(簡(jiǎn)稱(chēng)ZigBee網(wǎng)絡(luò))將在家庭網(wǎng)絡(luò)、工業(yè)控制、工業(yè)無(wú)線定位、汽車(chē)自動(dòng)化、樓宇自動(dòng)化和醫(yī)療設(shè)備等多個(gè)領(lǐng)域?qū)崿F(xiàn)更廣泛的應(yīng)用[2-3]。本文研究的重點(diǎn)是將ZigBee網(wǎng)絡(luò)與其他網(wǎng)絡(luò)進(jìn)行鏈接,提出一種有效降低節(jié)點(diǎn)能耗、增加網(wǎng)絡(luò)安全、延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間的高效路由算法。結(jié)合AODVJr(按需路由協(xié)議的簡(jiǎn)化版)和樹(shù)路由算法,并將SRP(安全遠(yuǎn)程密碼協(xié)議)算法[4]加以考慮,提出一種具有降低網(wǎng)絡(luò)開(kāi)銷(xiāo)、提高網(wǎng)絡(luò)安全的路由安全協(xié)議。

1 節(jié)能算法的提出
    ZigBee網(wǎng)絡(luò)中,若路由節(jié)點(diǎn)的電池能量消耗較大,會(huì)導(dǎo)致網(wǎng)絡(luò)分割時(shí)刻提前,使網(wǎng)絡(luò)的吞吐量、傳輸時(shí)延等性能指標(biāo)急劇惡化。適當(dāng)?shù)亟档途W(wǎng)絡(luò)路由節(jié)點(diǎn)的能量開(kāi)銷(xiāo)對(duì)于網(wǎng)絡(luò)具有更大的優(yōu)化效果。
    AODVJr算法繼承了AODV(按需路由協(xié)議)算法的特性,同時(shí)在AODV算法基礎(chǔ)上取消了Hello包的發(fā)送,并規(guī)定只有目的節(jié)點(diǎn)對(duì)RREQ(路由請(qǐng)求)包進(jìn)行應(yīng)答,中間節(jié)點(diǎn)不會(huì)產(chǎn)生RREP(路由響應(yīng))。通過(guò)采用這種端到端的通信方式,可以大大降低網(wǎng)絡(luò)的開(kāi)銷(xiāo)。雖然AODVJr算法在尋找路徑的過(guò)程中有較大的優(yōu)勢(shì),然而該算法在路由發(fā)現(xiàn)過(guò)程中仍然會(huì)產(chǎn)生一些多余的RREQ分組,該分組雖然也參與了路由發(fā)現(xiàn)過(guò)程,然而卻對(duì)最終結(jié)果卻不起任何作用,如果在路由發(fā)現(xiàn)過(guò)程中去除掉這些RREQ包,將會(huì)有效地降低節(jié)點(diǎn)的開(kāi)銷(xiāo),增加網(wǎng)絡(luò)的生存時(shí)間。
    問(wèn)題的提出:
    (1)按照?qǐng)D1所示的樹(shù)路由傳輸規(guī)律,節(jié)點(diǎn)3發(fā)送數(shù)據(jù)給節(jié)點(diǎn)17要經(jīng)過(guò)3跳,如果在RREQ分組跳數(shù)大于4的情況下仍然繼續(xù)泛洪,則對(duì)最終找到路徑?jīng)]有任何作用;

    (2)當(dāng)節(jié)點(diǎn)12需要發(fā)送數(shù)據(jù)到節(jié)點(diǎn)7時(shí),若節(jié)點(diǎn)12沒(méi)有到節(jié)點(diǎn)7的路由表項(xiàng),則節(jié)點(diǎn)12向其所有的鄰居節(jié)點(diǎn)發(fā)送RREQ分組進(jìn)行路由發(fā)現(xiàn)過(guò)程。由于節(jié)點(diǎn)7并不是節(jié)點(diǎn)12的后裔節(jié)點(diǎn),所以節(jié)點(diǎn)12向其后裔節(jié)點(diǎn)發(fā)送RREQ分組對(duì)于需找到節(jié)點(diǎn)7的最優(yōu)路徑絲毫不起任何作用;
    (3)若節(jié)點(diǎn)12發(fā)送數(shù)據(jù)到其后裔節(jié)點(diǎn)19,從而節(jié)點(diǎn)12發(fā)送RREQ分組到其父節(jié)點(diǎn)3來(lái)尋找最優(yōu)路徑所起的作用也不大。
    (4)由于AODVJr協(xié)議過(guò)于簡(jiǎn)化,沒(méi)有考慮路由的安全性,使得路徑信息可能被更改,數(shù)據(jù)在傳輸過(guò)程中也極有可能被丟棄或者篡改,不利于安全機(jī)制的運(yùn)行。
    針對(duì)這些問(wèn)題,本文將TR算法和AODVJr算法相結(jié)合,并適當(dāng)限制路由過(guò)程中RREQ分組的泛洪,規(guī)定在改進(jìn)算法中RREQ的最大傳輸范圍為網(wǎng)絡(luò)最大深度L的2倍,這樣當(dāng)RREQ的傳輸范圍超過(guò)2L時(shí),節(jié)點(diǎn)便丟棄接收到的RREQ分組。
2 降低能耗的安全算法設(shè)計(jì)
    在上述提出降低能耗的基礎(chǔ)上,結(jié)合SRP安全算法,使得改進(jìn)的算法既起到降低能耗又能保障路徑傳輸數(shù)據(jù)的安全。由于SRP與AODVJr在路由機(jī)制上略有差異,本文在此對(duì)SRP算法也進(jìn)行了一些適用于AODVJr的改進(jìn):
    (1)考慮到AODVJr協(xié)議禁止中間節(jié)點(diǎn)對(duì)路由請(qǐng)求作出響應(yīng),本文也將SRP算法限制中間節(jié)點(diǎn)對(duì)路由請(qǐng)求作出響應(yīng)。
    (2)根據(jù)AODVJr協(xié)議中的“最快即最好”原則,本文同樣對(duì)SRP進(jìn)行一些設(shè)定,即目的節(jié)點(diǎn)只響應(yīng)最先收到的RREQ,對(duì)之后接收到的全部丟掉。
    (3)考慮到AODVJr協(xié)議中的RREP(路由響應(yīng))報(bào)文只能以單播的方式傳送回源節(jié)點(diǎn),因此在SRP算法中,目的節(jié)點(diǎn)發(fā)出的RREP包只能以逆著接收到RREQ報(bào)文來(lái)的路徑傳回到源節(jié)點(diǎn)。
    在SRP和AODVJr協(xié)議基礎(chǔ)上,對(duì)RREQ分組中增加flag標(biāo)志位和隨機(jī)問(wèn)詢標(biāo)志QID,flag=0表示當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)不應(yīng)該轉(zhuǎn)發(fā)RREQ分組,flag=1表示當(dāng)前節(jié)點(diǎn)的后裔節(jié)點(diǎn)不宜轉(zhuǎn)發(fā)RREQ分組。為避免中間節(jié)點(diǎn)將同一問(wèn)詢轉(zhuǎn)發(fā)多次或者目的節(jié)點(diǎn)對(duì)同一問(wèn)詢作出多次響應(yīng),應(yīng)使源節(jié)點(diǎn)在同一次發(fā)出的問(wèn)詢獲得相同的標(biāo)志。結(jié)合樹(shù)路由算法、AODVJr協(xié)議和SRP協(xié)議的改進(jìn)路由算法步驟如下:
    (1)如果ZigBee網(wǎng)絡(luò)中的RFD(終端)節(jié)點(diǎn)要發(fā)送數(shù)據(jù)到該網(wǎng)絡(luò)中的其他節(jié)點(diǎn),則RFD首先將數(shù)據(jù)發(fā)送給其具有路由功能的父節(jié)點(diǎn),再由其父節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。
    (2)如果具有路由功能的FFD節(jié)點(diǎn)要發(fā)送數(shù)據(jù)到網(wǎng)絡(luò)中的其他節(jié)點(diǎn),則RFD首先查看目的節(jié)點(diǎn)是否在鄰居列表中,如果沒(méi)有則啟動(dòng)路由發(fā)現(xiàn)請(qǐng)求;否則,直接進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
    (3)將源節(jié)點(diǎn)IP地址、目的節(jié)點(diǎn)IP地址、問(wèn)詢標(biāo)示QID地址、flag標(biāo)志位、SRP消息識(shí)別碼MAC和初始值為0的跳數(shù)值hops加入到RREQ包中。其中QID是在源節(jié)點(diǎn)發(fā)起RREQ時(shí)激發(fā)產(chǎn)生的一個(gè)32 bit隨機(jī)問(wèn)詢標(biāo)志,在路由發(fā)現(xiàn)階段,中間節(jié)點(diǎn)通過(guò)該標(biāo)志來(lái)識(shí)別路由請(qǐng)求,如果轉(zhuǎn)發(fā)成功,則跳數(shù)值hops加1。而MAC碼是由目的節(jié)點(diǎn)地址,源節(jié)點(diǎn)地址和共享的鑰匙KS、D作為單向散列函數(shù)的輸入,通過(guò)計(jì)算其輸出[6],可以獲得相應(yīng)的MAC碼。
    (4)當(dāng)源節(jié)點(diǎn)需要與另一節(jié)點(diǎn)進(jìn)行通信而又沒(méi)有通往該節(jié)點(diǎn)的路徑信息時(shí),源節(jié)點(diǎn)便向鄰居節(jié)點(diǎn)廣播一個(gè)路由請(qǐng)求消息RREQ發(fā)起一個(gè)路徑尋找過(guò)程[5]。
    (5)假如節(jié)點(diǎn)M作為中間轉(zhuǎn)發(fā)節(jié)點(diǎn)收到節(jié)點(diǎn)N發(fā)送來(lái)的RREQ包時(shí),首先查看分組RREQ分組里的跳數(shù)值和對(duì)隨機(jī)問(wèn)詢標(biāo)志QID提取,如果跳數(shù)hops>2L或者是當(dāng)QID與節(jié)點(diǎn)問(wèn)詢表的某個(gè)入口相符合時(shí),則丟棄該RREQ包。
    (6)否則若QID與節(jié)點(diǎn)問(wèn)詢表的某個(gè)入口不相符合且hops<2L時(shí),節(jié)點(diǎn)M繼續(xù)提取出源節(jié)點(diǎn)和目的節(jié)點(diǎn)地址,與QID一起在問(wèn)詢表中創(chuàng)建一個(gè)入口,且同時(shí)查看RREQ包里的flag值:如果flag=0,則說(shuō)明N的父節(jié)點(diǎn)不適合轉(zhuǎn)發(fā)此RREQ包;如果flag=1,說(shuō)明N的子節(jié)點(diǎn)不適合轉(zhuǎn)發(fā)RREQ。
    (7) 路徑上的每個(gè)中間節(jié)點(diǎn)都會(huì)重復(fù)步驟(5)~(6),同時(shí)檢測(cè)從鄰節(jié)點(diǎn)接收到問(wèn)詢的頻率次數(shù)。檢測(cè)到的頻率次數(shù)大于預(yù)先設(shè)定的一個(gè)頻率次數(shù)值時(shí),可以將該鄰居節(jié)點(diǎn)看成一個(gè)壞節(jié)點(diǎn)而丟棄,這樣壞節(jié)點(diǎn)就達(dá)不到消耗網(wǎng)絡(luò)資源、消耗網(wǎng)絡(luò)性能的目的了。
    (8) 當(dāng)目的節(jié)點(diǎn)接收到RREQ包時(shí),利用改進(jìn)的SRP算法來(lái)驗(yàn)證該RREQ是否有效,如果有效則目的節(jié)點(diǎn)開(kāi)始構(gòu)造響應(yīng)的路由響應(yīng)RREP,并將該響應(yīng)RREP逆著RREQ來(lái)的路徑傳輸回源節(jié)點(diǎn)。
    (9) 當(dāng)接收到來(lái)自目的節(jié)點(diǎn)的路由響應(yīng)時(shí),源節(jié)點(diǎn)先檢查RREP中源節(jié)點(diǎn)地址、目的地址和問(wèn)詢標(biāo)志QID,如果與當(dāng)前最迫切的問(wèn)詢不一致,則將RREP丟棄;若一致,則源節(jié)點(diǎn)利用參考文獻(xiàn)[6]計(jì)算消息識(shí)別碼MAC。若結(jié)果與RREP中的MAC碼相符合,則源節(jié)點(diǎn)就會(huì)認(rèn)為路由請(qǐng)求確實(shí)完好無(wú)損地到達(dá)了目的節(jié)點(diǎn),并且目的節(jié)點(diǎn)的響應(yīng)能夠沿著該路徑被源節(jié)點(diǎn)S成功,從而證實(shí)了該連接信息的有效性。具體的實(shí)現(xiàn)過(guò)程如圖2、圖3、圖4所示。

 

 


3 改進(jìn)算法的仿真及圖形分析
    網(wǎng)絡(luò)仿真軟件采用NS-2對(duì)改進(jìn)后的ZigBee算法進(jìn)行模擬實(shí)驗(yàn)。模擬的區(qū)域是1 000 m&times;1 000 m,節(jié)點(diǎn)的總數(shù)為100個(gè),隨機(jī)分布在這個(gè)區(qū)域內(nèi),每個(gè)節(jié)點(diǎn)的初始能量均為1 000 J,數(shù)據(jù)包長(zhǎng)度為128 bit,信道傳輸數(shù)據(jù)的傳輸率為250 kb/s。將改進(jìn)安全算法與傳統(tǒng)AODVJr算法的仿真結(jié)果進(jìn)行比較,如圖5和圖6所示。
    圖5中,曲線1表示傳統(tǒng)的AODVjr路由算法運(yùn)行時(shí)網(wǎng)絡(luò)消耗的總能量,曲線2表示改進(jìn)算法運(yùn)行時(shí)網(wǎng)絡(luò)消耗的總體能量。由于改進(jìn)算法引入了鄰居列表,在路由傳輸?shù)倪^(guò)程中綜合考慮了路由跳數(shù)并限制了路由泛洪,在網(wǎng)絡(luò)運(yùn)行到6 s時(shí)大約節(jié)省17.0%的網(wǎng)絡(luò)總能量。

    圖6中,曲線3表示傳統(tǒng)網(wǎng)絡(luò)在受到惡意節(jié)點(diǎn)攻擊時(shí),數(shù)據(jù)包的丟失率隨惡意節(jié)點(diǎn)的增多而變化的曲線。曲線4表示由于考慮了網(wǎng)絡(luò)的路由安全,將SRP算法與AODVJr算法相結(jié)合,提高了網(wǎng)絡(luò)的安全性,即使存在惡意節(jié)點(diǎn)的攻擊時(shí),數(shù)據(jù)包的丟失率相對(duì)曲線3和會(huì)減少很多。而在初始時(shí)刻,不存在惡意節(jié)點(diǎn)時(shí),曲線3曲線4幾乎相聚于零點(diǎn),因而可以得出在無(wú)攻擊的惡意節(jié)點(diǎn)時(shí),兩種算法的丟包率接近,且都非常小。
    針對(duì)傳統(tǒng)的ZigBee路由算法,本文提出一種在傳統(tǒng)的ZigBee路由算法的基礎(chǔ)上,引入鄰居表,在數(shù)據(jù)傳輸過(guò)程中,考慮了跳數(shù)hops,并與SRP算法相結(jié)合,通過(guò)實(shí)驗(yàn)驗(yàn)證了該算法降低了網(wǎng)絡(luò)總能耗,提高了網(wǎng)絡(luò)安全。但是該算法僅僅考慮了局部的路由跳數(shù)而沒(méi)有考慮整體的路由跳數(shù)的最優(yōu)化,同時(shí)只采用了傳統(tǒng)的SRP算法,面對(duì)惡意節(jié)點(diǎn)的攻擊時(shí)還不能很好地保護(hù)傳輸數(shù)據(jù)。今后的工作中,可以在這兩方面做進(jìn)一步的研究。
參考文獻(xiàn)
[1] ZigBee Alliance. ZigBee Specification(version 1.1)[S].2006.
[2] 謝川. 基于ZigBee的AODVjr算法研究[J].計(jì)算機(jī)工程. 2011,37(10):87-89.
[3] 鐘永鋒,劉永俊. ZigBee無(wú)線傳感網(wǎng)絡(luò)[M].北京:北京郵電大學(xué)出版社,2011:93-95.
[4] MARSHALL J. An analysis of SRP for mobile Ad Hoc networks[C].Proceeding of the 2002 Internation Multi Conference in Computer Science. Las Vegas,USA.2002.
[5] 戴逸民, 王培康, 陳巍. 通信網(wǎng)的安全理論與技術(shù)[M].北京:清華大學(xué)出版社,2006:126-246.
[6] 鄭東,李祥學(xué),黃征.密碼學(xué)&mdash;密碼算法與協(xié)議[M].北京:電子工業(yè)出版社,2009:84-90.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。