楊 震,趙 麗
(1.四川省裝備制造業(yè)機(jī)器人應(yīng)用技術(shù)工程實驗室, 四川 德陽 618000;2.山西大學(xué) 軟件學(xué)院, 太原 030013)
在移動自組織網(wǎng)絡(luò)(mobile ad hoc network,MANET)[1]中,節(jié)點的移動性、網(wǎng)絡(luò)的劃分、鏈路的不穩(wěn)定性等都會影響網(wǎng)絡(luò)性能,而機(jī)會網(wǎng)絡(luò)(opportunistic network,OppNet)[2]的使用可以很好地解決上述問題。在OppNet中,由于不存在端到端的路徑,節(jié)點之間通過可伸縮移動性、聯(lián)系機(jī)會、節(jié)點協(xié)作以及存儲轉(zhuǎn)發(fā)機(jī)制,使得源或中間節(jié)點能夠?qū)⑺璧南⑥D(zhuǎn)發(fā)到目的地。為了應(yīng)對端到端路徑的缺失問題,OppNet有效地利用了現(xiàn)有的通信媒介,如WiFi、藍(lán)牙和蜂窩等技術(shù)實現(xiàn)相關(guān)節(jié)點之間的消息交換。在OppNet中,節(jié)點之間只有在通信范圍相同的情況下,或有機(jī)會互相接觸時,才能進(jìn)行通信和交換,否則節(jié)點的內(nèi)部機(jī)制將把消息存儲在緩沖區(qū),直到出現(xiàn)進(jìn)一步的機(jī)會。以這種方式,所需的消息分組從一跳轉(zhuǎn)發(fā)到另一跳,并且最終更快地到達(dá)目的地。
在OppNet中由于缺乏對網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的先驗知識以及定位參與節(jié)點的不確定性,網(wǎng)絡(luò)安全性及路由選擇是一個非常大的挑戰(zhàn)。本文的目標(biāo)是為OppNet設(shè)計一個有效的路由協(xié)議。該協(xié)議中可有效用于優(yōu)化路由的可能信息包括:節(jié)點的移動性和方向、與目的節(jié)點的接觸次數(shù),以及相對于特定目的地的距離。此外,本文還提出使用博弈論[3]模型用來設(shè)計協(xié)議。使用博弈論的原因是可以從模擬網(wǎng)絡(luò)中收集不同的案例研究,然后為沖突和合作情景制定一個優(yōu)化的數(shù)學(xué)模型。利用博弈論處理決策參數(shù)之間的沖突情況,以便從可用的參數(shù)中找出最合適的響應(yīng)策略。在本文中,節(jié)點的上下文信息被視為其戰(zhàn)略配置,在此基礎(chǔ)上構(gòu)建戰(zhàn)略博弈,實現(xiàn)信息上下文的穩(wěn)定組合,然后選擇獲得的策略將消息轉(zhuǎn)發(fā)到目的地方向的下一跳。
目前,學(xué)者們設(shè)計出了很多用于OppNet的協(xié)議。文獻(xiàn)[4]提出了Prophet路由協(xié)議,在該協(xié)議中,如果一個節(jié)點過去遇到過另一個節(jié)點,或者曾經(jīng)多次訪問過一個位置,那么在不久的將來,它被認(rèn)為更有可能遇到同一個節(jié)點或訪問同一個位置。關(guān)于每個已知目的地的傳遞概率度量由源節(jié)點估計?;诖?,可獲得節(jié)點向目的地成功傳送消息的傳送可預(yù)測性。文獻(xiàn)[5]提出了基于歷史的路由預(yù)測協(xié)議(HBPR),該協(xié)議基于網(wǎng)絡(luò)中移動節(jié)點的歷史。HBPR的3個特征階段分別是:① 位置識別:在這個階段,假定節(jié)點的移動與人類移動模型相似。在某些地方,節(jié)點的移動非常頻繁,而在其他一些地方,節(jié)點的移動較少??赏ㄟ^利用節(jié)點移動的歷史預(yù)測該節(jié)點的下一個位置;② 消息生成和歸屬位置更新:在這個階段為節(jié)點生成一組新的消息,然后記錄每個新生成消息的目的地ID;③ 下一跳選擇:為了識別下一跳,基于3個參數(shù)來考慮效用度量:節(jié)點移動的穩(wěn)定性、未來移動的預(yù)測以及相鄰節(jié)點距離源目的地的垂直距離。文獻(xiàn)[6]提出了PRoWait的路由協(xié)議,該協(xié)議使用一個簡單的轉(zhuǎn)發(fā)策略:當(dāng)兩個節(jié)點處于相同的通信范圍內(nèi)時,在數(shù)據(jù)傳輸過程中,具有較低傳送可預(yù)測性的節(jié)點與具有較高傳送可預(yù)測性的節(jié)點交換數(shù)據(jù)包。根據(jù)Prophet協(xié)議的規(guī)則計算節(jié)點的傳遞可預(yù)測性,并將其用于下一跳節(jié)點選擇,以減少資源消耗。文獻(xiàn)[7]提出一種數(shù)據(jù)發(fā)送策略,它根據(jù)節(jié)點的特征優(yōu)化路由,增強(qiáng)了數(shù)據(jù)傳輸性能。文獻(xiàn)[8]根據(jù)時間序列參數(shù)和傳輸過程參數(shù)評價節(jié)點的優(yōu)劣,以選擇合適的轉(zhuǎn)發(fā)節(jié)點。文獻(xiàn)[9]提出了一種基于遺傳算法的能量有效路由協(xié)議(GARE),利用遺傳算法(genetic algorithm,GA)[10]將消息從源路由傳遞到目的地。
文獻(xiàn)[11]提出了一種基于博弈論的路由協(xié)議(GTR)。它在有限的資源下將消息傳輸建模為多玩家Nash議價模型,并設(shè)計了一個效用函數(shù)。它決定了一個節(jié)點在傳遞概率方面的能力以及當(dāng)前的剩余資源。文獻(xiàn)[12]提出了一種消息轉(zhuǎn)發(fā)機(jī)制,即利用基于概率的路由方案刺激自選節(jié)點參與路由選擇。使用這種機(jī)制,每當(dāng)轉(zhuǎn)發(fā)源來自具有較低傳送概率的節(jié)點的分組時,具有較高傳送概率的節(jié)點就會被用來進(jìn)行補(bǔ)償。該協(xié)議被建模為一系列議價博弈,包括轉(zhuǎn)發(fā)算法和傳遞概率計算。文獻(xiàn)[13]提出了另一種基于博弈論的轉(zhuǎn)發(fā)機(jī)制,該機(jī)制考慮了節(jié)點的上下參數(shù),利用卡爾曼濾波器對這些參數(shù)進(jìn)行預(yù)測,根據(jù)這些參數(shù)設(shè)計一個雙機(jī)非合作博弈,然后用這兩個參數(shù)來決定兩個節(jié)點之間的數(shù)據(jù)轉(zhuǎn)發(fā)。
以上協(xié)議大多數(shù)會因為網(wǎng)絡(luò)擁塞造成性能下降,因此需要更多的網(wǎng)絡(luò)資源。另外,就下一跳選擇而言,計算上下文信息需要額外的時間,并且在制定基于博弈論的傳播和基于上下文情景的解決方案時沒有考慮除能量和安全性之外的任何參數(shù)。本文提出一種機(jī)會網(wǎng)絡(luò)中基于博弈論的可信路由協(xié)議,從而以最小的延遲和開銷比傳遞消息。
本文假定一個由N個移動節(jié)點組成的機(jī)會網(wǎng)絡(luò)場景,所有移動節(jié)點之間存在合作意識。另外,假定這些節(jié)點具有足夠的緩沖區(qū)來存儲它們各自的上下節(jié)點信息。一旦源或中間節(jié)點產(chǎn)生并廣播HELLO分組,每個節(jié)點就相對于相應(yīng)的目的地動態(tài)地計算它的相遇值和歐幾里德距離,這些數(shù)據(jù)被存儲在節(jié)點的緩沖區(qū)中。節(jié)點特定的上下文信息進(jìn)一步用于制定戰(zhàn)略博弈,以便從下一跳選擇中找到可用的最佳策略。在這里,戰(zhàn)略博弈被假定為一個有限的、合作的和非零合作博弈。最后,本文還假定參與消息轉(zhuǎn)發(fā)的每個節(jié)點都有足夠的能量,沒有惡意節(jié)點的行為。
本文相關(guān)術(shù)語定義如下:
1)G代表博弈。{S}、f(u)和z分別表示博弈的策略、實用功能和收益價值。
2) {N}和{M}分別表示網(wǎng)絡(luò)中的節(jié)點和源或中間節(jié)點的鄰居節(jié)點。
3)K和L表示從{N}和{M}中選擇的一組節(jié)點。
4)P表示從{K}和{L}中選擇的節(jié)點集合。
5)σ表示相遇的閾值,ω表示距離的閾值,λ是相遇的常數(shù)值,μ是距離的常數(shù)值。
6) 相遇轉(zhuǎn)發(fā)參數(shù):該參數(shù)用于根據(jù)相關(guān)節(jié)點和目的地之間相遇的次數(shù)選擇下一跳。α表示N個節(jié)點的相遇轉(zhuǎn)發(fā)參數(shù);α1表示M中節(jié)點的相遇轉(zhuǎn)發(fā)參數(shù)。
7) 距離轉(zhuǎn)發(fā)參數(shù):該參數(shù)用于根據(jù)相關(guān)節(jié)點和目的地之間的距離來選擇下一跳。β表示N個節(jié)點的距離轉(zhuǎn)發(fā)參數(shù);β1表示M中節(jié)點的距離轉(zhuǎn)發(fā)參數(shù)。
8) 最佳轉(zhuǎn)發(fā)參數(shù):該參數(shù)用于根據(jù)相遇和距離參數(shù)選擇下一個最佳跳躍。γ表示N個節(jié)點的最佳轉(zhuǎn)發(fā)參數(shù);γ1表示M中節(jié)點的最佳轉(zhuǎn)發(fā)參數(shù)。
9) Sum Encounter和Sum Encounter1分別表示N中節(jié)點的相遇次數(shù)總和以及M中所有節(jié)點的相遇次數(shù)總和。
10) Sum Distance和Sum Distance1分別表示N中所有節(jié)點與目的節(jié)點的距離之和,以及M中所有節(jié)點與目的節(jié)點的距離之和。
11)T表示用于選擇集合K和L的閾值。
本文協(xié)議傾向于將博弈定義為一個元組G={N,S,U},其中N是移動節(jié)點集合,S={Si}是可用策略集合,U={Ui}是同一個博弈的一組實用參數(shù)。設(shè)E是節(jié)點從源或中間節(jié)點相對于目的節(jié)點的相遇值,D為節(jié)點相對于同一目的地的歐幾里德距離,則S={E,D}為該博弈的策略配置集合。類似地,di, j是相鄰節(jié)點i相對于目的地j的歐幾里德距離,ei, j是相鄰節(jié)點i相對于目的地j的相遇值。在制定的戰(zhàn)略博弈中,博弈是在源節(jié)點或中間節(jié)點與鄰居節(jié)點i之間進(jìn)行的,i=1,2,3,…,m。 這里,鄰居節(jié)點是位于源節(jié)點或中間節(jié)點的通信范圍內(nèi)的節(jié)點。
根據(jù)制定的戰(zhàn)略博弈的結(jié)果,源或中間節(jié)點將選擇來自鄰居節(jié)點i的下一跳將消息轉(zhuǎn)發(fā)到其目的地。對于兩個合作者而言,制定的戰(zhàn)略博弈是一個非零和博弈,可根據(jù)納什均衡[14]導(dǎo)出結(jié)果。納什均衡的詳細(xì)推導(dǎo)和證明如下。
在博弈中,協(xié)議根據(jù)節(jié)點的相遇值E=(ei, j)和距離D=(di, j)來考慮4種可能的策略,這些策略如下:
1) 大的相遇值(eh)和大的距離值(dh);
2) 大的相遇值(eh)和小的距離值(dl);
3) 小的相遇值(el)和大的距離值(dh);
4) 小的相遇值(el)和小的距離值(dl)。
在上述策略中,效用函數(shù)表述如下:
f(u)=ei, j×λ+di, j×μ
(1)
其中ei, j和di, j由下式給出:
(2)
(3)
其中:σ和ω是閾值;λ和μ是在效用函數(shù)的公式中分別考慮相遇值和距離的恒定值。類似地,基于這個效用函數(shù),玩家/節(jié)點的收益值z計算如下:
zhh=eh+dh
(4)
zhl=eh+dl
(5)
zll=el+dh
(6)
zlh=el+dl
(7)
節(jié)點的收益矩陣如表1所示。同樣,如果z和Z分別是兩個移動節(jié)點/玩家的收益值,則其博弈收益矩陣表如表2所示。
表1 節(jié)點的收益矩陣
表2 博弈收益矩陣
本文協(xié)議的主要目標(biāo)是基于α、β和γ從網(wǎng)絡(luò)中選擇消息的下一個最佳跳躍,該選擇過程包括:① 從網(wǎng)絡(luò)中選擇最佳轉(zhuǎn)發(fā)參數(shù)γ;② 從源節(jié)點的鄰居中選擇最佳轉(zhuǎn)發(fā)參數(shù)γ1。
2.3.1從網(wǎng)絡(luò)中選擇最佳轉(zhuǎn)發(fā)參數(shù)γ
希望傳達(dá)消息的源節(jié)點或中間節(jié)點首先向整個網(wǎng)絡(luò)廣播HELLO消息,假設(shè)N個節(jié)點在網(wǎng)絡(luò)中是可用的且可以接收到HELLO消息,同時這N個節(jié)點相對于目的地的相遇值是動態(tài)計算的。在這里,每個節(jié)點的相遇值顯示了過去與其他節(jié)點相遇的次數(shù)。這些相遇值的總和被存儲在名為SumEncounter的變量中。類似地,計算N個節(jié)點中的所有節(jié)點相對于目的地的歐幾里德距離,并且將它們的距離值的總和存儲在名為SumDistance的變量中。
為了選擇下一跳,針對N中的每個節(jié)點計算α。對于給定節(jié)點,α的值是其自身相遇值與所有對應(yīng)節(jié)點的相遇值的總和的比,即:
α=Node’s encounter/SumEncounter
(8)
類似地,針對N中的每個節(jié)點計算β。β的值是節(jié)點相對于目的地的歐幾里德距離與所有相應(yīng)節(jié)點相對于目的地的歐幾里德距離的總和的比,即
β=Node’s encounter/SumDistance
(9)
為了從N個節(jié)點中選擇下一個最好的轉(zhuǎn)發(fā)節(jié)點,本文協(xié)議需要使該節(jié)點與目的地節(jié)點間的相遇的次數(shù)最大化,并且使該節(jié)點與目的地節(jié)點間的距離最小化。網(wǎng)絡(luò)的γ計算如下:
γ=α/β
(10)
閾值T可以表示為N中所有節(jié)點的γ值的平均值,本文協(xié)議僅選擇γ≥T的節(jié)點集合。
2.3.2從源鄰居中選擇最佳轉(zhuǎn)發(fā)參數(shù)γ1
假設(shè)在給定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中一個節(jié)點有M個相鄰節(jié)點,這些相鄰節(jié)點能夠相互通信。這M個節(jié)點相對于目的地節(jié)點的相遇值是動態(tài)計算的,M個節(jié)點的相遇值的總和存儲在名為SumEncounter1的變量中。類似地,這M個節(jié)點相對于目的地節(jié)點的歐幾里德距離也是動態(tài)計算的,并且它們對應(yīng)的和存儲在名為SumDistance1的變量中。為了選擇下一跳,每個相鄰節(jié)點計算α1,α1的值表示如下:
α1=Node’s encounter/SunEncounter1
(11)
類似地,每個相鄰節(jié)點計算β1:
β1=Node’ distance/SumDistance1
(12)
為了從相鄰節(jié)點中為源/中間節(jié)點選擇下一個最好的轉(zhuǎn)發(fā)節(jié)點,本文協(xié)議需要最大化節(jié)點與目的地的相遇次數(shù),并且最小化與目的地的歐幾里德距離。另外,協(xié)議對從源/中間的每個相鄰節(jié)點獲得的α1和β1值的均值進(jìn)行歸一化,并計算γ1:
γ1=α1/β1
(13)
源/中間節(jié)點的閾值T可以表示為對應(yīng)于相鄰節(jié)點的γ1值的平均值。所提出的協(xié)議從γ1值大于或等于T的相鄰節(jié)點集合中僅選擇一組L個節(jié)點。從該集合中最后選擇一組P個節(jié)點,源/中間節(jié)點將向其轉(zhuǎn)發(fā)消息,其中P=K∩L。
本文協(xié)議將整個網(wǎng)絡(luò)劃分為由N個節(jié)點組成的r個均勻區(qū)域,稱為k1,…,kr,r=1,2,…,p是不同邏輯劃分的區(qū)域,其中kr代表區(qū)域r。令nk,i為區(qū)域k中的一個節(jié)點,k=1,2,…,l;i=1,2,…,m。其中n1,1表示屬于區(qū)域1的節(jié)點1,n2,1表示屬于區(qū)域2的節(jié)點1,依此類推。在初始化步驟中,算法向網(wǎng)絡(luò)中的每個節(jié)點發(fā)送或者廣播HELLO分組報文。在收到HELLO報文后,每個節(jié)點計算其上下文信息,如歐幾里德距離、相遇值等。
假設(shè)Ek,n是屬于區(qū)域k的節(jié)點n相對于目的地的相遇值。相應(yīng)區(qū)域中所有節(jié)點的相遇值的總和計算如下:
(14)
其中k=1,n=1,2,…,p。為了計算屬于特定區(qū)域的特定節(jié)點的最佳計數(shù)值,本文協(xié)議計算節(jié)點與屬于該特定區(qū)域的所有節(jié)點的總相遇值的比值為
(15)
類似地,屬于網(wǎng)絡(luò)中的每個邏輯劃分區(qū)域的所有節(jié)點的相遇值SumEncounter的累積總和可表示為:
TE,N=TE,1+TE,2+…+TE,r
(16)
其中:TE,1和TE,2分別表示區(qū)域1和區(qū)域2中所有可用節(jié)點的相遇值的總和。
(17)
其中:E=1;k=1,2,…,r。本文協(xié)議通過將特定區(qū)域節(jié)點的相遇值與網(wǎng)絡(luò)中所有邏輯劃分區(qū)域的SumEncounter值的比率表示為一個新的參數(shù):
(18)
由下式可得α的值:
(19)
類似的,假設(shè)Dk,n是屬于區(qū)域k的節(jié)點n相對于目的地的歐幾里德距離。相應(yīng)區(qū)域中所有節(jié)點的歐幾里德距離的總和計算如下:
(20)
其中:k=1;n=1,2,…,p。為了達(dá)到最優(yōu)化結(jié)果,本文協(xié)議計算一個節(jié)點與屬于該特定區(qū)域的所有節(jié)點的歐幾里德距離之和的比值,即
(21)
計算屬于網(wǎng)絡(luò)中每個邏輯分離區(qū)域的所有節(jié)點的SumDistance的值,即
(22)
其中:D=1;k=1,2,…,r。本文協(xié)議通過將區(qū)域內(nèi)節(jié)點的歐幾里德距離值與對應(yīng)于每個邏輯分區(qū)的所有可用節(jié)點的SumDistance值的比率表示為新的參數(shù):
(23)
由下式可得β的值:
(24)
為了從網(wǎng)絡(luò)中可用的N個節(jié)點中選擇下一個最佳轉(zhuǎn)發(fā)節(jié)點,本文協(xié)議需要最大化節(jié)點與目的地的相遇次數(shù),且最小化與預(yù)期相鄰節(jié)點的目的地的歐幾里德距離。將每個分割區(qū)域的所有節(jié)點獲得的α和β值的均值進(jìn)行歸一化,并從所有區(qū)域中計算γ:
(25)
考慮到前面討論的閾值T,確定滿足條件γ≥T的可用節(jié)點的集合K。這里,T值被認(rèn)為是所有節(jié)點的相遇值的最大值或所有節(jié)點的歐氏距離的最小值。
假設(shè)r是消息的源/中間節(jié)點所屬的區(qū)域之一,它由M個節(jié)點組成。以上述類似的方式計算α1、β1和γ1。
(26)
接下來,通過將閾值T與區(qū)域r中的相應(yīng)節(jié)點的所有γ1值進(jìn)行比較,本文協(xié)議找到集合L。在此基礎(chǔ)上,協(xié)議選擇最可能的最佳轉(zhuǎn)發(fā)者的集合{P}:
{P}={K}∩{L}
(27)
使用機(jī)會網(wǎng)絡(luò)模擬器ONE[15]來評估提出協(xié)議的性能,并與Prophet協(xié)議、HBPR協(xié)議和PRoWait協(xié)議進(jìn)行比較。模擬區(qū)域呈矩形,其中節(jié)點的位置由笛卡兒x和y坐標(biāo)系表示。表3為仿真參數(shù)的值。
表3 仿真參數(shù)
1) 平均延遲
圖1~3顯示了TTL、節(jié)點數(shù)量和消息生成間隔對平均延遲的影響。在圖1中可以看到:在變化的TTL值下,本文協(xié)議的平均延遲約為2 513 s,而HBPR協(xié)議、PRoWait協(xié)議和Prophet 協(xié)議的平均延遲分別為3 318、3 165和3 228 s。本文協(xié)議的平均延遲時間小于其余3種協(xié)議,這是由于本文協(xié)議根據(jù)節(jié)點相對于目的地的相遇值和距離來適當(dāng)選擇下一個轉(zhuǎn)發(fā)節(jié)點。從圖2中可以看到:當(dāng)節(jié)點數(shù)量變化時,本文協(xié)議的平均延遲約為2 325 s,而HBPR協(xié)議、PRoWait協(xié)議和Prophet 協(xié)議的平均延遲分別為2 731、2 557和2 560 s。本文協(xié)議的平均延遲相對于其余3種協(xié)議分別降低了14.9%、9.1%和9.2%,性能較好。同樣地,在圖3中,當(dāng)消息生成間隔逐漸增加時,本文協(xié)議的平均延遲呈現(xiàn)下降的趨勢,且相對于其余3種協(xié)議而言,平均延遲最小。
圖1 TTL對平均延遲的影響
圖2 節(jié)點數(shù)量對平均延遲的影響
2) 丟棄的消息數(shù)
圖4~6顯示了TTL、節(jié)點數(shù)量和消息生成間隔對于丟棄的消息數(shù)量的影響。從圖4可以看出:在變化的TTL下,本文協(xié)議平均丟失消息數(shù)為91 041,HBPR協(xié)議、PRoWait協(xié)議和Prophet 協(xié)議的平均丟失消息數(shù)分別為111 440、108 362和104 110。本文協(xié)議平均丟失消息數(shù)相對于其余3種協(xié)議而言分別降低了18.3%、16.0%和12.6%。這主要是由于在本文協(xié)議中,當(dāng)消息轉(zhuǎn)發(fā)時,其首先保存在緩沖區(qū)中,當(dāng)找到下一個最佳跳躍時,才從緩沖區(qū)中讀取消息并轉(zhuǎn)發(fā)。從圖5中可以看到:當(dāng)節(jié)點數(shù)量變化時,本文協(xié)議的平均丟失消息數(shù)為152 661,HBPR協(xié)議為189 743,PRoWait協(xié)議為174 374,Prophet協(xié)議為156 082,本文協(xié)議優(yōu)于其余3種協(xié)議。從圖6可以看出:在消息生成間隔逐漸增加時,本文協(xié)議的平均丟失消息數(shù)為69 335,與Prophet協(xié)議相差不大,均優(yōu)于其余兩種協(xié)議。在本文協(xié)議中,當(dāng)消息生成間隔增加時,網(wǎng)絡(luò)中生成的消息數(shù)量減少,導(dǎo)致丟棄的消息數(shù)量減少。
圖4 TTL對丟棄的消息的影響
圖5 節(jié)點數(shù)量對丟棄的消息的影響
圖6 消息間隔對丟棄的消息的影響
3) 開銷比
圖7~9描述了TTL、節(jié)點數(shù)量和消息生成間隔對于消息開銷比的影響。在圖7中,可以觀察到當(dāng)TTL變化時,本文協(xié)議的平均開銷比為52.1,HBPR協(xié)議為70.1,PRoWait協(xié)議為58.2,Prophet協(xié)議為59.4。與HBPR協(xié)議、PRoWait協(xié)議和Prophet協(xié)議相比,本文協(xié)議的平均消息開銷比最低。這是由于本文協(xié)議使用節(jié)點的上下文信息向目的地傳送消息期間選擇下一個可能的最佳跳躍的方式。從圖8中可以看出:當(dāng)節(jié)點數(shù)量變化時,所有協(xié)議的消息開銷比也隨之增加,這是由于當(dāng)節(jié)點數(shù)量增加時,在網(wǎng)絡(luò)中生成和轉(zhuǎn)發(fā)的消息數(shù)量增加。在這種情況下,本文協(xié)議的開銷比小于其余協(xié)議。從圖9中可以看出:當(dāng)消息生成間隔時間增加時,4種協(xié)議的開銷比同樣逐漸增加。本文協(xié)議的平均開銷比為42.5,HBPR協(xié)議為71.4,PRoWait協(xié)議為51.6,Prophet為49.4,本文協(xié)議的開銷比小于其余3種協(xié)議,因為本文協(xié)議使用基于上下文的機(jī)制來進(jìn)行消息轉(zhuǎn)發(fā)。
圖7 TTL對開銷比的影響
圖8 節(jié)點數(shù)量對開銷比的影響
圖9 消息間隔對開銷比的影響
本文提出了一種新的機(jī)會網(wǎng)絡(luò)路由協(xié)議,它依賴于節(jié)點最重要屬性的標(biāo)識,即一個節(jié)點的相遇值以及該節(jié)點到目的地節(jié)點間的距離值。在該協(xié)議中,通過非零和合作博弈技術(shù)來確定給定節(jié)點的最佳消息轉(zhuǎn)發(fā)者的選擇。使用最佳響應(yīng)分析方法,本文提出的協(xié)議可以從其可用鄰居的集合中有效地識別和選擇給定節(jié)點的下一個最佳消息轉(zhuǎn)發(fā)器。仿真結(jié)果表明:在平均延遲、丟棄消息數(shù)和開銷比等方面,本文協(xié)議的性能均優(yōu)于Prophet、HBPR和PRoWait路由協(xié)議。