下一代互联网关键技术IP QoS(3)
发布时间:2006-10-14 8:04:50   收集提供:gaoqian

姜明


  5.多协议标签交换MPLS

  1997年,以Cisco公司为主的几家公司(包括Ipsilon、IBM、Cascade、Toshiba)提出了多协议标签交换(Multiprotocol Lable Switch,MPLS)技术。MPLS技术产生的初衷就是为了综合利用网络核心的交换技术和网络边缘的IP路由技术各自的优点而产生的其最初设计目标是将第二层的交换速度引入到第三层。基于标签的交换方式允许路由器在作转发决定的时候仅仅以简单的标签为基础,而不是基于目标IP地址作复杂的路由查找。现在,MPLS更成为流量工程(Traffic Engeering)和虚拟专用网(Virtual Private Network,VPN)方案的重要解决手段,并且日益成为扩大IP网络规模的重要标准。

  MPLS中的常用的术语

  标签(Label):标签是一个包含在每个包中的短的具有固定长度的数值,用于通过网络转发包。

  标签边缘路由器(Lable Edge Router,LER):LER是MPLS网络同其他网络相连的边缘设备,它提供流量分类和标签的映射(作为Ingress)、标签的移除功能。

  标签交换路由器(Lable Switching Router,LSR):LSR是MPLS网络的核心设备,提供标签交换、标签分发功能,具有第三层转发分组和第二层交换分组的能力。

  等价转发类(Forwarding Equivalence Class,FEC):FEC是在转发过程中以等效的方式处理的一组数据包,例如目的地址前缀相同的数据包。FEC归类的方法可以各不相同,粒度也可有差别。

  标签交换路径(Lable Switching Path,LSP):MPLS实际上是一个面向连接的系统,标签的分配实际上就是一个建立连接的过程,也即建立了一条LSP。LSP可以是动态的,也可以是静态的,动态LSP是通过路由信息自动生成,静态LSP是被明确提供的。

  标签分配协议(Label Distribution Protocol,LDP):LDP提供一套标准的信令机制用于有效地实现标签的分配与转发功能。LDP基于原有的网络层路由协议OSPF、IS-IS、RIP、EIGRP或BGP等构建标签信息库,并根据网络拓扑结构,在MPLS域边缘节点(即入节点与出节点)之间建立LSP。LDP主要执行以下4个操作:

  发现(Discovery):发布并维护网络中的LSR。

  会晤(Session):建立和保持两个对等LDP之间的会晤。

  广告( Advertisement):执行标签的分配和传播( allocation and distribution)。

  通知(Notification):通告差错信息。

  MPLS的基本原理

  MPLS协议的关键是引入了标签(Label)的概念。一对LSR必须在标签的数值和意义上一致。例如,下行LSR会给上行LSR发送一个特定标签X.代表一个特定的称作A的FEC。于是,一个标签只在一对正在通信的LSR之间起作用,并用来表示属于一个从上行LSR流向下行LSR的特定FEC的分组。MPLS可以支持添加到现有的帧或分组结构(如以太网、PPP)的标签,也可以利用包含在数据链路层(如帧中继和ATM)中的标签结构。



  标签的格式取决于分组封装所在的介质。例如,ATM封装的分组(信元)采用VPI和/或VCI数值作为标签,而帧中继PDU采用DLCI作为标签。对于那些没有内在标签结构的介质封装,则采用一个特殊的数值填充。图7给出4字节填充标签的格式,它包含一个20bits的标签值、一个3bits的CoS值、一个1bit的堆栈标识符和一个8bits的TTL值。此外.如果填充值被插入到一个PPP或以太网帧中,包含在各帧头中的一个协议ID(或以太网类型)表示一个帧或者一个 MPLS单播或组播帧。

  传统的路由器是通过逐步查找路由/转发表来转发数据的(hop by hop路由方式),由于路由查找基本上是通过CPU来完成的,所以转发速率受到很大的限制,这种转发效率远远不能满足目前互联网的发展需要,尤其是一些高带宽和对时延敏感的多媒体业务大量进入互联网后。而MPLS的一个根本目的就是解决转发速率问题。其方法就是依据标签这个短小、定长、非结构化并只具有局部意义的标识来转发分组。由于标签的这些特点,所以标签的查找可以采用数组来实现,无论是用硬件还是用软件来实现都不难。

  当一个数据包进入MPLS网络时,它首先在LER处被分配一个标签。报文沿着LSP进行转发,路径中的每个LSR仅仅根据标签内容来做出转发决定。在每一跳中,LSR剥离现有的标签,将一个新的标签应用于该报文,并告诉下一跳如何转发该报文。

  具体而言,每个进入MPLS网络的数据包被归类为一个转发等价类(Forwarding Equivalence Class, FEC),该等价类以一个标签来标识,因此,报文中的标签内容也就表示了该报文所分配的FEC。传统的路由器在进行包转发时,各个路由器是独立地作出转发决定的,也就是说,每个路由器都将查看包头的目的地址,而在MPLS中,只是在报文进入MPLS网络的LER时查看包的目的地址,在其它路由器并不查看包的目的地址,而仅仅根据其标签内容来作出转发决定。在数据包进入到LSR时,入域标签映射(Incoming Label Map, ILM)机制将入域包的标签内容与一组下一跳标签转发入口(The Next Hop Label Forwarding Entry,NHLFE)相映射。LSR查看该NHLFE,决定向哪个接口转发该包,并对包的标签栈执行一个操作,然后将新的标签压入标签栈,转发所得到的结果。

  MPLS在流量工程中的应用

  流量工程(Traffic Engineering,TE)的主要目的就是在促进有效、可靠的网络操作的同时,优化网络资源的利用率和流量的性能。一般来说,它包含了技术的应用、测量的科学准则、模型化、特征化(Characterization)和因特网流量的控制,以及如何将这些知识和技术应用到实践中来获取一些特定的性能指标。由于网络资源的昂贵和因特网激烈的商业竞争的天性,流量工程已经成为大型自治系统(Autonomous System,AS)中一个不可缺少的功能。

  MPLS的最初设计目标是将第二层的交换速度引入到第三层,随着第三层交换速度的大大提高,这一最初目标已经不复存在了,而现在MPLS的最主要功能就是流量工程,即在多条可能的转发路径中进行负载平衡。

  流量工程是指为业务流选择路径的处理过程,以在网络中不同的链路、路由器和交换机之间平衡业务流负载。当网络中存在多条并行或可选的路径时,流量工程就显得非常重要了。流量工程的主要目的是提供有效可靠的网络操作,同时优化网络资源的利用和业务流性能。流量工程的目标是在一给定节点与另一节点之间计算一条路径(源路由),该路径不违反它的约束(例如带宽/管理要求),并且从一些数量指标看来是最优的。一旦路径被计算后,流量工程将负责在该路径上建立和维护转发状态。


图8 MPLS体系结构


  6.子网带宽管理SBM

  由于数据包的发送过程必须经过发送端主机以及接收端主机的所有OSI协议层,甚至可能要经过中间某个网络的子网。这就涉及到一个问题:如何在子网内,即在数据链路层上保证高优先级的数据帧获得高级别的服务。某些链路层的技术已经可以支持QoS了,例如异步传输模式ATM。而其它更多的LAN技术(如以太网技术)最初并非为支持QoS设计的。以太网作为共享的广播媒介,在它的交换方式中,提供了一种类似与传统的尽力而为的IP服务。为此,IETF的ISSLL小组定义了上层QoS协议和服务与以太网之类的数据链路层技术之间的映射关系,并且提出了子网带宽管理(Subnet Bandwidth Management,SBM)的方案,它适用于802.1 LAN,如以太网、令牌环和FDDI等。SBM是数据链路层上的QoS,它通过将高层QoS映射到特定的数据链路层上实现在第二层上的快速交换。

  SBM也是一个信令协议,它允许网络节点和交换机之间在SBM框架内进行通信和协调,并实现向高层QoS的映射。在SBM体系结构中,要求所有的数据帧必须通过至少一个SBM交换机。SBM的主要构件有三个部分:

  请求模块(Request Module, RM):请求模块驻留在每个端系统中而不驻留在任何交换机中。请求模块根据管理员所定义的策略,将高层的QoS协议参数映射到第二层的优先级别。

  带宽分配器(Bandwidth Allocator, BA):带宽分配器保存子网内资源的分配状态,并且根据可用资源的情况以及管理员所定义的策略来执行接入控制。

  通信协议(Communication Protocols, CP):通信协议用于在SBM系统中,各个不同的组件之间进行通信。SBM体系结构提供了RM-to-BA以及BA-to-BA的信令机制来请求资源、改变或删除分配资源。



  SBM有两种形式的体系结构:集中式结构和分布式结构,它取决于BA所处的位置,如图9和图10所示。不管在哪种形式的结构中,RM都必须在需要请求资源的端系统中。APP表示需要使用RM的应用,它可以是用户应用程序,也可以是高层协议(如RSVP)。



  在集中式结构中,只有单个的BA来实现整个子网的带宽管理与分配,每个端系统中包含一个RM,而网桥和交换机中则不需要RM。当端系统需要请求资源时,则由它的RM首先向BA发出请求通信。在这种结构中,BA需要知道整个子网的拓扑结构。

  在分布式结构中,子网内所有的网络设备中都需要实现BM功能,所有的端系统中仍然需要实现RM。在这种结构中,每个BA需要知道与它连接的本地网段(一个子网可能包括多个网段)的拓扑结构。



  关于作者

  姜明,计算机专业博士研究生。主要研究方向为网络体系结构、网络QoS。非常高兴能够与广大同行就IP QoS及IPv6协议方面的相关问题进行切磋,欢迎大家对本文多提宝贵意见,我的Email是:jiangmingcc@163.com。

  
摘自 赛迪网
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50