MPLS 原理与配置

MPLS 基础

1. MPLS 概述

(1)传统IP路由转发的特点

    所有路由器需要知道全网的路由;
    IP头部不定长,处理效率低;
    传统IP转发是面向无连接的,无法提供较好的端到端QoS保证。

(2)MPLS 基本概念

    MPLS起源于IPv4,其核心技术可扩展到多种网络协议,包括IPv6、IPX、CLNP等。
    MPLS以标签交换替代IP转发。

2. MPLS术语

(1)MPLS 域:

一系列连续的运行MPLS的网络设备构成了一个MPLS域。

(2)LSR(标签交换路由器):

支持MPLS的路由器
    LER(边沿路由器):位于MPLS域边缘、连接其它网络的LSR
    Core LSR(核心LSR):区域内部的LSR

(3)LSR分类(对数据处理方式的不同)

    入站LSR(Ingress LSR):通常是向IP报文中压入MPLS头部并生成MPLS报文的LSR。
    中转LSR(Transit LSR):通常是将MPLS报文进行例如标签置换操作,并将报文继续在MPLS域中转发的LSR。
    出站LSR(Egress LSR):通常是将MPLS报文中MPLS头部移除,还原为IP报文的LSR。

(4)FEC(转发等价类)

    FEC是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以相同方式处理。
    在传统的采用最长匹配算法的IP转发中,匹配到同一条路由的所有报文就是一个转发等价类。
    在MPLS中,FEC可以通过多种方式划分:
        基于目的IP地址及网络掩码(最常见)
        DSCP(差分服务代码点)等

(5)LSP(标签交换路径)

    标签报文穿越MPLS网络到达目的地所走的路径。
    一条LSP包含一台入站LSR、一台出站LSR以及数量可变的中转LSR,因此LSP也可以看做是这些LSR的有序集合。
    LSP可通过静态和动态(LDP协议)两种方式建立。
    注意:LSP是一个从“起点”到“终点”的单向路径,若需要双向数据互通,则需要在双方之间建立双向的LSP。

3. MPLS 标签

(1)MPLS 标签(mpls_vpn_test)

关键字段:
    标签(Label):用于携带标签值,长度20bit。
    EXP(Experimental Use):主要用于CoS(Class of Service),长度3bit。
    S(Bottom of Stack):栈底位,
         用于指示该标签头部是否为最后一层标签,长度1bit。
         如果值为1,则表示当前标签头部为栈底;
         如果值为0,则表示当前标签头部之后依然还有【其他标签头部】。
    TTL(Time To Live):用于当网络出现环路时,防止标签报文被无限制转发,与IP报文头部中的TTL具有相同的意义,长度8bit。

(2)MPLS标签栈

    MPLS支持一层或多层标签头部,这些标签头部的有序集合被称为标签栈(Label Stack)。
    当标签栈中存在多个标签时,这些标签的顺序是非常讲究的:
         最靠近二层头部的标签是栈顶标签,标签中的S字段为0。
         最靠近IP头部的标签是栈底标签,标签中的S字段为1。

(3)标签空间

    标签是一个短而定长的、只具有本地意义(每一台LSR之间的标签空间是相互独立的,即每台路由器都可以使用完整的标签空间)的标识符。
    标签空间就是指标签的取值范围。
        0~15:特殊标签值。
        16~1023:静态LSP、静态CR-LSP的共享标签空间
        1024~1048575:LDP、RSVP-TE、MP-BGP等动态信令协议的标签空间;

(4)MPLS标签的处理

    LSR对标签的操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop)。
        标签压入:报文进入MPLS域时,MPLS边界设备插入一个新标签;
                         中间设备可根据需要,在标签栈顶增加一个新的标签。
        标签交换:报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文的栈顶标签。
        标签弹出:报文离开MPLS域时,将MPLS报文的标签去掉。

MPLS 转发

1. 基本概念

(1)MPLS 转发概述

    MPLS转发的本质就是将数据归到对应的FEC并按照提前建立好的LSP进行转发。
        对于整个MPLS域,LSP是某一给定的FEC进入域和离开域的路径,可以看成是LSR的有序集合。
        对于单台LSR,需要建立标签转发表,用标签来标识FEC,并绑定相应的标签处理和转发等行为。
        LSR的转发动作决定了LSP,而标签转发表确定转发动作,所以建立标签转发表也可以理解为建立LSP。

(2)MPLS 体系结构

    控制平面 (Control Plane):
        控制平面是无连接的,负责产生和维护路由信息以及标签信息。
        控制平面包括IP路由协议和路由信息表,标签分发协议和标签信息表。
    转发平面(Forwarding Plane):
        也称数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。
        转发平面包括IP转发信息表和标签转发信息表。

(3)控制平面与转发平面

2. LSP建立

(1)LSP建立原则

    当网络层协议为IP协议时,FEC所对应的路由必须存在于LSR的IP路由表中,否则该FEC的标签转发表项不生效。
    LSR用标签标识指定FEC,所以该FEC的数据被发送至LSR时,必须携带正确的标签,才能被LSR正确的处理。

(2)LSP建立方式

    静态LSP:
        概念:用户通过手工为各个FEC分配标签而建立的。
        优点:静态LSP不使用标签发布协议,不需要交互控制报文,因此消耗资源比较小。
        缺点:通过静态方式建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预。
    动态LSP:
        概念:动态LSP是通过标签发布协议动态建立。
                  标签发布协议是MPLS的控制协议,负责FEC的分类、标签的分发以及LSP的建立和维护等一系列操作。
        常用标签发布协议:标签分发协议 (LDP)
        其他标签分布协议:RSVP-TE、MP-BGP等

3. 标签转发

(1)MPLS 标签转发概述

    LSR处理报文时主要根据FTN、 NHLFE和ILM。
        FTN(FEC-to-NHLFE):当LSR收到IP报文并需要进行MPLS转发时使用,FTN只在Ingress存在,包括:Tunnel ID、FEC到NHLFE的映射信息。
        NHLFE(下一跳标签转发表项):LSR对报文进行MPLS转发时使用,NHLFE在Ingress和Transit存在,包括Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息。
        ILM(入标签映射):用于指导MPLS报文的转发,ILM只在Transit和Egress存在,包括:Tunnel ID、入标签、入接口、标签操作类型等信息。
          [R3]diagnose
          [R3-diagnose]display mpls nhlfe
          [R3-diagnose]display mpls ilm

(2)Ingress LSR的处理

    在Ingress LSR,通过查询FIB表(得到FTN信息)和NHLFE表指导报文的转发。
        当IP报文进入MPLS域时,首先查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0(如果Tunnel ID值为0x0,则进入正常的IP转发流程);
        如果Tunnel ID值不为0x0,根据FIB表的Tunnel ID找到对应的NHLFE表项,将FIB表项和NHLFE表项关联起来;
        查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型;
        在IP报文中压入出标签,同时处理TTL,然后将封装好的MPLS报文发送给下一跳。

(3)Transit LSR的处理

    在Transit LSR,通过查询ILM表和NHLFE表指导MPLS报文的转发。
        Transit LSR根据MPLS的标签值查看对应的ILM表,得到Tunnel ID;
        根据ILM表的Tunnel ID找到对应的NHLFE表项;
        查看NHLFE表项,得到出接口、下一跳、出标签和标签操作类型,标签操作类型为Swap,则交换标签。

(4)Egress LSR的处理

    在Egress LSR,通过查询ILM表指导MPLS报文的转发。
        Egress根据ILM查询到该标签对应的操作为Pop,说明需要剥离该标签;
        根据当前标签头部的下一层报文头部进行下一步处理。

(5)MPLS详细转发流程

静态 MPLS 转发
1. MPLS基本配置命令:
    [R2]mpls lsr-id 10.0.2.2  //LSR ID唯一标识一个LSR。无缺省的LSR ID,须手工配置。
    [R2]mpls //来使能本节点的全局MPLS能力
2. 静态LSP配置命令:
    [R2]static-lsp ingress 2to5to4 destination 46.0.0.0 24 nexthop 25.0.0.5 out-label 200

    [R5]static-lsp transit 2to5to4 incoming-interface GigabitEthernet0/0/0 in-label 200 nexthop 45.0.0.4 out-label 500

    [R4]static-lsp egress 2to5to4 incoming-interface GigabitEthernet0/0/1 in-label 500
3. 配置注意事项
    配置静态LSP时需要遵循的原则是:前一节点出标签的值等于下一个节点入标签的值。
    配置静态LSP时,需要注意配置的静态LSP的路由一定要和路由信息完全匹配。如下面所示:
       如果在配置静态LSP时指定了下一跳,则在配置IP静态路由时也必须指定下一跳,否则不能建立静态LSP。
       如果LSR之间使用动态路由协议互通,则LSP的下一跳IP地址必须与路由表中的下一跳IP地址一致。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值