蔣慶豐, 門朝光, 田澤宇, 李香
(1.哈爾濱工程大學 計算機科學與技術學院,黑龍江 哈爾濱 150001; 2.大慶師范學院 計算機科學與信息技術學院,黑龍江 大慶 163712)
?
社會感知的延遲容忍網絡節(jié)點合作機制
蔣慶豐1,2, 門朝光1, 田澤宇1, 李香1
(1.哈爾濱工程大學 計算機科學與技術學院,黑龍江 哈爾濱 150001; 2.大慶師范學院 計算機科學與信息技術學院,黑龍江 大慶 163712)
為促使延遲容忍網絡中的社會自私節(jié)點合作轉發(fā)消息,本文提出一種社會感知的延遲容忍網絡節(jié)點合作機制(SANCM)。SANCM通過基于組間概率增量的貨幣獎勵策略來促使不同組的社會自私節(jié)點合作轉發(fā)消息;通過組內節(jié)點的信息共享實現(xiàn)消息的有效傳遞;通過組內節(jié)點的緩存合作實現(xiàn)消息的遷移,進一步提高消息的傳遞效率。實驗結果表明,SANCM能夠有效促使社會自私節(jié)點合作轉發(fā)消息,獲得較高的消息傳遞成功率和較低的時延。
延遲容忍網絡;社會自私;節(jié)點合作;虛擬貨幣;社會感知;傳遞效率
延遲容忍網絡(delay tolerant network,DTN)是一種具有長時延和間歇中斷特點的網絡,在環(huán)境監(jiān)測、軍事戰(zhàn)略、深空探測等方面具有廣泛的應用前景和實用價值[1]。由于缺乏穩(wěn)定的端到端連接,DTN轉發(fā)節(jié)點采用“存儲-攜帶-轉發(fā)”方式臨時存儲消息,在和目的節(jié)點相遇時將消息發(fā)送給目的節(jié)點。許多DTN路由和分發(fā)協(xié)議[2-6]在轉發(fā)數據時,假設節(jié)點間完全合作轉發(fā)消息,其性能在存在大量自私節(jié)點時會嚴重下降[7-10],因此需要設計有效的節(jié)點合作機制來促使自私節(jié)點合作轉發(fā)消息。
DTN節(jié)點自私性分為個體自私性和社會自私性[11]。個體自私性是指每個節(jié)點自身為節(jié)省緩存、能量等資源而拒絕為其他節(jié)點轉發(fā)消息。在移動社會網絡中,具有共同興趣、關系較密切的節(jié)點會被分為很多社會節(jié)點組。社會自私性是指社會節(jié)點組中的節(jié)點會為自身組內的節(jié)點轉發(fā)消息,而不愿意為其他組節(jié)點轉發(fā)消息。
目前許多針對個體自私性的節(jié)點合作機制已經被提出,而針對社會自私行為的研究則較少。文獻[9]通過馬爾可夫模型分析驗證了社會自私行為對DTN的影響,結果表明當節(jié)點間存在社會自私性時,消息的傳遞時延會增大。文獻[10]研究了社會自私行為對網絡性能的影響,建立了一個分析社會自私行為的模型框架,并基于此框架推導出消息的傳遞時延。文獻[9-10]只是對社會自私性的影響進行了分析,并沒有提出有效的節(jié)點合作機制。文獻[11]提出了一種CFG機制來促使多個DTN社會節(jié)點組合作轉發(fā)消息。該機制設計了一個多個理性社會節(jié)點組進行合作轉發(fā)的核博弈模型,并提出求解核博弈模型的算法,來促使各組節(jié)點合作轉發(fā)消息。但該機制中各社會節(jié)點組只是在消息時延門限較小時才會完全合作,當消息時延門限較大時,合作的節(jié)點組會減少,并且沒有考慮組內節(jié)點如何合作轉發(fā)、緩存消息。文獻[13]提出了一種基于社群等量交換的合作機制Com-BIS,將一個社會節(jié)點組看作一個虛擬的節(jié)點,節(jié)點之間進行等量交換時,考慮節(jié)點與對方節(jié)點所在的社會節(jié)點組之間的等量交換。但這種基于交換的策略在社會節(jié)點組間可發(fā)送消息量非對稱時,消息量大的節(jié)點組的消息無法有效傳遞。
為促使社會自私節(jié)點有效合作轉發(fā)消息,本文針對單副本路由提出一種社會感知的DTN節(jié)點合作機制(social-aware node cooperation mechanism for DTN,SANCM)。SANCM通過基于組間概率增量的貨幣獎勵策略來促使社會節(jié)點組間合作轉發(fā)消息,同時組內節(jié)點通過信息的共享和緩存的合作,進一步提高消息的傳遞效率。
1.1 網絡模型
本系統(tǒng)網絡模型如圖1所示,包括可信的第三方(trusted third party, TTP)、固定網絡、DTN節(jié)點3部分。
圖1 網絡模型Fig.1 Network model
TTP作為授權中心負責為每組移動節(jié)點頒發(fā)公、私密鑰證書并且根據票據信息完成DTN節(jié)點的貨幣清算工作。
固定網絡包括有線的Internet和無線訪問點AP,負責連接TTP和DTN節(jié)點。DTN節(jié)點通過固定網絡從TTP處獲取密鑰和提交票據信息。
DTN節(jié)點N11~N33代表具有藍牙、WIFI等高速短距離無線通信功能的移動設備。這些移動節(jié)點根據社會關系分為多個組(G1,G2,G3),每組節(jié)點代表關系非常密切的家人、親屬等團體,使用統(tǒng)一的貨幣賬戶。組內節(jié)點接觸概率大、平均相遇時間短、結構穩(wěn)定,而組間節(jié)點接觸概率小、相遇時間長。
模型中一個組內的所有節(jié)點將作為一個整體合作轉發(fā)消息,當此組節(jié)點遇到傳遞概率大的另一組節(jié)點時,將會轉發(fā)消息。假設節(jié)點的合作模式是完全合作的,即如果一個節(jié)點接收其他節(jié)點的消息則會完全合作轉發(fā),而不是以某個概率將消息丟棄,或者只以一定概率轉發(fā)。
當消息被成功傳遞給目的節(jié)點所在組時,TTP將通過轉發(fā)票據信息從目的節(jié)點所在組賬戶上扣除一部分貨幣并根據2.3節(jié)的貨幣獎勵策略將貨幣支付給轉發(fā)消息的其他節(jié)點組。所有節(jié)點組的賬戶信息由TTP負責管理,當一個節(jié)點和TTP相遇時,可以查詢由TTP簽名的每個組的賬戶信息并和其他組節(jié)點共享。這樣當節(jié)點在發(fā)送和轉發(fā)消息時,如果發(fā)現(xiàn)目的節(jié)點組的賬戶貨幣不足,則停止發(fā)送和轉發(fā)消息,以防止目的節(jié)點組在貨幣不足的情況下也能接收消息。因為通過廣播共享信息,所以各組節(jié)點可以較快的獲得賬戶信息。
1.2 節(jié)點接觸模型
同文獻[14]一樣,假設DTN中成對節(jié)點間相遇時間服從均值為1/λ的指數分布,λ代表兩節(jié)點的接觸率。節(jié)點Ni和同一組中節(jié)點Nj的接觸率為λij,和不同組中節(jié)點Nk的接觸率為λik,λij?λik。兩節(jié)點Ni和Nj的接觸率λij的值可表示為
(1)
2.1 相關定義
由于DTN中成對節(jié)點間相遇時間服從均值為1/λ的指數分布,所以節(jié)點Ni和Nj在timeij時間間隔內相遇的概率密度函數為
f(tij)=λije-λijtij
(2)
定義1 節(jié)點傳遞概率
假設節(jié)點Ni中消息m的目的節(jié)點為Nj,剩余生存時間為tremain,則節(jié)點Ni對消息m的節(jié)點傳遞概率即和目的節(jié)點Nj相遇的概率Pij為
Pij=P(tij≤tremain)=
(3)
消息剩余時間tremain的值表示為
tremain=TTL+tgen-trec
(4)
式中:TTL(timetolive)為消息的生存期;tgen和trec分別為消息生成時刻和節(jié)點Ni接收消息m的時刻。
定義2 節(jié)點組傳遞概率
假設只有一個消息副本,則組GI(NI1,NI2,…,NIi,…,NIk∈GI)中節(jié)點NIi到組GJ(NJ1,NJ2,…,NJk∈GJ)的節(jié)點組傳遞概率為
PIiGJ=1-(1-PIiJ1)(1-PIiJ2)…(1-PIiJk)
(5)
式中:PIiJ1,PIiJ2,…,PIiJk為節(jié)點NIi將消息傳遞到組GJ中每個節(jié)點的節(jié)點傳遞概率。節(jié)點組傳遞概率表示節(jié)點NIi將消息成功傳遞到目的節(jié)點所在組的概率。
定義3 組間傳遞概率
組GI和GJ的組間傳遞概率如式(6)所示,為組GI中節(jié)點組傳遞概率的最大值:
PGIGJ=max(PI1GJ,PI2GJ,…,PIiGJ,…,PIkGJ)
(6)
組間傳遞概率表示一個組將消息傳遞給另一個組的概率。
定義4 節(jié)點綜合效率
假設節(jié)點Ni中消息m的目的節(jié)點為Nj,則節(jié)點Ni的節(jié)點綜合效率為
ComUtilityij=ε1×freeBufRatioi+ε2×Pij
(7)
式中:freeBufRatioi為節(jié)點Ni的空閑緩存百分比,Pij為Ni的節(jié)點傳遞概率,ε1和ε2為權值系數,ε1+ε2=1。
定義5 節(jié)點組綜合效率
假設消息m的目的節(jié)點所在組為GJ,則組GI中節(jié)點NIi的節(jié)點組綜合效率為
ComUtilityIiGJ=ε1×freeBufRatioIi+ε2×PIiGJ
(8)
式中:freeBufRatioIi為節(jié)點NIi的空閑緩存百分比,PIiGJ為節(jié)點NIi的節(jié)點組傳遞概率,ε1和ε2為權值系數,ε1+ε2=1。
2.2 節(jié)點合作機制概述
當兩節(jié)點相遇時,SANCM機制工作過程如下:
1) 節(jié)點首先發(fā)送緩存中目的節(jié)點為對方節(jié)點的消息。
2) 如果兩節(jié)點在同一組,則通過信息共享獲得組內每個節(jié)點和其他社會節(jié)點組之間的接觸率,并根據節(jié)點傳遞概率、節(jié)點組傳遞概率和緩存情況完成消息的傳遞和緩存合作。
3) 兩節(jié)點不在同一組時,如果對方節(jié)點和消息目的節(jié)點在同一組或者對方節(jié)點的組間傳遞概率大于自身組的組間傳遞概率,則將消息轉發(fā)給對方節(jié)點。
4) 當一個消息被成功傳遞到目的節(jié)點所在組時,目的節(jié)點所在組將通過貨幣獎勵策略,根據節(jié)點組的組間傳遞概率增量對轉發(fā)節(jié)點組進行貨幣獎勵。
以下各節(jié)為組間貨幣獎勵策略、組內信息共享、組內消息傳遞和緩存合作的詳細設計。
2.3 貨幣獎勵策略
為促使其他組節(jié)點轉發(fā)消息,消息目的節(jié)點組接收到一個消息時需要為轉發(fā)節(jié)點組支付一定的虛擬貨幣。本文提出一種基于組間概率增量的貨幣獎勵策略,消息轉發(fā)路徑中每組節(jié)點所獲得的貨幣值是由其組間傳遞概率增量即自身組間傳遞概率和前一節(jié)點組的組間傳遞概率的差值決定的,增量越大,其獲得的貨幣值越大。
假設一個消息的轉發(fā)節(jié)點組路徑為Gs,G1,…Gk-1,Gk,GD,GS和GD分別為消息源節(jié)點組和目的節(jié)點組,轉發(fā)節(jié)點組Gs,G1,… ,Gk-1,Gk的組間傳遞概率分別為PGsGD,PG1GD,…,PGk-1GD,PGkGD且PGsGD R(P)=Currency×P, 0≤P≤1 (9) 式中:Currency為目的節(jié)點組為一個消息所能支付的最大貨幣值(假設為1),P為轉發(fā)節(jié)點組的組間傳遞概率。 為獲取消息轉發(fā)路徑,當消息源節(jié)點組Gs遇到組間傳遞概率大的節(jié)點組G1時,兩個節(jié)點組將會創(chuàng)建如圖2所示的轉發(fā)票據。 圖2 轉發(fā)票據Fig.2 Forwarding ticket 圖2中,MessageID為消息標識符,GS和GD分別為消息源節(jié)點組和目的節(jié)點組的組標識,Currency為目的節(jié)點組所支付的最大貨幣值,TTL為消息生命期,tgen為消息生成時刻,Path為消息轉發(fā)路徑;Path中的ts1為節(jié)點組GS和G1的相遇時刻即節(jié)點組G1接收消息的時刻。當G1和組G2相遇時,G2中節(jié)點將組G2的標識和相遇時刻信息插入轉發(fā)票據的轉發(fā)路徑中。以此類推,當消息目的節(jié)點組收到消息時,將組標識GD插入轉發(fā)票據的轉發(fā)路徑中并使用秘鑰進行簽名。目的節(jié)點組和最后一跳轉發(fā)節(jié)點都會擁有一份轉發(fā)票據。擁有轉發(fā)票據的節(jié)點可以將票據的副本共享給轉發(fā)消息的其他節(jié)點組。這樣可以使轉發(fā)票據快速到達TTP。當TTP收到轉發(fā)票據時會根據轉發(fā)票據和貨幣獎勵函數,扣除目的節(jié)點組賬戶上一部分貨幣,分配給其他轉發(fā)節(jié)點組。 因為基于組間概率增量的貨幣獎勵策略中,每組轉發(fā)節(jié)點獲得的貨幣值是由其相對前一節(jié)點的組間概率增量決定的,和后繼節(jié)點無關,所以當一個理性節(jié)點組遇到一個傳遞概率大于自身的節(jié)點組時,會立即轉發(fā)消息以增大自身空閑緩存,否則其會因緩存有限而不能存儲其他消息,丟失獲得更多貨幣的機會。 由于社會網絡中節(jié)點關系強度不同,運行過程中每個節(jié)點組獲得貨幣不同,可能出現(xiàn)貨幣少的貧窮節(jié)點組的情況,這些貧窮節(jié)點組可能對DTN的網絡性能產生威脅[15]。因此本文采用文獻[15]的方法,根據Gini系數來衡量激勵機制造成的社會分布不均程度(值越大表明不均程度越大),并利用征稅策略來平衡節(jié)點組的收益。征稅策略具體過程如下:當Gini系數在0.3~0.5時,表明節(jié)點組之間的貨幣收益不均衡程度較大,因此計算各節(jié)點組的平均貨幣值,將征收貨幣高于平均值的節(jié)點組一定比例貨幣p,將其分配給低于平均貨幣值的貧窮節(jié)點組。 2.4 組內信息共享 由于組內節(jié)點是關系密切的社會團體,因此可以彼此共享傳遞信息,以提高消息傳遞概率,增加貨幣收入。當節(jié)點N11和組內其他節(jié)點N12相遇時,首先更新他們間的平均相遇時間信息,然后將包含其他組節(jié)點平均相遇時間的相遇信息表(表1)發(fā)送給對方。 表1 相遇時間信息表 對于表1中的記錄信息,如果對方節(jié)點不存在該記錄,則直接將信息插入自身相遇信息表中。如果對方節(jié)點相遇信息表中已經存在相同的記錄信息,則根據記錄更新時刻來決定是否更新信息。信息共享后,節(jié)點根據相遇信息表的信息計算每個消息的節(jié)點傳遞概率、節(jié)點組傳遞概率和組間傳遞概率,進行消息的傳遞。 2.5 組內消息傳遞和緩存合作 當組內兩個節(jié)點相遇時,如果一個節(jié)點的剩余緩存較少,則可以將消息發(fā)送給緩存大的其他節(jié)點,實現(xiàn)消息的遷移。組內節(jié)點通過緩存的合作和共享,使得消息多而緩存小的節(jié)點能夠及時將消息遷移給其他節(jié)點,防止由于緩存有限而導致消息被丟棄,從而提高消息傳遞效率。 假設組GI的兩個節(jié)點NI1和NI2相遇,消息m的目的節(jié)點為GD中的NDd,NI1向NI2發(fā)送消息和緩存合作的具體算法流程如下: if freeBufRatioI1>th1且 freeBufRatioI2>th1then ifNI2的節(jié)點傳遞概率PI2Dd大于NI1的節(jié)點傳遞概率PI1Ddthen 發(fā)送消息m; end if end if if freeBufRatioI1 發(fā)送消息m; end if if freeBufRatioI1 if 消息m為組內消息then 兩節(jié)點分別計算自身節(jié)點綜合效率ComUtilityI1Dd和ComUtilityI2Dd if ComUtilityI2Dd-ComUtilityI1Dd>th2then 發(fā)送消息m; end if else//消息m為組外消息 兩節(jié)點分別計算自身節(jié)點組綜合效率ComUtilityI1GD和ComUtilityI2GD if ComUtilityI2GD-ComUtilityI1GD>th2then 發(fā)送消息m; end if end if end if 算法中,對于一個消息m,如果兩節(jié)點的空閑緩存百分比freeBufRatio都大于一定門限th1,說明兩節(jié)點空閑緩存都比較大,則節(jié)點NI1只有在對方節(jié)點NI2的節(jié)點傳遞概率大于自身的情況下才會發(fā)送消息。如果節(jié)點NI1的空閑緩存百分比小于門限th1,而節(jié)點NI2的空閑緩存百分比大于門限th1,則NI1直接將消息發(fā)送給節(jié)點NI2,以減輕自身緩存壓力。當雙方節(jié)點空閑緩存百分比都小于門限th1時,如果m為組內消息,雙方節(jié)點通過式(7),由空閑緩存百分比和節(jié)點傳遞概率計算節(jié)點綜合效率;如果m為組外消息,雙方節(jié)點通過式(8),根據節(jié)點空閑緩存百分比和節(jié)點組傳遞概率計算節(jié)點組綜合效率。如果綜合效率差值大于門限th2,則發(fā)送消息。 3.1 實驗設置 本文通過ONE模擬器[16]對SANCM合作機制性能進行仿真。仿真中共有40個移動節(jié)點,被分為4組,每組10個節(jié)點,節(jié)點移動模型為ShortestPathMapBasedMovement模型。在此移動模型中,節(jié)點選擇地圖中的一個目的地后,將通過Dijkstra單源最短路徑算法在地圖上選擇距離最短的路徑移動。默認情況下,消息產生間隔為4~8 s,消息大小為100~200 kB,緩存大小為3 MB,TTL為2 h,節(jié)點移動速度為1~4 m/s,數據傳輸速度為250 kB/s,通信半徑為10 m,仿真區(qū)域為4 500 m×3 400 m,仿真時間54 000 s,預熱期為4 000 s。節(jié)點初始能量為4 000 J,每次為發(fā)現(xiàn)鄰居節(jié)點進行掃描所需的能量為0.2 J,傳送消息所消耗的能量為1 J/s。每個節(jié)點的初始貨幣為10。2.5節(jié)的算法中th1=0.3,th2=0.2,式(7)、(8)中,ε1=ε2=0.5, 征稅策略中p=0。 3.2 性能比較 為驗證SANCM的性能,將SANCM與Direct、文獻[12]的CFG和文獻[13]的Com-BIS機制進行性能對比。Direct中每組節(jié)點只存儲轉發(fā)自身所在組的消息,不轉發(fā)其他組節(jié)點的消息。通過傳遞成功率、時延、負載率、平均消耗能量等指標來驗證路由性能。傳遞成功率為成功傳遞的消息數和網絡中產生的消息總數的比值。時延為所有成功傳遞消息的時延平均值。負載率為消息轉發(fā)數和成功傳遞消息數的比值,表示成功傳遞一個消息需要多少次轉發(fā)。平均消耗能量為仿真過程中平均每個節(jié)點所消耗的能量。下面通過改變緩存、TTL、消息生成間隔、節(jié)點移動速度和節(jié)點個數的大小來驗證各種機制性能。 3.2.1 緩存大小的影響 緩存大小對傳遞成功率的影響如圖3所示,可以看出所有機制的傳遞成功率都隨著緩存的增大而增大,因為具有較大緩存的節(jié)點能夠攜帶更多的消息,從而成功傳遞更多的消息。Direct機制成功率最小,因為每個節(jié)點僅僅存儲、轉發(fā)自身組消息,不能及時將消息傳遞給傳遞概率更大的其他組節(jié)點,結果導致一些消息由于緩存溢出或者TTL過期而被丟棄。 CFG機制的傳遞成功率高于Direct機制而低于Com-BIS和SANCM機制,這是因為CFG機制僅僅在消息時延門限較小時促使大部分節(jié)點組合作,將消息轉發(fā)給傳遞概率高的其他組節(jié)點,而且沒有考慮組內節(jié)點信息共享及消息遷移問題。由于Com-BIS中節(jié)點組間可發(fā)送消息量非對稱時,消息量大的節(jié)點組的消息無法有效傳遞,所以消息傳遞率低于SANCM機制。由于SANCM機制不僅能夠通過基于組間概率增量的貨幣策略促使不同組節(jié)點進行合作轉發(fā),而且還能夠通過信息共享以及緩存合作進一步提高效率,所以消息傳遞成功率最高。 圖3 緩存大小對傳遞成功率的影響Fig.3 Impact of varying buffer sizes on delivery success ratio 緩存對時延的影響如圖4所示,可以看出所有機制的傳遞時延都隨著緩存的增大而增大。這是因為緩存增大時,節(jié)點可以存儲并傳遞更多時延大的消息,所以平均時延增大。因為Direct中每個節(jié)點僅僅存儲自身消息,不將消息轉發(fā)給傳遞時延小的其他組節(jié)點,所以平均傳遞時延最大。由于SANCM機制能夠利用組內共享的相遇時間信息和緩存合作有效快速傳遞消息,所以平均時延最小。 圖4 緩存大小對傳遞時延的影響Fig.4 Impact of varying buffer sizes on delivery delay 緩存大小對負載率的影響如圖5所示,可以看出負載率隨著節(jié)點緩存的增大而減小。這是因為隨著緩存的增大,更多消息會被成功傳遞,導致負載率減小。由于SANCM機制中節(jié)點組間以及組內節(jié)點有效合作轉發(fā)消息,所以負載率最高。 圖5 緩存大小對負載率的影響Fig.5 Impact of varying buffer sizes on overhead ratio 緩存大小對能量的影響如圖6所示,可以看出節(jié)點消耗能量隨著緩存的增大而增大。這是因為緩存增大,節(jié)點可以存儲更多消息,使得消息轉發(fā)次數增大,消耗更多能量。由于SANCM機制中節(jié)點組間和組內節(jié)點有效合作轉發(fā)消息,所以消耗能量略高于其他機制。由于Direct機制不轉發(fā)其他組節(jié)點的消息,所以消耗能量最小。 圖6 緩存大小對能量的影響Fig.6 Impact of varying buffer sizes on energy 3.2.2 TTL的影響 TTL對傳遞成功率的影響如圖7所示,可以看出傳遞成功率隨著TTL的增大而增大。這是因為TTL增大時,消息可以在網絡中增大存活時間,增加傳遞機會,從而增大傳遞成功率。由于Direct機制不能即時將節(jié)點自身消息轉發(fā)給傳遞概率高的其他組節(jié)點,所以傳遞成功率最低。因為CFG中,只有消息時延門限較小時,更多的節(jié)點組才會進行合作,所以當TTL增大時,CFG機制中合作的節(jié)點組會減少,導致傳遞成功率低于其他機制。由于有效轉發(fā)消息,所以SANCM的傳遞成功率高于其他機制。 TTL對時延的影響如圖8所示,可以看出消息傳遞時延隨著TTL的增大而增大。因為TTL增大時,消息存活時間增大,節(jié)點可以成功傳遞更多時延大的消息,所以平均傳遞時延增大。Direct中,由于每個節(jié)點只緩存自身組消息,不能即時將消息轉發(fā)給傳遞時延更小的其他組節(jié)點,所以平均傳遞時延最大。由于其他機制能夠促使不同組節(jié)點合作轉發(fā)消息,所以獲得較小的傳遞時延。SANCM平均傳遞時延最小。CFG的時延在TTL較大時大于Com-BIS機制。 圖7 TTL對傳遞成功率的影響Fig.7 Impact of varying TTL on delivery success ratio 圖8 TTL對傳遞時延的影響Fig.8 Impact of varying TTL on delivery delay TTL對負載率的影響如圖9所示,可以看出所有機制的負載率都隨著TTL的增大而減小。這是因為隨著TTL的增大,雖然成功轉發(fā)消息數和轉發(fā)次數都在增大,但轉發(fā)次數的增大速率小于成功轉發(fā)消息數的增大速率。由于Direct中,消息只由組內節(jié)點直接傳遞,而不經過其他組節(jié)點,所以負載率最小。由于SANCM機制中不同節(jié)點間有效合作轉發(fā)消息,所以負載率最大。 圖9 TTL對負載率的影響Fig.9 Impact of varying TTL on overhead ratio TTL對能量的影響如圖10所示,可以看出所有機制消耗的能量都隨著TTL的增大而增大。這是因為隨著TTL的增大,消息生存時間會增大,消息有更多的機會被轉發(fā),從而消耗更多的能量。由于Direct中消息只由組內節(jié)點直接傳遞,而不經過其他組節(jié)點,所以消耗能量最小。SANCM機制消耗能量略高于其他機制。 圖10 TTL對能量的影響Fig.10 Impact of varying TTL on energy 3.2.3 消息生成間隔的影響 如圖11所示,可以看出消息傳遞成功率隨著生成間隔的增大而增大。這是因為消息生成間隔增大,網絡中產生的消息數會變少,節(jié)點有更多的緩存和帶寬資源來傳遞消息,從而導致消息傳遞成功率增大。Direct機制的傳遞成功率最小,SANCM機制成功率最大,Com-BIS機制略高于CFG。 圖11 消息生成間隔對傳遞成功率的影響Fig.11 Impact of varying message generation interval on delivery success ratio 消息生成間隔對時延的影響如圖12所示,可以看出傳遞時延隨著消息生成間隔的增大而增大。因為消息生成間隔增大時,節(jié)點具有更多的緩存,許多長時延的消息能夠被成功轉發(fā),所以平均傳遞時延增大。Direct機制的傳遞時延最大,SANCM機制傳遞時延最小,Com-BIS和CFG次之。 消息生成間隔對負載率的影響如圖13所示,可以看出負載率隨著消息生成間隔的增大而減小。這是因為消息生成間隔增大,網絡中產生的消息數會變少,節(jié)點具有更多的緩存來存儲消息,使得成功傳遞的消息比例增大,所以負載率減小。由于節(jié)點合作轉發(fā)消息,SANCM機制負載率最大,Com-BIS負載率大于CFG,Direct負載率最小。 圖12 消息生成間隔對傳遞時延的影響Fig.12 Impact of varying message generation interval on delivery delay 圖13 消息生成間隔對負載率的影響Fig.13 Impact of varying message generation interval on overhead ratio 消息生成間隔對能量的影響如圖14所示,可以看出節(jié)點消耗能量隨著消息生成間隔的增大而減小。這是因為消息生成間隔增大,網絡中產生的消息數會變少,從而消耗的能量減小。由于節(jié)點合作轉發(fā)消息,SANCM機制消耗能量略大于Com-BIS和CFG機制,Direct消耗能量最小。 圖14 消息生成間隔對能量的影響Fig.14 Impact of varying message generation interval on energy 3.2.4 節(jié)點移動速度的影響 速度對傳遞成功率的影響如圖15所示,可以看出傳遞成功率隨著節(jié)點移動速度的增大而增大。這是因為速度越大,節(jié)點間相遇的機會增大,從而增加成功傳遞的消息數。Direct機制的傳遞成功率最小,SANCM機制由于有效的組內和組間合作轉發(fā),從而傳遞成功率最大。 圖15 節(jié)點速度對傳遞成功率的影響Fig.15 Impact of node speed on delivery success ratio 速度對傳遞時延的影響如圖16所示,可以看出傳遞時延隨著節(jié)點移動速度的增大而減小。因為速度增大,節(jié)點可以在較短的時間相遇,從而減小消息傳遞時延。Direct機制的傳遞時延最大,SANCM機制時延最小,Com-BIS和CFG由于缺乏有效的合作轉發(fā),時延略大。 圖16 節(jié)點速度對傳遞時延的影響Fig.16 Impact of node speed on delivery delay 速度對負載率的影響如圖17所示,可以看出負載率隨著節(jié)點移動速度的增大而減小。因為速度增大,節(jié)點可以將大量消息快速成功傳遞,從而平均轉發(fā)次數減少。Direct機制只是組內合作轉發(fā)消息,所以負載率最小。SANCM機制負載率略高于Com-BIS和CFG機制。 速度對能量的影響如圖18所示,可以看出節(jié)點消耗的能量隨著移動速度的增大而增大。因為速度增大,節(jié)點間接觸機會增大,傳輸的消息量也會增大,從而消耗更多的能量。由于SANCM機制轉發(fā)次數較多,所以消耗的能量略高于Com-BIS和CFG機制,但其獲得了較高的傳遞成功率和較低時延。Direct機制節(jié)點合作轉發(fā)次數較少,所以消耗的能量也最少。 圖17 節(jié)點速度對負載率的影響Fig.17 Impact of varying node speed on overhead ratio 圖18 節(jié)點速度對能量的影響Fig.18 Impact of varying node speed on energy 3.2.5 節(jié)點個數和貨幣分配的影響 如圖19所示,可以看出傳遞成功率隨著節(jié)點個數的增大而增大。這是因為節(jié)點個數越大,網絡越密集,每個節(jié)點平均社會關系數會越大,從而節(jié)點傳輸數據機會增加,使得傳遞成功率增大。還可以看出征收貨幣比例p增大時,傳遞成功率增大。這是因為當征收貨幣比例p增大時,更多富裕節(jié)點組貨幣會分給貧窮節(jié)點組,使得節(jié)點組間貨幣更趨近平衡,減少貧窮節(jié)點由于貨幣不足而不能發(fā)送的消息個數。 圖19 節(jié)點個數和貨幣分配對傳遞成功率的影響Fig.19 Impact of node number and currency distribution on delivery success ratio 節(jié)點個數對傳遞時延的影響如圖20所示,可以看出傳遞時延隨著節(jié)點個數的增大而增大。因為節(jié)點個數增大,平均社會關系數增大,許多長時延的消息能夠成功傳遞,從而導致平均傳遞時延的增大。從圖中還可看出傳遞時延隨著p的增大而減小,這是因為p增大,節(jié)點組間具有更好的貨幣平衡,從而更多的節(jié)點組能夠參與轉發(fā),減小消息的傳遞時延。 圖20 節(jié)點個數和貨幣分配對傳遞時延的影響Fig.20 Impact of node number and currency distribution on delivery delay 如圖21所示,可以看出負載率隨著節(jié)點個數的增大而增大。因為節(jié)點個數增大,平均社會關系數增大,節(jié)點間相遇機會多,所以轉發(fā)次數會增加,導致負載率的增大。還可看出當p增大時,負載率也增大。這是因為具有更好的貨幣平衡,節(jié)點組間轉發(fā)次數增大,導致負載率的增大。 圖21 節(jié)點個數和貨幣分配對負載率的影響Fig.21 Impact of node number and currency distribution on overhead ratio 從圖22可以看出消耗能量隨著節(jié)點個數的增大而增大。因為節(jié)點個數增大,平均社會關系數增大,更多消息被轉發(fā),增大節(jié)點能量的消耗。還可看出節(jié)點消耗能量隨著p的增大而增大。這是因為節(jié)點組間貨幣平衡時,消息轉發(fā)數會增大,從而消耗更多的能量。 1) 為促使社會自私節(jié)點合作轉發(fā)消息,本文提出一種社會感知的延遲容忍網絡節(jié)點合作機制 SANCM。SANCM能夠通過基于組間概率增量的貨幣獎勵策略促使不同社會節(jié)點組根據概率增量來合作轉發(fā)消息,并通過組內節(jié)點信息和緩存的共享合作進一步提高性能。 2) 和相關機制相比,SANCM能夠獲得較高的消息傳遞成功率和較低的時延。 目前本文僅僅針對單復本路由進行研究,并且沒有考慮安全問題,如中間節(jié)點組可能發(fā)起的節(jié)點插入、刪除等攻擊。下一步工作將針對DTN多副本和數據分發(fā)策略設計一種安全的社會感知節(jié)點合作機制。 [1]張龍, 周賢偉, 王建萍, 等. 容遲與容斷網絡中的路由協(xié)議[J]. 軟件學報, 2010, 21(10): 2554-2572. ZHANG Long, ZHOU Xianwei, WANG Jianping, et al. Routing protocols for delay and disruption tolerant networks[J]. Journal of software,2010,21(10):2554-2572. [2]王恩, 楊永健, 李蒞. 基于動態(tài)半馬爾可夫路徑搜索模型的DTN分簇路由方法[J]. 計算機學報, 2015,38(3): 483-499. WANG En, YANG Yongjian, LI Li. A clustering routing method based semi-markov process and path-finding strategy in DTN[J]. Chinese journal of computer, 2015, 38(3): 483-499. [3]LI F, YIN Z Y, TANG S J, et al. Optimization problems in throwbox-assisted delay tolerant networks: which throwboxes to activate? how many active ones I need?[J]. IEEE Transactions on computers, 2016, 65(5): 1663-1670. [4]SPYROPOULOS T, PSOUNIS K, RAGHAVENDRA C S. Efficient routing in intermittently connected mobile networks: the multiple-copy case[J]. IEEE/ACM Transactions on Network, 2008,16(1): 77-90. [5]FAN J L , CHENG J M, DU Y, et al. Geocommunity- based broadcasting for data dissemination in mobile social networks[J]. IEEE transactions on parallel and distributed systems, 2013,24(4): 734-743. [6]黃宏程,王定國,寇蘭,等.基于節(jié)點分簇的延時容忍網路由策略[J]. 重慶郵電大學學報,2015,27(2):260-271. HUANG Hongcheng, WANG Dingguo, KOU Lan, et al. Routing strategy based on nocles clustering for delay tolerant network[J]. Joural of Chongqing University of Posts and Telecommunications, 2015, 27(2): 260-271. [7]CHAITHANYA V K, SIVA M C, MURTHY R. Performance modeling of DTN routing with heterogeneous and selfish nodes[J]. Wireless Netw, 2014,20(1):25-40. [8]LI Y, SU G L, WU D P O, et al. The impact of node selfishness on multicasting in delay tolerant networks[J]. IEEE transactions on vehicular technology, 2011, 60(5): 2224-2238. [9]LI Y, PAN H, JIN D P, et al. Evaluating the impact of social selfishness on the epidemic routing in delay tolerant networks[J]. IEEE communications letters, 2010,14(11): 1026-1028. [10]SERMPEZIS P, SPYROPOULOS T. Understanding the effects of social selfishness on the performance of heterogeneous opportunistic networks[J]. Computer communications, 2014, 48(7): 71-83. [11]LI Q H, GAO W, ZHU S C, et al. A routing protocol for socially selfish delay tolerant networks[J]. Ad hoc networks, 2012,10(8): 1619-1632. [12]NIYATO D, WANG P, SAAD W, et al. Coalition formation games for improving data delivery in delay tolerant networks[C]// Globecom 2010. Piscataway: IEEE Press, 2010: 1-5. [13]LIU L, YANG Q Y, KONG X J, et al. Com-BIS: a community-based barter incentive scheme in socially aware networking[J]. International journal of distributed sensor networks, 2015, Article ID 671012: 1-14. [14]GAO W, LI Q H, ZHAO B, et al. Multicasting in delay tolerant networks: a social network perspective[C]// Proceedings of ACM MobiHoc’09. New York: ACM Press, 2009: 299-308. [15]GUAN X, LU C, CHEN M, et al. Internal threats avoiding based forwarding protocol in social selfish delay tolerant networks[C]//ICC2011. Piscataway: IEEE Press, 2011: 1-6. [16]KERANEN A, OTT J, KARKKAINEN T. The ONE simulator for DTN protocol evaluation[C]// Proceedings of the 2nd International Conference on Simulation Tools and Techniques. Rome, 2009: 1-10. 本文引用格式: 蔣慶豐, 門朝光, 田澤宇, 等. 一種社會感知的延遲容忍網絡節(jié)點合作機制[J]. 哈爾濱工程大學學報, 2017, 38(6): 921-930. JIANG Qingfeng, MEN Chaoguang, TIAN Zeyu, et al. A social-aware node cooperation mechanism for DTN[J]. Journal of Harbin Engineering University, 2017, 38(6): 921-930. A social-aware node cooperation mechanism for DTN JIANG Qingfeng1,2, MEN Chaoguang1, TIAN Zeyu1, LI Xiang1 (1.College of Computer Science and Technology, Harbin Engineering University, Harbin 150001, China; 2.College of Computer Science and Information Technology, Daqing Normal University, Daqing 163712, China) To stimulate socially selfish nodes of a delay tolerant network (DTN) for cooperatively forwarding messages, a socially aware node cooperation mechanism (SANCM) for DTN was proposed. In SANCM, a currency reward scheme based on a probability increment in groups was proposed to stimulate the socially selfish nodes of different groups for cooperatively forwarding messages. Messages were effectively delivered by information sharing among these nodes in a group. Message migration was implemented by buffer cooperation among nodes in a group, thus increasing message delivery efficiency. The experimental results show that SANCM can effectively stimulate socially selfish nodes to cooperatively forward messages, thus achieving a higher message delivery success ratio with a lower delivery delay. delay tolerant network; social selfish; node cooperation; virtual currency; social aware 2016-04-29. 網絡出版日期:2017-05-17. 國家自然科學基金項目(61100004);黑龍江省自然科學基金項目(F201128);大慶市指導性科技計劃項目(zd-2016-053). 蔣慶豐(1983-), 男, 講師, 博士研究生; 門朝光(1963-), 男, 教授, 博士生導師. 門朝光,E-mail: menchaoguang@hrbeu.edu.cn. 10.11990/jheu.201604090 http://www.cnki.net/kcms/detail/23.1390.u.20170517.1601.002.html TP393 A 1006-7043(2017)06-0921-103 SANCM機制性能評估
4 結論