嚴 志,萬爛軍,蔣國清
(1.長沙民政職業(yè)技術學院,湖南 長沙 410004;2. 湖南工業(yè)大學,湖南 長沙 410005)
由于能處理無線網絡內間歇性連接和長時延問題,時延容忍網絡(Delay Tolerant Networks, DTNs)受到廣泛關注。與傳統網絡不同,DTNs使用存儲-轉發(fā)策略克服缺乏端到端路徑問題[1]。DTNs由受限資源的節(jié)點組成,如緩存空間、節(jié)點功率。這些資源的受限,加上節(jié)點移動,縮短了節(jié)點的連通時間。
DTNs廣泛應用于多個領域,包括水下網絡、車聯網(Vehicular Ad Hoc Networks, VANETs)、軍事應用和災難救援[2-3]。這些應用均要求網絡能有效地傳遞數據。
目前,研究人員對DTNs進行了較深入研究[4]。然而,研究人員并沒有對路由的不正當行為進行深度關注。例如,節(jié)點故意將需要轉發(fā)的數據包進行丟棄。這些自私或惡意行為誘導了路由的不正當行為。盡管針對移動自組織網絡(Mobile Ad hoc Network, MANET)和無線傳感網絡(Wireless Sensor Networks, WSNs)內的路由不正當行為,研究人員提出不同的方案,但是這方案并不適合DTNs[6]。
針對DTNs的路由不正當行為的研究表明,惡意節(jié)點降低了消息傳遞成功率。然而,多數方案是依據節(jié)點轉發(fā)數據的過程檢測節(jié)點的惡意行為。這些方案并不能有效地濾除惡意節(jié)點不誠實的推薦。例如,Chen等[7]依據自信因子計算間接信任。該方案產生了高的推薦信任值,但容易形成共謀攻擊。此外,僅依據轉發(fā)行為評估節(jié)點的信任值,可能會產生不準確的信任估計。
此外,DTNs也常采用基于相遇路由(Encounter-based Routing, EBR),但EBR路由并不能防御共謀攻擊。盡管研究人員提出采用信任管理機制[7-8]解決自私行為和共謀攻擊。然而,該方案并不能有效地解決路由的不正當行為。
為此,提出基于分布式信任管理的數據轉發(fā)算法(Distributed Trust Management-based Data Forwarding, DTM-DF)。DTM-DF算法采用分布式信任管理估計節(jié)點的直接信任和間接信任,并依據節(jié)點信任值選擇數據轉發(fā)節(jié)點。仿真數據表明,提出的DTM-DF算法能夠提高數據包傳遞率,并降低了傳輸時延。
DTM-DF算法依據相遇記錄(Encounter Record, ER)估計節(jié)點信任值。假定節(jié)點a與節(jié)點b相遇。節(jié)點a對節(jié)點b的ER可表示為:
(1)
在DTM-DF算法中,節(jié)點的信任值由直接信任和來自ER的推薦信任兩部分組成。同時,DTM-DF算法引用統計模型表述信任關系。具體而言,引用Beta分布表述信任關系。Beta分布引用了有兩個參數α、β。
當節(jié)點與鄰居節(jié)點接觸后,就能依據ER計算Beta分布,如式(2)所示:
(2)
其中0≤p≤1、α≥0、β≥0。
1.1.1直接信任
利用兩節(jié)點(a、b)的ERab表述直接信任關系。此信任關系可通過αab、βab表示,其中αab表示節(jié)點a對節(jié)點b的積極觀察。而βab表示節(jié)點a對節(jié)點b的消極觀察。若節(jié)點a與節(jié)點b沒有接觸過,則令節(jié)點a對節(jié)點b的初始信任值設為0.5。這符合事實邏輯。過往沒有接觸過,對“陌生”節(jié)點保持半信半疑態(tài)度。
令s、f分別表示節(jié)點a與節(jié)點b間接觸的積極接觸和消極接觸累加的證據。因此,αab和βab可用式(3)表示:
αab=s+1,βab=f+1
(3)
(4)
由于節(jié)點移動,需要動態(tài)更新ER表。為此,DTM-DF算法引入因子λ,減少歷史觀察對節(jié)點a、節(jié)點b的影響。如果節(jié)點a在ERab內觀察了一個額外事件,則對s和f進行更新:
s=sold×λ+snew,f=fold×λ+fnew
(5)
其中0≤λ≤1。而sold、fold分別節(jié)點a對節(jié)點b的歷史的積極接觸證據和消極接觸證據。
若節(jié)點a與節(jié)點b直接接觸,就依據式(6)更新:
s=sold×λ,f=fold×λ
(6)
1.1.2能量信任
現存的信任管理并沒有考慮能量信任。能量消耗是資源受限的網絡基本問題。在資源耗盡攻擊中,惡意節(jié)點能夠向鄰居節(jié)點泛洪消息,進而達到消耗相遇節(jié)點的能量的目的。相反,自私節(jié)點因不轉發(fā)數據包,就降低了能量消耗。
為此,DTM-DF算法將能量作為一個因子,評估節(jié)點的行為。引用能量預測模型評估節(jié)點的可靠性。Rodrigues等[9]分析了DTNs的能量消耗模型。DTM-DF算法也引用該能耗模型。
節(jié)點的剩余能量ER等于初始能量EI減去消耗的能量EC,即ER=EI-EC。其中EC:
EC=Es+Et+Er
(7)
其中Es、Et、Er分別表示掃描(監(jiān)聽)、傳輸和接收數據所消耗的能量。通過歸一化處理,使EC滿足:EC∈[0,1]。
最終,能量信任值TE可表示為:
TE=1-EC
(8)
值得注意的是,TE必須大于能量閾值。此外,DTM-DF算法引用懲罰因子。如果Et/Er小于0.6,則就給TE引入懲罰的權重因子[10]。當Et/Er小于0.6,意味著節(jié)點每接收10個數據包,最多只轉發(fā)6個數據,節(jié)點表現出不轉發(fā)數據的行為。這也折射出節(jié)點的自私行為。
(9)
稀疏連接是DTNs的重要特性。由于缺乏端到端的連接,DTNs采用存儲-轉發(fā)消息的方式。一條消息通過中間節(jié)點轉發(fā),直到它達到目的節(jié)點。在這種情況下,節(jié)點能夠通過鄰居節(jié)點獲取推薦信任,進而評估相遇節(jié)點的信任值。
1.2.1間接信任
假定節(jié)點a和c有過歷史接觸,即節(jié)點a具有ERac。而節(jié)點a沒有與節(jié)點b接觸過,但是節(jié)點c與節(jié)點b有過接觸,如圖1所示。
圖1 直接和間接信任
(10)
其中αcb、βcb表示來自ERac的積極、消除事件。而Eac是從ERcb計算的。然而,來自鄰居節(jié)點的推薦信任可能形成共謀攻擊,為此,引用推薦信譽值。
1.2.2推薦信譽值
引用推薦信譽值的目的在于消除錯誤推薦。通過評估節(jié)點和被評估節(jié)點的共同鄰居[11],計算推薦信譽值,如圖2所示。
圖2 推薦信任示意圖
節(jié)點a和b有共同鄰居節(jié)點c1,c2,…,cn。對推薦進行濾除,再獲取節(jié)點b的推薦信任值:
(11)
(12)
(13)
由于DTNs內連接頻繁中斷,需周期地更新節(jié)點的信任值。然而,若更新太過頻繁,就導致過高的能量消耗。而信任記錄窗口太長,也容易形成共謀攻擊 。引用信任記錄窗口更新總體的信任值。信任記錄窗口由多個時隙組成。
在時隙i節(jié)點a評估節(jié)點b的信任值表示為Tab(i),其中i=1,…,ts代表時隙。依據式(14),在下一個信任記錄窗口更新信任值:
Tab(i+1)new=Tab(i)ωab(i)+Tab(i+1)ωab(i+1)
(14)
其中ωab(i)+ωab(i+1)=1。ωab(i)、ωab(i+1)分別代表之前和當前的信任值的權重因子。
提出DTM-DF算法的目的就是在緊急通信網絡,確認消息有效地傳輸至目的節(jié)點。假定節(jié)點a、b相遇,且節(jié)點a需向目的節(jié)點d傳輸消息。
首先,節(jié)點a先獲取鄰居節(jié)點的信任值,并計算鄰居節(jié)點b的信任值。然后,從鄰居節(jié)點中選擇信任值最高的節(jié)點作為轉發(fā)節(jié)點。
為了更好地分析DTM-DF算法性能,選擇機會網絡環(huán)境(Opportunistic Network Environment, ONE)仿真軟件[12]。引用災后模型(Post-Disaster Model, PDM)[3]。仿真場景:5個鄰居節(jié)點、4個中心、10個救援-疏散營、100個救援工作人員、10輛供給車、10輛緊急車輛、10艘公安巡邏艇,仿真時間48 h。
此外,仿真場景大小為4500 m×3400 m。在場景中,行人移動速度在0.5~1.5 km/h范圍內;車輛移動速度在2.7~13.9 km/h范圍內。場景內有100位行人,50輛車。每10 min產生一條消息。消息尺寸在50KB~5MB范圍內。
選擇RBTM[6]、CWS[13]和SPRAY[14]作為參照,并對比分析它們的性能。RBTM算法采用貝葉斯濾波摒除不真實的推薦值;CWS算法采用信譽模型,并依據轉發(fā)行為對節(jié)點分類。
首先分析數據包傳遞率隨惡意節(jié)點百分比的變化情況,其中數據包傳遞率等于已成功傳輸的消息數與總的消息數之比。
從圖3可知,數據包傳遞率隨惡意節(jié)點百分比的增加而降低。原因在于:惡意節(jié)點丟棄數據包。惡意節(jié)點百分比越高,丟棄的數據包數越多。相比于DTM-DF和CWS,SPRAY和RBTM隨惡意節(jié)點數的增加而下降得更快。SPRAY算法未能采用機制棄除惡意節(jié)點,而RBTM算法通過Beta分布和自信因子估計直接和間接信任,但RBTM算法是針對MANETs設計的。相比于CWS和DTM-DF算法,RBTM算法的數據包傳遞率隨惡意節(jié)點的增加而下降得更快。
圖3 數據包傳遞率
相比于CWS,DTM-DF算法具有高的數據包傳遞率。即使在50%的惡意節(jié)點環(huán)境下,DTM-DF算法仍具有好的數據包傳遞率。DTM-DF算法通過推薦信任檢測惡意節(jié)點,并利用推薦信譽對推薦信任進行評估。而RBTM和CWS只通過轉發(fā)證據檢測惡意節(jié)點。
開銷反映了傳輸消息成本。從圖4可知,開銷隨惡意節(jié)點數的增加而下降,原因在于:惡意節(jié)點數越多,丟失的消息數越多。而開銷率是依據已成功傳輸至目的節(jié)點的消息數進行計算。相比于DTM-DF算法,RBTM和CWS算法具有高的開銷。例如,在40%惡意節(jié)點環(huán)境下, DTM-DF算法的開銷為300,而RBTM和CWS算法的開銷分別達到約375和325。這主要是因為:CWS和RBTM方案并沒有解決信任更新。RBTM方案花費了太多時間計算信任值。
圖4 開銷
時延定義為:一條消息從源節(jié)點傳輸至目的節(jié)點的平均時間。圖5顯示了各算法的時延。
圖5 時延
從圖5可知,時延隨惡意節(jié)點的增加而下降。原因在于:網絡內惡意節(jié)點越多,將消息傳輸至目的節(jié)點的時間越長。然而,需長時延傳輸的消息很可能被丟棄。而這些被丟棄的消息并不在計算消息時延的范圍內。相比于CWS算法和RBTM算法,DTM-DF算法的時延得到有效控制。DTM-DF算法的時延低于500 ms,而CWS算法的時延高于2500 ms。RBTM算法的時延高于2750 ms。DTM-DF的時延來自于重傳和消息隊列。
信任模型是消除路由不正當行為的重要手段。多數惡意節(jié)點是通過丟棄數據,表現出路由的不正當行為。而有效的檢測機制能夠消除路由的不正當行為。為此,本文提出基于分布式信任管理的數據轉發(fā)算法DTM-DF。DTM-DF算法結合節(jié)點的轉發(fā)行為以及它們的能量消耗信息,計算直接信任。同時,通過鄰居推薦的信息計算 推薦信任。推薦信任結合了間接信任、推薦信譽。
仿真結果表明,DTM-DF算法能夠有效消除路由不正當行。后期,將利用DTN網關減少在計算直接和間接信任階段的能量消耗,這將是后期的研究工作的方向。