《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 無線傳感網(wǎng)絡中RPL路由協(xié)議研究及性能分析
無線傳感網(wǎng)絡中RPL路由協(xié)議研究及性能分析
2017年微型機與應用第3期
阮文靈,,曾培峰
東華大學 計算機科學與技術學院,,上海 201620
摘要: 詳細介紹了無線傳感網(wǎng)絡中的RPL(IPv6 Routing Protocol for LowPower and Lossy Networks)路由協(xié)議,,從仿真環(huán)境、參數(shù)設定,、仿真場景設計等方面對RPL路由協(xié)議的仿真進行了分析,。利用cooja模擬器對RPL路由協(xié)議進行了仿真,并針對分組遞交率和平均功耗兩個性能指標對RPL路由協(xié)議進行性能評估,。仿真結(jié)果表明,,RPL路由協(xié)議在分組遞交率方面適用于各個場景,并能很好地適應網(wǎng)絡的動態(tài)變化,;在功耗方面不適用于樹型空間位置的場景,,并且對于動態(tài)變化的網(wǎng)絡會大大增加平均功耗。
Abstract:
Key words :

  阮文靈,,曾培峰

 ?。|華大學 計算機科學與技術學院,上海 201620)

       摘要:詳細介紹了無線傳感網(wǎng)絡中的RPL(IPv6 Routing Protocol for LowPower and Lossy Networks)路由協(xié)議,,從仿真環(huán)境,、參數(shù)設定、仿真場景設計等方面對RPL路由協(xié)議的仿真進行了分析,。利用cooja模擬器對RPL路由協(xié)議進行了仿真,,并針對分組遞交率和平均功耗兩個性能指標對RPL路由協(xié)議進行性能評估。仿真結(jié)果表明,,RPL路由協(xié)議在分組遞交率方面適用于各個場景,,并能很好地適應網(wǎng)絡的動態(tài)變化;在功耗方面不適用于樹型空間位置的場景,,并且對于動態(tài)變化的網(wǎng)絡會大大增加平均功耗,。

  關鍵詞:RPL路由協(xié)議;網(wǎng)絡仿真,;cooja模擬器,;分組遞交率;平均功耗

  中圖分類號:TP391.9文獻標識碼:ADOI: 10.19358/j.issn.1674 7720.2017.03.019

  引用格式:阮文靈,,曾培峰.無線傳感網(wǎng)絡中RPL路由協(xié)議研究及性能分析[J].微型機與應用,,2017,36(3):63-66.

0引言

  隨著網(wǎng)絡的發(fā)展,物聯(lián)網(wǎng)[1]已經(jīng)成為繼互聯(lián)網(wǎng)之后的發(fā)展趨勢,。作為物聯(lián)網(wǎng)的重要組成部分,無線傳感網(wǎng)絡由于受到處理能力,、內(nèi)存容量,、電量等限制,其路由協(xié)議設計充滿挑戰(zhàn),?;ヂ?lián)網(wǎng)工程任務組(Internet Engineering Task Force, IETF)建立低功耗有損網(wǎng)絡路由工作組(Routing over Lossy and Lowpower Networks, ROLL)來解決這一問題,,提出一種新的路由協(xié)議RPL,即IPv6 Routing Protocol for LowPower and Lossy Networks[2],。

  本文首先介紹了RPL路由協(xié)議的原理,,分析了控制路由報文發(fā)送頻率的Trickle算法[3],其次用cooja[4]對不同場景進行了仿真,,并根據(jù)仿真結(jié)果分析了RPL路由協(xié)議的性能,,接著驗證了Trickle算法,最后進行了總結(jié),。

1RPL路由協(xié)議原理

  RPL路由協(xié)議是一種距離矢量路由協(xié)議,,它根據(jù)目標函數(shù)(Objective Function,OF)構建以目的節(jié)點(根節(jié)點)為導向的有向無環(huán)圖(DestinationOriented Directed Acyclic Graph,DODAG)。每個非根節(jié)點通過目標函數(shù)計算出一個Rank值,,表明自己與根節(jié)點之間的距離關系,。目前常用的目標函數(shù)有OF0(Objective Function Zero)[5]、MRHOF(The Minimum Rank with Hysteresis Objective Function)[6]和ETX(Expected Transmission Count)[7],。三種控制報文用于RPL路由協(xié)議,,分別是DODAG信息請求報文(DODAG Information Solicitation,DIS)、DODAG信息對象報文(DODAG Information Object,DIO)和目的廣告對象報文(Destination Advertisement Object,DAO),。DIS報文用于未加入網(wǎng)絡的節(jié)點向網(wǎng)絡中的節(jié)點主動尋求DIO報文,,并尋求加入網(wǎng)絡;DIO報文攜帶了一些配置參數(shù),,如RPLInstanceID,、DODAGID、Rank等,,讓未加入網(wǎng)絡的節(jié)點能夠發(fā)現(xiàn)RPL實例并學習這些配置參數(shù),,選擇父節(jié)點,主要用于向上路由的建立,;DAO報文攜帶一些路由前綴信息,,主要用于向下路由的建立。

  1.1DODAG構建過程

  整個DODAG的構建可以分為兩個部分,,第一部分是向上路由的構建,,第二部分是向下路由的構建。

  如圖1所示,,向上路由的構建過程從根節(jié)點(6LoWPAN Border Router,6LBR)開始,,6LBR廣播DIO報文,它攜帶著自己節(jié)點的信息RPLInstanceID,、DODAGID,、Rank等,在它傳輸范圍內(nèi)的6LRA(6LoWPAN Router A)收到該DIO報文后,選擇6LBR作為父節(jié)點并加入該DODAG,。6LRA具有路由功能,,它會根據(jù)目標函數(shù)計算rank值并更新收到的DIO報文,并廣播出去,,在它傳輸范圍內(nèi)的6LRB收到該DIO報文后,,選擇6LRA作為父節(jié)點并加入該DODAG。在6LRB加入DODAG后的某一時刻,,6LN(6LoWPAN NODE)主動廣播DIS報文,,尋求加入某個DODAG。6LRB收到該DIS報文后,,給6LN回復DIO報文,,讓6LN選擇6LRB作為父節(jié)點并加入DODAG。至此整個DODAG的向上路由就建立了,。向下路由通過DAO報文來構建,。6LRA在收到6LBR的DIO報文后,回復6LBR DAO報文,,6LBR收到后將6LRA的前綴信息加入到路由表項中,。6LRB收到6LRA的DIO報文后,回復6LRA DAO報文,,6LRA處理該DAO報文后并向自己的父節(jié)點6LBR回復DAO報文,,6LBR收到該DAO報文后將6LRB的前綴信息加入路由表項中。因此,,DAO報文的處理工程是從子節(jié)點發(fā)送自己的父節(jié)點,,父節(jié)點在處理后依次發(fā)送給自己的父節(jié)點,直到發(fā)送到根節(jié)點為止,,根節(jié)點包含了所有節(jié)點的前綴信息,。

001.jpg

  1.2Trickle算法

  Trickle算法是RPL路由協(xié)議中一個重要的組成部分,它用來控制DIO報文的發(fā)送頻率,。Trickle算法運用了自適應傳輸周期機制,,保證網(wǎng)絡中路由信息一致時,發(fā)送較少的路由報文,;而不一致時迅速發(fā)送大量的路由報文,,從而快速更新路由信息,保證一致性,。

  為了實現(xiàn)上述自適應傳輸周期的機制,,Trickle算法使用了3個配置參數(shù):最小時隙Imin表示DIO報文發(fā)送間隔的最小范圍;最大時隙Imax表示DIO報文發(fā)送間隔的最大范圍,;常數(shù)k用于表征DIO報文是否發(fā)送,。Trickle算法還使用了3個變量:當前時隙I,,表示DIO報文當前的發(fā)送間隔;當前時隙的時間點t,,表示只有到達當前時隙中的時間點t,DIO報文才有可能發(fā)送;一致性計數(shù)器c,,用于與常數(shù)k比較,,根據(jù)比較結(jié)果決定是否發(fā)送DIO報文。

  Trickle算法的具體執(zhí)行步驟如下:

 ?。?)Trickle算法開始執(zhí)行時,,首先把當前時隙I隨機置成[Imin, Imax]中的一個時隙,并且開始第一個時隙,;

  (2)當一個時隙開始時,,把一致性計數(shù)器c重置成0,并把時間點t設為當前時隙I中大于等于I/2,、小于等于I的一個隨機時間點,;

  (3)當監(jiān)聽到一致性消息時,增加計數(shù)器c;

  (4)在時間點t,,當計數(shù)器c小于常數(shù)k時,,發(fā)送DIO消息,否則不發(fā)送DIO消息,;

  (5)當時隙I過期后,,時隙I=I×2,當I>Imax時, I置成Imax,,并判斷下一時隙是否有效,,若有效返回步驟(2),否則結(jié)束,;

  (6)當監(jiān)聽到不一致性消息并且I>Imin時,,重置I為Imin,當I=Imin時,,什么也不做,,并判斷下一時隙是否有效,若有效返回步驟(2),,否則結(jié)束,。

2仿真環(huán)境和參數(shù)設置

  2.1仿真環(huán)境

  使用cooja對RPL路由協(xié)議進行仿真,cooja是基于Contiki操作系統(tǒng)[8]的模擬器,。

  2.2仿真參數(shù)

  在仿真實驗中,,使用的目標函數(shù)為ETX(Expected Transmission Count)。ETX指一個節(jié)點成功傳輸一個數(shù)據(jù)包給目的節(jié)點需要傳輸?shù)拇螖?shù),。無線介質(zhì)類型是UDMG類型,,如圖2所示,,內(nèi)部的圓區(qū)域代表了節(jié)點1能從其他節(jié)點接收包的范圍,其中的百分比分別代表了從不同節(jié)點接收包的成功率,,它隨著與節(jié)點1的距離增大而減小,。外部的圓區(qū)域為受到無線干擾的范圍。設置接收包的范圍為50 m,,受到干擾的范圍是100 m,,發(fā)送包的成功率為100%,接收包的成功率根據(jù)節(jié)點間的距離確定,。

002.jpg

  仿真時間為15 min,,節(jié)點的類型為sky類型,并且只有1個根節(jié)點,。在不同空間位置關系的節(jié)點圖仿真實驗中,,有30個具有路由功能的節(jié)點;在動態(tài)增減節(jié)點的仿真實驗中,,在第5 min時動態(tài)減少或增加10個有路由功能的節(jié)點,。這些節(jié)點分布在200 m×200 m的正方形區(qū)域內(nèi)。

3仿真分析

  為了對仿真結(jié)果進行分析,,需要使用評估RPL路由協(xié)議的性能指標[9],,使用分組遞交率和平均功耗作為評估的指標。

  3.1不同空間位置關系的節(jié)點圖仿真

  為了評估RPL路由協(xié)議在不同的拓撲情況下的性能,,根據(jù)根節(jié)點與路由節(jié)點的關系,,設計了4種不同空間位置關系的節(jié)點圖,如圖3所示,。

003.jpg

  圖4顯示了15 min內(nèi)不同場景下發(fā)送給根節(jié)點包的數(shù)量和根節(jié)點接收包的數(shù)量,,圖5根據(jù)圖4的數(shù)據(jù)計算出了分組遞交率。根據(jù)圖4,,不同空間位置節(jié)點圖發(fā)送給根節(jié)點的包的總數(shù)基本相同,,為420左右。根據(jù)圖5,,格子型的分組遞交率最高,,為98.81%,而樹型的分組遞交率最低,,為95.44%,,但是相差都不是特別大,并且包的遞交率都達到了95%以上,。根據(jù)上述結(jié)果,,在分組遞交率方面RPL路由協(xié)議在靜態(tài)的不同場景下都有較好的表現(xiàn)。

004.jpg

  圖6顯示了15 min內(nèi)除根節(jié)點之外的其他所有節(jié)點的功耗的平均值,。根據(jù)圖6,,樹型的平均功耗最大,,為3.14 mW,格子型的平均功耗最小,,為1.79 mW,。樹型的平均功耗遠遠大于其他三種情況下的平均功耗。根據(jù)上述結(jié)果,,在平均功耗方面PRL路由協(xié)議對于樹型位置關系表現(xiàn)得并不是很好,,而其他三種場景下有較好的表現(xiàn)。

005.jpg

  3.2動態(tài)增減節(jié)點的仿真

  為了評估RPL路由協(xié)議在動態(tài)變化拓撲中的性能,,設計了動態(tài)增減節(jié)點的場景。節(jié)點隨機關系的場景是最常見的場景,,因此動態(tài)增減節(jié)點的仿真使用隨機關系場景,。

  圖7顯示了15 min內(nèi)不同條件下發(fā)送給根節(jié)點包的數(shù)量和根節(jié)點接收包的數(shù)量,圖8根據(jù)圖7的數(shù)據(jù)計算出了分組遞交率,。根據(jù)圖7,,在第5 min時動態(tài)加入節(jié)點的場景下,其他路由節(jié)點發(fā)送給根節(jié)點和根節(jié)點接收包的數(shù)量都比原來的要多,,而動態(tài)減少節(jié)點的情況下都比原來的要少,;但都少于一開始靜態(tài)相同位置相同數(shù)目節(jié)點的場景,說明節(jié)點個數(shù)影響發(fā)送給根節(jié)點和根節(jié)點接收包的數(shù)量,。根據(jù)圖8,,在第5 min時動態(tài)加入和減少節(jié)點的場景

006.jpg

  圖8分組遞交率與靜態(tài)相同位置相同數(shù)目節(jié)點場景相比,包遞交率相差不大,,說明動態(tài)增減節(jié)點對包遞交率影響很小,,RPL路由協(xié)議能夠很好地適應網(wǎng)絡的動態(tài)變化。

  圖9顯示了15 min內(nèi)不同場景的平均功耗,。根據(jù)圖9,,在第5 min時動態(tài)加入和減少節(jié)點的場景與靜態(tài)相同位置相同數(shù)目節(jié)點場景相比,平均功耗都大大增加,,說明了在功耗方面,,RPL路由協(xié)議對于動態(tài)變化的網(wǎng)絡會大大增加節(jié)點的平均功耗。

007.jpg

  3.3Trickle算法的仿真

  為了驗證Trickle算法能夠有效控制DIO報文的發(fā)送頻率,,在網(wǎng)絡維持不變時增大DIO報文的發(fā)送間隔,,在網(wǎng)絡發(fā)送變化時能夠迅速減小DIO報文發(fā)送的間隔,從而維護網(wǎng)絡,。使用圖2進行了仿真,,圖10顯示了仿真結(jié)果。

008.jpg

  圖中橫坐標代表時間節(jié)點,,縱坐標代表時隙的大小,。圖中顯示了三個階段,,第一階段網(wǎng)絡沒有發(fā)生變化,因此每次當前時隙I到期后,,I變成了I×2(I×2<Imax),,而當I等于Imax時,I到期后,,I維持不變,,圖中Imax為2 100 s,因此I到達2 100 s后一直維持不變。在第二階段移動節(jié)點6,,網(wǎng)絡發(fā)生變化,,因此Trickle算法將當前時隙I由2 100 s迅速降到最小,之后在第三階段網(wǎng)絡達到穩(wěn)定后,,節(jié)點6的時隙I仍然按照原來增長,。4結(jié)束語

  本文對RPL路由協(xié)議進行了詳細的介紹,并對靜態(tài)場景及動態(tài)增減節(jié)點情況下的RPL路由協(xié)議性能進行了深入評估,。從仿真結(jié)果得出以下結(jié)論:

 ?。?)對于不同靜態(tài)場景,分組遞交率都在95%以上,,并且相差不大,,RPL路由協(xié)議對各種節(jié)點布局都適用;對于動態(tài)增減節(jié)點,,分組遞交率與靜態(tài)相比相差不大,,RPL路由協(xié)議能適應網(wǎng)絡的動態(tài)變化。

 ?。?)對于不同靜態(tài)場景,,樹型位置關系的平均功耗遠大于其他關系的平均功耗,RPL路由協(xié)議對于樹型位置關系并不特別合適,;對于動態(tài)增減節(jié)點,,RPL路由協(xié)議會大大增加平均功耗。

 ?。?)Trickle算法能夠有效地控制路由報文的發(fā)送,。

  參考文獻

  [1] GUBBI J, BUYYA R, MARUSIC S, et al. Internet of Things (IoT): a vision, architectural elements, and future directions[J]. Future Generation Computer Systems, 2013, 29(7):1645-1660.

 ?。?] WINTER T, THUBERT P, BRANDT A, et al. RPL: IPv6 routing protocol for lowpower and lossy networks[S]. Internet: RFC 6550, 2012.

 ?。?] LEVIS P, CLAUSEN T, HUI J, et al. The trickle algorithm[S]. Internet: RFC 6206, 2011.

  [4] OSTERLIND F, DUNKELS A, ERIKSSON J, et al. Crosslevel sensor network simulation with COOJA[C]. Proceedings of 31st IEEE Conference on Local Computer Networks, Tampa,FL: IEEE, 2006: 641-648.

 ?。?] THUBERT P. RPL objective function zero[S]. Internet: RFC 6552, 2012.

 ?。?] GNAWALI O, LEVIS P. The minimum rank with hysteresis objective function[S]. Internet: RFC 6719, 2012.

  [7] GNAWALI O, LEVIS P. The ETX objective function for RPL[S]. Internet: draftgnawalirolletxof00, 2010.

 ?。?] DUNKELS A, GRONVALL B, VOIGT T. Contiki a lightweight and flexible operating system for tiny networked sensors[C]. Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks, 2004. IEEE, 2004:455-462.

 ?。?] TRIPATHI J, DE OLIVEIRA J, VASSEUR J P. Performance evaluation of routing protocol for low power and lossy networks[S]. Internet: RFC 6687, 2012.


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