一、MPLS 简介

  MPLS(Multi-Protocol Label Switching,多协议标签交换)是一种IP 骨干网技术。MPLS起源于IPv4,其核心技术可扩展到多种网络协议,包括IPv6、IPX和CLNP等。MPLS可以支持多种高层协议和业务,而在一定程度上可以保证信息传输的安全性。

 

二、基本术语 LSR、MPLS Domain、LER、LSP、Ingress LSR、Egress LSR、Transit LSR、FEC

  

mpls的路由器pe与CE的安装 支持mpls的路由器_mpls的路由器pe与CE的安装

  LSR(Lable Switch Router,标签交换路由器):支持MPLS的路由器、支持MPLS的交换机或其他网络设备,该设备能根据报文的MPLS标签头对其进行转发(如图:R1、R2、R3)。

  MPLS Domain(MPLS 域):由连续的LSR构成的一个MPLS域。

  LER(Label Edge Router):位于MPLS域边缘的LSR,(如图:R1、R3)。

  

  LSP(Label Switch path,标签交换路径):是标签报文穿越MPLS域到达目的地所走的路径。

  (1)LSP实际上是一种类拟Tunnel的概念,LSP的建立过程实际上也是报文转发路径中,沿途设备关于特定FEC的标签的确定过程。

  (2)LSP可以通过手工的方式建立(静态LSP),或者通过标签分发协议自动建立(动态LDP)

  

  Ingress LSR(入站LSR):LSP的入口LSR(如图:R1)。

  Transit LSR(中转LSR):位于LSP中间的LSR(如图:R2)。

  Egress LSR(出站LSR):LSP的出口LSR(如图:R3)。

  注:在图中,对于去往 3.3.3.0/24的数据流量而言,R1是Ingress LSR、R2是Transit LSR、R3是Egress LSR,一条LSP可以有0个、一个或多个Transit LSR,但有且只有一个Ingress LSR和一个Egress LSR。

 

  FEC(Forwarding Equivalence Class,转发等价类):是在转发过程中具有相同处理方式和处理待遇的数据流,可通过IP地址、隧道、COS等方式来标识一个FEC。例如:在传统的采用最长匹配算法的IP转发中,在同一条路由的所有报文就是一个转发等价类。

  (1)通常在一台设备上,对于一个FEC分配相同的标签。

  (2)属于一个FEC的流量具有相同的转发方式、转发路径和转发待遇。但是并不是所有拥有相同标签的报文都属于一个FEC,因为这些报文的EXP值可能不相同,执行方式可能不同。

  (3)决定报文属于哪一个FEC的设备是Ingress LSR,因为是它对报文进行分类和压入标签。

 

三、MPLS架构

  3.1 MPLS 控制和数据平面

  控制平面(Control plane)

  (1)控制平面是无连接的,主要功能是负责产生和维护路由信息以及标签信息。

  (2)控制平台中IP路由协议(IP Routing Protocol)模块用来传递路由信息,生成路由信息表,标签分发协议(Label Distributilon Protocol)模块用来完成标签信息的交换,建立标签转发路径。

  数据平面(Data plane)

  (1)数据平台也称为转发平面,是面向连接的,主要功能是负责普通IP报文的转发以及带MPLS标签报文的转发。

  (2)数据平面包括IP转发信息表(Forwarding Information Base)标签转发信息表(Label Forwarding Information Base),当收到普通IP报文时,则查找IP路由表转发,如果需要标签转发,则查找标签转发信息表。

 

  3.2 MPLS 控制和数据表项

  控制平面(Control plane)

  (1)路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。

  (2)标签分析协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、析除。

  (3)标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。

  数据平面(Data plane)

  (1)转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。

  (2)标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签转发协议在LSR上建立LFIB,负责带 MPLS标签报文的转发。

 

四、MPLS标签结构

  

mpls的路由器pe与CE的安装 支持mpls的路由器_数据_02

  Label(20bit):标签字段,用于存储标签值。

  EXP(3bit):实验位,通常用做Cos(Class of Service),当设备阻塞时,优先发送优先级高的报文。

  Bos(1bit):栈底位,用于标识标签头部是否为最后一层标签。如为1,则表示当前标签为栈底;如为0,则表示当前标签头部后还有标签。

  TTL(8bit):防止无限转发。

  注:LSR收到数据帧后,如何判断封装的是IP报文还是标签?以以太环境为例,以太帧头中的Type字段用于标识封装的报文类型,如果值为0x800,则表示为IP报文,如值为8847(单播)或8848(组播),则表示MPLS标签报文。

 

五、MPLS标签的处理

  标签的操作类型包括 标签压入(Push,或Insert)、标签交换(Swap)、标签弹出(Pop),它们是标签转发的基本动作,是标签转发信息表的组成部分。

  Push:指当IP报文进入MPLS域时,LER设备在报文二层头部和IP头部之间插入一个新标签;或者中转LSR设备,在标签栈顶增加一个新的标签(即标签嵌套)。

  Swap:当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文的栈顶标签。

  Pop:当报文离开MPLS域时,将MPLS报文的标签去掉。

 

六、LSP的建立

  MPLS需要为报文事先分配好标签,建立一条LSP,才能进行报文转发。LSP分为静态LSP和动态LSP两种。

  静态LSP的建立:

  (1)静态LSP不能使用标签发布协议,不需要交互控制报文,因此消耗资源小,适用于拓扑结构简单并且稳定的小型网络。

  动态LSP的建立(MPLS可以使用多种标签发布协议):

  (1)LDP:是专为标签发布而制定的协议。LDP根据IGP、BGP路由信息通过逐跳方式建立LSP。

  (2)RSVP-TE:是RSVP的扩展,用于建立基于约束的LSP,它拥有普通LSP没有的功能,如带宽预留、带宽约束、显式路径等。

  (3)MP-BGP:是在BGP协议基本上扩展的协议,MP-BGP支持为MPLS VPN业务中私网路由和跨域VPN的标签路由分配标签。

 

七、静态LSP

  (1)静态LSP是用户通过手工为各个转发等价类分配标签而建立的。

  (2)手式分配标签遵循的原则是:上游LSR出标签的值就是下游LSR入标签的值。

 

八、静态LSP实例

  

mpls的路由器pe与CE的安装 支持mpls的路由器_R3_03

  1、在网络中部署OSPF,使得MPLS Domain内的路由实现互通。

  2、在设备上激活MPLS

    R1的配置如下(R2、R3、R4配置类拟):

    [R1] mpls lsr-id 1.1.1.1                   //配置lSR-ID

    [R1] int gi0/0/0

    [R1-Gi0/0/0] mpls en                       //在接口激活mpls

    [R1-Gi0/0/1] mpls  en                      //两个方向的接口 激活mpls

  3、配置静态LSP

    R1的配置

    [R1] static-lsp ingress to4 destination 4.4.4.0 24 nexthop 12.1.1.2 out-label 200

    R2的配置

    [R2] static-lsp transit to4 in-label 200 nexthop 23.1.1.3 out-label 300

    R3的配置

    [R3]static-lsp transit to4 in-label 300 nexthop 34.1.1.4 out-label 400

    R4的配置

     [R4] static-lsp egress to4 in-label 400

    注:LSP需要配置两个方向的LSP,即两条LSP。

 

八、相关命令

dis ip routing-table                     //查看全局路由表
  dis fib                                  //查看转发表
  dis mpls static-lsp                      //查看lsp路径
  ping mpls
  tracert mpls