延迟容忍网络中拥塞控制算法的创新方式
0引言
延迟容忍网络利用邻居节点剩余缓存转移本地节点缓存中的部分数据以有效地控制拥塞,然而,大量数据的转移将使得有限的网络资源无法为亟待转发的数据提供服务。随着人们对通信需求的增加,网络中的通信业务逐渐增加,使得网络拥塞越来越严重,因此亟待采用更有效的拥塞控制算法来提高DTN的网络性能。
1拥塞控制及其研究现状
DTN中的拥塞是指DTN中节点间复制转发数据使得DTN中副本数过多,从而导致DTN性能降低。而网络资源的占用与分布不均的网络流量是产生网络拥塞的主要原因。如果合理分配网络资源、控制网络流量,可有效地保证畅通网络流量和维持网络的性能平稳,且DTN拥塞控制要求既能使DTN性能得到一定保障、又能最大化DTN吞吐量。而拥塞控制对延迟容忍网络的投递率和延迟等网络性能的影响重大。因此,研究DTN拥塞控制对于DTN在实际中的应用尤为重要。
1.1拥塞检测
传统的TCP在源节点和目的节点之间存在端到端链路连接的基础上,通过在限定时间内的反馈信息判定网络拥塞状态,从而通过端节点调整发送数据窗口大小来实现拥塞控制。可见,TCP拥塞控制对时延要求较高。而DTN中节点的间断连接导致网络时延较大,因此传统拥塞检测方式不适用于DTN中。针对DTN自身的特性提出的拥塞检测指标种类较多,常用的拥塞检测指标有以下3种。
1)基于缓存长度的检测间接衡量了本地节点所在区域的拥塞状态。DTN中单个节点缓存长度的变化可以表明该节点接收数据速率较快,节点缓存资源占用情况,从而间接可以代表节点所在区域的拥塞状态。
2)基于信道采样的检测通过信道采样作为DTN拥塞状态,主要以采样的信道利用率作为DTN的拥塞检测,从而提高判断DTN拥塞状态的准确度。
3)基于传输速率的检测根据节点发送或接收速率判定节点所在区域甚至整个网络的拥塞。
1.2研究方向
DTN中,节点间连接时间间隔可能较长,且本地缓存中已接收的数据包生存时间截止或极端情况下才会被丢弃。这2个性质导致研究延迟容忍网络的拥塞控制的难度相对于其他无线网络来说相对较大。
目前主要从以下3个方向对DTN中的拥塞控制进行研究。
1)拥塞避免算法。
拥塞避免是通过采用一定的算法限定网络中数据的传输,避免拥塞的发生。采用令牌的拥塞控制算法被和R.C。这个算法的核心思想是在网络中令牌数目固定不变的情况下,均匀分布初始令牌,节点须拥有令牌才能发送数据,无令牌的节点以借用邻居节点令牌的方式发送数据。这个算法可以有效地避免网络拥塞,但由于数据发送被限定,同时网络节点的添加或退出导致令牌数与节点的不匹配,从而影响网络性能,因此其扩展性不强。
2)数据流控制算法。
DTN中,节点通过均衡邻居节点间的网络负载以实现数据流的控制。在深空通信的环境下,为了解决缓存溢出和链路饱和无效重传问题, Rango等人提出一种异步拥塞控制算法来优化延迟容忍网络[9]。在深空通信时延较长且链路相对稳定环境下,这种拥塞控制算法较适用,但不太适用于地面延迟容忍网络。
3)缓存管理。
节点通过缓存管理也可实现缓解网络拥塞的目的。当前常用的缓存调度分成以下4种策略[10]。
丢弃最新数据 (drop last, DL):丢弃本地缓存中存在时间最短的数据;
丢弃最老数据 (drop least recently received, DLR):本地缓存中最早接收的数据优先丢弃;
丢弃最早数据 (drop oldest, DOA):丢弃产生时间最早的数据;
丢弃最年轻数据 (drop youngest, DY):剩余生存时间最长的数据从本地缓存中丢弃。
文献[11]提出以数据冗余度作为本地缓存携带或丢包优先级的DTN拥塞控制算法,从而均衡DTN负载率,降低DTN拥塞。
2拥塞控制算法
DTN的链路带宽低、网络通信容量小、网络链路频繁中断甚至出现网络分割,因此,为了达到提高网络整体性能的目的,DTN通常采用多副本数据转发方式,区别于传统的端到端的数据传输形式,DTN节点通过“存储—携带—转发”和逐跳数据传输(hopbyhop, HBH)的方式实现数据传输。但对于网络资源有限的DTN来说,全网资源的使用效能显得尤为重要。拥塞控制对于提高DTN的可用性和可靠性、提高网络的吞吐率具有关键作用。
本文将介绍延迟容忍网络中的几种拥塞控制算法,同时对各拥塞控制算法进行仿真分析。
2.1UBSA拥塞控制算法
UBSA(using buffer space advertisements to avoid congestion in mobile opportunistic DTNs)是基于节点缓存空间的拥塞控制算法,其核心思想是节点根据邻居节点缓存占用情况选择中继节点,从而避免因选择缓存占用较高的节点而导致拥塞发生,节点通
过局部拥塞控制方式进而达到缓解整个网络拥塞[12],具体步骤如下。
1)初始化网络拥塞系数TC;
2)设置拥塞系数的上限TCmax及拥塞系数下限TCmin;
3)根据网络拥塞系数TC、节点缓存大小BS及节点缓存占用情况BO,可计算节点可用缓存大小,Ba=Tc×Bs-Bo;
4)更新网络拥塞系数TC:
(1)若Tc (2)若Tc>Tcmin,同时节点缓存中发生丢包,即D>0,则网络拥塞系数TC乘性减小,即Tc=Tc·md,其中md为乘性因子;
5)节点收到接收数据的请求之后比较本地可用缓存与预接收数据的大小,若可用缓存较小,则拒绝接收该数据;
6)若节点已携带某个数据,则拒绝再次接收该数据。
UBSA拥塞控制算法根据节点所在区域提供的信息及当前连接信息执行相应的拥塞控制算法,其算法通过线性递增乘性衰减(additive increase and multiplicative decrease, AIMD)方式实现网络拥塞系数的更新,从而调整节点可用缓存,进而合理利用网络资源,以达到降低网络拥塞的目的。
2.2DCCR拥塞控制算法
DCCR(dynamic congestion control based routing,DCCR)是基于限定数据转发数量的拥塞控制算法,其核心思想是由本地节点根据感知到的局部拥塞状态调整数据转发[13],具体步骤如下。
1)节点保存并更新其邻居的连接概率;
2)计算当前邻居节点的平均缓存占用率 (average buffer occupancy, ABO);
3)查询节点自身缓存是否已满,若缓存已满,则节点丢弃本地缓存中转发次数最多的消息;
4)根据ABO确定节点所在区域的网络状态并执行相应的拥塞控制算法:
(1)轻负载 (light load,LT)。
若ABO (2)一般负载 (moderate load, MT)。
若LT≤ABO (3)负载严重 (heavy load, HT)。
若MT≤ABO (4)拥塞严重(congested)。
若HT≤ABO,则节点所在区域网络拥塞较严重,因此,节点从本地缓存将生成时间最早的数据转发给其剩余缓存最大的邻居节点。
DCCR算法采用定额控制算法增加网络中数据的副本数量,从而达到增加数据投递成功概率的目的;同时,网络拥塞严重时,节点通过一系列拥塞控制算法限定网络中数据副本数量从而缓解网络拥塞。
2.3CCICN拥塞控制算法
CCICN(congestion control for intermittentlyconnected networks,CCICN)采用预分配方式缓解网络拥塞,其核心思想是节点根据本地缓存中丢包与接收消息衡量全局网络状态,从而调整节点转发数据数量,进而缓解网络拥塞[14],其具体步骤如下。
1)建立马尔科夫模型对网络中数据处于某个数量级的状态进行估计,数据被丢弃、转发或者复制时,网络中数据的状态才会发生改变;
2)计算数据被转发的概率;
3)节点以本地缓存丢弃数据数量d和接收数据数量r的比值检测网络拥塞状态;
4)根据检测信息更新网络拥塞状态值CV′=α·(d/r)+(1-α)·CV,同时重置d和r;
5)利用更新后与更新前的网络拥塞值调整节点转发数据数量,若CV′≤CV,则表明此时拥塞较轻,因此,增加数据的复制转发数量,反之则减少数据发送数量。
CCICN对网络各数据的副本数量进行准确的估计,同时利用跟踪本地节点丢弃和接收数据数量作为网络拥塞的检测信息,从而自适应地限定数据转发数量,以达到优化网络性能,提高网络服务质量的目的。
3仿真分析
本文采用ONE(opportunistic network environment)仿真工具通过随机模型对UBSA、DCCR、CCICN 3种拥塞控制算法的性能进行分析和验证。网络性能分别就数据投递成功概率、网络平均传输时延和网络负载率进行比较。具体参数设置如表1所示,3种拥塞算法的数据投递成功率、网络传输平均时延以及网络负载率情况分别如图13所示。表1仿真参数设置
仿真参数默认值仿真区域/(m×m)4 500×3 400数据生存时间/min240节点通信方式bluetooth节点带宽/kbit·s-1250节点数量126传输范围/m10数据大小/KB200300
4结束语
本文对延迟容忍网络中拥塞控制的检测及研究方向进行了简要的介绍和分析,接着对现有的部分延迟容忍网络拥塞控制算法进行了介绍,并对各个算法进行了仿真分析。
随着延迟容忍网络的应用范围越来越广,针对延迟容忍网络的研究也成为研究热点。而拥塞控制是提升延迟容忍网络性能的关键技术之一。然而,由于传统TCP拥塞控制算法不适用于延迟容忍网络,因此,怎样可以更好地实现网络拥塞有待于进一步研究,怎样更准确地检测出网络拥塞状态成为研究拥塞控制的一个关键因素,怎样更合理地处理网络拥塞,都有待于进一步研究。如果这些问题得到有效的解决,那么在保证数据成功投递的情况下,通过拥塞控制可以更好地优化网络资源,提升网络性能。
参考文献:
[1]FALL K, FARRELL S. DTN: an architectural retrospective [J]. IEEE Journal on Selected Areas in Communications,2008, 5 (26): 828836.
[2]熊永平, 孙利民, 牛建伟,等. 机会网络[J]. 软件学报, 2009, 20(1): 124137.
[3]王文柏. 延迟容忍网络拥塞控制模型研究[D].合肥:中国科学技术大学,2011.
. Journal of Central South University of Technology, 2011, 18: 133139.
. Sensor Letters, 2012, 10(8): 16211631.
[6]SELIGMAN M, FALL K, Mundur P. Storage routing for DTN congestion control [J]. Wireless Communications and Mobile Computing, 2007, 7(10): 11831196.
[7]RADENKOVIC M, GRUNDY A. Efficient and adaptive congestion control for heterogeneous delaytolerant net
works [J]. Ad Hoc Networks, 2012, 10(7): 13221345.
[8]COE E, RAGHAVENDRA C. Token based congestion control for DTNs[C]//Aerospace Conference, 2010 IEEE. Big Sky,MT:IEEE, 2010: 17.
//Communications 2008, ICC'08, IEEE International Conference on. Beijing:IEEE, 2008: 19201924.
//Communication System Software and Middleware, 2006. Comsware 2006. First International Conference on. New Delhi:IEEE, 2006: 110.
本文选自《数字通信》2014年第2期,版权归原作者和期刊所有。
上一篇:星球次表层探测雷达回波的技术分析