维普资讯 http://www.cqvip.com
7O 交通与计算机 2006年第1期 第24卷(总第128期) 多QoS约束的动态多播路由算法* 许红梅许毅 (武汉职业技术学院 武汉430070) (武汉理工大学 武汉430073) 摘要对具有延迟、带宽和低代价等多QoS约束的多播路由算法进行研讨,描述了一种适 应于研究QoS多播路由的网络模型,提出一种具有多QoS约束的动态多播路由算法 (DMRAQ0S),DMRAQoS试图有效地减少生成多QoS约束的多播树的开销,使多播组成员能动 态地加入/退出多播会晤,且不干扰现有的多播树。仿真实验结果表明,与YAM和QoSMIC比较, DMRAQoS具有较小的延时和较少的代价。 关键词动态多播路由;算法;多QoS约束 中图分类号:TP393 文献标识码:A Abstract:This paper discusses the multicast routing problem with multiple QoS constraints, which may deal with the delay,bandwidth and COSt metrics,and describes a network model for researching the routing problem.It presents a dynamic multicast routing algorithm with multiple QoS constraints(DMRAQoS).The DMRAQoS attempts to significantly reduce the overhead of constructing a multicast tree with multiple QoS constraints.In DMRAQoS,a multicast group member can join or leave a multicast session dynamically,which should not disrupt the multicast tree.Simulation results show that DMRAQoS is less in delay and cost than YAM and QoS MIC. Key words:dynamic multicast routing;algorithm;multiple QoS constraints 0引 言 1 网络模型 多播路由的目标是找到一种算法或策略,在 一般的QoS多播路由问题包含多个约束条 给定的网络和多播需求的情况下,寻求一种链路 件,如延时、延时抖动、包丢失率、带宽和代价等。 连接方式,使网络资源能得到有效利用。许多学者 如果在设计具体的路由算法时考虑所有因素,算 已提出了一些支持QoS的动态组播路由算法,这 法势必太复杂而不能实际应用,需结合实际情况 类算法有较好的分布性,便于实现。但普遍存在控 对其简化。在讨论的路由问题中,由于节点和链路 制信令开销和结点加入时延大的问题,可扩展性 具有等价性,为了简化,只考虑链路而不考虑结点 不好。分析这类算法可以发现,造成可扩展性不好 的特性,下面给出QoS多播路由模型[1]。 的根本原因在于对可行的接人路径的盲目搜索。 就多播路由而论,一个网络可表示成一个加 笔者对延迟、带宽及低代价QoS多播路由问题进 权图G=( ,E)。式中: 为节点集;E为连接节点 行了研讨,提出一种多约束Qos动态多播路由算 的通信链路集合。l l和lE1分别为该网络中的节 法(DMRAQoS),避免以往算法中大部分的盲目 点数和链路数。不失一般性,该类网络中一对节点 路径搜索。该算法仅要求网络的局部状态信息,而 之间最多只有一条链路,链路旁的参数可用于描 不要求维护全局网络状态信息,DMRAQoS算法 述该链路当前的状态。设P(s, )为从源节点s到端 能有效地减少构造一棵具有多QoS约束多播树 节点t的路径,T(s,M)为多播树。S∈V为一棵多 的开销,从而缩短了结点加入时延。在DMRAQoS 播树的源节点,M { 一{S))为该多播树的端节 算法中,多播组成员能动态地加入/退出一个多播 点或叶节点的集。设R 为正实数集,对于任意一 会晤,该算法不必求解汇聚点,适应于多播节点的 链路e∈E,可定义某些QoS特征值(metrics);延 动态变化,是一种快速动态的多播路由算法。 迟函数delay(P);E—R ,代价函数cost( ):E— 收稿日期t2005-09-04 R ,带宽函数bandwidth(P):E—R ,则有满足带 *国家自然科学基金资助项目(批准号:60172035) 宽、延迟和代价最小的QoS多播路由问题,其主 维普资讯 http://www.cqvip.com
多QoS约束的动态多播路由算法——许红梅许教 要涉及以下元素;多播源节点S∈V,多播端节点 集M {V一{S)),链路的延迟函数delay(・)∈ R+,代价函数cost(・)∈R 和带宽函数 bandwidth.(・)∈R ,寻找一棵多播树T(s,M)满 足 延迟约束:delay(p(s, ))≤D (1) 带宽约束:bandwidth(声( , ))≥B (2) 代价约束:在所有满足式(1),(2)条件的多播 中, COSt( (s,M))一(min) (3) 式(3)描述了优化目标:组播树的代价应达到 最小,式(1)、(2)描述了实时业务的QoS要求。 D…为实时业务所要求延时的上限值;B 为业务 所需求带宽的下限;P (s, )为图G中从源节点S 经多播树到端节点t的路径。 2 DMRAQoS算法 在动态路由中,网络的拓扑结构、链路状态 (时延、剩余带宽等)以及多播成员是动态变化的, 动态多播路由强调多播成员的自由加入和离开, 并且这些活动不能对多播产生不良的影响L2]。对 于一个动态的多播群组G,设S为多播源点( ∈G ∈ ),假设T ( )是源自 的覆盖G中所有成员的 多播树集,支持QoS的动态多播路由的目标是: 结点自由加入和离开多播群组G的过程中,寻找 T (s)中保证多播用户的QoS需求(如最小带宽, 时延)而且多播树代价最小的一棵多播树,在 DMRAQoS中,路由器或网络节点需保存一些特 定的信息在路由表中。 DMRAQoS是一种满足带宽和时延约束的 算法,首先选择多播信源构成初始多播树,删除链 路中所有不满足带宽要求的链路,得到一个新的 网络拓扑图;其次用Dijkstra算法求最短路径树, 从加权图去除时延不满足约束多播节点,再求剩 余多播节点的最短路径树;然后根据最短路径树 的最短一条路径为初始多播树,将尚未连到多播 树的多播节点每次通过最短路径连到树上的任一 节点(这些节点是一些中间节点,源节点到中问节 点的最短路径加上中间节点到目的节点的最短路 径构成了源到目的节点的路径)。通过比较找出最 理想的路径并添加到树上,若通过树上的节点没 有找到合适的路径,则扩大中间节点的范围,把整 个网络的节点当作中间节点,再寻找最合适的路 径,当所有多播节点都添加上去,算法即终止。根 据多播成员的连接请求或退出请求,依照加入和 退出操作规则,动态地建立或切断连接。多播树的 形成过程就是多播成员的动态加入和退出过程, DMRAQoS由加入请求、加入操作及退出操作3 部分组成。 加入请求操作由申请加入多播的网络节点完 成,当G中某节点t申请加入标识号为耐的多播 树 时,先使用DMRAQoS算法找出由t到多播 树 的路径P,然后沿尸及 向源节点请求加入 多播组。 加入操作,以G中任意节点u为例,设此时多 播子树为T , 到 的路由路径为P( ,u),P( ,u) 与 的连接点为 ,T 中S到 的路由路径为尸 . ( , )。加入操作的过程即是节点连接多播子树的 过程,DMRAQoS的加入过程的伪代码如下。 1)初始化 For V dEV do;//DMRAQoS(G, ,u) if B(P(s, ))<B then delete链路( , ) if ldelay(P(s, ))>D then delete链路(s, ) 2)加入操作控制循环设置。 L=True;以信源或当前多播树为初始多播树Tid while L=True do;//L为逻辑变量,用于控制循环 弹出具有最小费用路径P( , )节点 if(delay(P( , ))>D…then delete加入请求消 息 else计算每个与 相邻如的时延 if P( , )+P(vk, )是所有 相邻如路径满足最小 费用的约束条件 then户 ]= if 的状态为Establish then计算delay(P'r(s,口★)) else发出加入请求消息 退出操作由退出请求、删除请求及链路删除3 部分组成。退出操作时,节点d先向源节点S发送 退出请求,S接收退出请求即从路由表中删除节 点d。如果d不是 的叶节点,d先释放先前分配 的资源,然后沿路径P ( , )向其父节点,发送链 路删除消息Delete,父节点,接收到删除消息后, 如果,仅是d的中继节点,删除链路(,, )即可, 否则删除链路(,, )后,继续沿路径P ( , )向父 节点发送删除消息。对于退出操作,非叶子节点的 节点退出时,多播树拓扑不作任何改变。叶子节 点,退出时,移去路径为P (,, ),新的多播树Tid = 一P (,, ),其中/为d在T d上的断开节点。 维普资讯 http://www.cqvip.com
3性能分析 定理1 DMRAQoS算法所构造的组播树 TDMRAQoS定能满足带宽和延时的要求。 证明 定理1等价于(1)对于V P( ) TDMRAQos,有bandwidth(户(s, ))≥B i ;(2)对于 V尸(s, ) TDMRAQOs,delay(户( ,口))≤D一 证明(1) 通过DMRAQoS算法知道,算法 是依据满足多播树的约束条件计算Delay,对于 V ,£,∈V,bandwidth(P( , ))≥B mj 。 证明(2) 通过DMRAQoS算法知道,当且 仅当delay(p( , ))≤D ,算法才发出加入请求 消息,所以,对于V P( , )TDMRAQoS,有P( , ) 定能满足延时约束要求。 结合证明(1)和(2)知,DMRAQoS算法所构 造的组播树 DM AQos定能满足带宽、延时约束。 定理2 DMRAQoS算法的计算复杂度为O (1 1.1 l。)。 DMRAQoS算法的计算复杂度由加入请求、 加入和退出操作3部分组成,while和for循环分 别执行m和 。次,而当算法找到的目标节点不满 足约束条件时,不论是否可以找到节点o,在 。的 时间内都将找到一个目标节点,因此,算法在最坏 情况下其时间复杂度为O(1 1.1 l ),l l为网 络节点数,lMl是多播组的成员数。 4仿真与结果讨论 仿真试验的硬件环境为P N 2.4 G/ 1 024 MB微机,软件环境为FreeBSD9.0操作系 统,网络仿真平台为Network Simulator 2.0。实验 中的网络图,由Waxman随机图模型生成[3]。每次 试验中,随机选择多播源结点和若干个请求点,每 种类型的试验重复5o次,取各次结果的平均值, 以保证结果的可信度。 为进一步验证DMRAQoS的有效性和可用 性,将DMRAQoS、YAM和QoSMIC进行了仿真 实验研究。图1表示多播树的代价随多播组数量 增加的变化曲线,在该仿真实验中网络节点数被 设为250,D— +3/8d 。从图1中还可以看 出,当多播组数量增加时,DMRAQoS、QoSMIC 和YAM算法所产生的代价也增加,但 DMRAQoS增加的程度最小,相同多播组 DMRAQoS算法的代价最小。 交通与计算机 2006年第1期 第24卷(总第128期) 图2表示平均加入延时随多播成员增加而变 化的曲线。图2中给出了5O个结点的随机网络,当 多播密度增大时结点平均加入时延的情况。当多 播密度增大,有许多请求点在加入组播树之前就 已经存在树上,其加入时延近似为0。无论哪种算 法,多播密度越大,结点的平均加入时延越小。在 多播密度低时,DMRAQoS给请求点带来最低的 加入时延。此外,DMRAQoS同样规模的多播组 所需延时比其它算法要小。从图1和图2可知, DMRAQoS、YAM和QoSMIC可生成代价相仿 的多播树,与YAM和QoSMIC比较,笔者提出的 DMRAQoS具有全分布方式、允许多播树渐近生 成,可动态实现新成员加入多播树等优点。 250 200 嚣150 黎l00 50 0 0 10 15 20 25 30 35 40 45 50 多播成员数量 图1 3种算法的多播树代价 500 {400 萎30o 200 1oo O 10 15 2O 25 30 35 40 45 50 多播成员数量 图2多播组对平均加入延时的影响 5结论 笔者主要讨论了延迟、带宽和代价约束的多 播路由问题,提出了一种具有多QoS约束的动态 多播路由算法(DMRAQoS),仿真实验结果表明, DMRAQoS为多约束QoS多播路由技术提供了 一种新的有效途径,能适用于各种网络规模和群 组规模,可扩展性良好,具有较好的应用前景。 参考文献 1 王明中,谢剑英,张敬辕.时延及时延抖动的最小 代价多播路由策略.计算机学报,2002,5(5):534~541 2石坚,董天临,石 漠.基于QoS的动态组播路由算 法.通信学报,2001,8(8):14~22 3 Waxman B W.Routing of multipoint connections. IEEE Journal on seected Areas in Communication, 1988,6(9):1 617~1 622