随着网络技术的不断发展,网络电视、视频会议、远程教学、新闻发布等流媒体业务在应用中变得日益重要。这类业务的特点是,数据在一个组内以一对多或者多对多的形式进行传输,并对QoS提出很高的要求.包括时延、抖动、丢包等等。为了更加有效地利用网络带宽资源,组播技术被认为是承载上述业务的有效手段。在IP层,已经有许多组播组管理协议(IGMP,MLD)和组播路由协议(PIM-SM,PIM-DM等)被实现并标准化。然而由于IP本身尽力服务的特性。使得IP组播无法提供严格的QoS保证.这导致IP组播在如今的Internet中并没有得到大规模的推广应用。近几年来,自动交换光网络(ASON:Automatic Switched Optical Network)的研究取得了非常大的进展,并且逐渐开始在广域网和城域网领域得到应用。基于ASON本身光路交换的特性可减少时延、抖动、丢包等的影响,提供更好的OoS支持,L.Sahasrabuddhe等人提出了基于光树(light-tree)的光层组播以支持大范围内的点到多点通信[1]。扩展现有的ASON控制平面,使其除了可以支持点到点的连接之外,同时还可以支持点到多点的连接,从而可以有效地利用网络带宽。
2 ASON控制平面和RSVP-TE
ASON控制平面是基于通用多协议标记交换(GMPLS:Generalized Multi-Protocol Label Switching)协议体系,并采用流量工程(TE:Traffic Engineering)策略。ASON控制平面主要具备有三种基本功能:资源发现、路由控制、连接管理。资源发现功能负责自动发现网络中各种可使用资源,在GMPLS框架中由链路管理协议实现。路由控制功能负责实现自动拓扑发现并为业务请求进行路由选择,运营商可以根据不同的TE策略对业务流的路径进行精确控制,不受基于IGP的最短路径约束。GMPLS框架中对已有的OSPF/ISIS协议进行了TE扩展以实现路由信息的扩散。连接管理功能负责为业务请求提供端到端的连接服务,用户可以通过用户网络接口(UNI)向ASON发送请求完成包括连接的建立、删除、修改和查询等各种操作。目前存在两种主要的信令协议来实现连接管理:基于约束路由的标记分发协议(CR-LDP:Constraint-based RoutedLabel Distribution Protocol)和基于流量工程扩展的资源预留协议(RSVP-TE:Resource Reservation ProtocolTraffic Engineering)[2,3]。IETF针对这两种协议都给出了相应的RFC,但都只限于对点到点连接的支持。考虑到目前RSVP-TE得到了更多运营商和设备厂商的支持,我们也将基于RSVP-TE进行相应的组播扩展。RSVP-TE有两种基本消息类型:Path消息和Resv消息。图1显示了一个简单的点到点标记交换通道(LSP:Label Switching Path)建立的信令过程。当入口标记交换路由器(LSR:Label Switching Router)A接收到一个业务请求后,它根据路由控制模块计算出来的路由填写显示路由对象(ERO:Explicit Route Object):{B,D,E},然后将此ERO写入到一个新建的Path消息中。这个Path消息中还会包含一个会话(SESSION)对象用来全局唯一标识这个LSP所属的隧道(tunnel),此对象由出口LSR的地址和隧道标识符组成。当Path消息构建完后,它将沿着指定的路由向下游节点传送一直到出口LSRE。出口LSR收到Path消息后向上游节点返回Resv消息。收到Resv消息的中间节点将负责填写记录路由对象(RRO:Record Route Object),记录LSP的实际路由并分配标记。当入口LSR收到Resv消息后,这条点到点的LSP就建立成功了。#p#
3 组播信令协议
为了能在现有的GMPLS框架下支持具有TE能力的点到多点连接,IETF讨论了相应的信令需求[4]。与传统的点到点LSP相比,点到多点LSP除了原有的建立和删除操作,还增加了嫁接(grafting)和剪枝(Druning)这两个操作。嫁接操作允许将新的叶子(即出口LSR)动态地加入到一个已经存在的组播树(即点到多点LSP),而剪枝操作则是从组播树中动态地将已存在的某些叶子剪除,所有的操作都不能影响组播树上正在运行的业务。与此同时,扩展后的信令协议必须与GMPLS已有的特性兼容并尽可能重用已存在的协议。基于上述要求.S.Yasukawa等人在RSVP-TE的基础上做了扩展.引入了次要显示路由对象(SERO:Secondarv Explicit Route Object)、次要记录路由对象(SRRO:Secondary Record Route Object)和"子LSP" (S2L sub-LSP)等概念[5]。这个扩展在前不久刚刚成为RFC标准。
用图2所示的6节点光网络来阐述整个组播信令流程。与IP组播不同,点到多点LSP并不需要额外的组播组管理协议。这是因为叶子节点的地址直接被包括在请求中,而不像IP组播中仅仅只是使用一个D类地址。所有的组播树请求都将用一个三元组来表示{T,a,L},其中T是组播树的标识符,s是源节点,L是组播树的叶子集合。当T等于O的时候意味着这是一个组播树建立请求。例如,源节点A希望建立一个到叶子E和F的组播树,那么这个请求就被表示为{0,A,{E,F}}。当这颗树被建立后,它将被分配一个全局唯一的标识符,比如1。请求{1,A,{C1}}和{1,A,{F}}则分别意味着将叶子C嫁接到组播树1和将叶子F从组播树1中剪除。如果想删除整棵树,只需要将组播树1的所有叶子都剪除即可,即{1,A,{C,E}}。
3.1 组播树建立
当源节点收到一个建立请求后,它首先为这棵组播树计算显示路由。假设网络中的每个节点都具有无限制的组播能力,其组播实现可以是通过使用分光器将光信号一分为几[6],也可以是将光信号转换成电信号然后进行复制。这样就不需要对路由扩散协议进行额外的扩展。为一个组播组计算一棵从一个源节点到若干个叶子的最小代价树的问题被称之为Steiner树问题,众所周知,这是一个NP-complete问题。我们使用最近节点优先启发式算法来计算次优的动态点到多点Steiner树[7]。
当路由被计算好后,组播树被分解成若干个"子LSP"。在一个Path消息中,除了第一个子LSP被编码成ERO外,后续的子LSP都将被编码成SERO。为了减小信令消息的长度,如果某个SERO的部分路由与ERO或前面的SERO发生重叠,那么这部分冗余信息将被移除。例如,请求{0,A,{E,F}】的路由将被分解成2个子LSP,其中从源节点A到叶子E的子LSP的路由被编码成ERO{B,D,E},而从源节点A到F的子LSP的路由则被编码成SERO {D,F}。所有属于同一个组播树的子LSP共享一个全局唯一的组播树标识符。在实际的RSVP-TE消息中。这个标识符由点到多点标识符、隧道标识符、扩展隧道标识符、源节点地址和LSP标识符共同组成。当分枝(branch)节点D收到Path消息后,Path消息被分解成两个并被分别传递给下游节点E和F,每一个Path消息中只包含相应子LSP的SERO。也就是说前者为{E},而后者为{F}。当收到返回的Resv消息时,为了避免Resv消息的泛滥,分枝节点会等待所有下游节点的Resv消息都到达后再将其合并到一个消息中转发至上游节点。Resv消息中RRO/SRRO对象的处理与Path消息中的ERO/SERO类似。图3描述了请求{0,A,{E,F}}的信令实现过程。
3.2 组播树嫁接
组播树的嫁接可以有两种实现方式。第一种是将要嫁接的叶子添加到一个已经存在的Path消息中,然后刷新整个Path消息。例如,请求{1,A,{C}}的实现可以通过类似上一小节中处理请求{0,A,{C,E,F}}的信令过程实现。这种实现方式可能会导致ERO/SERO编码方案的重新计算。
第二种方式被称为增量更新。源节点为需要嫁接的叶子生成一个新的Path消息,此Path消息和其他已经存在并属于同一组播树的Path消息拥有同样的组播树标识符。组播树的嫁接只涉及对新Path消息的处理,不会影响组播树中已经存在的其他子LSP。基于这样可以减少信令消息的开销以及节点的处理时延,我们的实现中采用的是第二种方式。请求{1,A,{C}}的信令实现过程如图4所示。
3.3 组播树剪枝
组播树的剪枝同样有两种实现策略:隐示的和显示的。隐示剪枝使用标准的RSVP消息处理机制,通过修改原来的Path或Resv消息实现子LSP的删除。修改过的消息必须包含所有其他未被删除的子LSP。当使用这种方法的时候,节点在删除到达相应叶子的数据通道之前必须确保被删除的子LSP未被包含在任何其他的Path状态中。显示剪枝的实现则是基于为每一个Path消息生成一个相对应的PathTear消息。当某个Path消息所对应的所有叶子都需要被剪除的时候,显示剪枝应当被使用。此外。如果需要删除整个组播树时,必须为每一个Path消息建立的子LSP执行显示剪枝。#p#
4 实验
图5显示了一个用来实现组播信令协议的4节点ASON网络演示环境。图中OXC的核心交换矩阵是基于时分交换,交换粒度为一个SDH VC-4,同时支持单播和组播连接。其中,节点2拥有1.28Tb/s严格无阻塞交换能力。而节点1、3和4拥有320Gb/s的交换能力。每个节点上都拥有3种板卡,GbE接口和STM-16接口的业务端板卡和STM-64接口的线路端板卡。GbE信号首先被映射到虚级联VC-4容器中,然后在光网中传输。
在演示环境中,所有的节点都在一个控制域中。控制平面的实现是基于GMPLS框架,路由协议是基于OSPF-TE的扩展,信令协议即为进行了组播扩展的RSVP-TE.UNI和NNI也都进行了扩展以支持点到多点的连接。控制平面信息的传递是通过一个100M以太网的带外信道。我们使用Ethereal作为协议分析仪,并对其做了部分修改以支持点到多点连接[8]。业务生成器用于生成以太网业务并校验组播树的连通性。我们还扩展了GMPLS的管理信息库以支持组播连接。通过网络管理系统,可以观察到组播树的路由、带宽使用率等情况。
首先,为了评估经过扩展后的控制平面与传统的单播连接的兼容性,分别建立了一条从OXC 1出发的组播树和单播连接,结果如表1所列。图6显示了Ethereal捕获的组播树建立的信令消息。在解开的Path消息中,可以发现经过扩展的UNI组播对象。然后,对已存在的连接进行了动态的修改。在第三个测例中,一个叶子被添加到单播连接上并使其变为一棵组播树。在嫁接和剪枝的操作中,业务生成器在已建立的连接上没有观察到丢包的现象。
5 结束语
本文介绍了GMPLS架构下为了支持组播连接做出的各种信令扩展。在由4个具备组播能力的SDH交叉连接机组成的光网络演示环境中,成功实现了对光组播树的建立、嫁接、剪枝和删除等操作,证明了基于RSVP-TE的组播信令协议的有效性和可行性。
【编辑推荐】