張俊清 張剛強 劉俊凱
(水聲對抗技術(shù)重點實驗室,上海,201108)
由于水聲通信信道的開放性,水聲通信網(wǎng)絡(luò)容易受到多種網(wǎng)絡(luò)攻擊,包括網(wǎng)絡(luò)內(nèi)的自干擾、外界敵意干擾、拒絕服務(wù)干擾、偽造、惡意節(jié)點攻擊等[1]。干擾攻擊和防御是目前水聲通信網(wǎng)絡(luò)研究面臨的難題。
水聲通信網(wǎng)絡(luò)干擾攻擊主要是占用水聲通信信道,使其網(wǎng)絡(luò)節(jié)點不能正常進行數(shù)據(jù)傳輸,從而影響網(wǎng)絡(luò)節(jié)點正常的工作。干擾的目標可以是節(jié)點、信道以及網(wǎng)絡(luò)結(jié)構(gòu)等。攻擊的目的是降低水聲通信網(wǎng)絡(luò)信道容量、分割網(wǎng)絡(luò)區(qū)域、降低網(wǎng)絡(luò)吞吐量、增加網(wǎng)絡(luò)時延等。發(fā)起攻擊的區(qū)域可以包括時域、空域頻域等。不同目標、目的和攻擊域相互組合產(chǎn)生多種多樣的攻擊模型。
當(dāng)前干擾攻擊的研究多數(shù)從時域或頻域發(fā)起,對于干擾節(jié)點的空域部署關(guān)注較少。從時域角度來看,干擾攻擊可以分為持續(xù)干擾、欺騙性干擾和隨機干擾3 類[2]。從頻域角度來看,干擾攻擊包括跟蹤干擾、阻塞干擾和靈巧干擾等[4],一些復(fù)雜的干擾攻擊包括跨層干擾攻擊、協(xié)議層干擾攻擊等。Brown 等總結(jié)了干擾的分層模型,并基于離線感知的方法發(fā)起干擾攻擊[3]。Li 等針對單個干擾者且干擾目標是降低合法節(jié)點的傳輸成功率情況,分析了干擾者的最優(yōu)傳輸策略[4]。Devi 等分析了干擾攻擊對無線網(wǎng)絡(luò)的影響,并提出了使用分組速率劃分進行干擾緩解[5]。闞保強等針對多跳無線網(wǎng)絡(luò)的干擾攻擊問題,提出使用多路徑路由協(xié)議先驗性的規(guī)避干擾區(qū)域[6]。針對802.11 協(xié)議的信道接入機制和數(shù)據(jù)發(fā)送機制,多篇文獻提出了對應(yīng)的協(xié)議層次的干擾方法,Gummadi 等分析了載波監(jiān)聽協(xié)議面臨的干擾攻擊威脅[7],Zhang 等人提出了針對ACK 機制的干擾方法[8],Acharya 等提出了針對802.11b 的干擾攻擊方法[9]。
從空間域上考察干擾節(jié)點的部署,目前的研究很少。國防科技大學(xué)的孫言強等人對這個問題提出了一個基本模型,即在有k 個干擾節(jié)點的情形中,攻擊者如何放置這些干擾節(jié)點,以使網(wǎng)絡(luò)中節(jié)點與節(jié)點之間的連通度最小,也稱為k-干擾節(jié)點部署問題( k-Jammer Deployment Problem,k-JDP)[10]。他們首先證明了該問題即使在理想情況下(攻擊者掌握了傳感器網(wǎng)絡(luò)全局拓撲信息),依然是NP 完全的,然后給出了該問題的整數(shù)線性規(guī)劃模型,最后提出了一種基于獨立集相關(guān)理論的啟發(fā)式算法[3]。但是該文提出的啟發(fā)式算法的有效性并未通過試驗進行驗證,也未考慮干擾目的、可用資源和被干擾目標特征等相關(guān)因素。目前針對干擾節(jié)點空間部署問題的研究尚在初期,難以滿足現(xiàn)實應(yīng)用需要。 本文針對干擾節(jié)點空域部署問題,首先給出了部署問題的通用模型,然后基于網(wǎng)絡(luò)度分布特征提出了一種干擾節(jié)點部署方法。該方法通過被動監(jiān)聽推斷網(wǎng)絡(luò)中節(jié)點的度信息,將啟發(fā)式的選擇度最大的節(jié)點作為干擾目標,從而有效降低網(wǎng)絡(luò)的平均吞吐量。
干擾節(jié)點不同的部署位置對水聲通信網(wǎng)絡(luò)的干擾結(jié)果具有直接影響,如何保證最大限度對水聲通信網(wǎng)絡(luò)干擾,需要進一步解決干擾節(jié)點部署問題。圖1 是典型的水聲通信網(wǎng)絡(luò)拓撲結(jié)構(gòu),各個節(jié)點功能相同,干擾節(jié)點的目的是最小化網(wǎng)絡(luò)吞吐量。
1 個干擾節(jié)點部署于網(wǎng)絡(luò)中時水聲通信網(wǎng)絡(luò)干擾節(jié)點部署的方法見圖2~3。圖中干擾節(jié)點部署于空間不同位置,圖2 干擾節(jié)點部署方法明顯優(yōu)于圖3,這是由于圖2 干擾節(jié)點部署在更多相鄰節(jié)點的路徑上,比方法B 干擾更多的端到端流量。
圖1 水聲通信網(wǎng)絡(luò)拓撲結(jié)構(gòu)
圖2 干擾節(jié)點部署方法A
圖3 干擾節(jié)點部署方法B
干擾節(jié)點部署于不同位置,對整個網(wǎng)絡(luò)的吞吐量影響不同,所以,選擇干擾節(jié)點位置對于達到干擾目的起著至關(guān)重要的作用,需研究一種高效的干擾節(jié)點部署方法。
干擾節(jié)點部署的主要目標和約束是:如何根據(jù)被干擾網(wǎng)絡(luò)的狀態(tài)(網(wǎng)絡(luò)層協(xié)議、網(wǎng)絡(luò)拓撲結(jié)構(gòu)、物理層信道特征、節(jié)點分布狀態(tài)),有效利用可用資源(包括干擾節(jié)點數(shù)量、功率、被干擾網(wǎng)絡(luò)的網(wǎng)絡(luò)層以及物理層知識),選擇最佳的目標和干擾行為(干擾區(qū)域、樣式、方法),從而達到最大化的干擾目標及最小化干擾資源的使用。通用模型描述如下:(1)最大化目標干擾效果;(2)最小化干擾資源利用;(3)限制條件,部署的干擾節(jié)點數(shù)量及其性能要求≤可用干擾資源限制R,干擾部署所基于被干擾網(wǎng)絡(luò)的知識符合假設(shè)。
為了在特定背景下將這個模型實例化,需細化其中的干擾目標、資源限制和關(guān)于被干擾網(wǎng)絡(luò)的信息。對于不同的水聲通信網(wǎng)絡(luò)場景,其干擾部署問題并不相同,對應(yīng)采取的干擾節(jié)點部署方法也相應(yīng)存在差異,需要限定問題范圍提出對應(yīng)的策略。本文假設(shè)干擾節(jié)點部署場景如下:水聲網(wǎng)絡(luò)拓撲;節(jié)點間的包流量為廣播模式,且服從泊松分布;網(wǎng)絡(luò)采用固定路由算法。J 是干擾節(jié)點集合;干擾節(jié)點的傳輸功率與水聲通信網(wǎng)絡(luò)節(jié)點相同,干擾部署的目標是最小化網(wǎng)絡(luò)吞吐量。
部署干擾節(jié)點需要充分考慮網(wǎng)絡(luò)特征參數(shù),例如平均路徑長度、度分布等。本文針對節(jié)點度分布的特征參數(shù),提出干擾節(jié)點部署方法。度是網(wǎng)絡(luò)中單個節(jié)點的局部特征的基本參數(shù),度分布反映了網(wǎng)絡(luò)的宏觀統(tǒng)計特征。針對水聲通信網(wǎng)絡(luò)中的節(jié)點,度定義為該節(jié)點Vi連接的其它節(jié)點的數(shù)目,節(jié)點的度包括入度和出度兩種,入度是其它節(jié)點指向Vi的邊的數(shù)量;出度是指從Vi出發(fā)指向其它節(jié)點的邊的數(shù)量。假設(shè)水聲通信網(wǎng)絡(luò)中的邊是雙向連接,因此每個節(jié)點入度等于出度,從每個節(jié)點的度出發(fā),可以得到水聲通信網(wǎng)絡(luò)的平均度、度分布參數(shù)等統(tǒng)計特征。
為了推斷水聲通信網(wǎng)絡(luò)節(jié)點度分布,需要考慮水聲通信網(wǎng)絡(luò)媒體接入控制協(xié)議(Medium Access Control,MAC)。水聲通信網(wǎng)絡(luò)MAC 協(xié)議分為競爭性和非競爭性,典型的MAC 協(xié)議包括載波偵聽多址協(xié)議(Carrier Sense Multiple Access,CSMA)、MACA(Multiple Access with Collision Avoidance)、協(xié)議和時分多址(Time Division Multiple Access,TDMA)等。為了估計節(jié)點的度分布信息,針對不同MAC 協(xié)議,干擾者需要采取不同的估計方法,包括主動測量和被動監(jiān)聽等。主動測量方法需要發(fā)送大量的數(shù)據(jù)信息,這給水聲通信網(wǎng)絡(luò)造成極大的侵擾,容易暴露干擾者自身信息。被動監(jiān)聽方法通過監(jiān)聽水聲通信網(wǎng)絡(luò)的報文交換過程以及報文內(nèi)容來推斷節(jié)點度信息。本文采用被動監(jiān)聽方式估計節(jié)點度分布。
1.2.1 水聲網(wǎng)絡(luò)被動監(jiān)聽估計節(jié)點度基本原理
本文主要針對目前在水下通信網(wǎng)絡(luò)研究最多且比較成熟的MACA 協(xié)議干擾。MACA 協(xié)議的基本原理是基于RTS/CTS(Request to Send /Clear to Send)握手預(yù)約信道的MAC 協(xié)議。MACA 協(xié)議握手機制如圖4 所示。
當(dāng)發(fā)送端有數(shù)據(jù)要發(fā)送,預(yù)約信道時,會發(fā)送一個短的RTS 包,包中含待發(fā)送數(shù)據(jù)包的長度。如果信道空閑且沒有被其它節(jié)點預(yù)約,接收端會發(fā)送CTS 包回復(fù)發(fā)送端,包中同樣也含了待發(fā)送數(shù)據(jù)包的長度。當(dāng)收到CTS 包之后,發(fā)送端立即開始傳輸數(shù)據(jù)包,其他能夠聽到RTS 包的節(jié)點推遲足夠長的時間,以保證發(fā)送端接收相應(yīng)的CTS 包(一般推遲時間為兩倍的最大傳播時延加上CTS 傳播傳輸時間),其他能夠聽到CTS 包的節(jié)點推遲足夠長的時間以保證目的節(jié)點接收到數(shù)據(jù)包(一般推遲時間為兩倍的最大傳輸時延加上數(shù)據(jù)包的傳輸時間)。
圖4 MACA 協(xié)議工作原理
如果接收節(jié)點的信道已經(jīng)被預(yù)約,它就會忽略收到的RTS 包。發(fā)送節(jié)點使用定時器,從發(fā)出RTS包的時刻開始計時。如果計時器超時,節(jié)點會在一個隨機的退避時間(多倍最大傳播時延加上RTS 的傳輸時間)之后重復(fù)發(fā)送信道請求。
估計節(jié)點度基本原理是基于MAC 層MACA 協(xié)議準則,干擾節(jié)點基于信號長度對接收的信號進行分類,默認數(shù)據(jù)信號長度最長,然后采用相關(guān)方法,估計出不同的RTS 幀,從而偵聽出該干擾節(jié)點周圍網(wǎng)絡(luò)節(jié)點可能的鄰居節(jié)點個數(shù),從而估計該網(wǎng)絡(luò)節(jié)點的度大小,被動監(jiān)聽估計節(jié)點度流程如圖5 所示。
實際應(yīng)用中,每個網(wǎng)絡(luò)節(jié)點的RTS 幀結(jié)構(gòu)相同,但幀攜帶的信息不同,由于不同RTS 幀沒有相關(guān)性,相同RTS 幀具有相關(guān)性,從而可以識別不同的RTS幀,之后可以推斷出監(jiān)聽到請求幀類型個數(shù),最終準確的推斷出節(jié)點的度分布,為基于度分布的干擾節(jié)點部署方法提供數(shù)據(jù)基礎(chǔ)。
1.2.2 部署方法
具有較大度數(shù)的節(jié)點承載的流量相對較大,從而對網(wǎng)絡(luò)分組投遞成功率具有較大的影響,為此,干擾節(jié)點部署時應(yīng)該優(yōu)先部署在那些節(jié)點周圍,從而最大程度影響網(wǎng)絡(luò)的分組投遞成功率?;谶@種考慮,基于度分布的干擾節(jié)點部署方法主要包含5 個步驟,算法過程如下:
(1)通過被動報文監(jiān)聽,獲得N 個節(jié)點的信號強度及RTS 信息;
(2)分析獲得 N 個節(jié)點度的估計值D1, D2, …, DN;
(3)將節(jié)點按照度降序排序;
( 4 ) 將 節(jié) 點 度 最 高 的 M 個 節(jié) 點{V1, V2, …, VM}加入受干擾節(jié)點集合;
(5)形成受干擾節(jié)點集合V ={V1, V2, …, VM}。
在第(1)步,干擾節(jié)點通過被動監(jiān)聽獲得節(jié)點的信號強度、RTS 種類等信息,并通過網(wǎng)絡(luò)分析獲得節(jié)點度的估計值;在第(2)、(3)步中,對節(jié)點度進行降序排序;第(4)步中確定度最大的M 個節(jié)點作為干擾對象,最終在第(5)步得到受干擾節(jié)點集合V ={V1, V2, …, VM}。
圖5 被動監(jiān)聽估計節(jié)點度流程
為了驗證基于度分布的干擾節(jié)點部署方法的有效性,本文基于OPNET 軟件進行了仿真,首先設(shè)計了水聲通信網(wǎng)絡(luò)系統(tǒng),并基于此系統(tǒng)實現(xiàn)了基于度干擾對比方法的仿真,干擾節(jié)點使用RTS 重放干擾方法,目的是干擾網(wǎng)絡(luò)中的RTS 幀,使網(wǎng)絡(luò)節(jié)點之間不能信息傳輸,最后針對不同的參數(shù)設(shè)置對性能的影響進行了分析。
設(shè)定網(wǎng)絡(luò)中節(jié)點個數(shù)為N,部署M×N 的區(qū)域,每個節(jié)點的通信半徑為R。節(jié)點的部署區(qū)域中坐標是隨機的,網(wǎng)絡(luò)路由層采用固定路由,MAC 層采用MACA 協(xié)議。每個節(jié)點產(chǎn)生包服從泊松分布。干擾節(jié)點數(shù)量為JN 個,干擾半徑為R,干擾節(jié)點被部署后,影響其通信范圍內(nèi)的通信節(jié)點。參數(shù)設(shè)置為N=12,M=N=5000,R=1000。干擾節(jié)點隨機部署于網(wǎng)絡(luò)中,統(tǒng)計網(wǎng)絡(luò)吞吐量;然后用基于度分布的干擾節(jié)點部署方法,統(tǒng)計網(wǎng)絡(luò)吞吐量變化。根據(jù)參數(shù)設(shè)置,水聲通信網(wǎng)絡(luò)拓撲結(jié)構(gòu),如圖6 所示。
圖6 水聲通信網(wǎng)絡(luò)拓撲結(jié)構(gòu)
仿真過程中,考察在相同負載條件下,不存在干擾節(jié)點以及采用兩種不同的干擾節(jié)點部署方法水聲通信網(wǎng)絡(luò)吞吐量變化和丟包率變化。吞吐量變化如圖7 所示。由圖可知,在沒有干擾節(jié)點存在的情況下,水聲通信網(wǎng)絡(luò)吞吐量隨著時間變化趨于最大,當(dāng)存在干擾節(jié)點時,水聲通信網(wǎng)絡(luò)吞吐量明顯下降,干擾方法B 干擾效果明顯好于干擾方法A,可以較好的達到干擾效果。水聲通信網(wǎng)絡(luò)中丟包率隨著時間變化如圖8 所示。
圖7 水聲通信網(wǎng)絡(luò)吞吐量變化
圖8 水聲通信網(wǎng)絡(luò)丟包率變化
由圖可知,無干擾情況下,水聲網(wǎng)絡(luò)中也存在丟包率,這是因為網(wǎng)絡(luò)中存在數(shù)據(jù)包碰撞,造成信道沖突,從而導(dǎo)致丟包,干擾方法B 丟包率明顯高于干擾方法A,達到約為89%,而干擾方法A 丟包率僅僅為46%左右。
在此基礎(chǔ)上,文獻[11]分析了不同協(xié)議干擾方法干擾效果。由于不同的協(xié)議干擾方法對水聲網(wǎng)絡(luò)干擾效果存在一定差異,但整體上基于度分布部署方法干擾效果優(yōu)于隨機部署的干擾效果。
本文通過對干擾節(jié)點部署問題進行了詳細描述,給出了干擾節(jié)點不同位置的優(yōu)化部署方法。針對水聲通信網(wǎng)絡(luò),提出了基于網(wǎng)絡(luò)度分布的干擾節(jié)點部署方法,優(yōu)先選擇度較大的節(jié)點作為被干擾節(jié)點。仿真結(jié)果證明了所提部署方法可以有效降低水聲通信網(wǎng)絡(luò)吞吐量。今后工作需要進一步驗證不同部署方法的性能,同時,需要進一步考慮水聲復(fù)雜環(huán)境下,水聲干擾節(jié)點對水聲網(wǎng)絡(luò)干擾性能的影響并試驗驗證。