MPLS技术及其对数据新业务的支持

发布时间:2003-11-26 作者:冯径 Feng Jing 李仕锋 Li Shifeng 顾冠群 Gu Guanqun 阅读量:

1 引言

  对于大的因特网业务服务商(ISP)来说,目前它们从网络体系结构、容量的扩充、流量工程3个互补的技术层面来响应因特网的快速增长所提出的挑战。

  网络体系结构包含抽象的网络结构;定义网络的组件和对象类;它们的功能和相互之间的关系。一个好的、可扩展的网络体系结构,是以一个坚实的体系结构原理为前提,能适应因特网环境的快速演进。

  至于容量的扩充,就美国而言,1996年最大的ISP提供DS3(44.736Mbit/s)的骨干网链路,1997年到1998年,OC-12c(622Mbit/s)链路成为主流,1999年,许多主要的ISP将链路容量升级到OC-48c(2.488Gbit/s),2000年,一些ISP开始部署OC-192c(9.953Gbit/s)的IP骨干网链路,直接提供在密集波分多路复用上的IP技术。

  流量工程最近才被服务提供者注意到,其原因是容量扩充是必要的,但对所有环境下的因特网来说,提供高质量的服务却不是最有效的。流量工程是解决网络性能优化的一个重要环节,它将技术和科学原理应用到测量、建模、特征化和流量的控制上,还包括特殊的知识和技术以获得性能目标,如可靠、快速地移动穿过网络的通信量,有效地使用网络资源、规划网络容等。良好的网络流量工程既为服务提供方增值,也提高用户通信质量。

  目前,面向连接的网络常被用来作为数据报网络的传输基础设施,许多IP over ATM显示了这种构架的实践和探索,然而,在面向连接的链路层和无连接的数据报层之间的分离使得数据报网络很难利用所有面向连接的网络的优势。

  如何将路由技术和交换技术结合起来,提高网络传输效率是目前网络发展的热点问题。传统路由器通常依靠软件和通用CPU来实现网络第三层(网络层)控制功能,因而延迟大、转发速度慢。而以ATM为代表的交换技术是用硬件实现交换,每个事件沿着同一路径,通常实现第二层(数据链路层)数据单元的交换功能,速度快、面向连接。20世纪90年代初,研究较多的是IP over ATM,90年代中期,ATM论坛开始致力于ATM上的多协议,商家开始生产路由服务器。90年代后期,强调的是将路由和交换功能融为一体,先后出现3种解决方案:IP交换、TAG交换和MPLS(多协议标记交换)。

  MPLS的实质是将路由器移到网络的边缘,将快速、简单的交换机置于网络中心。对一个连接请求实现一次路由多次交换。其主要目的是将标记交换转发数据报的基本技术与网络层路由选择有机地集成,它是在TAG交换的基础上发展起来的。

  从1997年5月,第一个关于MPLS框架的草案(Draft)被提交后,到2000年12月,关于MPLS的草案多达38个,其更新速度之快,前所未有。参加讨论的机构包括了当今世界上主要的网络设备公司和著名实验室。经过三年多的讨论,虽然在业界已有宣称支持MPLS的产品出现,研究界也发表了大量关于MPLS的论文,但至今还没有一个国际标准化组织颁布关于MPLS的标准,甚至还没有一个互联网工程任务组织(IETF)的RFC。这说明MPLS的研究还处于“百家争鸣”阶段,有很多技术还不完善,在与传统的和其它新出现的Internet技术相集成时,还存在许多尚未解决的问题。同时也从另一个侧面反映了MPLS是有生命力的,因为在长达三年多的时间里,仍然有新的草案在不断提出。

  那么,MPLS技术究竟对新的数据业务有什么支持呢?本文将就这个问题进行讨论。

  2 MPLS的技术特色

  MPLS基于IP路由和控制协议,像一个介于第三层和第二层之间的“垫层”,利用第二层网络提供的数据链路层的服务,为IP提供面向连接的服务。因此,MPLS不被任何特殊的链路层协议限制,可利用节点现有的路由机制决定转发路径。它本身包含的一系列简单核心机制有:

  (1)对一个流指定标记的语义
  将一个标记与一个特殊的数据流相关联。

  (2)转发方法
  通过定长的短标记来简化转发,转发时仅需要简单的功能,如标记查找、标记替换以及对分组传输生命期(TTL)值的操作,在某些情况下,还可以直接使用第二层交换技术实现快速转发。

  (3)标记分配方法
  允许节点决定为特殊的流使用哪一种标记,可以使用一些控制协议或附在路由协议上。

  MPLS的核心组件分转发机制和控制机制两大类,转发机制相对简单和固定,它主要由标记匹配算法组成,为此,每个支持MPLS的路由器,要有相应的标记信息库(LIB)。而控制机制是MPLS中相对复杂多变的内容,其基本组件包括以下几个部分:

  (1)基本路由处理
  路由选择通过标准的第三层路由协议来完成,如OSPF和BGP。路由协议的拓扑范围和MPLS标记交换使能的节点范围可以不同,这意味着在同一个网络中,可以同时存在MPLS使能和非MPLS使能的路由器,当分组遇到非MPLS使能的节点时,可以按照现有的路由功能转发该分组。

  (2)标记
  MPLS关键概念就是用一个定长的、短的标签简化数据转发过程。因此,首先要定义标签的语义,然后要考虑标签的粒度,还要解决标签的分配,最后,为解决标记交换的可缩放性,还要定义标记栈以及相应的转发操作。

  (3)MPLS封装
  标签信息可以被编码成用一种MPLS头,也可以包含在第二层数据编码头中,因此,不同的媒体类型可能使用不同的标记方法。我们用“MPLS封装”这个术语来统一基于标记的转发,所以,MPLS指用来使用标记交换技术的特殊分组头所携带的信息。

  综上所述,MPLS既能够提供与面向连接的网络类似的优点,又能保留底层的效率和数据报网络的操作,所以被用来模拟面向连接的服务。其灵活性表现在:标记交换路径(LSP)的建立是由网络边缘的标记交换路由器负责,保持传统因特网“简单核心,复杂边缘”的设计原理,在一个混合了多种底层传输网络技术的网络体系里,用LSP传递面向连接的服务,用正常的数据报机制传递便利的数据报服务。

  从技术来看,MPLS在以下几个方面提出了具有挑战的研究课题:

  (1)标记分发
  标记交换机(LSR)必须以某种方式学习标记的含义,这个过程统称为标记分发。可以利用其它已有的信令协议传递标记,也可以设计专门的标记分发协议,并且在传递方向上也有不同。

  (2)流的合并
  为了减少标记的数目和处理的复杂度,MPLS可以利用流合并机制,将多个流标识成一个流。根据承载的媒体,有合并和聚合两种类型的操作。

  (3)与其它协议的互操作
  当下层承载网络是像ATM这样的非广播多路访问网络时,MPLS要解决与下一跳决定协议(NHRP)的互操作。

  (4)层次化操作
  MPLS允许层次化操作,使得路由的粒度可以在同一域的路由器之间或在域和域之间变化。这样就要解决标记栈的使用问题。

  3 MPLS的实现过程

  MPLS网络的边界是一个相对的概念,可以是不同Internet服务提供者提供的网络边界,也可以是更小的行政区域网络边界,还可以是能够支持某种网络服务的子网边界。因此边界LSR包含连接到一个不支持MPLS功能的路由器的LSR,用户接入网络连接到的LSR以及连接不同域的LSR等。标记作为一个流标识,在入口LSR处被插入,在出口LSR处被删除。

  对于基于IP的MPLS,LSR将标记字段插在IP分组头的前面;而对于ATM,VPI/VCI可以看成标记;对于帧中继,其数据链路电路标识(DLCI)可以看成标记;对于光网络,标记可能是所用的波长,也许结合其它意义。

  当数据流在MPLS网络中传递时,每个MPLS节点必须协商建立标记表,即标记信息库(LIB)。当收到一个标记帧时,通过检查LIB中输入标记,可以得到输出接口和标记。然后,LSR用输出标记替换帧中的输入标记,形成下一个节点的输入标记,并将数据帧从输出接口转发出去。这个过程类似于帧中继和ATM虚电路交换。因此,每个LSR的LIB只有本地意义,或者说标记只在两个相邻的LSR中有用,并且与单个链路有关。当穿越MPLS网络时,各本地输出标记指代的链路构成了有关标记交换路径(LSP)。

  当发现数据流未携带MPLS标记,就进行路由查找,有可能申请到一个新的标记,也有可能使用某个转发等价类(FEC)的标记。FEC是这样一类分组的集合,它们有可能沿相同的MPLS路径被转发到同一个下一跳,或者经过同一个出口LSR,因此,可以绑定到同一个标记。实际上,对于不同的服务供应商而言,FEC的定义可以采用不同策略。可以将要求同样服务类型的、限制在某个自治系统边界路由器内的或匹配到某个无类域间路由(CIDR)前缀的分组定义为一个FEC。

  我们可以通过一个具体的例子来说明LSR的工作过程(见图1)。

点击放大
图1 MPLS的LSP建立过程示例

  图1中带圆圈的数字表示操作的步骤。假设数据传输的方向是从上到下,则称相对上方的LSR为上游,相对下方的LSR为下游。每个LSR的接口用Serial 0、Serial 1、Serial 2……序列表示。

  (1)第一步
  底部的一个非MPLS客户路由器连接IP C类网络192.1.1.0和192.1.2.0 ,由以太网接口0输出到外部。左边的表是该路由器建议的路由表,它包含路由前缀Prefix,输出接口,下一跳路由器等信息,表中“In”、“Out”分别表示输入/输出接口(形如Serial 0、Serial 1)。灰色箭头表示一个发往图1底部边界路由器的普通路由更新公告。

  (2)第二步
  路由信息从底部的边界LSR向其邻接的LSR广播,同时它选择一个自由标记(未被使用的)5,该标记作为本地输入标记,根据路由指示,用标记分发协议(LDP)将标记5从接口Serial 1传递到上游邻接点。以后当携带标记5的分组到达该边界LSR时,就用5为索引,匹配路由表中输入标记等于5的表目,根据同一表目中的输出标记和输出接口执行相应的操作。底部的边界路由器本身是分组到达的最后一个LSR,所以,输出标记为NUL(空),图1用“-”表示,意味着LSR要对分组的标记作弹出操作,将其从分组头中删除,分组被转发到非MPLS路由器。图1中显示该标记被传递到左上方的LSR。黑色箭头表示LDP与上游LSR交互标记。

  (3)第三步
  第二个LSR 获悉通往上述两个网络的路由后,继续向上游公告。当收到来自本地接口Serial 0的LDP信息后,记录在输出接口Serial 0上用标记5来标识指定的流,然后为这个转发等价类(FEC)分配一个本地标记17,并将其沿Serial 1接口向上游分发。这样当在本地Serial 1收到一个标记为17的分组后,就将标记替换成5,同时将分组从Serial 0接口转发出去。

  (4)第四步
  若网络中还有上游其它LSR,则继续沿路由向上游传递LDP消息并进行标记的分配和绑定,这个过程同第三步,直到到达顶部的边界LSR,它不再分配一个本地输入标记,因为它直接与另一个非MPLS路由器相连,不支持标记操作,也就无法提供输入标记。顶部的边界LSR路由表中只包含输出标记和输出接口(Serial 0,94)。

  (5)第五步
  至此,一条标记交换路径(LSP)被成功建立,图1中用红色箭头线标识。当顶部边界LSR接收到来自其上方的非MPLS路由器发来的分组时,该LSR需要根据分组的目的IP地址和端口(图1示例中为24)从其路由表中查到相应的标记,然后将标记94加进分组头前部的标记字段,并将分组从接口Serial 0转发出去。当数据沿LSP传到下游LSR时,按第二步中所说的操作进行标记交换和数据转发,直到到达底部的LSR,此时分组携带标记5,从Serial 1进入。相应的标记表目中的输出标记为空,表示到达边界LSR,该LSR将标记从分组的前部删除,还原成普通分组,从Serial 0接口转发到底部的非MPLS路由器。

  (6)第六步
  在底部的边界LSR和左上方第二排LSR中,路由消息也可以向右边的接口发出,它也能利用LDP告诉相应的上游LSR分别用标记31和123作为输入标记,快速地传递指定的数据流到目的地。

  (7) 第七步
  第六步的操作允许多个流合并,即在右上方第二排LSR中,来自其Serial 1接口携带标记为94的分组和来自其Serial 2接口标记为123的分组,都可以使用17来重新标记,并且从Serial 0接口转发出去。这就是MPLS多点到点的行为。这只是一个简单的例子,目的是说明路由和标记如何被传播。可以看出LSP仍然是通过LDP逐跳行为完成的。

  总的来说,MPLS要求边界LSR和中间LSR的处理是不相同的,边界要处理流的分类、聚集、标记交换路径的建立以及转发等操作,而中间则只处理标记交换和转发。所以,通常LSR适合在有一定规模的网络上使用,否则在一个封闭的小网络内无法区分边界和中心,也没有必要将组网复杂化。

  根据不同的组网方式,LSR可以在以下网络中使用:

  • 大型公共IP骨干网;
  • 包含传统ATM、帧中继等第二层传输网在内的互联网;
  • 大型企业网;
  • 光网络。

  4 MPLS对数据新业务的支持

  4.1基于MPLS的虚拟专用网(VPN)

  VPN一般包括两类:Dialing-VPN和LAN-to-LAN-VPN,MPLS则主要解决LAN-to-LAN-VPN。VPN的目的是通过公共网络将异地的网点互联,对用户来说,感觉上就像物理专线,用户无需考虑LAN之外的问题,并且只需付出到VPN提供商的本地线路租用费和公共网络使用费(可以基于流量和QoS计费)。

  MPLS把VPN视为一项重要功能,并提出许多解决方案。在MPLS中,网络供应商为每个VPN提供一个唯一的VPN标识符(VPN-ID),称之为路由识别号(RD),它的格式初步建议为16比特整数,如果VPN跨自治域,则再加16比特的AS-ID(自治域标号)。LSR转发表中包含一系列唯一的地址VPN-IP-address,该地址由RD和用户私有IP地址级联组成,这样VPN-IP-address在整个网络中就具有唯一性,可以将它们加入FEC完成通常的转发。CISCO提出的方案如图2所示:


图2 VPN的路由识别号

  由于MPLS能够指定LSP,因此VPN流可以在最安全的路径中传输,同时在MPLS网络中,如果采用BGP传递LDP消息,可以控制VPN有关的信息仅向同一VPN成员扩散,这种模式可以保护帧中继和ATM连接的私密性能。当然,VPN的建立信息也可以手工配置,但如果VPN的网点数目很多且变化较大,就需要自动生成,这时需要在MPLS域内建立一个VPN信息库集中管理。

  4.2 MPLS用于流量工程

  MPLS的实现对流量工程有战略上的重要意义,因为它具有以一个集成的方式,提供大多数叠加模型功能的潜在性,并且花费要比其它的叠加模型低。

  MPLS中流量干(Traffic Trunks)的概念很重要,一个流量主干是放在一个标记交换路径上的同类运输流的集合。本质上,一个流量主干是有详细特征的流量的抽象代表。可以把流量主干看成是一个可路由的对象,也就是说,流量主干通过的路径是可以改变的。基于这样的考虑,流量主干和ATM 以及帧中继网络的虚电路就很相似。然而必须强调的是,流量主干和传输它的路径LSP有着根本的区别,前者是承载对象,后者是承载途径。

  MPLS对于流量工程的魅力主要有以下一些要素:

?指定的标记交换路径,不受基于目的地址的无连接分组转发机制的限制,并且可以很容易地通过手工配置来创建,或由下层协议自动完成;

  • LSP可以有效地维护;
  • 流量主干可以被创建并映射到LSP;
  • 可以建立一个和流量主干有关并调节它们行为特性的属性集;
  • 可以建立一个和资源相关的属性集,用来约束LSP的布置和上面通过的流量主干;
  • MPLS允许流量合并和分解,而传统的基于目的地址的IP转发仅允许合并;
  • 将约束路由框架和MPLS集成相对容易;
  • 一个好的MPLS流量工程实现能提供比其它方案低得多的维护费用。

  MPLS导出图(Induced graph)是MPLS域流量工程的一个重要概念。一个MPLS导出图模拟了叠加模型中的虚拓扑,它是通过为流量主干选择LSP而逻辑地映射到物理网络的。

  一个MPLS导出图的节点由LSR之间提供点到点逻辑连接的LSP集合组成。基于标记栈可以建立多层MPLS导出图。

  MPLS上的流量工程主要有三个基本问题:

  • 怎样把数据报映射为FEC;
  • 怎样把FEC映射为流量主干;
  • 怎样通过LSP把流量主干映射为物理网络拓扑。

  MPLS上流量工程的扩展性能建议如下:

  • 一个和流量主干有关的并完全指定它们行为特征的属性集;
  • 一个和资源有关的并约束流量主干布置的属性集,也可以认为是拓扑属性限制集;
  • 一个约束路由框架,它用来为流量主干选择受(1)和(2)影响的约束路径。

  约束路由框架不一定要成为MPLS的一部分,但它们两个需要紧密集成到一起。和流量主干及资源相关的属性以及和路由相关的参数共同代表了控制变量,并能通过手工配置或自动代理来改变,以驱动网络到一个理想的状态。在一个运行网络中,这些属性最好也能由操作员在线动态改变而不影响网络运行。

  对流量工程十分重要的基本流量主干操作如下:

  • 建立:创建流量主干实例;
  • 激活:激活流量主干,开始传输流量;
  • 停止:停止一个流量主干传输流量;
  • 修改属性:导致流量主干的属性改变;
  • 重新路由:导致流量主干改变路由,这可以由手工配置或下层协议自动完成;
  • 撤销:从网络中删除流量主干实例并回收分配给它的资源(标记空间和可利用带宽)。

  流量工程中流量主干特别重要的基本属性如下:

  • 流量参数属性;
  • 一般路径选择和维护属性;
  • 优先权属性;
  • 抢占属性;
  • 恢复属性;
  • 策略属性。

  流量参数和策略属性是模拟ATM网络中参数控制的用法。上面列出的大多数属性在已经十分成熟的技术中都有类似的应用,因此,我们也必须考虑如何较好地将流量主干属性映射到已经存在的交换和路由体系中。

  4.3 MPLS对IP电话和视频会议的支持

  由于在网络中传输语音和数据的要求是不同的,有些甚至是矛盾的,这些差异主要表现如下:

  (1)容错性
  语音传输对误码有很强的耐受力,如果偶尔有一个分组的数据损坏了,并不会严重影响语音的保真度,分组的丢失率不到10%,就不会严重影响声音的保真度。然而,数据业务就不能容忍误码。一个比特误码会导致数据意义的改变。

  (2)时延
  语音和数据传输的另外一个差别涉及到了网络时延。要使分组语音实时地还原成模拟信号,语音分组的双向时延必须是恒定的而且要小于300ms。为什么低时延如此重要呢?如果语音分组从说话方A传送到受话方B需要花很长时间,那么当A停止讲话后,B仍然在接收语音分组。这意味着,B在收全语音分组之前不能开始讲话。同时,A在一段时间内什么也听不到。如果这段时间很长(比方说,超过了400ms或500ms),通话的双方就会感觉不舒服。所以,如果网络时延过大,这些语音分组就会因无用而被丢弃。
  对于传统的数据分组来说,网络时延的变化可以很大,因为,在接收方和发送方之间没有定时关系。实际上,数据分组是在网络上异步传输的,相关的应用会在全部分组收到之后再使用这些数据。因此,为减少时延,语音分组在网络节点上的排队长度应尽可能短,或者至少应该使时延可以预测。然而,由于语音分组的排队长度较短,有时会发生溢出,导致分组丢失。相反,数据分组则需要较长的排队长度来防止溢出时发生分组丢失。于是,这两个指标在传送不同类型的分组时是有矛盾的。

  (3)可变比特率和恒定比特率
  描述业务流量性质的一个有效方法是使用可变比特率(VBR)和恒定比特率(CBR)这两个概念。使用VBR机制的业务无需恒定连续的带宽分配,这些业务也叫突发业务,即数据的发送和接收是按异步方式的(随时都可能出现不发送或不接收的情形)。VBR机制是最常见的数据通信方式。从时间角度来看,这种应用允许排队长度可变,在收发方之间无需固定的定时关系。因此,如果数据流从发送方发出,然后缓存(排队),缓存时间可长可短,这对接收方不会产生影响。

  需要强调的是,虽然VBR的定时机制比较松散而且收发端异步工作,但是大部分VBR应用还是需要在一定范围内定时限制的。

  与此相反,采用CBR机制的业务需要恒定而连续(或近似连续)的带宽分配。这种业务是非突发的,基于CBR的典型应用就是语音传输。这种应用需要有带宽保证而且在收发方之间要有恒定而连续的定时关系,同时还需要使收发方之间的时延是可预测的。

  在基于VBR机制的数据网上传输分组语音,一个难题就是在接收端接收突发性语音分组后要将这种VBR数据流平滑为CBR数据流,这样才能对传统的CBR数据流进行数模转换。

  以VoIP为例,除了要考虑对目前电话网和话机的适应性变化,对于数据网络来说,还要考虑用何种承载业务支持VoIP?第二层是帧中继、以太网还是ATM?第一层是SONET还是波分复用(WDM)?最可能的是,VoIP将综合上面的所有技术。那么上层又采用什么协议呢?是实时协议(RTP)、区分服务(DiffServ)、资源预留协议(RSVP)、媒体网关控制协议(MGCP)、多协议标记交换(MPLS),还是其他协议呢?目前还没有确切答案,最可能的仍是综合使用上面所有的协议,甚至更多协议。

  通过前面的原理介绍,我们可以看出用MPLS技术可以在语音、视频流进入IP网络的边界路由器时,通过上层协议(如RTP)标识等信息来划分特定的转发等价类,这类FEC可以和某个范围的标记值相绑定,其语义与调度策略相关,如优先权等。这样通过专门建立的LSP来转发语音和视频流,就能够实现所要求的服务质量。

  5 结束语

  MPLS对IP网络最大的贡献在于它将第三层的路由选择与分组转发相分离。借助标记避免逐跳的决策,减少对数据分组的深入分析,建立第二层的快速路径,使得数据沿着这条预先建立的分路径快速移动。标记的编码可以取代非常复杂而繁多的信息,特别是当我们希望根据服务类型加快转发时,就可以进入网络的入口处将这些分析结果编码成一个标记,由分组携带该标记,后面的节点就不必要作同样的复杂决策,仅根据标记值来匹配相应的转发行为。因此,这些特性,为在IP网络上开展新的数据业务提供了潜在的技术保证。

参考文献

1 顾冠群,冯径. 走集成的道路构筑未来综合服务信息网络. 国际技术经济研究,2000,3(3):1-4
2 李仕锋,马小骏,顾伯萱. 基于MPLS的流量工程研究.第10届全国数据通信学术会议论文集, 广东珠海, 2000,11:289-295
3 Introduction to MPLS. http://www.mentortech.com
4 R Callon, et al. A Framework for Multiprotocol Label Switching. Internet Draft, September 1999
5 Eric C Rosen, et al. Multiprotocol Label Switching Architecture. Internet Draft, July 2000
6 K Muthukrishnan and A Malis. A Core MPLS IP VPN Architecture. Request for Comments: 2917, September 2000
7 Eric C Rosen, et al. MPLS Label Stack Encoding. Internet Draft, July 2000

[摘要] 文章简要介绍了MPLS技术及其实现,分别就MPLS技术对虚拟专用网、流量工程、IP电话和视频会议等数据新业务的影响进行了分析和探讨。

[关键词] 多协议标记交换 虚拟专用网 流量工程 IP电话

[Abstract] The key points and realization processes of the MPLS technology are briefed in the paper. The effects of adopting MPLS in systems of VPN, Traffic Engineering,IP Phone, Video Conferencing and other new data services are analyzed and discussed.

[Keywords] MPLS VPN Traffic engineering IP phone