«上一篇
文章快速检索     高级检索
下一篇»
  哈尔滨工程大学学报  2017, Vol. 38 Issue (6): 921-930  DOI: 10.11990/jheu.201604090
0

引用本文  

蒋庆丰, 门朝光, 田泽宇, 等. 社会感知的延迟容忍网络节点合作机制[J]. 哈尔滨工程大学学报, 2017, 38(6), 921-930. DOI: 10.11990/jheu.201604090.
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. DOI: 10.11990/jheu.201604090.

基金项目

国家自然科学基金项目(61100004);黑龙江省自然科学基金项目(F201128);大庆市指导性科技计划项目(zd-2016-053)

通信作者

门朝光, E-mail:menchaoguang@hrbeu.edu.cn

作者简介

蒋庆丰(1983-), 男, 讲师, 博士研究生;
门朝光(1963-), 男, 教授, 博士生导师

文章历史

收稿日期:2016-04-29
网络出版日期:2017-05-17
社会感知的延迟容忍网络节点合作机制
蒋庆丰1,2, 门朝光1, 田泽宇1, 李香1    
1. 哈尔滨工程大学 计算机科学与技术学院, 黑龙江 哈尔滨 150001;
2. 大庆师范学院 计算机科学与信息技术学院, 黑龙江 大庆 163712
摘要:为促使延迟容忍网络中的社会自私节点合作转发消息,本文提出一种社会感知的延迟容忍网络节点合作机制(SANCM)。SANCM通过基于组间概率增量的货币奖励策略来促使不同组的社会自私节点合作转发消息;通过组内节点的信息共享实现消息的有效传递;通过组内节点的缓存合作实现消息的迁移,进一步提高消息的传递效率。实验结果表明,SANCM能够有效促使社会自私节点合作转发消息,获得较高的消息传递成功率和较低的时延。
关键词延迟容忍网络    社会自私    节点合作    虚拟货币    社会感知    传递效率    
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
Abstract: 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.
Key words: delay tolerant network    social selfish    node cooperation    virtual currency    social aware    

延迟容忍网络(delay tolerant network,DTN)是一种具有长时延和间歇中断特点的网络,在环境监测、军事战略、深空探测等方面具有广泛的应用前景和实用价值[1]。由于缺乏稳定的端到端连接,DTN转发节点采用“存储-携带-转发”方式临时存储消息,在和目的节点相遇时将消息发送给目的节点。许多DTN路由和分发协议[2-6]在转发数据时,假设节点间完全合作转发消息,其性能在存在大量自私节点时会严重下降[7-10],因此需要设计有效的节点合作机制来促使自私节点合作转发消息。

DTN节点自私性分为个体自私性和社会自私性[11]。个体自私性是指每个节点自身为节省缓存、能量等资源而拒绝为其他节点转发消息。在移动社会网络中,具有共同兴趣、关系较密切的节点会被分为很多社会节点组。社会自私性是指社会节点组中的节点会为自身组内的节点转发消息,而不愿意为其他组节点转发消息。

目前许多针对个体自私性的节点合作机制已经被提出,而针对社会自私行为的研究则较少。文献[9]通过马尔可夫模型分析验证了社会自私行为对DTN的影响,结果表明当节点间存在社会自私性时,消息的传递时延会增大。文献[10]研究了社会自私行为对网络性能的影响,建立了一个分析社会自私行为的模型框架,并基于此框架推导出消息的传递时延。文献[9-10]只是对社会自私性的影响进行了分析,并没有提出有效的节点合作机制。文献[11]提出了一种CFG机制来促使多个DTN社会节点组合作转发消息。该机制设计了一个多个理性社会节点组进行合作转发的核博弈模型,并提出求解核博弈模型的算法,来促使各组节点合作转发消息。但该机制中各社会节点组只是在消息时延门限较小时才会完全合作,当消息时延门限较大时,合作的节点组会减少,并且没有考虑组内节点如何合作转发、缓存消息。文献[13]提出了一种基于社群等量交换的合作机制Com-BIS,将一个社会节点组看作一个虚拟的节点,节点之间进行等量交换时,考虑节点与对方节点所在的社会节点组之间的等量交换。但这种基于交换的策略在社会节点组间可发送消息量非对称时,消息量大的节点组的消息无法有效传递。

为促使社会自私节点有效合作转发消息,本文针对单副本路由提出一种社会感知的DTN节点合作机制(social-aware node cooperation mechanism for DTN,SANCM)。SANCM通过基于组间概率增量的货币奖励策略来促使社会节点组间合作转发消息,同时组内节点通过信息的共享和缓存的合作,进一步提高消息的传递效率。

1 SANCM机制系统模型 1.1 网络模型

本系统网络模型如图 1所示,包括可信的第三方(trusted third party, TTP)、固定网络、DTN节点3部分。

图 1 网络模型 Fig.1 Network model

TTP作为授权中心负责为每组移动节点颁发公、私密钥证书并且根据票据信息完成DTN节点的货币清算工作。

固定网络包括有线的Internet和无线访问点AP,负责连接TTP和DTN节点。DTN节点通过固定网络从TTP处获取密钥和提交票据信息。

DTN节点N11~N33代表具有蓝牙、WIFI等高速短距离无线通信功能的移动设备。这些移动节点根据社会关系分为多个组(G1, G2, G3),每组节点代表关系非常密切的家人、亲属等团体,使用统一的货币账户。组内节点接触概率大、平均相遇时间短、结构稳定,而组间节点接触概率小、相遇时间长。

模型中一个组内的所有节点将作为一个整体合作转发消息,当此组节点遇到传递概率大的另一组节点时,将会转发消息。假设节点的合作模式是完全合作的,即如果一个节点接收其他节点的消息则会完全合作转发,而不是以某个概率将消息丢弃,或者只以一定概率转发。

当消息被成功传递给目的节点所在组时,TTP将通过转发票据信息从目的节点所在组账户上扣除一部分货币并根据2.3节的货币奖励策略将货币支付给转发消息的其他节点组。所有节点组的账户信息由TTP负责管理,当一个节点和TTP相遇时,可以查询由TTP签名的每个组的账户信息并和其他组节点共享。这样当节点在发送和转发消息时,如果发现目的节点组的账户货币不足,则停止发送和转发消息,以防止目的节点组在货币不足的情况下也能接收消息。因为通过广播共享信息,所以各组节点可以较快的获得账户信息。

1.2 节点接触模型

同文献[14]一样,假设DTN中成对节点间相遇时间服从均值为1/λ的指数分布,λ代表两节点的接触率。节点Ni和同一组中节点Nj的接触率为λij,和不同组中节点Nk的接触率为λikλij»λik。两节点NiNj的接触率λij的值可表示为

$ {\lambda _{ij}} = n/\sum\limits_{l = 1}^n {t_{ij}^l} $ (1)

式中:tij1tij2,…,tijn为节点NiNj之间的n次相遇时间样例。

2 社会感知的节点合作机制 2.1 相关定义

由于DTN中成对节点间相遇时间服从均值为1/λ的指数分布,所以节点NiNj在timeij时间间隔内相遇的概率密度函数为

$ f({t_{ij}}) = {\lambda _{ij}}{e^{ - {\lambda _{ij}}}}{t_{ij}} $ (2)

定义1 节点传递概率

假设节点Ni中消息m的目的节点为Nj,剩余生存时间为tremain,则节点Ni对消息m的节点传递概率即和目的节点Nj相遇的概率Pij

$ \begin{array}{l} {P_{ij}} = P\left( {{t_{ij}} \le {t_{{\rm{remain}}}}} \right) = \\ \;\;\;\;\;\;\int_0^{{t_{{\rm{remain}}}}} {f({t_{ij}}){\rm{d}}{t_{ij}}} = {\rm{ }}1 - {{\rm{e}}^{ - {\lambda _{ij}}}} \times {t_{{\rm{remain}}}} \end{array} $ (3)

消息剩余时间tremain的值表示为

$ {t_{{\rm{remain}}}} = {\rm{TTL}} + {t_{{\rm{gen}}}} - {t_{{\rm{rec}}}} $ (4)

式中:TTL(time to live)为消息的生存期;tgentrec分别为消息生成时刻和节点Ni接收消息m的时刻。

定义2 节点组传递概率

假设只有一个消息副本,则组GI(NI1NI2,…, NIi, …, NIkGI)中节点NIi到组GJ(NJ1NJ2,…, NJkGJ)的节点组传递概率为

$ {P_{IiGJ}} = 1 - (1 - {P_{IiJ1}})(1 - {P_{IiJ2}}) \ldots (1 - {P_{IiJk}}) $ (5)

式中:PIiJ1PIiJ2, …,PIiJk为节点NIi将消息传递到组GJ中每个节点的节点传递概率。节点组传递概率表示节点NIi将消息成功传递到目的节点所在组的概率。

定义3 组间传递概率

GIGJ的组间传递概率如式(6) 所示,为组GI中节点组传递概率的最大值:

$ {P_{GIGJ}} = \max ({P_{I1GJ}},{P_{I2GJ}}, \ldots ,{P_{IiGJ}}, \ldots ,{P_{IkGJ}}) $ (6)

组间传递概率表示一个组将消息传递给另一个组的概率。

定义4 节点综合效率

假设节点Ni中消息m的目的节点为Nj,则节点Ni的节点综合效率为

$ {\rm{ComUtilit}}{{\rm{y}}_{ij}} = {\varepsilon _1} \times {\rm{freeBufRati}}{{\rm{o}}_i} + {\varepsilon _2} \times {P_{ij}} $ (7)

式中:freeBufRatioi为节点Ni的空闲缓存百分比,PijNi的节点传递概率,ε1ε2为权值系数,ε1+ε2=1。

定义5 节点组综合效率

假设消息m的目的节点所在组为GJ,则组GI中节点NIi的节点组综合效率为

$ {\rm{ComUtilit}}{{\rm{y}}_{IiGJ}} = {\varepsilon _1} \times {\rm{freeBufRati}}{{\rm{o}}_{Ii}} + {\varepsilon _2} \times {P_{IiGJ}} $ (8)

式中:freeBufRatioIi为节点NIi的空闲缓存百分比,PIiGJ为节点NIi的节点组传递概率,ε1ε2为权值系数,ε1+ε2=1。

2.2 节点合作机制概述

当两节点相遇时,SANCM机制工作过程如下:

1) 节点首先发送缓存中目的节点为对方节点的消息。

2) 如果两节点在同一组,则通过信息共享获得组内每个节点和其他社会节点组之间的接触率,并根据节点传递概率、节点组传递概率和缓存情况完成消息的传递和缓存合作。

3) 两节点不在同一组时,如果对方节点和消息目的节点在同一组或者对方节点的组间传递概率大于自身组的组间传递概率,则将消息转发给对方节点。

4) 当一个消息被成功传递到目的节点所在组时,目的节点所在组将通过货币奖励策略,根据节点组的组间传递概率增量对转发节点组进行货币奖励。

以下各节为组间货币奖励策略、组内信息共享、组内消息传递和缓存合作的详细设计。

2.3 货币奖励策略

为促使其他组节点转发消息,消息目的节点组接收到一个消息时需要为转发节点组支付一定的虚拟货币。本文提出一种基于组间概率增量的货币奖励策略,消息转发路径中每组节点所获得的货币值是由其组间传递概率增量即自身组间传递概率和前一节点组的组间传递概率的差值决定的,增量越大,其获得的货币值越大。

假设一个消息的转发节点组路径为Gs, G1, … Gk-1, Gk, GDGSGD分别为消息源节点组和目的节点组,转发节点组Gs, G1, …, Gk-1, Gk的组间传递概率分别为PGsGDPG1GD,…, PGk-1GDPGkGDPGsGD < PG1GD,…, < PGk-1GD < PGkGD,则每组节点获得的货币值分别为R(PGsGD)-0,R(PG1GD)-R(PGsGD), …, R(PGk-1GD)-R(PGk-2GD),R(PGkGD) -R(PGk-1GD),R(P)为目的节点组GD为转发节点组支付货币的货币奖励函数:

$ R\left( P \right) = {\rm{Currency}} \times P,{\rm{ }}0 \le P \le 1 $ (9)

式中:Currency为目的节点组为一个消息所能支付的最大货币值(假设为1),P为转发节点组的组间传递概率。

为获取消息转发路径,当消息源节点组Gs遇到组间传递概率大的节点组G1时,两个节点组将会创建如图 2所示的转发票据。

图 2 转发票据 Fig.2 Forwarding ticket

图 2中,MessageID为消息标识符,GSGD分别为消息源节点组和目的节点组的组标识,Currency为目的节点组所支付的最大货币值,TTL为消息生命期,tgen为消息生成时刻,Path为消息转发路径;Path中的ts1为节点组GSG1的相遇时刻即节点组G1接收消息的时刻。当G1和组G2相遇时,G2中节点将组G2的标识和相遇时刻信息插入转发票据的转发路径中。以此类推,当消息目的节点组收到消息时,将组标识GD插入转发票据的转发路径中并使用秘钥进行签名。目的节点组和最后一跳转发节点都会拥有一份转发票据。拥有转发票据的节点可以将票据的副本共享给转发消息的其他节点组。这样可以使转发票据快速到达TTP。当TTP收到转发票据时会根据转发票据和货币奖励函数,扣除目的节点组账户上一部分货币,分配给其他转发节点组。

因为基于组间概率增量的货币奖励策略中,每组转发节点获得的货币值是由其相对前一节点的组间概率增量决定的,和后继节点无关,所以当一个理性节点组遇到一个传递概率大于自身的节点组时,会立即转发消息以增大自身空闲缓存,否则其会因缓存有限而不能存储其他消息,丢失获得更多货币的机会。

由于社会网络中节点关系强度不同,运行过程中每个节点组获得货币不同,可能出现货币少的贫穷节点组的情况,这些贫穷节点组可能对DTN的网络性能产生威胁[15]。因此本文采用文献[15]的方法,根据Gini系数来衡量激励机制造成的社会分布不均程度(值越大表明不均程度越大),并利用征税策略来平衡节点组的收益。征税策略具体过程如下:当Gini系数在0.3~0.5时,表明节点组之间的货币收益不均衡程度较大,因此计算各节点组的平均货币值,将征收货币高于平均值的节点组一定比例货币p,将其分配给低于平均货币值的贫穷节点组。

2.4 组内信息共享

由于组内节点是关系密切的社会团体,因此可以彼此共享传递信息,以提高消息传递概率,增加货币收入。当节点N11和组内其他节点N12相遇时,首先更新他们间的平均相遇时间信息,然后将包含其他组节点平均相遇时间的相遇信息表(表 1)发送给对方。

表 1 相遇时间信息表 Tab.1 Table meeting time information table

对于表 1中的记录信息,如果对方节点不存在该记录,则直接将信息插入自身相遇信息表中。如果对方节点相遇信息表中已经存在相同的记录信息,则根据记录更新时刻来决定是否更新信息。信息共享后,节点根据相遇信息表的信息计算每个消息的节点传递概率、节点组传递概率和组间传递概率,进行消息的传递。

2.5 组内消息传递和缓存合作

当组内两个节点相遇时,如果一个节点的剩余缓存较少,则可以将消息发送给缓存大的其他节点,实现消息的迁移。组内节点通过缓存的合作和共享,使得消息多而缓存小的节点能够及时将消息迁移给其他节点,防止由于缓存有限而导致消息被丢弃,从而提高消息传递效率。

假设组GI的两个节点NI1NI2相遇,消息m的目的节点为GD中的NDdNI1NI2发送消息和缓存合作的具体算法流程如下:

if freeBufRatioI1>th1且freeBufRatioI2>th1 then

  if NI2的节点传递概率PI2Dd大于NI1的节点传递概率PI1Dd then

   发送消息m

  end if

end if

if freeBufRatioI1 < th1且freeBufRatioI2>th1 then

  发送消息m

end if

if freeBufRatioI1 < th1且freeBufRatioI2 < th1 then

  if消息m为组内消息then

   两节点分别计算自身节点综合效率ComUtilityI1Dd和ComUtilityI2Dd

   if ComUtilityI2Dd-ComUtilityI1Dd>th2 then

    发送消息m

   end if

  else//消息m为组外消息

   两节点分别计算自身节点组综合效率ComUtilityI1GD和ComUtilityI2GD

   if ComUtilityI2GD-ComUtilityI1GD>th2 then

    发送消息m

   end if

  end if

end if

算法中,对于一个消息m,如果两节点的空闲缓存百分比freeBufRatio都大于一定门限th1,说明两节点空闲缓存都比较大,则节点NI1只有在对方节点NI2的节点传递概率大于自身的情况下才会发送消息。如果节点NI1的空闲缓存百分比小于门限th1,而节点NI2的空闲缓存百分比大于门限th1,则NI1直接将消息发送给节点NI2,以减轻自身缓存压力。当双方节点空闲缓存百分比都小于门限th1时,如果m为组内消息,双方节点通过式(7),由空闲缓存百分比和节点传递概率计算节点综合效率;如果m为组外消息,双方节点通过式(8),根据节点空闲缓存百分比和节点组传递概率计算节点组综合效率。如果综合效率差值大于门限th2,则发送消息。

3 SANCM机制性能评估 3.1 实验设置

本文通过ONE模拟器[16]对SANCM合作机制性能进行仿真。仿真中共有40个移动节点,被分为4组,每组10个节点,节点移动模型为ShortestPathMapBasedMovement模型。在此移动模型中,节点选择地图中的一个目的地后,将通过Dijkstra单源最短路径算法在地图上选择距离最短的路径移动。默认情况下,消息产生间隔为4~8 s,消息大小为100~200 kB,缓存大小为3 MB,TTL为2 h,节点移动速度为1~4 m/s,数据传输速度为250 kB/s,通信半径为10 m,仿真区域为4 500 m×3 400 m,仿真时间54 000 s,预热期为4 000 s。节点初始能量为4 000 J,每次为发现邻居节点进行扫描所需的能量为0.2 J,传送消息所消耗的能量为1 J/s。每个节点的初始货币为10。2.5节的算法中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中每组节点只存储转发自身所在组的消息,不转发其他组节点的消息。通过传递成功率、时延、负载率、平均消耗能量等指标来验证路由性能。传递成功率为成功传递的消息数和网络中产生的消息总数的比值。时延为所有成功传递消息的时延平均值。负载率为消息转发数和成功传递消息数的比值,表示成功传递一个消息需要多少次转发。平均消耗能量为仿真过程中平均每个节点所消耗的能量。下面通过改变缓存、TTL、消息生成间隔、节点移动速度和节点个数的大小来验证各种机制性能。

3.2.1 缓存大小的影响

缓存大小对传递成功率的影响如图 3所示,可以看出所有机制的传递成功率都随着缓存的增大而增大,因为具有较大缓存的节点能够携带更多的消息,从而成功传递更多的消息。Direct机制成功率最小,因为每个节点仅仅存储、转发自身组消息,不能及时将消息传递给传递概率更大的其他组节点,结果导致一些消息由于缓存溢出或者TTL过期而被丢弃。

图 3 缓存大小对传递成功率的影响 Fig.3 Impact of varying buffer sizes on delivery success ratio

CFG机制的传递成功率高于Direct机制而低于Com-BIS和SANCM机制,这是因为CFG机制仅仅在消息时延门限较小时促使大部分节点组合作,将消息转发给传递概率高的其他组节点,而且没有考虑组内节点信息共享及消息迁移问题。由于Com-BIS中节点组间可发送消息量非对称时,消息量大的节点组的消息无法有效传递,所以消息传递率低于SANCM机制。由于SANCM机制不仅能够通过基于组间概率增量的货币策略促使不同组节点进行合作转发,而且还能够通过信息共享以及缓存合作进一步提高效率,所以消息传递成功率最高。

缓存对时延的影响如图 4所示,可以看出所有机制的传递时延都随着缓存的增大而增大。这是因为缓存增大时,节点可以存储并传递更多时延大的消息,所以平均时延增大。因为Direct中每个节点仅仅存储自身消息,不将消息转发给传递时延小的其他组节点,所以平均传递时延最大。由于SANCM机制能够利用组内共享的相遇时间信息和缓存合作有效快速传递消息,所以平均时延最小。

图 4 缓存大小对传递时延的影响 Fig.4 Impact of varying buffer sizes on delivery delay

缓存大小对负载率的影响如图 5所示,可以看出负载率随着节点缓存的增大而减小。这是因为随着缓存的增大,更多消息会被成功传递,导致负载率减小。由于SANCM机制中节点组间以及组内节点有效合作转发消息,所以负载率最高。

图 5 缓存大小对负载率的影响 Fig.5 Impact of varying buffer sizes on overhead ratio

缓存大小对能量的影响如图 6所示,可以看出节点消耗能量随着缓存的增大而增大。这是因为缓存增大,节点可以存储更多消息,使得消息转发次数增大,消耗更多能量。由于SANCM机制中节点组间和组内节点有效合作转发消息,所以消耗能量略高于其他机制。由于Direct机制不转发其他组节点的消息,所以消耗能量最小。

图 6 缓存大小对能量的影响 Fig.6 Impact of varying buffer sizes on energy
3.2.2 TTL的影响

TTL对传递成功率的影响如图 7所示,可以看出传递成功率随着TTL的增大而增大。这是因为TTL增大时,消息可以在网络中增大存活时间,增加传递机会,从而增大传递成功率。由于Direct机制不能即时将节点自身消息转发给传递概率高的其他组节点,所以传递成功率最低。因为CFG中,只有消息时延门限较小时,更多的节点组才会进行合作,所以当TTL增大时,CFG机制中合作的节点组会减少,导致传递成功率低于其他机制。由于有效转发消息,所以SANCM的传递成功率高于其他机制。

图 7 TTL对传递成功率的影响 Fig.7 Impact of varying TTL on delivery success ratio

TTL对时延的影响如图 8所示,可以看出消息传递时延随着TTL的增大而增大。因为TTL增大时,消息存活时间增大,节点可以成功传递更多时延大的消息,所以平均传递时延增大。Direct中,由于每个节点只缓存自身组消息,不能即时将消息转发给传递时延更小的其他组节点,所以平均传递时延最大。由于其他机制能够促使不同组节点合作转发消息,所以获得较小的传递时延。SANCM平均传递时延最小。CFG的时延在TTL较大时大于Com-BIS机制。

图 8 TTL对传递时延的影响 Fig.8 Impact of varying TTL on delivery delay

TTL对负载率的影响如图 9所示,可以看出所有机制的负载率都随着TTL的增大而减小。这是因为随着TTL的增大,虽然成功转发消息数和转发次数都在增大,但转发次数的增大速率小于成功转发消息数的增大速率。由于Direct中,消息只由组内节点直接传递,而不经过其他组节点,所以负载率最小。由于SANCM机制中不同节点间有效合作转发消息,所以负载率最大。

图 9 TTL对负载率的影响 Fig.9 Impact of varying TTL on overhead ratio

TTL对能量的影响如图 10所示,可以看出所有机制消耗的能量都随着TTL的增大而增大。这是因为随着TTL的增大,消息生存时间会增大,消息有更多的机会被转发,从而消耗更多的能量。由于Direct中消息只由组内节点直接传递,而不经过其他组节点,所以消耗能量最小。SANCM机制消耗能量略高于其他机制。

图 10 TTL对能量的影响 Fig.10 Impact of varying TTL on energy
3.2.3 消息生成间隔的影响

图 11所示,可以看出消息传递成功率随着生成间隔的增大而增大。这是因为消息生成间隔增大,网络中产生的消息数会变少,节点有更多的缓存和带宽资源来传递消息,从而导致消息传递成功率增大。Direct机制的传递成功率最小,SANCM机制成功率最大,Com-BIS机制略高于CFG。

图 11 消息生成间隔对传递成功率的影响 Fig.11 Impact of varying message generation interval on delivery success ratio

消息生成间隔对时延的影响如图 12所示,可以看出传递时延随着消息生成间隔的增大而增大。因为消息生成间隔增大时,节点具有更多的缓存,许多长时延的消息能够被成功转发,所以平均传递时延增大。Direct机制的传递时延最大,SANCM机制传递时延最小,Com-BIS和CFG次之。

图 12 消息生成间隔对传递时延的影响 Fig.12 Impact of varying message generation interval on delivery delay

消息生成间隔对负载率的影响如图 13所示,可以看出负载率随着消息生成间隔的增大而减小。这是因为消息生成间隔增大,网络中产生的消息数会变少,节点具有更多的缓存来存储消息,使得成功传递的消息比例增大,所以负载率减小。由于节点合作转发消息,SANCM机制负载率最大,Com-BIS负载率大于CFG,Direct负载率最小。

图 13 消息生成间隔对负载率的影响 Fig.13 Impact of varying message generation interval on overhead ratio

消息生成间隔对能量的影响如图 14所示,可以看出节点消耗能量随着消息生成间隔的增大而减小。这是因为消息生成间隔增大,网络中产生的消息数会变少,从而消耗的能量减小。由于节点合作转发消息,SANCM机制消耗能量略大于Com-BIS和CFG机制,Direct消耗能量最小。

图 14 消息生成间隔对能量的影响 Fig.14 Impact of varying message generation interval on energy
3.2.4 节点移动速度的影响

速度对传递成功率的影响如图 15所示,可以看出传递成功率随着节点移动速度的增大而增大。这是因为速度越大,节点间相遇的机会增大,从而增加成功传递的消息数。Direct机制的传递成功率最小,SANCM机制由于有效的组内和组间合作转发,从而传递成功率最大。

图 15 节点速度对传递成功率的影响 Fig.15 Impact of node speed on delivery success ratio

速度对传递时延的影响如图 16所示,可以看出传递时延随着节点移动速度的增大而减小。因为速度增大,节点可以在较短的时间相遇,从而减小消息传递时延。Direct机制的传递时延最大,SANCM机制时延最小,Com-BIS和CFG由于缺乏有效的合作转发,时延略大。

图 16 节点速度对传递时延的影响 Fig.16 Impact of node speed on delivery delay

速度对负载率的影响如图 17所示,可以看出负载率随着节点移动速度的增大而减小。因为速度增大,节点可以将大量消息快速成功传递,从而平均转发次数减少。Direct机制只是组内合作转发消息,所以负载率最小。SANCM机制负载率略高于Com-BIS和CFG机制。

图 17 节点速度对负载率的影响 Fig.17 Impact of varying node speed on overhead ratio

速度对能量的影响如图 18所示,可以看出节点消耗的能量随着移动速度的增大而增大。因为速度增大,节点间接触机会增大,传输的消息量也会增大,从而消耗更多的能量。由于SANCM机制转发次数较多,所以消耗的能量略高于Com-BIS和CFG机制,但其获得了较高的传递成功率和较低时延。Direct机制节点合作转发次数较少,所以消耗的能量也最少。

图 18 节点速度对能量的影响 Fig.18 Impact of varying node speed on energy
3.2.5 节点个数和货币分配的影响

图 19所示,可以看出传递成功率随着节点个数的增大而增大。这是因为节点个数越大,网络越密集,每个节点平均社会关系数会越大,从而节点传输数据机会增加,使得传递成功率增大。还可以看出征收货币比例p增大时,传递成功率增大。这是因为当征收货币比例p增大时,更多富裕节点组货币会分给贫穷节点组,使得节点组间货币更趋近平衡,减少贫穷节点由于货币不足而不能发送的消息个数。

图 19 节点个数和货币分配对传递成功率的影响 Fig.19 Impact of node number and currency distribution on delivery success ratio

节点个数对传递时延的影响如图 20所示,可以看出传递时延随着节点个数的增大而增大。因为节点个数增大,平均社会关系数增大,许多长时延的消息能够成功传递,从而导致平均传递时延的增大。从图中还可看出传递时延随着p的增大而减小,这是因为p增大,节点组间具有更好的货币平衡,从而更多的节点组能够参与转发,减小消息的传递时延。

图 20 节点个数和货币分配对传递时延的影响 Fig.20 Impact of node number and currency distribution on delivery delay

图 21所示,可以看出负载率随着节点个数的增大而增大。因为节点个数增大,平均社会关系数增大,节点间相遇机会多,所以转发次数会增加,导致负载率的增大。还可看出当p增大时,负载率也增大。这是因为具有更好的货币平衡,节点组间转发次数增大,导致负载率的增大。

图 21 节点个数和货币分配对负载率的影响 Fig.21 Impact of node number and currency distribution on overhead ratio

图 22可以看出消耗能量随着节点个数的增大而增大。因为节点个数增大,平均社会关系数增大,更多消息被转发,增大节点能量的消耗。还可看出节点消耗能量随着p的增大而增大。这是因为节点组间货币平衡时,消息转发数会增大,从而消耗更多的能量。

图 22 节点个数和货币分配对能量的影响 Fig.22 Impact of node number and currency distribution on energy
4 结论

1) 为促使社会自私节点合作转发消息,本文提出一种社会感知的延迟容忍网络节点合作机制SANCM。SANCM能够通过基于组间概率增量的货币奖励策略促使不同社会节点组根据概率增量来合作转发消息,并通过组内节点信息和缓存的共享合作进一步提高性能。

2) 和相关机制相比,SANCM能够获得较高的消息传递成功率和较低的时延。

目前本文仅仅针对单复本路由进行研究,并且没有考虑安全问题,如中间节点组可能发起的节点插入、删除等攻击。下一步工作将针对DTN多副本和数据分发策略设计一种安全的社会感知节点合作机制。

参考文献
[1] 张龙, 周贤伟, 王建萍, 等. 容迟与容断网络中的路由协议[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. (0)
[2] 王恩, 杨永健, 李莅. 基于动态半马尔可夫路径搜索模型的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. (0)
[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. DOI:10.1109/TC.2015.2451621 (0)
[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. DOI:10.1109/TNET.2007.897964 (0)
[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. DOI:10.1109/TPDS.2012.171 (0)
[6] 黄宏程, 王定国, 寇兰, 等. 基于节点分簇的延时容忍网路由策略[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. DOI:10.3979/j.issn.1673-825X.2015.02.022 (0)
[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. DOI:10.1007/s11276-013-0583-z (0)
[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. DOI:10.1109/TVT.2011.2149552 (0)
[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. DOI:10.1109/LCOMM.2010.093010.100492 (0)
[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. (0)
[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. DOI:10.1016/j.adhoc.2011.07.007 (0)
[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. (0)
[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. http://dl.acm.org/citation.cfm?id=2930091 (0)
[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. (0)
[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. (0)
[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. (0)