ERC2:具有拥塞控制策略的DTN传染路由方法

2019-08-01 01:35谭静董程凤王慧强王贺哲冯光升吕宏武袁泉陈诗军
计算机应用 2019年1期

谭静 董程凤 王慧强 王贺哲 冯光升 吕宏武 袁泉 陈诗军

摘 要:针对延迟容忍网络(DTN)拓扑结构动态变化和节点存储空间有限的问题,提出一种具有拥塞控制策略的DTN传染路由(ERC2)方法。该方法基于一种动态存储状态模型(DSSM),节点可通过感知网络状况动态调整节点半拥塞状态的门限降低网络发生拥塞的可能性,增加ACK索引以及消息管理队列,使节点存储状态随着网络负载的随机变化而动态更新并主动删除冗余包,并根据不同拥塞状态结合传染路由和Prophet路由的优点选择单一或混合模式进行消息转发,从而达到预防、避免、解除拥塞的目的,实现节点自适应缓存管理以及网络的动态拥塞控制。在模拟器ONE上采用Working Day Movement模型进行仿真,其中与Prophet相比,ERC2方法在消息递交率上提高66.18%,平均时延降低48.36%,转发次数提高22.83%。仿真结果表明,在拥塞程度不同的场景中,ERC2与Epidemic、Prophet路由算法相比具有更好的网络性能。

关键词:延迟容忍网络;传染路由;拥塞控制;动态存储;缓存管理

中图分类号: TP393.08

文献标志码:A

Abstract: Delay Tolerant Network (DTN) has characteristics of dynamic topology changes and limited node storage space. A DTN Epidemic Routing with Congestion Control strategy (ERC2) method was proposed. The method was based on a Dynamic Storage State Model (DSSM). According to sensing network conditions, the threshold of nodes semi-congested state was dynamically adjusted to reduce the possibility of network congestion by nodes. The ACK index and message management queue were added to make node storage state change randomly with network load, dynamically update and actively delete redundant packages. Single or mixed mode was selected for message forwarding according to different congestion states combining with advantages of Epidemic and Prophet routing, so as to achieve the purpose of preventing, avoiding and canceling congestion, realizing adaptive buffer management of nodes and dynamically controlling congestion of network. Simulations were conducted on the ONE(Opportunistic Networking Environment) platform using Working Day Movement (WDM) model. In the simulation, ERC2 was 66.18% higher than Prophet in message delivery rate. The average latency of ERC2 was decreased by 48.36%, and the forwarding number was increased by 22.83%. The simulation results show that ERC2 has better network performance than Epidemic and Prophet routing algorithms in scenarios with different levels of congestion.

Key words: Delay Tolerant Network (DTN); epidemic routing; congestion control; dynamic storage; buffer management

0 引言

延迟容忍网络(Delay Tolerant Network, DTN)[1]架构体系具有时延高、间歇性连接、资源受限等特点,被广泛应用于环境质量监控、室内地图生成、交通拥塞预报和灾后现场救援[2]等各类场景。在DTN中,节点通过“存储携带转发”的路由模式进行消息传输[3]。为了保证消息的递交率及延迟等网络性能,网络通常采用多副本路由进行消息转发,当网络中存在大量同一消息副本时,将会导致节点的有限缓存资源被迅速耗尽,最终造成节点缓存溢出[4]。

考虑到传染路由协议在DTN研究中的重要意义,目前已存在大量基于傳染路由协议的DTN路由策略。例如,文献[5]考虑节点的移动方向和速度,将移动轨迹匹配度高的节点分为一组,不同组的节点利用摆渡节点实现消息的传送。文献[6]针对口袋交换网络(Pocket Switched Network, PSN)中节点的社会属性,利用节点活跃度、桥接中心度、社区关系等实现中继节点选择。文献[7]中提出了一种基于节点空间信息和传递性的多副本路由策略,主要针对已有研究成果缺乏对节点空间信息的考虑。其中,消息的路由选择不仅考虑了节点连接的传递性还考虑了节点的停留时间。

文献[8]中提出了一种换此处“换分布式路由”的描述对吗?分布式路由。该策略主要针对利用消息多跳转发扩展覆盖范围的网络,能够有效地控制消息的拷贝和转发。文献[9]中提出了一种基于社会感知的路由算法。其中,设计了基于转发代价的节点中继能力,并利用区域特性研究如何选择下一跳节点。文献[10]中提出一种满足不同网络模型的需求的路由策略,即为不同类型的网络拓扑提供不同的转发机制以此来确保最小的传输时延和最大的消息交付率。在文献[11]中,在网络中建立基站,充当网络控制中心及数据收集中心,并在网络中分发一定数量的令牌,使得节点获得令牌才可以转发消息。在文献[12]中,对中继节点到目的节点的时延和跳数进行评估,路由过程中选出到目的节点时延相对较少、跳数相对较少的节点作为中继节点。

综上所述,对于DTN传染路由中拥塞控制的研究,国内外研究人员已经取得大量的成果。大多数路由算法主要利用节点的移动速度、位置方向、分布密度等自然属性或者节点间相遇的时间、相遇次数等社会属性来设计消息转发策略;但是,已有研究成果并没有考虑节点发生拥塞的情况,同时,节点不断移动,很难获得这些网络的准确分布状态,导致网络性能出现极低、极高等不稳定现象,因此,本文在传染路由的思想基础上提出一种改进机制面向拥塞控制策略的传染路由(Epidemic Routing with Congestion Control strategy, ERC2)方法。在网络链路间断性连接、网络准确分布状态难获取的条件下,通过每个节点根据自身拥塞状况动态调整路由转发策略,结合对节点缓存进行有效管理,从而实现节点在消息传输的拥塞控制过程,有效地改善网络各种性能。

1 相关工作

1.1 Epidemic路由协议

Epidemic路由协议是由Vahdat等[13]提出的一种典型的多副本路由算法,又称为传染路由,或者蔓延路由。传染路由通过采用病毒感染式的传递方式,向接触的每一个节点复制消息,其能够将消息的成功递交率最大化、端到端的传染时延最小化,因此,在过去的研究过程中,传染路由被广泛采用并作为其他路由算法性能上的比较标准;然而传染路由的实现容易导致大量的资源浪费,并且没有考虑缓存管理的问题。消息的调度顺序基于简单的先进先出队列管理模型,这使得传染路由的实际性能具有十分广阔的优化空间。

1.2 Prophet路由协议

Prophet[14]路由协议是一种基于节点历史信息的概率路由转发协议,在假设网络中的节点时非完全随机性移动的情况下,对节点的移动趋势进行概率性的预测,从而通过利用节点活动的重复性对网络的缓存和资源进行有效的控制。

Prophet协议中节点的相遇概率,其计算过程主要包括更新、衰减、传递三个部分。详细计算过程如下。

1)更新。当A、B节点相遇时,更新A节点到B节点的递交预测值:

其中: f(a,b)代表A节点到B节点的预测递交概率; f(a,b)old代表更新前的节点A、B之间的预测递交概率; f(a,b)init是一个初始常量,并且f(a,b)init∈(0,1)。

2)衰减。如果节点A、B有一段时间没有相遇,则A、B节点的递交预测概率就会衰减。

其中:k代表从上一次相遇到此次相遇经历了k个时间单位;λ代表衰减参数,是一个初始常量。

3)传递。如果节点A、B经常通信,同时节点B、C又频繁相遇,那么C就是A转发消息过程中的一个潜在的优良中继节点。

其中β表示常数因子,它们和f(a,b)init都表示一个初始常量。

由上述可知:式(1)用来不断更新两个节点相遇概率;式(2)用来计算两个节点长时间没有相遇而导致节点间的递交预测概率衰减值;式(3)用来计算两个不直接相遇的节点递交预测概率。

1.3 多属性丢包策略

多属性丢包策略利用消息的预测传输概率与消息副本数、消息大小及消息剩余生存时间计算消息的保留权重,优先丢弃保留权值最小的消息。该策略可以有效均衡分配存储资源,缓解拥塞节点的存储负担及提高消息的成功递交率。

保留权值的计算如下:

其中:Q表示消息的保留权值; f表示转发消息到目的节点的预测传输概率,利用式(1)、(2)和(3)计算;t表示消息的剩余生存时间;s表示消息的大小;r表示消息的冗余数量。消息的预测传输概率越大,剩余生存时间越长,消息大小越小,消息的冗余数量越少,则保留权值越大;相反,消息的预测传输概率越小,剩余生存时间越短,消息大小越大,消息的冗余数量越多,则保留权值越小。

综上,Epidemic路由协议可以提高消息递交率,但因无限制地创建消息副本,消耗大量节点缓存,造成网络性能急剧下降。Prophet路由协议可选择性地复制消息,在一定程度上避免生成地传输效率的副本避免生成过多副本此句不通顺,请作相应调整,但时间成本和能耗过高。本文提出一种具有拥塞控制策略的DTN传染路由方法,结合两种路由协议的优势,并引入多属性丢包策略,在网络资源、能量有限的应用场景中,进一步提升网络整体性能。

2 ERC2路由协议

考虑到网络资源有限和网络拓扑结构动态变化的特点,ERC2路由协议主要由动态存储状态模型和路由模型两部分构成。动态存储状态模型通过网络状况动态调整节点半拥塞状态的门限,预防网络拥塞的发生。路由模型包括ACK确认反馈机制、消息队列管理以及(α, β)-Epidemic算法,使节点存储状态随着网络负载的随机变化而动态更新并主动删除冗余包。下面对ERC2路由协议进行详细的介绍。

2.1 动态存储状态模型

在DTN中,节点发生拥塞是一个逐渐的过程。为了控制网络拥塞的发生,依据节点緩存利用率划分三种状态:正常态(Normal State, NS)、半拥塞状态(Semi-Congestion State, SCS)、拥塞状态(Congestion State, CS)。在划分节点存储状态时,需要考虑节点缓存利用率及消息转发速度。在任意时刻,如果节点缓存利用率达到半拥塞门限值,并且在一段较小的时间里节点缓存利用率的最小值不低于半拥塞门限,则节点由NS转换为SCS。同理,如果节点缓存利用率达到拥塞门限值,同时在一段较小的时间里节点的缓存利用率都大于拥塞门限,则节点由SCS转换为CS。节点的存储状态划分如下:

State(n)=NS, f(t,t+Δτ1)<αSCS,f(t,t+Δτ1)≥αCS,f(t,t+Δτ2)≥β (5)

其中:n表示DTN任意节点;State(n)表示节点n的存储状态,它有三个可能值NS、SCS、CS;t表示任意时刻;Δτ1表示半拥塞持续的时间;α表示半拥塞门限;Δτ2此处遗漏了一个变量,请补充表示拥塞持续的时间; β表示拥塞门限; f(t1,t2)表示在任意两个时刻t1、t2节点的缓存利用率的最小值。

当DTN拓扑结构随机动态变化时,为提升网络性能的稳定性,本文提出一种动态存储状态模型(Dynamic Storage State Model, DSSM)。根据网络负载情况决定α的取值,根据网络负载情况变换路由策略,增加多属性丢包策略,从而实现动态感知网络状态以及网络整体性能稳定。

图1表示在消息转发过程中,当节点出现丢包现象即节点发生拥塞时,就把半拥塞门限α更新为当前缓存利用率的一半,并将当前缓存利用率记为拥塞门限β。将α值设为拥塞窗口的一半的目的是使节点感知网络状态,及时调整以适应网络的变化。

图1中,在t1时刻,节点出现拥塞,执行多属性丢包策略。t1+Δt1时刻节点的拥塞门限记为β1,半拥塞门限记为α1,且α1=β1/2。同理,在t2时刻,节点出现拥塞,执行多属性丢包策略。Δt2时间后节点的拥塞门限记为β2,半拥塞门限记为α2,且α2=β2/2,其中Δt1、Δt2是两个极小的值。

2.2 ERC2路由模型

考慮到节点资源受限及拓扑结构随机动态变化的问题,本文提出了基于动态存储模型多属性丢包策略的拥塞控制传染路由(ERC2)方法。ERC2路由通过确认反馈机制对已传送到目的节点的消息进行管理,并根据ACK索引删除冗余副本。当节点缓存空间不足时,为了具有足够的空间存储新的消息,节点采用多属性丢包策略优先在消息缓存队列中删除保留权值较小的消息。当对消息进行转发时采用(α, β)-Epidemic算法作为路由转发策略,有效地对节点拥塞进行控制。

2.2.1 确认反馈机制

当消息到达目的节点后,网络应立即停止对消息的转发及复制,并删除该消息副本。确认反馈机制牺牲少量存储空间来存储ACK索引表,在消息到达目的节点后立即向发送节点反馈ACK消息,接收到确认反馈消息的节点根据索引的消息ID将成功交付的消息冗余副本删除。

在DTN节点中建立ACK索引表,其中每条ACK索引由成功交付的消息ID、目的节点、剩余生命周期(Time To Live, TTL)组成,并且它们是相互独立、唯一的。DTN节点的ACK索引表初始值为空,每接收到一个确认反馈消息,就生成一条对应的索引信息。ACK索引格式如图2所示。

由于节点缓存有限,为了减少网络开销及资源竞争,索引表中每一条ACK索引都设有一个剩余TTL值,当剩余生命周期值递减为0时,该条ACK索引就会自动消失,从而保证了ACK索引表的简洁性及高效性。此外,两节点相遇交换ACK索引表,一方面避免了冗余消息副本造成的资源浪费,另一方面也减轻了确认反馈信息在网络中广播所导致的网络负载。

2.2.2 消息管理队列

当节点缓存空间不足时,为了具有足够的空间存储新的消息,节点采用多属性丢包策略优先删除保留权值较小的消息;然而节点频繁重复计算消息的保留权值同样会消耗大量的网络资源,为此本文提出节点缓存中消息队列管理。其消息队列按照保留权值排列,越靠近消息转发端(或称为队头)其权值越大;反之,越靠近消息丢弃端(或称为队尾)其权值越小。有新消息到来时,首先根据式(4)计算其保留权值,然后根据保留权值从大到小将其插入到缓存队列中。节点与其他节点建立通信连接后,从队头开始传输消息。节点存储空间不足时,从队尾开始丢弃消息。节点中所有的消息都只计算一次保留权值,从而使得路由性能更佳。图3为节点中消息队列示意图。

2.2.3 (α, β)-Epidemic的相关定义描述

为了解决DTN负载不均衡及节点缓存受限的问题,本文提出(α, β)-Epidemic,不仅能够提高路由性能,还可以有效地控制网络拥塞。假设一个节点产生数据包,需要被传送到目的节点。当携带数据包的源节点遇到一个半拥塞门限和拥塞门限的值都为零的节点,中继节点是目的节点并接收数据包副本,这种路由策略被称为Direct路由。在ERC2路由模型中不会出现α=0, β=0的情形。当中继节点的半拥塞门限和拥塞门限的值都为1时,采用Epidemic路由协议,接收一个数据包副本的概率为1。DTN中的消息负载是动态变化的,节点的缓存利用率是动态变化的,因此针对0<α, β=1和0<α, β<1的情形采用多副本路由策略(α, β)-Epidemic。该策略从接收方考虑是否接收,其中节点接收消息的意愿度为P。在DTN中,不存在半拥塞门限值为0而拥塞门限值为1的节点,因此,不存在α=0,0<β<1的节点转发消息的过程。ERC2路由模型包含的多种消息转发策略描述如下:

1)直接交付路由策略Direct Delivery(α=β=0):源节点直接将消息转发给目的节点,无需任何节点的中继转发。

2)洪泛路由策略Epidemic(α=β=1):每一个节点转发消息副本给中继节点,同时接收消息副本的概率为1。

3)多副本路由策略(α, β)-Epidemic(0<α, β≤1):节点根据半拥塞门限α来动态调整路由策略,而拥塞门限β决定α的取值。

在ERC2路由模型中,当α=β=1时,(α, β)-Epidemic路由算法退化为传统的传染路由Epidemic,此时路由算法无拥塞控制机制,网络性能也会被降低,因此,本文只讨论0<α, β≤1的情况。

(α, β)-Epidemic路由策略的基本思想是在Epidemic协议的基础上,根据节点缓存利用率将转发过程划分成两个阶段,即洪泛转发和概率转发;同时,结合动态节点存储模型,增加ACK索引以及保留权值,使得节点存储状态随着网络负载的随机变化而动态更新并主动删除冗余包,从而达到预防、避免、解除拥塞的目的。

假设DTN节点a与b相遇并建立通信连接,节点a、b相互交换彼此的ACK索引表。首先,根据确认反馈删除交付成功的消息并获得待转发消息集合;其次,动态更新缓存利用率以及半拥塞、拥塞门限。现在节点a向b传送消息,节点b根据其存储状态从而选择路由策略。

由上述可知,(α, β)-Epidemic路由策略包括洪泛转发、概率转发、拥塞处理三个阶段,其路由算法的详细流程如图4所示。

由图4可知,路由算法的转发过程主要包括以下几点。

1)洪泛转发阶段。

此阶段利用典型的Epidemic路由算法,其中节点b的缓存利用率低于半拥塞门限,此时节点b无限制接收传输的消息。缓存利用率低于半拥塞门限,说明节点的缓存资源充足,洪泛转发可以提高消息递交率。

2)概率转发阶段。

概率转发阶段中,节点b的缓存利用率高于半拥塞门限,且并未发生丢包情况。其中,如果节点b的缓存利用率大于半拥塞门限值,说明此时节点存储资源不充足,其对于相遇节点a发送的消息并不是不问出处地全部接收。针对某一消息分别计算节点a、b的意愿度,并比较大小:若节点b的意愿度大于a,则拒绝接收此消息;若节点b的意愿度高于a,则接收此消息。

3)拥塞处理阶段。

如果節点b出现丢包情况,则进入拥塞状态,同时停止接收消息。节点进入拥塞处理阶段,优先丢弃缓存队列队尾的消息,并持续该操作直到节点拥塞解除。

4 仿真实验与分析

4.1 性能指标

为了验证分析ERC2的有效性,本文从消息递交率、平均传输时延、平均转发次数及网络开销率四个方面比较ERC2算法与经典算法Prophet和Spray and Wait[15]等路由算法的网络性能,指标定义如下。

1)消息递交率。

消息递交率=(1.0×成功递交的消息总数/网络中总的消息个数1.0×在此处不适合吧,递交率应该为百分数吧,所以此式是否应该是“成功递交的消息总数/网络中总的消息个数×100%”,或者删除“1.0×”,改为“成功递交的消息总数/网络中总的消息个数”?以哪个为准?请明确。另,下面的2)~4)的指标作相应修改。

2)传输时延。

3)平均转发次数。

4)网络负载率。

负载率=(1.0×延迟消息个数-传输成功消息个数)/传输成功消息个数1.0×在此处不合适,根据运算符号的先后顺序,起码在“延迟消息个数-传输成功消息个数”外面加上括号吧。另外,在4.3.1、4.3.2、4.3.3节中,一直都是提到了三个指标,没有“网络负载率”这个指标,但是在正文文字中却又提到了这个指标,唯独没有子图,此处的指标说明是否应该删除?要特别注意修改的连贯性。

4.2 仿真场景设置

本文运用ONE(Opportunistic Networking Environment)仿真工具对实验场景进行模拟仿真。该采用Working Day Movement(WDM)[16]模型描述节点移动。仿真场景大小为1000m×8000m,由120个节点、40个地点组成。节点分为两组,根据两组节点的特征分别进行设置。第一组为汽车节点,速度为7~10m/s,停车等待时间为20~40s,传输速率为1.25MB/s,传输半径为1000m,节点20个;第二组为行人节点,速度为1~1.5m/s,传输速率为0.25MB/s,传输半径为20m,节点100个。默认仿真参数如表1所示。

为保证ERC2能够适应不同拥塞程度的网络环境,具体的网络环境设置如下:

无拥塞或轻度拥塞网络[17] 网络仿真时间为12h,网络总共生成400个消息,节点生成消息的速率为每秒20个,每个消息的生命周期为10h。

中度拥塞网络[17] 网络仿真时间为18h,网络总共生成2000个消息,节点生成消息的速率为每秒40个,每个消息的生命周期为15h。

重度拥塞网络[17] 网络仿真时间为20h,网络总共生成10000个消息,节点生成消息的速率为每秒100个,每个消息的生命周期为18h。

4.3 仿真结果与分析

4.3.1 无拥塞或轻度拥塞网络下性能分析

在无拥塞或轻度拥塞网络环境下,分别对Epidemic、Prophet路由算法和具有拥塞控制的传染路由ERC2进行实验仿真,仿真结果图5(a)~(c)分别比较了网络无拥塞或轻度拥塞时各个算法的3项性能指标。

图5(a)描述递交率变化情况。其中,Epidemic路由的递交率最高,ERC2路由的递交率次之,Prophet路由的递交率最低。其原因主要是Epidemic路由采用多个消息副本并行转发,增加了节点间的相遇机会。在Prophet路由中,节点的投递预测值限制了网络中消息的冗余数量,从而减少降低了消息成功递交到目的节点的概率。随着仿真时间的增加,三种路由方法的递交率均缓慢上升,其原因是ERC2针对节点缓存利用率采用了(α, β)-Epidemic路由算法,第一阶段采用Epidemic算法,第二阶段采用基于节点意愿度的概率路由,因此,递交率会逐渐增加,表明了ERC2路由算法具有良好的实用性。

图5(b)评估了各个算法的平均传输时延变化情况。Epidemic算法端到端传输时延最低,原因是它最大化利用了网络资源。不同于Epidemic,Prophet通过捕获节点间相遇的历史信息,并利用节点的投递预测值将消息转发给预测值更高的节点,因此Prophet路由算法的传输时延最高。对于ERC2,当仿真时间为0~5hks此处的时间单位为ks,表示什么意思?是10的3次方秒吗?请明确,这个表达不够规范。回复:ks 修改为 小时时其传输时延与Epidemic算法基本一致;当仿真时间大于5ksh时,略高于Epidemic算法,但仍然大幅度低于Prophet路由算法,这是因为大于5ksh之后,ERC2采用基于概率的转发路由,平均时延略有增加。

图5(c)比较了各个算法的平均转发次数。平均转发次数越低通常表明路由中继选择根据准确平均转发次数越低通常表明路由选择中继节点时越准确此句不通顺,请调整。Epidemic的平均转发次数最高,Prophet的平均转发次数最低,ERC2的平均转发次数处于两者之间,而且随着仿真时间的增加,ERC2的变化曲线逐渐接近Prophet,这意味着ERC2路由选择的准确性、高效性综合性能都优于Epidemic和Prophet算法。这句的描述不太合适,“准确性、高效性”并不都是最优,请修改语句描述,改为“综合性能”合适吗?

综合图5来看,ERC2能够在提高路由性能与降低传输成本之间取得更好的平衡。从消息递交率和传输时延考虑,ERC2优于Prophet算法;从平均转发次数和网络负载率图5~7中,是否均少了子图“(d) 网络负载率”,4.1节中有该性能的说明,需作相应调整。若补充了子图(d),请提供矢量图来比较,ERC2明显低于Epidemic算法,因此其路由性能更加稳定,使用价值更高。

4.3.2 中度拥塞网络下性能分析

在中度拥塞网络环境下,分别对Epidemic、Prophet路由算法和具有拥塞控制的传染路由ERC2进行实验仿真,仿真结果图6比较了网络中度拥塞时各个算法的3项性能指标。

图6(a)描述了网络中度拥塞时Epidemic、Prophet和ERC2的消息递交率。其中,Epidemic算法仍然保持最高的递交率,但是当仿真时间大于6ksh时,它的递交率不断下降。相比图5(a),中度拥塞网络的消息生成时间间隔变小,消息生存时间变久,而Epidemic路由算法无限制地复制消息使得整个网络会快速生存大量的消息,甚至发生拥塞。此时,ERC2和Prophet算法都保持稳定的路由性能。

图6(b)比较了网络中度拥塞时各个路由算法的平均传输时延,从图中可以看出,Prophet算法的传输时延最高,Epidemic算法的传输时延随着仿真时间的增加而增长,而ERC2却保持着较低的传输时延,这验证了ERC2在提高路由性能上的高效性。

图6(c)比较了Epidemic、Prophet和ERC2的平均转发次数。可以看出,随着仿真时间增加,ERC2的平均转发次数基本接近于Prophet,这表明了ERC2在网络中度拥塞环境下依然可以保持中继选择的高效性;而Epidemic算法的平均转发次数随着仿真时间的增加而增大,这是因为消息的生命周期更长,致使消息的转发次数更多。图6(d)评估了Epidemic、Prophet和ERC2的网络负载率未见图6(d)。随着仿真时间的增加,它们的负载率都在上升,但是ERC2的增长趋势明显弱于Epidemic。分析其中的原因是ERC2通过设置半拥塞门限有效地控制了冗余消息副本的数量,减少了节点缓存资源浪费,因而ERC2的负载率明显低于Epidemic。

综合图6可知,消息的生成间隔和生存周期会直接影响各个算法的路由性能。其中,消息的生成时间间隔直接反映了消息的生成速率。Epidemic的消息递交率随着消息生存周期的延长而下降,并伴随着很高的负载率,所以Epidemic比较适用于消息生存周期较短的网络。消息生存的时间越长,Prophet的消息递交率也会逐渐增加并高于Epidemic,同时还会保持较低的负载率。ERC2的适用范围受消息生成周期长短的影响较弱,它可以始终保持较高的递交率和相对较低的负载率,具有更好的通用性。

4.3.3 重度拥塞网络下性能分析

在重度拥塞网络环境下,分别对Epidemic、Prophet路由算法和具有拥塞控制的传染路由ERC2进行实验仿真,仿真结果(如图7)比较了网络重度拥塞时各个算法的3项性能指标。

图7(a)描述了网络重度拥塞时Epidemic、Prophet算法和ERC2的消息递交率。当仿真时间足够长时,Epidemic的消息递交率逐渐降低,Prophet的消息递交率保持在一个稳定的范围内,而ERC2的消息递交率最高。这是由于在资源受限的DTN中,Epidemic缺乏擁塞控制机制,同时与Prophet相比,ERC2的优化控制策略选择较优较少的中继节点。ERC2路由具有较优的节点缓存策略,从而其消息递交率更高。

图7(b)描述了网络重度拥塞时Epidemic、Prophet算法和ERC2的传输时延变化情况。由于消息生成速率变大,固定时间内生成的消息副本数不断增加,从而导致网络更易发生拥塞而无法正常工作,因此无拥塞控制机制的Epidemic的消息平均传输时延迅速上升;同时由于ERC2的路由选择机制比Prophet更加严格,资源利用率更加高效,故ERC2相比Epidemic、Prophet的网络性能更佳、更具普适性。

图7(c)评估了网络重度拥塞时Epidemic、Prophet算法和ERC2的转发次数。从图中可以看出,Epidemic的平均转发次数不断升高,ERC2能够将平均转发次数维持在一个较低的水平,并且ERC2总体上的路由性能要优于Epidemic,但比Prophet性能较差。

综合图7来看,导致这些路由性能差异的关键原因是,当消息生成时间间隔减小时,加之消息生存周期变长,整个网络会在短时间内生成大量消息。对于节点缓存资源受限的DTN,缺乏冗余副本数控制机制的Epidemic会浪费大量网络资源。Prophet是基于Epidemic的概率转发路由,虽然在一定程度上控制了副本数量,但其性能比ERC2较差。ERC2利用节点意愿度和预测投递值选择更优的中继节点,优化了节点缓存管理,从而有效地避免了消息副本的扩散,降低了网络负载。

5 结语

在资源受限及拓扑结构动态变化的DTN中,为了提高消息递交率、降低传输时延,本文提出一种具有拥塞控制策略的DTN传染路由方法。该方法首先基于一种动态存储模型DSSM,通过动态调整节点拥塞窗口阈值适应节点资源受限的情形,根据节点空间利用率控制消息的拷贝次数避免网络拥塞;其次,综合考虑节点拥塞控制机制和路由转发算法,提出ERC2路由协议,该模型采用确认反馈机制对成功转发的消息进行删除,并引入消息管理队列和多属性丢包策略对产生拥塞的节点进行报文的舍弃,在此基础上利用(α, β)-Epidemic算法对消息进行转发,进一步有效地控制网络拥塞。最后实验结果表明,ERC2在递交率、平均传输时延、平均转发次数3个重要性能指标上相比Epidemic、Prophet都表现良好,能有效地减轻网络负载,实现了具有主动拥塞控制的传染路由协议。

参考文献 (References)

[1] FALL K. A delay-tolerant network architecture for challenged Internets[C]// Proceedings of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Computer Communications. New York: ACM, 2003:27-34.

[2] 王挺,张玉梅.一种基于DTN的震后救援路由新策略[J].计算机工程与应用,2017,53(22):71-76.(WANG T, ZHANG Y M. Routing strategy for post earthquake rescue based on DTN[J]. Computer Engineering and Applications, 2017, 53(22):71-76.)

[3] 王贺哲,王慧强,朱金美,等.OCIGM:面向DTN路由的优化控制信息生成方法[J].北京邮电大学学报,2017,40(1):79-83.(WANG H Z, WANG H Q, ZHU J M, et al. OCIGM: an optimized control information generation method for DTN routing[J]. Journal of Beijing University of Posts and Telecommunications, 2017, 40(1):79-83.)

[4] SIDERA A, TOUMPIS S. Wireless mobile DTN routing with the extended minimum estimated expected delay protocol [J]. Ad Hoc Networks, 2016, 42(C):47-60.

[5] 王恩,杨永健,李莅.基于动态半马尔可夫路径搜索模型的DTN分簇路由方法[J].计算机学报,2015,38(3):483-499.(WANG E, YANG Y J, LI L. A clustering routing method based on semi-Markov process and path-finding strategy in DTN[J]. Chinese Journal of Computers, 2015, 38(3):483-499.)

[6] 曹玖新,陈高君,杨婧,等.基于社会属性的PSN消息路由算法[J].通信学报,2015,36(5):13-22.(CAO J X, CHEN G J, YANG J, et al. Social-based routing in pocket switched networks[J]. Journal on Communications, 2015, 36(5):13-22.)

[7] ZHANG L, CAI Z, LU J, et al. Mobility-aware routing in delay tolerant networks[J]. Personal & Ubiquitous Computing, 2015, 19(7):1-13.

[8] NISHIYAMA H, TAKAHASHI A, KATO N, et al. Dynamic replication and forwarding control based on node surroundings in cooperative delay-tolerant networks[J]. IEEE Transactions on Parallel & Distributed Systems, 2015, 26(10):2711-2719.

[9] WEI K, GUO S, ZENG D, et al. Exploiting small world properties for message forwarding in delay tolerant networks[J]. IEEE Transactions on Computers, 2015, 64(10):2809-2818.

[10] MERGENCI C, KORPEOGLU I. Routing in delay tolerant net-works with periodic connections[J]. EURASIP Journal on Wireless Communications & Networking, 2015, 2015(1):1-19.

[11] WANG H Z, LV H W, WANG H Q, et al. DCAR: DTN congestion avoidance routing algorithm based on tokens in an urban environment [J]. Journal of Sensors, 2017, 2017: Article ID 6523076.

[12] WANG H Z, FENG G S, WANG H Q, et al. RABP: Delay/disruption tolerant network routing and buffer management algorithm based on weight[J]. International Journal of Distributed Sensor Networks, 2018, 14(3):155014771875787.

[13] VAHDAT A. Epidemic routing for partially-connected Ad Hoc networks[D]. Durham, NC: Duke University, 2000: 1-14.

[14] LINDGREN A, DORIA A, SCHELEN O. Probabilistic routing in intermittently connected networks [J]. Mobile Computing and Communications Review, 2003, 7(3):19-26.

[15] SPYROPOULOS T, PSOUNIS K, RAGHAVENDRA C S. Spray and wait: an efficient routing scheme for intermittently connected mobile networks[C]// Proceedings of the 2005 ACM International Conference on the Applications, Technologies, Architectures, and Protocols for Computer Communication. New York: ACM, 2005:252-259.

[16] EKMAN F, KARVO J. Working day movement model[C]// Proceedings of the 1st ACM Special Interest Group on Mobility of Systems, Users, Data, and Computing. New York: ACM, 2008:33-40.

[17] 黃晓军.DTN拥塞控制机制及其应用研究[D].长沙:湖南大学,2013:33-37.(HUANG X J. Research on congestion control mechanism for DTN and its application [D]. Changsha: Hunan University, 2013:33-37.)