第26卷第6期2008年6月河南科学HENANSCIENCEVol.26No.6Jun.2008收稿日期:2008-01-07基金项目:郑州市技术研究与开发项目(074SCCG38111)作者简介:曹敏(1970-),男,山东曹县人,工程师,硕士,主要从事网络技术研究苏玉(1968-),女,河南郑州人,副教授,主要从事网络技术及数据库方向研究.文章编号:1004-3918(2008)06-0691-04关于几种路由算法的比较曹敏,苏玉(中州大学信息工程学院,郑州450044)摘要:通过几种路由算法在静态和动态的不同模型下的仿真实现,综合对比它们在不同模式下路径选择的差异,从中选出目前解决网络瓶颈的较理想的流量控制算法.关键词:实现;路由算法;比较中图分类号:TN915.01文献标识码:A近年来Internet不断速度发展,不仅传统业务流量大大增加,而且出现了许多新业务(如语音、数据和多媒体应用等)对网络传输质量的要求差别很大,如果ISP依旧基于传统路由器发展大规模的IP网络,相关问题(如路由器转发部件的软件操作,构造高速路由器组件的开销,传统路由寻径机制在传输时难以预计的网络性能,网络无法提供针对特定业务的QoS等)将变得日益尖锐[1].特别是宽带业务,对网络性能加转发速度、流量控制以及网络的可扩展性等提出了较高的要求、随着主干网链路传输速度的不断提高,IP网络中节点上的包转发成了网络的瓶颈[2].除了开发使用高速ASIC的路由器或采用新的转发模型,人们还提出了新的高效算法,如最小干涉路由算法、流量工程的约束路由算法等.这些算法都是通过提高网络的调节和控制功能使流量分布更加合理,以达到尽可能减少网络阻塞、最小的网络代价(cost)、分布的网络负载等目标[3].通过模拟仿真研究几种路由的算法在路径选择上的差异,从中比较它们的不同状态下的优缺点,评估出目前较为理想流量控制算法.这几种算法包括最小干涉路由算法(MinimumInterferenceRoutingAlgorithm,MIRA)、最宽最短路径算法(Widest-ShortestPath,WSP)、最小临界K最短路由算法(LeastCriticalKShortestRoutingAlgorithm,LCKS)和流量工程的的约束路由算法(TrafficEngineeringBandwidthConstrainedRoutingAlgorithm,TE-B).需要说明的是:文中选路时考虑的QoS约束条件仅为带宽要求,这是由于其他QoS要求(如时延、丢包率等),可以转化为等效带宽的形式.1几种路由算法1.1最小干扰路由算法算法是基于控制的约束路由算法寻址请求根据“最少的干扰”概念,以便网络能接受更多新的请求[3].首先,为了满足所需带宽要求,要检查在每个网络上链路残余的带宽.可利用的带宽比所需的带宽小的链路将被剔出,所有能满足所需带宽的链接将作为候选链路被保留在一个链路集中.接着,优化网络的链路,这种路径选择算法的宗旨是在源和目的节点选择受其它链路流量干扰影响最少链路.通过将链路关键度映射为链路权重,然后用Dijkstra算法实现干扰的最小化.1.2最宽最短路径算法这是最短的路径算法一种改进算法[4].首先它检查可利用的带宽确定是否能满足新的寻址请求,还有当有一个以上最短路径存在在源和目的节点之间时,根据链接花费,算法会选择可利用带宽最大的链路,而不是像传统最短路径算法任意选择其中的一个.1.3最小关键链路k最短路由算法这是对最宽最短路径算法的一种改进算法[5].这种算法不仅能发现SD之间具有相同花费的多个最短第26卷第6期河南科学路径,而且还可以SD之间找到k条最短路径.然后从这k条候选链路集中选择出一个干扰最小的关键链路,一旦确定了k个最短路径链路集,关键链路很容易从候选路径集中选出.现在的问题如何优化SD链路间的候选路径集.算法利用递归枚举算法(REA)[6],从而有效地解决了Bellman方程式关于最短路径的问题,从SD可以发现k条最短路径.首先提出一些注释:从S到节点t的网络中有k条最短路径记为!k(t),在网络中一跳到达节点t记为!-1(t),又叫做t的前站.算法开始以计算出网络从S到t地最短路径树,以获得所有到达目的节点dest的前站.1.4流量工程的约束路由算法这种算法广泛被认为是“一个能彻底解决网络路径选择计算”的一种算法[1].在对路由选择计算是算法对流量的权重、花费和关键链路三方面全部都考虑到,因而能选择出一个整体花费最少的路径.类似以上介绍的算法,它首先剔除掉所有未满足带宽要求的链路因而优化了网络链接.然后依照最小干扰路由算法介绍的方法对各个链接进行权重的分配.以进一步简化问题,将链路花费和权重变换成静态和准静态受控参数.分别用C、F来表示,用Pmin-reduc表示最大链路流量最小改变权重值,用Pmin-cost代表链路的最小花费.用Wreduc(P)表示整个路径权重,Wcost(P)表示整个路径的花费.则路径总体要考虑的度量Wtatal(P)可以表示为:Wtatal(P)=Wreduc(P)F!"q+Wcost(P)C!"q,事实上,随着q增加,当q→∞这个理想情况时,可以用Wtatal_new(P)来表示,记为:Wtatal_new(P)=maxWreduc(P)F!"q,Wcost(P)C!"q$%.这样可以真正表示值在低于Wtatal(P)=1是能同时满足两项要求.在确定了同时满足这两项要求的候选路径后,最后通过确定关键链路来确定最终路径.2模拟实验的依据网络拓朴结构如图1示,在网络中节点分为两类.有阴影的部分节点为源或目的节点,其它节点是中间节点.链路也分成两类.细线代表链路有155Mbps的带宽,粗线代表链路有622Mbps的带宽.链路中间的数字代表链路的花费,这里假定链路双向为对称花费.实验网络拓扑中的所有网络流量都是模拟实际需求,都是由带参数的函数所设定的是相互独立和预先未知的.实验仿真分静态和动态模拟两种:①在静态模拟,是通过来源、目的、要求带宽来提出请求.每次有请求设定时间是无限的,源点和目的节点是有阴影的随机节点(简称为V),带宽范围要求1 ̄400kbps.②在动态模拟,是通过来源、目的、要求的带宽、到达时间、持有时间、动作.前3个参数值与静态要求相同保持不变,每条链路建立持有的时间不是无限的,当持有时间用完分配给他们的带宽将被释放.通过泊松变幂级数设定各请求间的平均间隔λ为1s.用动作来区别建立和发布事件,1为建立,0为释放.为了与更加模拟现实世界中存在的流量模式,本实验在动、静态模式中把产生的源节点和目的节点分成均衡和非均衡两种.在均衡模式中,根据请求从参数v均衡生成的源和目的节点,也就是说,每个在v中的节点都有平等的概率成为终端.在非均衡模式,所有在v中的节点分为两类:称忙、闲节点.“忙节点”相对“闲节点”有较高的概率成为终端节点,本实验中忙、闲节点概率为9∶1.非均衡模式可进一步分为以下3种情况来模拟现实世界的情况:忙节点的数量等于闲节点的数量(3∶3);忙点数量远远超过闲点(5∶1);忙点数量比闲点少(1∶5).3结果与分析静态模拟均衡模式结果的分析:由于静态模拟的网络持有时间是无限的,这就意味着一旦一定数量的带宽被分配,在整个模拟过程中将不会被释放.图2至图4表现了在均衡模式中4种路由算法所示的结果.x轴代表请求的数量,而y轴代表被评价的参数.图1网络拓扑图Fig.1Networktopology692--2008年6月在图2中,表示随着链路需求的增长,各算法最大流量的变化.在开始MIRA有较高的max-flow,在需求情况变高,TE-B的max-flow最高.并且在这种情况下这两种算法表现比WID-SHORT和LCKS要好.在图3中,表示随着链路需求的增长,各算法链路花费的变化.WID-SHORT在低负载的情况下,它的路径花费也是最低的.LCKS也较低的花费,这是因为它把花费作为受控条件考虑到算法中的结果.在高需求的情况下,TE-B的效果最好,而MIRA的路径花费一直都很高的原因是它没有把路径花费作为受控条件考虑到算法中.在图4中,表示随着链路需求的增长,各算法链路负载的变化.LCKS一直保持最佳表现,其次是TE-B,MIRA和WID-SHORT的链路负载平均比前两种算法高出10%.由此可以看出在静态模拟状态,TE-B总体体现出它的算法优势,并且随着负载越高,它体现的性能越好.在静态模拟非均衡模式结果分析:在非均衡模式下4种算法的性能表现和均衡模式几乎是一样的,特别是在随着链路需求的增长,各算法链路花费的变化情况中,终端节点的分布和均衡模式节点的分布类似;在随着链路需求的增长,各算法链路负载的变化中(见图5)有一处与均衡模式不同是随着链路负载的提高,WID-SHORT链路平均负载比LCKS和TE-B下降的更多.在随着链路需求的增长,各算法最大流量的变化中(见图6)与均衡模式不同是MIRA随着链路请求的增加,其max-flow越差.应当指出只有在高负载的情况下,算法才会出现异常情况,当要求建立链路的请求数量少的时候,算法通常执行比较稳定.在图5,图6这两种情况中,流量常被集中在一些忙结点之间,因而链路流量很容易就达到饱和,但这对算法选择最佳路径影响很小,各算法被使用时,不影响其发现各自的最佳路径.动态模拟模式结果的分析:图7至8展示动态仿真的结果.在这类仿真中,有一半链路请求的持有时间是无限的而剩下的是通过指数来分布持有时间.每次链接的建立和取消,所涉及的参数都要根据现有链接的曹敏等:关于几种路由算法的比较图2均衡模式下的平均最大流量Fig.2Availablemax-flowinuniformmodel图3均衡模式下的平均链路花费Fig.3Averagepathlengthinuniformmodel图5非均衡模式下平均链路负载Fig.5Averagepathloadinnon-uniformmodelscenario图6非均衡模式下可利用的最大流量Fig.6Availablemax-flowinnon-uniformmodelscenario693--第26卷第6期河南科学数量从新进行更新计算.图7表示随着链路需求的增长,各算法最大流量的变化;图8表示随着链路需求的增长,各算法链路花费的变化;从各图中可以看出,其结果大致和以前相同.4结论在QoS对带宽要求的情况下对4种路由算法实现进行了相互比较和探讨,这几种算法根据参数的不同,其性能差别很大.其中TE-B算法性能一直比较稳定,特别是在高负载的情况之下表现更为突出,该算法优化网络性能,均衡负载分布,使网络处于良好的运行状态.因此TE-B算法作为整体较优越算法,未来必将受到多数网络供应商的赏识.参考资料:[1]BanerjeeG,SidhuD.ComparativeanalysisofpathcomputationtechniquesforMPLStrafficengineering[J].ComputerNetworks,2002,40:149-165.[2]AwducheD,ChiuA,ElwalidA,etal.OverviewandprinciplesofInternettrafficengineering[EB/OL].IETF:2003-12-25[2007-03-10].http://www.ietf.org/rfc/rfc3272.txt.[3]TangJ,SiewCK,FengG.ParallelLSPsforconstraint-basedroutingandloadbalancinginMPLSnetworks[J].IEEE:Proc.onCommunications,2005,152(1):6-12.[4]FigueiredoGB,DaFonsecaNLS,MonteiroJAS.Aminimuminterferenceroutingalgorithm[M].IEEE:Int’lConf.onCommunica-tions(ICC2004),2004,(4):1942-1947.[5]KumarD,KuriJ,KumarA.Routingguaranteedbandwidthvirtualpathswithsimultaneousmaximizationofadditionalflows[J].IEEE:Int’lConfonCommunications(ICC2003),2003,3:1759-1764.[6]GopalanK,ChiuehTC,LinYJ.Loadbalancingroutingwithbandwidth-delayguarantees[J].IEEECommunicationsMagazine,2004(34):98-102.AnalysisofSeveralKindsRoutingAlgorithmsCaoMin,SuYu(CollegeofInformationEngineering,ZhongzhouUniversity,Zhengzhou450044,China)Abstract:Inthispaper,theseveralkindsroutingalgorithmsinstaticanddynamicmodeltosimulationrealization,thedifferenceroutechoiceinthedifferentmodelaresynthesizescontrasted,andselectstheconstraintbasedroutingalgorithmsthatsolvethenetworkbottleneckatpresent.Keywords:realization;routingalgorithm;compared图7动态模式下可利用的最大流量仿真Fig.7Availablemax-flowindynamicsimulation图8动态模式下平均链路花费仿真Fig.8Averagepathlengthindynamicsimulation694--。