多协议标签交换 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制。MPLS 独立于第二和第三层协议,诸如 ATM IP。它提供了一种方式,将 IP 地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。它是现有路由和交换协议的接口,如 IPATM、帧中继、资源预留协议(RSVP)、开放最短路径优先(OSPF)等等。

  在 MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。现今使用着一些标签分发协议,如标签分发协议(LDP)、RSVP 或者建于路由协议之上的一些协议,如边界网关协议(BGP)及 OSPF。因为固定长度标签被插入每一个包或信元的开始处,并且可被硬件用来在两个链接间快速交换包,所以使数据的快速交换成为可能。

  MPLS 主要设计来解决网路问题,如网路速度、可扩展性、服务质量(QoS)管理以及流量工程,同时也为下一代 IP 中枢网络解决宽带管理及服务请求等问题。

  在这部分,我们主要关注通用 MPLS 框架。有关 LDPCR-LDP RSVP-TE 的具体内容可以参考个别文件。

  多协议标签交换MPLS最初是为了提高转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,从而节约了处理时间。

  MPLS起源于IPv4Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPXInternet Packet Exchange)、AppletalkDECnetCLNPConnectionless Network Protocol)等。“MPLS”中的“Multiprotocol”指的就是支持多种网络协议。

协议结构

  MPLS 标签结构:

  20 23 24 32 bit

  Label Exp <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />S TTL

  Label ― Label 值传送标签实际值。当接收到一个标签数据包时,可以查出栈顶部的标签值,并且系统知道:A、数据包将被转发的下一跳;B、在转发之前标签栈上可能执行的操作,如返回到标签进栈顶入口同时将一个标签压出栈;或返回到标签进栈顶入口然后将一个或多个标签推进栈。

  Exp ― 试用。预留以备试用。

  S ― 栈底。标签栈中最后进入的标签位置,该值为0,提供所有其它标签入栈。

  TTL ― 生存期字段(Time to Live),用来对生存期值进行编码。

结构协议组

  MPLS:相关信令协议,如 OSPFBGPATM PNNI等。

  LDP:标签分发协议(Label Distribution Protocol

  CR-LDP:基于路由受限标签分发协议(Constraint-Based LDP

  RSVP-TE:基于流量工程扩展的资源预留协议(resource Reservation Protocol – Traffic Engineering

基于 MPLS ×××

  传统的×××一般是通过GREGeneric Routing Encapsulation)、L2TPLayer 2 Tunneling Protocol)、PPTPPoint to Point Tunneling Protocol)、IPSec协议等隧道协议来实现私有网络间数据流在公网上的传送。而LSP本身就是公网上的隧道,所以用MPLS来实现×××有天然的优势。

  基于MPLS×××就是通过LSP将私有网络的不同分支联结起来,形成一个统一的网络,如图1-6所示。基于MPLS×××还支持对不同×××间的互通控制。图1-6中:

  l CECustomer Edge)是用户边缘设备,可以是路由器,也可以是交换机或主机;

  l PEProvider Edge)是服务商边缘路由器,位于骨干网络。

  在骨干网络中,还存在PProvider),是服务提供商网络中的骨干路由器,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护×××信息。

  基于MPLS×××具有以下特点:

  

  l PE负责对×××用户进行管理、建立各PELSP连接、同一×××用户各分支间路由分派。

  l PE间的路由分派通常是用LDP或扩展的BGP协议实现。

  l 支持不同分支间IP地址复用和不同×××间互通。

 
基本工作过程:

  1. LDP和传统路由协议(如OSPFISIS等)一起,在各个LSR中为有业务需求的FEC建立路由表和标签映射表;

  2. 入节点Ingress接收分组,完成第三层功能,判定分组所属的FEC,并给分组加上标签,形成MPLS标签分组,转发到中间节点Transit

  3. Transit根据分组上的标签以及标签转发表进行转发,不对标签分组进行任何第三层处理;

  4. 在出节点Egress去掉分组中的标签,继续进行后面的转发。

  由此可以看出,MPLS并不是一种业务或者应用,它实际上是一种隧道技术,也是一种将标签交换转发和网络层路由技术集于一身的路由与交换技术平台。这个平台不仅支持多种高层协议与业务,而且,在一定程度上可以保证信息传输的安全性。

体系结构

  在MPLS的体系结构中:

  l 控制平面(Control Plane)之间基于无连接服务,利用现有IP网络实现;

  l 转发平面(Forwarding Plane)也称为数据平面(Data Plane),是面向连接的,可以使用ATM、帧中继等二层网络。

  MPLS使用短而定长的标签(label)封装分组,在数据平面实现快速转发。

  在控制平面,MPLS拥有IP网络强大灵活的路由功能,可以满足各种新应用对网络的要求。

  对于核心LSR,在转发平面只需要进行标签分组的转发。

  对于LER,在转发平面不仅需要进行标签分组的转发,也需要进行IP分组的转发,前者使用标签转发表LFIB,后者使用传统转发表FIBForwarding Information Base)。

MPLS 与路由协议

  LDP利用路由转发表建立LSP

  LDP通过逐跳方式建立LSP时,利用沿途各LSR路由转发表中的信息来确定下一跳,而路由转发表中的信息一般是通过IGPBGP等路由协议收集的。LDP并不直接和各种路由协议关联,只是间接使用路由信息。

  通过已有协议的扩展支持MPLS标签分发

  虽然LDP是专门用来实现标签分发的协议,但LDP并不是唯一的标签分发协议。通过对BGPRSVPResource Reservation Protocol)等已有协议进行扩展,也可以支持MPLS标签的分发。

  通过某些路由协议的扩展支持MPLS应用

  在MPLS的应用中,也可能需要对某些路由协议进行扩展。例如,基于MPLS×××应用需要对BGP进行扩展,使BGP能够传播×××的路由信息;基于MPLS的流量工程TETraffic Engineering)需要对OSPFIS-IS协议进行扩展,以携带链路状态信息。

  LSPM: LSP Management