收稿日期:2011-06-24基金项目:国家自然科学基金资助项目(61101214)作者简介:周瑞涛(1981—),男,博士生,E-mail:zrt@bit.edu.cn;曹元大(1944—),男,教授,博士生导师,E-mail:ydcao@bit.edu.cn.第32卷 第9期2012年9月北京理工大学学报Transactions of Beijing Institute of TechnologyVol.32 No.9Sep.2012基于社区的容迟网络路由方法周瑞涛1, 曹元大1, 胡晶晶2, 朱东锋1(1.北京理工大学计算机学院智能信息技术实验室,北京 100081;2.北京理工大学软件学院,北京 100081)摘 要:提出一种基于社区的容迟网络路由方法.通过对网络节点历史运动轨迹点聚类建立其热点活动区域,把热点区域重叠度较高的节点归为同一社区.在源节点和目的节点社区中以洪泛的方式加快消息扩算和传递速度.同时,针对热点区域准确地选择中继节点,降低了冗余消息数量.模拟结果显示,该方法能够提高消息传递数量,并且大大降低系统负载率.关键词:容迟网络(DTN);聚类;社区中图分类号:TP 393.03 文献标志码:A 文章编号:1001-0645(2012)09-0966-05Community Based Routing in Delay and Tolerance NetworksZHOU Rui-tao1, CAO Yuan-da1, HU Jing-jing2, ZHU Dong-feng1(1.Beijing Laboratory of Intelligent Information Technology,School of Computer Science,Beijing Institute ofTechnology,Beijing 100081,China;2.School of Software,Beijing Institute of Technology,Beijing 100081,China)Abstract:A new technique for community based routing in delay and tolerance networks(DTNs)is proposed.The history mobility tracks are used to establish the most visited area of DTNnodes,called home area,through clustering.The nodes whose home areas overlap most areregarded as in the same community.The delivery speed could be accelerated by flooding nodes inthe source and destination communities.Furthermore,the home area facilitates the selection ofintermediate nodes.Simulation results show that this method could improve the message deliveryrate and achieve less overhead.Key words:delay and tolerance networks(DTN);cluster;community 容迟网络体系结构用来解决受限环境下的网络通信问题[1],此类环境中,由于节点的运动规律、生命周期等特性,节点间往往不存在一条永久的端到端路径,例如星际网络、传感器网络等.“存储转发”是该类网络最基本的路由方式.消息需要缓存在中继节点中等待合适的转发机会出现才被传至下一跳节点,直到成功传递.容迟网络路由技术要解决的关键问题是如何选择合适的中继节点.Epidemic[2]通过以洪泛方式传播消息,能够适应各种网络环境,但是往往导致非常高的网络负载;通过限制Epidemic洪泛的副本数量,其很多变体被提出来[3-4];在社区模型下,PROPHET[5]利用节点间接触的历史信息预测未来的相遇概率指导路由;Network coding[6]和Erasure coding[7]通过编码的方式应对报文丢失;此外,还有基于模型[8]、控制节点运动[9]等方法应对各种各样的容迟网络环境.作者针对社区模型的特点,通过对节点历史运动轨迹点聚类,建立热点活动区域,进而建立社区辅助路由.在源节点社区中洪泛消息使其在产生之初迅速传播开,同样在目的节点社区中通过洪泛的方式迅速路由消息到目的节点.同时,利用节点活动的热点区域准确地选择中继节点降低消息冗余,节省网络资源.1 社区模型中的路由容迟网络路由技术研究中经常采用RandomWaypoint模型,网络节点随机选择目的地、速度等,节点间没有差异性.现实环境中,节点的运动往往有一定的规律.PROPHET算法就是基于对现实的观察,假定过去相遇比较频繁的节点,在将来相遇的概率也比较大.定义1 如果一群节点相遇频率比较高,称这些节点为一个社区.由多个社区构成的网络模型称之为社区模型.社区模型中,PROPHET所作的预测比较准确,能够实现较好的路由性能,但是往往会浪费比较多的传输机会.如图1所示,节点ABC,DEF分别属于两个社区中的节点,节点间的虚线为虚连接,表示节点间有较高的接触机会,节点旁边数字表示对预测的未来相遇概率.假如A有一消息m需要传给D.A与B频繁相遇过程中,由于B对D的预测概率小于A对D的预测概率,A不会把m传给B,但B对D的同社区成员E的预测概率比较高,假如B能把消息传给E,则E能迅速将m传至目的节点D.同样的,在目的社区中,E也不会把m传给F,因为E对D的预测概率高于F对D的预测概率.图1 社区模型中PROPHET路由Fig.1 PROPHET routing in community model 根据定义1,如果把消息传递给目的节点的同社区节点,消息就能以较快的速度路由至目的节点.在源节点社区中,也可以借助其他社区成员寻找目的节点的同社区节点,提高发现概率.定义2 社区路由算法:消息在源节点社区和目的节点社区中以洪泛的方式向成员节点扩散.Zhou R[10]验证了社区模型中该路由算法能够实现很高的消息传递率以及较低的网络负载.本文中将针对社区模型的特点,对节点的历史运动轨迹聚类,进而自动识别社区,完成整个网络社区模型的构建.同时,根据不同社区的地理位置,可以精确选择中继节点,实现消息快速路由.2 基于聚类的社区识别假定节点运动过程中经常到达某一区域,即该区域为节点过去出现的热点地区,那么在不久的将来,该节点在此热点区域出现的概率也非常高.很多现实环境都表现出这样的特征,例如,研究动物习性的网络中,动物经常在同一片区域觅食饮水;校园里学生经常出现在宿舍、教室等地.利用节点历史运动信息建立其过去活动的热点区域,有利于准确预测该节点将来出现的位置,有目的地指导路由.定义3 节点访问最频繁的区域称为节点的HOME区,记为Hi,i是节点标示.2.1 节点HOME区的建立为简化系统复杂性,节点HOME区均用圆形区域表示,记为H=<Cx,y,r>,Cx,y表示圆心,r为半径.节点记录其运动的最近n个目的地,记为P={p1,p2,...,pn}.采用基于距离的聚类算法对P中的点进行聚类,生成节点HOME区.过程如下:步骤1 遍历P,找出pm和pn,二者是集合P中距离最近的两个元素,即:Dpmpn=min{Dpipj,1≤i,j≤n,i≠j}. 步骤2 如果pm和pn均为点,则二者形成新类,以p′m替代,p′m=<C′x,y,k>,其中聚类中心C′x,y=pmx+pmy2,pnx+pny()2,聚类中点的数量k=2;如果pm和pn中有一个或者两个是类,则以类的中心为点进行操作,合并pm和pn,求出新的中心点和类所包含点的数量.步骤3 经过上一步的聚类,P包含的元素为类和点的集合.如果某一类p′=<C′x,y,k>包含的点的数量k≥ω,则终止聚类,p′为节点的HOME区,其中ω为聚类终止阈值,然后转步骤4;如果所有类包含的节点数量k<ω,则转步骤1,继续聚类.步骤4 根据聚类所得p′=<C′x,y,k>计算区域半径r.p′包含点的集合P′={p1,p2,…,pk},则r=max{DC′x,y,pj,j∈[1,k]},即半径为圆心到最远的点的距离.HOME区聚类结果为:H=<C′x,y,r>.由于节点运动模型的不确定性,节点的HOME区可能随时间变化,每经过时间τ,节点根据最近的目的地重新聚类,更新HOME区.769第9期周瑞涛等:基于社区的容迟网络路由方法2.2 社区识别如果多个节点HOME区重叠度比较大,则认为它们处于同一社区.但是,由于容迟网络链接不稳定、带宽受限等因素,维护一个多边关系的社区代价是很大的.因此,解除节点间双向的社区关系,让每个节点独立维护属于自己的社区成员,以降低系统复杂度.每个节点选择一定数量与自己HOME区重合度较大的节点,作为自己社区的成员.2个节点HOME区的关系主要有不相交、包含、相交3种,如图2所示.图2(a)不相交的两个节点不存在“社区关系”;图2(b)包含关系的节点间关系密切,相遇概率很高,二者均认为对方和自己处于同一社区;图2(c)HOME区相交的2个节点根据区域重叠程度决定对方是否和自己在一个社区内.根据交点和2个圆心确定的角度大小近似衡量重叠的程度,如角度α,β所示,角度越大表示重叠的范围越大.定义4 节点i确定与节点jHOME区重叠度的函数为Ο(i,j),令Hi=<Cx,y,r>,Hj=<Cx′,y′,r′>,d=D(Cx,y,Cx′,y′),则Φ(i,j)=-d d>r+r′arccos[(r2+d2-r′2)/(2rd)]/d|r-r′|<d<r+r′π/d0<d≤|r-r′|max d=烅烄烆0. 节点i对网络节点根据函数Φ排序,选择前κ个节点作为自己同社区成员.κ的取值要尽可能反映实际情况,如果太小,不足以充分利用社区成员;如果太大,会造成网络负载过大.图2 节点HOME区重叠关系Fig.2 Relationship of two HOME areas 3 基于社区的路由算法3.1 路由表节点路由表中保存网络中其他节点的HOME区信息,路由表条目的格式为(节点id,节点HOME区信息).其中节点HOME区包含的属性有:①圆心坐标;②半径;③更新时间.当2个节点i,j相遇时,路由表更新步骤如下.步骤1 i和j互换各自HOME区,并更新到路由表中;步骤2 互换路由表,根据对方路由表条目更新自己的路由表:①如果发现新节点,则复制对方路由表条目;②根据双方路由表条目中HOME区的更新时间把节点的HOME区更新为最新状态.通过路由表中的信息,节点能够看到整个网络的概貌,可以比较准确地选择中继节点,使消息向目的节点活动的热点区域路由.3.2 路由算法容迟网络路由算法是为了选择合适的中继节点,以更快地传递消息.社区模型中,节点分为两类:①属于源节点或者目的节点社区的节点;②不属于这两个社区的节点,称之为游离节点.路由算法描述如下:当携带消息m的节点i与节点j相遇时,有如下步骤.步骤1 i根据自己路由表计算源节点和目的节点的社区成员,如果j是其中一员,则消息m副本转发给它,否则,转步骤2;步骤2 查看j当前运动的目的地,根据运动路线,计算j是否能把m带到离目的节点HOME区更近的范围,如果是,则把m副本转发给它,否则,不进行转发操作.上述路由策略使消息在创建之初,在源节点社869北京理工大学学报第32卷区中洪泛,迅速传播开来寻找转发机会,并且准确地选择中继节点将消息尽快送到目的节点社区中的任何一员,然后依然采用洪泛方式,快速地把消息传递给目的节点.该方法只在源节点和目的节点社区中进行小范围洪泛,会节省很多系统资源.如果采用反馈式的通信方式,也能快捷地清除社区节点中的无效消息.4 实验结果为验证所提出的管理策略的效果,在DT-NONE模拟器下搭建了实验环境.主要检验一下3个方面的网络性能:①消息传递率,代表了网络传递消息的能力;②平均消息延迟,成功传递的消息在网络中的平均延迟时间;③网络负载,定义为(Nr-Nd)/Nd,其中Nr为中继转发的消息数量,Nd为最终成功传递的消息数量.4.1 实验模型网络模型采用文献[5]中类似的结构,3km×3km区域划分成16个区域.每个区域有5个点选择其为活动热点区,称之为节点HOME.节点选择运动目的地在其HOME内的概率要远高于其他区域.此外,网络中有10个点在整个区域内做Ran-dom Waypoint运动.区域内的节点选择目的地的概率如表1所示.表1 节点选择目的地的概率Tab.1 Destination selection probability当前位置概率目的地HOME其他HOME 0.7 0.3其他0.8 0.2系统模拟运行时间为12h,初始8 000s为系统预热时间,该段时间内节点间不发送消息,仅建立路由信息.节点根据表2中概率随机选择目的地,以随机的速度v运动到目的,停留一段时间t,然后选择下一个目的地.系统具体参数见表2.表2 系统参数表Tab.2 System parameters网络节点数量节点传输速率/(kB·s-1)节点运动停留等待时间/s节点运动速度/(m·s-1)节点运动范围/(km×km)消息有效期/min消息大小/kB消息生成时间间隔/s系统模拟运行时间/h90 250 0~120 5~10 3×3 20~120 250 25~35 124.2 模拟结果对网络性能的模拟结果显示在图3~图5中,每幅图包含3条曲线,分别代表本文所提出的社区路由方法(community routing)、Prophet和Epi-demic.4.2.1 消息传递率由于容迟网络的不稳定性,把消息成功传递是首要任务.由图3可以看出,随着节点缓存的增大,3种路由算法都能传递更多的消息.更大的缓存意味着消息能够被缓存更长时间,延迟被丢弃的时间,从而提高转发机会.当缓存增大到一定程度,消息传递数量达到最大值,再增加缓存也无意义.从图3中可以看出,基于社区的路由方法比其他二者能够提高消息传递率.模拟试验中同社区节点数量选择3,4,5时消息传递率都优于其他二者.如果社区节969第9期周瑞涛等:基于社区的容迟网络路由方法点数量较多的情况下,系统增加了社区内洪泛的消息数量,占用太多缓存空间,造成消息传递率下降.极端情况是将所有网络节点都当成自己社区节点的情况下,路由方法等同于Epidemic.4.2.2 平均消息延迟如图4所示,随着节点缓存增加,消息被缓存的时间也越长,因此消息的平均延迟必然会增加.综合图3消息传递率可以看出,成功传递消息越多,消息被缓存的平均时间也会越长.基于社区的路由方法中,消息平均延迟略高于其他二者.4.2.3 系统负载率图5所示,基于社区的路由方法具有最低的系统负载率.由于该方法非常有效地选择中继节点,大大减少了消息转发次数,系统中无效转发的数量降低很多.随着节点缓存增加,节点缓存时间变长,从而有效传递的机会随之增加,总体上系统负载率随节点缓存增加而降低.5 结束语提出了一种基于社区的容迟网络路由方法.该方法对社区模型中网络节点的历史运动轨迹点聚类,建立其活动热点区域,并根据此区域建立节点社区,利用社区节点洪泛消息,加快传播速度.此外,针对目的节点的热点活动区域选择中继节点,提高了消息传递的准确性.利用DTN-ONE模拟工具,结果显示该方法能够提高消息传递率,并且很大程度上降低了系统负载率.基于社区的路由方法中,社区节点数量的选择会影响系统性能,下一步工作将研究如何让系统自适应地选择合适的社区节点数量.参考文献:[1]Fall K.A delay-tolerant network architecture for chal-lenged internets[C]∥Proceedings of ACM SIGCOMM.Karlsruhe,Germany:ACM Press,2003:27-34.[2]Vahdat A,Becker D.Epidemic routing for partiallyconnected ad hoc networks[S].Durhan,NC:Duke U-niversity,2000.[3]Padma1M,Matthew S,Ginnah L.Epidemic routingwith immunity in delay tolerant networks[C]∥Proceed-ings of IEEE Military Communications Conference.Washington D.C.,USA:IEEE Press,2008:1-7.[4]Wu Yahui,Deng Su,Huang Hongbin.Performance a-nalysis of copy-limited epidemic routing in delay tolerantnetworks[C]∥Proceedings of ICIS 2010.Xiamen,Chi-na:IEEE Computer Society,2010:630-634.[5]Lindgren A,Doria A,Schelen O.Probabilistic routingin intermittently connected networks[C]∥Proceedingsof the 1st International Workshop on Service Assurancewith Partial and Intermittent Resources.Fortaleza,Bra-zil:[s.n.],2004:239-254.[6]Widmer J rg,Boudec J Le.Network coding for efficientcommunication in extreme networks[C]∥Proceedings ofACM SIGCOMM 2005Workshops:Conference onComputer Communications.Philadelphia,USA:ACMPress,2005:284-291.[7]Wang Y,Sushant J,Margaret1M,et al.Erasure-cod-ing based routing for opportunistic networks[C]∥Pro-ceedings of ACM SIGCOMM 2005Workshops:Confer-ence on Computer Communications.Philadelphia,USA:ACM Press,2005:229-236.[8]Chen Z,Kung H,Vlah D.Ad hoc relay wireless net-works over moving vehicles on highways[C]∥Proceed-ings of the ACM MobiHoc’01.Long Beach,USA:ACM Press,2001:247-250.[9]Zhao W,Ammar M,Zegura E.A message ferrying ap-proach for data delivery in sparse mobile ad hoc net-works[C]∥Proceedings of the ACM MobiHoc’01.NewYork,USA:ACM Press,2004:187-198.[10]Zhou R,Cao D,Jin J.Group based epidemic routingfor delay and tolerant networks[C]∥Proceedings ofWiCOM 2010.Chengdu,China:IEEE Computer Soci-ety,2010:1-4.(责任编辑:刘芳)079北京理工大学学报第32卷。