新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于跳數的防御無線傳感器網絡中蟲洞攻擊方案

        基于跳數的防御無線傳感器網絡中蟲洞攻擊方案

        作者: 時間:2013-10-09 來源:網絡 收藏
        3 防御方案
        作為網絡的管理者,應該清楚網絡的規模與拓撲結構。在數據傳輸過程中,如果源節點和目的節點之間的路由要經過10跳左右才能實現源節點和目的節點的通信,而某一條路由僅經過5跳甚至更少的跳數就可以實現節點間通信,網絡管理者就可以斷定此路由遭受到了。本文算法的提出正是基于這種思想。
        在描述本文提出的算法之前,為了使描述更加清晰,首先對網絡作如下假設:
        ①整個網絡是一個分層結構;
        ②每個節點都有其唯一的ID;
        ③源節點和目的節點不是的合謀節點;
        ④節點與其鄰居節點之間進行直接通信,與非鄰居節點之間以多跳方式進行通信。
        本文提出的防御路由算法IAODV是在算法的基礎上,增加了源節點路由跳數判斷和路由隨機選擇機制。改進后的I路由發現過程的算法描述如下:
        ①當源節點希望與目的節點進行數據傳輸,并且源節點路由表中沒有到達此目的節點的有效路由時,源節點就會發起路由發現過程。
        ②源節點生成一個路由請求分組即RREQ分組,RREQ分組中包含其ID號、源節點地址、源節點序列號、目的節點地址、目的節點序列號和跳數計數器等信息,寫入RREQ分組中,然后泛洪廣播該RREQ分組。
        ③當中間節點接收到該RREQ分組后,首先檢查RREQ分組的ID號和源節點地址信息,以確認自己之前是否已經處理過相同的RREQ分組。若是已經處理過,則丟棄該分組,以防止路由環路的出現。若之前沒有收到過該RREQ分組,中間節點將做兩項工作:一是更新本地路由表,更新內容包括目的序列號、定時器等;二是建立到達源節點的反向路由。完成上述更新工作后,中間節點將RREQ分組中的跳數加1,然后繼續將其轉發。
        ④當RREQ到達目的節點或者到目的節點路由的中間節點,目的節點或者該中間節點就會沿著反向路由向源節點回復路由響應分組,即RREP分組。RREP分組中包括目的節點地址、目的節點序列號、源節點地址以及源節點到目的節點的跳數值等信息。
        ⑤同轉發RREQ分組的中間節點類似,轉發RREP分組的中間節點也會做兩項工作,一是更新本地路由表,二是建立從源節點到目的節點正向路由,為源節點向目的節點傳送數據分組創建路由。完成上述更新工作后,中間節點將RREP分組中的跳數加1,然后繼續轉發,直至將RREP分組轉發至源節點。
        ⑥源節點在接收到從目的節點轉發來的第一個RREP分組后,并不立即傳輸數據。源節點首先會創建一個路由表,將RREP分組存儲起來,同時設置一個定時器,等待隨后從其他反向路由轉播到源節點的所有的RREP分組。定時器時間的設置要使得源節點能接收到隨后到達的所有RREP分組。另外,隨后到達的RREP分組不對源路由保存的RREP分組作任何更新,這樣能保證源節點可以接收到所有從源節點到目的節點的路由。
        ⑦定時器時間結束后,源節點將所有RREP分組的跳數字段中的跳數信息提取出來。
        ⑧利用分布函數模型,以路由跳數為隨機變量X,其分布函數為F(X)。根據路由跳數的分布函數F(X),設置一個安全區間(a,b)(0ab 1),如圖2所示。區間(a,b)的設置是靈活的,網絡管理者可以依據網絡規模和網絡拓撲結構來調整區間值,以適應不同的網絡環境。安全區間對應的跳數區間(i,j)稱之為安全跳數區間。

        b.jpg


        ⑨根據安全跳數區間,源節點將接收到的RREP分組里處于安全跳數區間內的路由保存起來,并在數據傳輸過程中隨機使用這些路由。隨機使用這些路由的目的在于:一是可以平衡節點能量的使用,延長網絡壽命;二是即使包含在安全區間內的路由再次遭受攻擊,隨機使用安全跳數區間內的路由也能降低網絡遭受蟲洞攻擊的概率。
        另外,在此僅討論路由發現階段路由算法的改進,所以,路由維護過程所需要的控制分組(RRER、HELLO)在改進后的IAODV中保持和AODV中同樣的分組格式。

        4 實驗分析
        實驗仿真是在Windows XP+Cygwin+NS2平臺上完成的。實驗內容主要包括蟲洞攻擊模塊的仿真和改進協議I移植至NS2平臺后的仿真。
        蟲洞攻擊中私有信道的建立是違背常規通信模型的。對私有信道的仿真要實現它的三種特性:高效性、隱蔽性和惡意性。為了使蟲洞路徑能夠優于其他路徑的延時和跳數,體現出其高效性,本實驗采取的解決方案是對蟲洞合謀節點和其余普通節點使用不同的無線信號功率,使得蟲洞合謀節點之間的傳輸距離遠遠大于普通節點的信號范圍。蟲洞信道中傳輸的數據應該對外界隱蔽,為了模擬這個特性,需要在數據鏈路層中對蟲洞鏈路設置對外的隱蔽性。為了模擬蟲洞信道對傳輸數據的惡意性,本實驗通過使用NS2中提供的無線遺失模型對蟲洞信道設置了2%的隨機丟包率。
        通過使用NS2中的TCL腳本語言對網絡屬性的定義和對NS2相關源程序的修改,本實驗建立起一個具有如下參數的網絡仿真環境。
        ◆節點數:14個。
        ◆仿真時間:20 s。
        ◆環境大小:1000 m×1000 m。
        ◆傳輸半徑:正常節點100 m,惡意節點250 m。
        ◆遺失模型丟包率2%。
        如圖3所示是本實驗中網絡仿真環境的拓撲結構。其中節點10被設置為源節點,節點2被設置為目的節點。節點0和1被設置為惡意節點,這兩個節點之間建立起一條高質量的私有信道,吸引從節點10發出的數據包,然后直接傳輸至節點私有信道的另一端。惡意節點在私有信道的傳輸過程中對數據包進行隨機丟包,以實現蟲洞攻擊的目的。

        c.jpg



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 开原市| 繁峙县| 霞浦县| 中牟县| 永新县| 江源县| 洛阳市| 合山市| 西藏| 永安市| 德格县| 商都县| 漳州市| 六盘水市| 靖远县| 永清县| 呼伦贝尔市| 喀什市| 九台市| 江阴市| 法库县| 班玛县| 图木舒克市| 花莲市| 甘肃省| 合山市| 克什克腾旗| 临西县| 建水县| 荣成市| 金塔县| 绥滨县| 武安市| 平江县| 宜川县| 奈曼旗| 肇庆市| 陆良县| 阿勒泰市| 霍邱县| 漳浦县|