多点通信的路由问题

发布时间:2005-03-30 作者:刘越Liu Yue 张宝贤Zhang Baoxian 张俊温Zhang Junwen 陈常嘉Chen Changjia 阅读量:

多媒体技术的发展导致了大量新业务的涌现,而最近在带宽和处理能力上的进展更为会议电视、分布式处理等多点通信业务提供了技术支持。点到点通信作为当前通信的主要形式,将难以适应以视听多媒体业务为核心的业务发展,而多点通信(MC)将成为下一代通信的主要业务形式。在这一点上,基于Internet发展起来的美国Mbone网已经走在了前面。最近发展起来的广域网技术,如SMDS与ATM也已明确了多点通信将作为网络承载业务的一部分。

     多点通信简单地说,就是点到多点的通信形式,即多个信宿同时接收一个信源发送的相同信息,这是网络中大量业务存在点到多点通信需求的必然结果。从传送方式看,点到点方式是一对一,广播方式是将分组发向所有可能的成员,而多点通信则是将一个分组发向成员中的某个子集,可以视为点到点方式和广播方式的综合,另一方面也可以将点到点方式和广播方式看作是多点通信的特殊情况。

     在传统的点到点网络支持能力下,多点间通过分别寻址,在信源和每一个信宿间分别建立最短路由,分别复制和发送数据,从而实现多点通信,这种方法导致网络中传送大量不必要分组,浪费了网络资源,增大了分组时延。由于在过去只有很少的网络应用涉及多个用户,而且多数应用中带宽要求较小,因此在上述简单的MC寻址方式条件下,网络带宽尚能满足要求。随着多媒体实时应用业务的出现,分组的规模、业务的特征和服务质量要求都发生了巨大的变化,为此有必要寻求网络层对多点通信能力的支持,在新的路由算法下满足实时应用的要求。

 

1 多点通信路由算法

 

1.1 路由算法的优化准则

     实现MC路由最普遍的方法是构造树型路由结构,在树上实现有效MC路由有两个原因:(1)数据以并行方式沿着树枝发送到不同的信宿;(2)需要传送的复制分组最少,而且复制只在树杈处进行。

    在确定树的MC路由算法中,可以采用不同的优化准则。一个目标是提供端到端最小延迟,这对于实时会议等多媒体应用来说是至关重要的;另一个优化目标是尽可能有效地利用网络资源,这个目标包括两个方面:(1)总的链路占用带宽最小;(2)链路带宽的占用尽可能分散,以避免链路拥塞。

     一个有效路由算法的目标是构造一棵覆盖组成员的树。下面在树的模型下,结合不同优化准则对各种路由算法进行分析和比较。

 

1.2 多点通信的路由算法

1.2.1 多点通信路由算法的分类

      一般来说,多点树可以分为两类:(1)最短路径树(SPT),即以单个信源为根,其它信宿作为树叶或中间节点,通过建立信源与每一个信宿之间的最短路径,然后合并共享路径而成。从理论上讲,采用SPT,业务将分散到不同的链路,利于网络业务流量均衡。(2)共享树(ST),每一组中只有一棵树,供同组中多个信源共同使用,这棵树覆盖所有组成员,因此可以实现多点到多点通信。显然,构造ST有多种方式,后面将分别介绍。

 

1.2.2 多点通信的几种基本路由算法

1.2.2.1 最短路径树算法

     构造最短路径树存在多种算法,目前在Internet上常用的算法有以下两种。

(1)反向路径正向发送(RPF)

     RPF是已经在IP多点通信中广泛应用的一种路由算法,算法如下:当节点接收到一个分组之后,检查接收到分组的端口是否是该节点到分组信源最短路由的端口。若是,则该节点向除该端口之外的所有端转发此分组;否则,抛弃分组。RPF假定信道是对称的,按照最小延迟原则构造一棵生成树。

     由于RPF属于广播算法,为了使它适应组通信,进行了两点改进:根据信源建立路由器与链路的“父子”关系,只有父路由器能向子链路发送该信源的分组,以消除同一链路上的重复分组问题;从树上“剪掉”下行链路不存在接收节点的路由器,消除由于RPF的广播特性使特定组业务对与该组无关的路由器和子网产生的影响。RPF是一种快速分布式动态算法,易于实现,但应用于非对称链路网络时性能较差,因此不适用于广域网以及组员稀疏的情况。

(2)Dijkstra算法

     Dijkstra算法的基本想法是每一次将距离信源最近的节点加入到树上,构造一棵生成树,然后将非成员树叶删除。该算法要求信源具备所有信宿的地址信息。Dijkstra算法实现简单,但集中执行,需要全网拓扑信息,耗时长,大量信源同时发送数据时CPU负载较重。

1.2.2.2 共享树的实现 ——中心树(CBT)

     CBT是一种典型的共享树,是一棵以所有接收节点的拓扑中心为根的优化树,可以由所有发送节点共享。它是在树的特性与实现复杂程度这一对矛盾间取得的折衷。CBT不具有广播特性,只有某个节点明确发出加入某个组的请求后,该组MC数据才发向该节点,避免了RPF类型算法在广域网上运行时,大量无效分组扩散,适用于接收者分布稀疏的情况。

     CBT树的构造过程包括:

(1)选定一个固定点作为组的中心。如果需要满足更好的容错或延迟性能,可以同时选择多个中心,其它组成员通过最短路由与中心建立连接,构成一棵以中心为根的树;

(2)若某节点想成为组成员,则向中心发送加入消息;

(3)组外成员向组内成员发送MC分组时,先按照最短路由将分组发向树的中心,直到分组到达树上的某个路由器,然后再按照组内分组处理和传送,因此CBT满足了组外成员与组内成员通信要求。

     如何为CBT选择一个最优的中心是一个NPC问题,一种简单的算法是在接收成员之间选择中心。CBT的另一个问题是中心失败将导致树的分裂,解决的算法参见参考文献2。

CBT与SPT性能的分析和比较如下:

.当选择组成员之一为中心时,CBT延迟比SPT略大,而树的代价比SPT略小;

.总的来说,若一个组中有大量成员,而每个成员的数据发送速率较低时,CBT可以取得较好的性能,而SPT则更适合于高速信源的情况;

.在CBT中节点需要保存的状态信息较少;

.在流量集中问题上,CBT的性能明显比SPT差;

.SPT的路由表规模是CBT的N倍,N是组中发送节点数量。

1.2.3 网络中的Steiner问题(SPN)

     Steiner问题是指在无向图中,参照网络的边上所定义的代价,在总代价最小的约束下,寻找一个树来覆盖组的所有成员。SPN属于图论中的NPC问题,即最优算法无法在多项式时间内完成,因此,在路由问题上,一种普遍的寻径策略是寻找实际性能较优的树而非最优树,目的是降低算法难度,而在性能上又逼近理想算法。启发式算法有很多,由于构造最小生成树(MST)相对简单,因此许多算法是将SPN问题降低为MST进行的,其中KMB算法因简捷有效而著名。2 多点通信路由协议

      实际应用中的MC路由协议有DVMRP、MOSPF、PIM等,其中DVMRP和MOSPF是由Internet上的点到点路由协议——路由选择信息协议(RIP)与开放式最短路径优先(OSPF)派生出来的,用于构造SPT;PIM协议则将SPT、共享树结合起来。

 

2.1 距离向量MC路由协议(DVMRP)

     DVMRP是Mbone上广泛运用的多点路由协议,它是RIP的扩展。两者都采用距离向量算法,不同的是:RIP直接根据指向信宿的路由表前向发送数据,而DVMRP则采用RPF算法实现数据的转发。此外,在Mbone上采用了隧道技术,使多点通信得以在支持MC的子网岛之间实现。

     DVMRP中存在的问题是大量路由控制分组定期在网络中的扩散。由于Mbone的飞速发展,这种开销限制了网络规模的发展。而分层DVMRP按照区域分割的方式对Mbone进行多层管理,区域之内MC可以按照任何协议进行,区域之间MC由边界路由器在DVM-RP协议下进行。由于采用MC协议的层次叠加,减少了路由控制信息开销。

 

2.2 MC开放式最短路径优先(MOSPF)

     MOSPF是利用点到点的链路状态数据库,以OSPF V2为基础的MC路由协议。由于OSPF应用Dijkstra算法进行路由选择,因此每个节点都要保存全网的拓扑信息。所有节点对全网的看法是一致的,因而不需要发送任何控制分组,节点就可以根据全网链路状态表计算组中每个信源的SPT,因此,链路利用率比DVMRP高。为了减少计算量,MOSPF可以按需执行算法,缺点是对第一个分组带来较大时延。

     以上MC协议都依赖于点到点路由协议,无法适应广域互联网间多点通信,并且定期扩散大量路由控制信息,限制了组的规模。

 

2.3 独立于点到点协议的多点通信(PIM)

     PIM的出发点是在广域网范围内同时支持共享树与SPT,并能够完成两者之间的灵活转换,因而集中了两者的优点又同时避免了它们的缺点,在组员密集时以广播形式传送数据,然后删除不存在接收节点的分支;而当组员分布稀疏时,构造共享树传送,避免分组的广播开销。PIM有两种模式:稀疏模式(SM)和密集模式(DM)。

     PIM-DM的含义是,在组所覆盖的区域中,具有该组成员的子网数量在子网总数中占有很高的比例。PIM-DM基本上与DVMRP相同,属于数据驱动型协议,路由算法构成SPT,但协议只是直接使用点到点路由算法给出的路由表发送数据,因而独立于点到点协议。

     PIM-SM的含义是:(1)拥有组成员的子网数量远远小于Inter-net中网络数量;(2)组所覆盖的网络资源不足。在PIM-SM模式中,接收节点通过向指定点(RPs)发送明确的加入消息加入组中,数据发送节点通过RPs公布自身的存在,而接收节点通过RPs获知新的发送节点的存在,然后数据在以RPs为根的共享树中流动。

     PIM-SM与CBT的区别在于它可以从共享树向SPT转变。这种转变是由接收者申请与发送节点建立最短路由完成的。对于PIM,需要考虑的问题包括:SM/DM在广域网上的协同工作、RPs的选择、ST与SPT之间转化的准则。

     总的来说,DVMRP、PIM与CBT适用于Internet上数据报的应用环境。在一个会话过程中,MC分组的路由可能发生变化,此时算法的简捷性比树的代价更重要;另一方面,基于Steiner树的启发式算法更适合于ATM的虚电路环境,这种情况下优化树的代价更具有吸引力。

 

2.4 ATM网络条件下对多点路由的支持协议

     当前ATM标准尚未对组地址进行规范,信源必须知道所有组成员的地址,建立点到多点虚通道(VC),成员的加入和离开也由信源管理,因而点到多点VC不能提供对大多数组通信的灵活支持。

     ATM论坛给出了两种支持MC的建议模式:VC网格(VC mesh)模式是建立从信源到组中所有成员的点到多点VC,如果发生成员的加入和离开,则更新VC;MC服务器(MCS)模式指选择一个服务器作为中介,组内每个信源与MCS建立点到点VC连接,由MCS向一个组中的所有信宿建立点到多点VC。MCS接收组中所有信源的数据,交织之后发送到相应点到多点VC上。交织产生的不同信源的分组区分问题可以使用适配层信息解决。VC网格的通量性能比MCS好,延迟小,但MCS更适合于对组成员的动态控制管理。

      另外一种模式SMART采用了共享ATM多点树,该协议通过对组业务支持一至多个ATM虚通道连接(VCC),构造多点树实现多点到多点通信,组成员间通过循环方式控制成员对VCC的接入,保证同一时刻只有一个信源向一个VCC发送数据,因此不存在数据交织,缺点是需要交换和终端节点同时参与数据传送控制。

 

3 多点通信在Internet上 的应用

 

3.1 Internet子网内多点通信的支持方式

     多点通信组地址即IP地址空间的D类部分,地址范围为:224~239.X.X.X,其中X可以选择0~255之间的任意数字,224.0.0.X保留作路由和其他低层协议使用。每一个组都有一个唯一的组地址。全部组地址分为两类:一类是永久地址,一般只用作信令管理;另一类是暂时性地址,它的数量与可能的组数量相比只占很小的比例,因此,需要对组地址采用复用技术,应用进程开始时选择一个空闲的组地址,而进程结束之后将地址放回。这要求采用一个对用户透明的动态组地址分配和释放机制来避免可能发生的地址冲突。Internet没有严格规定组地址的分配方式,对于通信局限在本地网中的情况,不同网络中的组地址可以相同;对于跨越不同物理网络的组地址,最好的方式是中央管理,统一分配。

     为加入跨越物理网络的多点通信,主机必须事先通知本地多点通信网关有关自己加入组的情况,然后各网关再互相交换各自的组信息,以建立多点通信路由。MC网关与参与多点通信的主机之间交换组员信息的协议为网间网组管理协议(IGMP)。网关通过IGMP实现组查询/报告机制:IP主机使用IGMP向直接相连的MC网关报告自身加入组的情况。

 

3.2 Internet中的多点路由协议

    如前所述,DVMRP是Mbone上广泛运用的多点路由协议。根据DVMRP协议,MC网关之间互通组成员状态信息,以及网关之间路径的开销。对每一个组,MC网关都在物理连接图的基础上构成一棵树,根据这棵树进行多点通信。DVMRP利用IGMP报文传送路径信息,但加入了新的报文类型,允许MC网关像主机一样,参与组员状态信息交换。主机并不参与DVMRP协议。一个MC网关宣布其属于某个组,意味着其所在的子网上至少有一个主机参与了该组。另外,在MC网关之间交换的信息中,还包含描述寻径信息(包括路径开销和距离制式)的报文。

 

3.3 MC在Mbone网上的应用

     当前MC应用最广泛的增长是在Mbone网上的应用。Mbone网创建于1992年,到1995年已经发展到2500个子网,其发展速度是惊人的。Mbone是运行在Internet之上的一个虚网络,由支持MC路由功能的路由器和支持MC能力的网络(子网岛)组成的MC骨干网。在每一个岛上,有一个支持MC的主机,这些主机通过点到点的隧道相互连接,采用DVMRP协议实现数据的多点发送,从而实现子网岛之间的多点通信。路由协议的进一步改进是采用等级DVM-RP。为了提高效率,Mbone在传输层采用UDP协议。MC在Mbone上的实际应用包括主机上提供的实时视听会议、软件刷新的传播、股票信息发布等多种业务。

 

4 多点多媒体通信对路由提出的新问题

 

     多点业务采用树型结构路由的主要动机是通过链路共享以使传送代价最小,对于高速业务,这一目标尤为重要。但在实时多媒体业务中,带宽和延迟要求以及媒体异质性使得路由实现更为复杂。下面根据多媒体业务的需求,结合业务特性分析路由算法的几个发展方向。

 

4.1 在线MC问题

     在线MC问题是指在成员的加入和离开之后的MC树更新问题。随着组成员的动态变更,原有树的性能会逐渐恶化。解决在线MC问题有两种方法:

(1)成员变更之后,对整个组重新确定路由,这将对组中原有成员间的通信产生干扰。当组动态快速变化时,该方法是不实用的,改进的方法是对树进行局部优化。

(2)成员变化之后对树采取最小的变化。如有一种GREEDY算法,成员的加入通过建立节点到树的最短路由完成;成员离开时仅删除相应的叶节点。如果产生一个非成员树叶,则删除该节点,直到不存在非成员树叶。

 

4.2 有界Steiner算法

     有界Steiner算法是指在限制了某些参数(如时延)范围的情况下,寻找代价最小的树。在很多情况下,适用于交互式多媒体业务的优良MC路由难以单独用延迟或代价参数刻画,如在满足媒体间松散同步条件下使代价最小,这种多点路由的性能就由两个因素决定:(1)信源到每一个信宿路径上的端到端延迟有界;(2)多点树的代价最小。为了满足各种不同业务的QOS要求,探讨有界Steiner算法将是多点路由适用于多媒体业务发展的一个重要方向。

 

4.3 适应多媒体业务流的异质性及编码算法的多点路由算法

     多媒体业务采用了各种编码技术,因此可以应用适当的路由算法,在保证业务质量的同时,提高网络资源的应用效率,比如:图像编码一般采用了分层编码技术,分辨率不同的图像成分包含在不同的帧中,因此可以在终端视频质量要求不同的情况下,将低分辨率分组发送到所有组成员,而高分辨率分组只向需要的节点发送。路由算法首先为高能力终端构造一棵优化分布树,然后将需要低品质图像的节点嫁接到树上,这样网络资源的利用效率更高。

     对于多媒体业务,信源存在多个媒体流。由于不同媒体流QOS要求不同,因此可以对不同媒体流构造不同的SPT以满足各自媒体的性能要求;通过对不同树的分别管理,能够有效利用资源,保证业务质量,并可以优化链路负载特性,简化接入控制,但如何选路以达到各树之间的平衡是有待研究的问题。

 

5 结论

 

     多点树的构造是网络支持多媒体业务的必要组成部分,MC路由是进行网络资源管理,满足应用QOS要求的有效工具。优良的路由算法通过减少连接代价,达到充分利用网络资源的目的。

     由于下层网络的异质性,各种路由算法和协议的实现,尤其在广域网上的实现存在很大的困难,同时ATM很可能作为将来Internet的底层承载网络,因此如何在ATM网上实现MC也是一个需要探讨的领域。总之,多点通信是多媒体通信发展的一个重要方向,在网络层实现多点通信存在多方面的问题需要更深层次的研究。

 

参考文献

1 Christophe Diot,et al. Multipoint Communication:A Survery of Protocols,Functions,and Mechanisms.IEEE J on Sel Areas in Commun ,April 1997,15(3):277~290

2 D G Thaler,et al.Distributed Center-Location Algo-rithms.IEEE J on Sel Areas in Commun,Apr 1997,15(3):291~303

3 P Winter.Steiner problem in networks:A survey.IEEE Networks,1987,17(2):129~167

4 S Deering,C Partidge,and D Waitzman.Distance Vector MC Routing Protocol,RFC 1075,Nov  1988

5 ATM user-network interface version 3.1 specifica-tion.ATM Forum,1994

6 Bernard M Waxman.Routing of multipoint connec-tions.IEEE J on Sel Areas in Commun,Dec 1988,6(9):1617~1622

 

(收稿日期:1998-05-08)

[摘要] 多点通信是网络支持多媒体业务的关键技术之一。文章在讨论多点通信路由算法的基础上,分析了几种实际应用的路由协议。之后介绍了多点通信在In-ternet上的应用,并结合多媒体业务的发展指出了路由算法的几个发展方向。

[关键词] 多点通信 路由 最短路径树 共享树

[Abstract] Multipoint communication is becoming a key requirement of networks supporting multimedia applications.Considering different criteria,MC routing algorithms are analyzed,and several proto-cols in practice are given.The application of MC in Internet is also introduced.Finally,based on the characteristics of multimedia service,several developments of MC algorithm are analyzed.

[Keywords] Multicast Route SPT ST