摘 要: 針對(duì)移動(dòng)Ad hoc網(wǎng)絡(luò)中節(jié)點(diǎn)自私性問(wèn)題,,提出了一種基于節(jié)點(diǎn)狀態(tài)的節(jié)點(diǎn)協(xié)作激勵(lì)機(jī)制NSIM,。利用虛擬貨幣來(lái)激勵(lì)中間節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),節(jié)點(diǎn)的報(bào)價(jià)是綜合考慮節(jié)點(diǎn)狀態(tài)計(jì)算得出的,,避免資源緊張的節(jié)點(diǎn)參與數(shù)據(jù)轉(zhuǎn)發(fā),;在節(jié)點(diǎn)中引入安全模塊和加密機(jī)制,防止節(jié)點(diǎn)篡改其他節(jié)點(diǎn)的報(bào)價(jià)和非法增加虛擬貨幣,。仿真實(shí)驗(yàn)表明,,NSIM機(jī)制減小了時(shí)延,提高了分組投遞率,。
關(guān)鍵詞: 移動(dòng)Ad hoc網(wǎng)絡(luò),;自私性;激勵(lì)機(jī)制,;虛擬貨幣
在Ad hoc網(wǎng)絡(luò)[1]中,,由于節(jié)點(diǎn)自身的處理能力、電池容量和存儲(chǔ)空間等各種資源都是有限制的,,因此節(jié)點(diǎn)往往表現(xiàn)出一定的自私性,,即不愿意幫助其他節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),以達(dá)到節(jié)省自身資源的目的,,從而影響了網(wǎng)絡(luò)的性能,。激勵(lì)自私節(jié)點(diǎn)進(jìn)行合作是Ad hoc網(wǎng)絡(luò)迫切需要解決的問(wèn)題,目前已有的節(jié)點(diǎn)激勵(lì)策略主要可以分為基于信任度的機(jī)制和基于合作博弈的機(jī)制兩類(lèi),。但是這些激勵(lì)機(jī)制只是盲目地激勵(lì)節(jié)點(diǎn)參與消息轉(zhuǎn)發(fā),,并沒(méi)有進(jìn)一步考慮節(jié)點(diǎn)狀態(tài),即節(jié)點(diǎn)自身的資源以及對(duì)節(jié)點(diǎn)行為的影響,比如資源有限但負(fù)載相對(duì)過(guò)大的節(jié)點(diǎn)會(huì)因能量耗盡而過(guò)早地“死亡”,,或因發(fā)生擁塞而造成丟包,,因此不考慮節(jié)點(diǎn)狀態(tài)的激勵(lì)機(jī)制具有一定的盲目性,會(huì)造成資源的過(guò)度使用而導(dǎo)致網(wǎng)絡(luò)性能退化,。參考文獻(xiàn)[2]提出的基于買(mǎi)賣(mài)模型的節(jié)點(diǎn)激勵(lì)策略,雖然考慮到了節(jié)點(diǎn)自身的狀態(tài),,但是這個(gè)策略實(shí)現(xiàn)的前提是節(jié)點(diǎn)根據(jù)定價(jià)機(jī)制真實(shí)地定價(jià)和報(bào)價(jià),,因此不具備防策略性。
本文綜合考慮網(wǎng)絡(luò)中節(jié)點(diǎn)擁有的有限資源,,提出一種基于節(jié)點(diǎn)狀態(tài)的節(jié)點(diǎn)協(xié)作激勵(lì)機(jī)制NSIM(Node Status based Incentive Mechanism),。
1 基于節(jié)點(diǎn)狀態(tài)的激勵(lì)機(jī)制
NSIM機(jī)制中,節(jié)點(diǎn)各自管理自己的虛擬貨幣,。為了避免資源緊張的節(jié)點(diǎn)參與數(shù)據(jù)轉(zhuǎn)發(fā),,節(jié)點(diǎn)的報(bào)價(jià)是根據(jù)節(jié)點(diǎn)的剩余能量、剩余空間及財(cái)富狀態(tài)綜合計(jì)算得出的,。源節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)選擇一條轉(zhuǎn)發(fā)價(jià)格最低的路徑,,并且在發(fā)送的數(shù)據(jù)包中攜帶虛擬貨幣用以支付報(bào)酬給該路徑上的節(jié)點(diǎn)。源節(jié)點(diǎn)至少要保證節(jié)點(diǎn)自身的財(cái)富值為正數(shù),,才可能有足夠的貨幣支付中間節(jié)點(diǎn)的報(bào)酬,。中間節(jié)點(diǎn)可以通過(guò)轉(zhuǎn)發(fā)數(shù)據(jù)包獲得報(bào)酬,這樣就能激勵(lì)每一個(gè)節(jié)點(diǎn)去增加其財(cái)富值,。節(jié)點(diǎn)中設(shè)置了安全模塊管理虛擬貨幣,,并且在路由發(fā)現(xiàn)和數(shù)據(jù)包發(fā)送過(guò)程中引入加密機(jī)制,防止節(jié)點(diǎn)篡改其他節(jié)點(diǎn)的報(bào)價(jià)以及防止節(jié)點(diǎn)隨意增加虛擬貨幣值,,保證數(shù)據(jù)包的完整性和正確性,。
本文采用參考文獻(xiàn)[3]中的安全模塊及公鑰機(jī)制。
2 節(jié)點(diǎn)成本價(jià)格計(jì)算
節(jié)點(diǎn)的成本價(jià)格受節(jié)點(diǎn)的剩余能量,、緩存空間及節(jié)點(diǎn)的財(cái)富三方面的影響,。節(jié)點(diǎn)的報(bào)價(jià)越高,節(jié)點(diǎn)被選中的機(jī)會(huì)越小,。當(dāng)節(jié)點(diǎn)的剩余能量過(guò)低時(shí),,應(yīng)盡量減少節(jié)點(diǎn)被選中的機(jī)會(huì),防止節(jié)點(diǎn)因能量過(guò)早耗盡而退出,;當(dāng)節(jié)點(diǎn)緩存空間較小時(shí),,也應(yīng)盡量避免節(jié)點(diǎn)被選中,防止丟包發(fā)生,;當(dāng)節(jié)點(diǎn)財(cái)富值較低時(shí),,應(yīng)增加節(jié)點(diǎn)被選中的機(jī)會(huì),因?yàn)橹挥袔椭渌?jié)點(diǎn)轉(zhuǎn)發(fā)信息才能積累財(cái)富值,才能支付其他節(jié)點(diǎn)幫忙轉(zhuǎn)發(fā)信息的報(bào)酬,。因此,,節(jié)點(diǎn)的成本價(jià)格綜合這三個(gè)方面考慮。
2.1 剩余能量百分比
節(jié)點(diǎn)的剩余能量情況用剩余能量百分比表示,,定義為:
其中,,Ei是節(jié)點(diǎn)i的剩余能量百分比;Bi是節(jié)點(diǎn)i的剩余空間百分比,;Vi是節(jié)點(diǎn)i的財(cái)富狀態(tài),;是三個(gè)權(quán)重值,表示節(jié)點(diǎn)i的剩余能量百分比,、剩余空間百分比,、財(cái)富狀態(tài)對(duì)于成本價(jià)格計(jì)算的重要性。
3 數(shù)據(jù)轉(zhuǎn)發(fā)
3.1 安全模塊維護(hù)信息
安全模塊(假設(shè)用A表示)存儲(chǔ)了以下幾個(gè)數(shù)據(jù):A的標(biāo)識(shí)符,,A所在節(jié)點(diǎn)的貨幣計(jì)數(shù)器,,A的私鑰,由A的制造商簽發(fā)的A的公鑰證書(shū),,由A的制造商簽發(fā)的所有其他安全模塊制造商的公鑰證書(shū),,A的制造商的公鑰。
另外,,安全模塊維護(hù)一個(gè)表,,用來(lái)表示與鄰居節(jié)點(diǎn)的關(guān)系。這個(gè)表包含標(biāo)識(shí)符,、會(huì)話(huà)密鑰,、序列號(hào)。
3.2 錢(qián)包頭和確認(rèn)信息說(shuō)明
(1)錢(qián)包頭
每個(gè)包必須攜帶一些虛擬貨幣值,,以支付中間節(jié)點(diǎn)轉(zhuǎn)發(fā)包的報(bào)酬,。這些貨幣值存在錢(qián)包頭PH(Purse Header)中,PH位于MAC層頭部和網(wǎng)絡(luò)層頭部之間,。PH被安全模塊創(chuàng)建和操作,。為了防止偽造貨幣值和非法修改貨幣值,PH被加密保護(hù),。
假設(shè)一個(gè)節(jié)點(diǎn)的安全模塊A創(chuàng)建了一個(gè)PH,,PH中包含idA、idB,、cA→B,、n、PAC,。其中,,idA為當(dāng)前節(jié)點(diǎn)安全模塊A的標(biāo)識(shí)符,;idB為下一跳節(jié)點(diǎn)安全模塊B的標(biāo)識(shí)符;cA→B為發(fā)送序列號(hào),;n為虛擬貨幣值,;PAC為錢(qián)包認(rèn)證碼(Purse Authentication Code),其值是g(idA,、idB,、cA→B、n,、network PDU),,其中network PDU表示網(wǎng)絡(luò)層的協(xié)議數(shù)據(jù)單元,g是帶密鑰的哈希函數(shù),,密鑰為kAB,是安全模塊A,、B的對(duì)稱(chēng)會(huì)話(huà)密鑰,。
(2)確認(rèn)信息
當(dāng)節(jié)點(diǎn)nB收到來(lái)自節(jié)點(diǎn)nA的一個(gè)包,它必須發(fā)送一個(gè)確認(rèn)信息ACK,,確認(rèn)信息被nB的安全模塊B創(chuàng)建,,被放在MAC層確認(rèn)信息里。ACK包括idA,、idB,、cA→B、AAC,。其中,,cA→B指PH中收到的發(fā)送序列號(hào);AAC即確認(rèn)信息認(rèn)證碼,,值為g(PH),。
3.3 包發(fā)送協(xié)議
假設(shè)節(jié)點(diǎn)nB收到從nA發(fā)來(lái)的一個(gè)包,并且知道下一步是節(jié)點(diǎn)nC,。nB首先將收到的PH,、下一跳安全模塊C的標(biāo)識(shí)符及network PDU的值交給它的安全模塊B。
B首先驗(yàn)證PH,,通過(guò)重新計(jì)算PAC,,并將計(jì)算出的值和收到的值進(jìn)行對(duì)比,如果一樣,,則B知道這個(gè)PH確實(shí)是被A創(chuàng)建的,,并且沒(méi)有被修改。然后驗(yàn)證PH中的發(fā)送序列號(hào)cA→B是否比它收到的接收序列號(hào)cB←A大,,如果是,,則這個(gè)PH不是重復(fù)的,,B將cB←A的值設(shè)置為PH中的發(fā)送序列號(hào)cA→B的值。
成功認(rèn)證之后,,B創(chuàng)建一個(gè)新的PH,,包括:B和C的標(biāo)識(shí)符、發(fā)送序列號(hào)cB→C,、虛擬貨幣值(PH中貨幣的值減去nB的報(bào)價(jià)值),、新的PAC。B存儲(chǔ)新的PH,,并將其復(fù)本交給節(jié)點(diǎn)nB,。
nB將新的PH附加到包上,傳送給nC,。nC必須確認(rèn)接收到這個(gè)包,。nC將PH交給它的安全模塊C,C創(chuàng)建ACK并交給nC,。nC發(fā)送ACK給nB,。
當(dāng)nB收到ACK,交給B,,通過(guò)ACK中C的標(biāo)識(shí)符和發(fā)送序列號(hào),,B在內(nèi)存中尋找到相應(yīng)的PH,如果B找到相應(yīng)的PH,,則驗(yàn)證ACK,,通過(guò)對(duì)PH重新計(jì)算AAC,并將其與ACK中的值進(jìn)行對(duì)比,,如果相等,,則B增加貨幣值。將PH從內(nèi)存中刪除,。
4 實(shí)驗(yàn)仿真與結(jié)果
4.1 實(shí)驗(yàn)場(chǎng)景和性能指標(biāo)
本文以O(shè)NE[4]作為仿真平臺(tái),,驗(yàn)證NSIM機(jī)制的有效性。設(shè)置以下三種方案,,對(duì)比其網(wǎng)絡(luò)性能,。
(1)SC方案。網(wǎng)絡(luò)中沒(méi)有自私節(jié)點(diǎn),,所有節(jié)點(diǎn)都會(huì)轉(zhuǎn)發(fā)接收到的消息,。
(2)SS方案。網(wǎng)絡(luò)中全是自私節(jié)點(diǎn),,中間節(jié)點(diǎn)拒絕轉(zhuǎn)發(fā)消息,,只有當(dāng)源節(jié)點(diǎn)和目的節(jié)點(diǎn)在通信范圍內(nèi)時(shí),才能將消息發(fā)送給目的節(jié)點(diǎn),。
(3)SS+NSIM方案,。網(wǎng)絡(luò)中都是自私節(jié)點(diǎn),,但是每個(gè)節(jié)點(diǎn)收到消息后會(huì)按照NSIM機(jī)制轉(zhuǎn)發(fā)。
4.2 仿真結(jié)果及分析
(1)緩存空間,、初始能量對(duì)分組投遞率的影響
分組投遞率隨緩存空間和初始能量的變化如圖1和圖2所示,。由圖1、圖2可見(jiàn),,SC,、SS和SS+NSIM的分組投遞率均隨緩存空間、初始能量的增加而增大,;當(dāng)緩存空間和初始能量分別受限時(shí),,SS+NSIM可以獲得較高的分組投遞率。此外,,當(dāng)緩存空間和初始能量較少時(shí),,SC的分組投遞率低于SS的分組投遞率,或幾乎與SS的分組投遞率相同,。
(2)緩存空間,、初始能量對(duì)平均端到端時(shí)延的影響
平均端到端時(shí)延隨緩存空間和初始能量的變化如圖3和圖4所示。由圖3,、圖4可見(jiàn),SC和SS+NSIM方案中,,隨著緩存空間和初始能量的增加,,平均相對(duì)時(shí)延降低;SS的時(shí)延最大,,SS+NSIM的時(shí)延最小,。
本文針對(duì)Ad hoc中節(jié)點(diǎn)自私性的問(wèn)題,綜合考慮網(wǎng)絡(luò)中節(jié)點(diǎn)自身狀態(tài),,提出一種基于節(jié)點(diǎn)狀態(tài)的節(jié)點(diǎn)協(xié)作激勵(lì)機(jī)制NSIM,。仿真實(shí)驗(yàn)表明,NSIM機(jī)制能夠有效地激勵(lì)節(jié)點(diǎn)參與消息轉(zhuǎn)發(fā),,同時(shí)又能解決節(jié)點(diǎn)無(wú)條件合作帶來(lái)的網(wǎng)絡(luò)性能退化的問(wèn)題,,從而達(dá)到減小時(shí)延、降低耗能,、提高分組投遞率的目的,。
參考文獻(xiàn)
[1] RFC2501.Mobile Ad hoc networking(MANET):routing pro-tocol performance issues and evaluation considerations[S].1999.
[2] 李云,于季弘,,尤肖虎.資源受限的機(jī)會(huì)網(wǎng)絡(luò)節(jié)點(diǎn)激勵(lì)策略研究[J].計(jì)算機(jī)學(xué)報(bào),,2013,36(5):947-956.
[3] BUTTYAN L,,HUBAUX J.Nuglets:a virtual currency to stimulate cooperation in self-organized ad hoc networks[R].Technical Report EPFL,,DSC,,2001.
[4] KERIFANEN A,OTT J.The one simulator for DTN protocolevaluation[C].Proceedings of the 2nd International Confer-ence on Simulation Tools and Techniques,,Brussels,,Belgium,2009:1-10.