《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 降低ZigBee網(wǎng)絡(luò)能耗的路由安全算法
降低ZigBee網(wǎng)絡(luò)能耗的路由安全算法
來源:電子技術(shù)應(yīng)用2012年第7期
蔣建平, 陳 輝
桂林電子科技大學(xué) 信息與通信學(xué)院, 廣西 桂林541004
摘要: 基于ZigBee技術(shù)的無線傳感網(wǎng)絡(luò)中,路由協(xié)議起著極其重要的作用,。AODVJr協(xié)議是AODV協(xié)議的簡化,,它在ZigBee技術(shù)中得到廣泛的應(yīng)用。雖然AODVJr協(xié)議相對于AODV協(xié)議來說進行了各種優(yōu)化,,在同等條件下其性能優(yōu)于AODV協(xié)議,,然而對路徑信息及傳輸數(shù)據(jù)的安全方面并未提供保障。將SRP(安全遠程密碼協(xié)議)協(xié)議,、AODVJr協(xié)議與樹路由算法相結(jié)合并考慮了局部節(jié)點的路由跳數(shù),,以達到降低ZigBee網(wǎng)絡(luò)的總能量、提高網(wǎng)絡(luò)數(shù)據(jù)傳輸安全的目的,。
中圖分類號: TN918
文獻標識碼: A
文章編號: 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é)議標準,在EWK(網(wǎng)絡(luò))層和APL(應(yīng)用)層則采用由ZigBee聯(lián)盟定義的ZigBee協(xié)議標準,,具有低功耗,、低速率、高穩(wěn)健,、可靠,、靈活的特點[1]。隨著ZigBee協(xié)議的不斷升級,,基于ZigBee技術(shù)的無線傳感網(wǎng)絡(luò)(簡稱ZigBee網(wǎng)絡(luò))將在家庭網(wǎng)絡(luò),、工業(yè)控制、工業(yè)無線定位,、汽車自動化,、樓宇自動化和醫(yī)療設(shè)備等多個領(lǐng)域?qū)崿F(xiàn)更廣泛的應(yīng)用[2-3]。本文研究的重點是將ZigBee網(wǎng)絡(luò)與其他網(wǎng)絡(luò)進行鏈接,,提出一種有效降低節(jié)點能耗,、增加網(wǎng)絡(luò)安全、延長網(wǎng)絡(luò)生存時間的高效路由算法,。結(jié)合AODVJr(按需路由協(xié)議的簡化版)和樹路由算法,,并將SRP(安全遠程密碼協(xié)議)算法[4]加以考慮,提出一種具有降低網(wǎng)絡(luò)開銷,、提高網(wǎng)絡(luò)安全的路由安全協(xié)議,。

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

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

 

 


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

    圖6中,,曲線3表示傳統(tǒng)網(wǎng)絡(luò)在受到惡意節(jié)點攻擊時,,數(shù)據(jù)包的丟失率隨惡意節(jié)點的增多而變化的曲線。曲線4表示由于考慮了網(wǎng)絡(luò)的路由安全,,將SRP算法與AODVJr算法相結(jié)合,,提高了網(wǎng)絡(luò)的安全性,即使存在惡意節(jié)點的攻擊時,,數(shù)據(jù)包的丟失率相對曲線3和會減少很多。而在初始時刻,,不存在惡意節(jié)點時,,曲線3曲線4幾乎相聚于零點,因而可以得出在無攻擊的惡意節(jié)點時,,兩種算法的丟包率接近,,且都非常小,。
    針對傳統(tǒng)的ZigBee路由算法,本文提出一種在傳統(tǒng)的ZigBee路由算法的基礎(chǔ)上,,引入鄰居表,,在數(shù)據(jù)傳輸過程中,考慮了跳數(shù)hops,,并與SRP算法相結(jié)合,,通過實驗驗證了該算法降低了網(wǎng)絡(luò)總能耗,提高了網(wǎng)絡(luò)安全,。但是該算法僅僅考慮了局部的路由跳數(shù)而沒有考慮整體的路由跳數(shù)的最優(yōu)化,,同時只采用了傳統(tǒng)的SRP算法,面對惡意節(jié)點的攻擊時還不能很好地保護傳輸數(shù)據(jù)。今后的工作中,,可以在這兩方面做進一步的研究,。
參考文獻
[1] ZigBee Alliance. ZigBee Specification(version 1.1)[S].2006.
[2] 謝川. 基于ZigBee的AODVjr算法研究[J].計算機工程. 2011,37(10):87-89.
[3] 鐘永鋒,劉永俊. ZigBee無線傳感網(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)載,。