第26章_MPLS基本原理

  • MPLS(Multiprotocol Label Switching)位于TCP/IP协议栈中的链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层得到服务。MPLS以标签交换替代IP转发。
  • MPLS并不是一种业务或者应用,它实际上是一种隧道技术。这种技术不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性。

1.MPLS概述

1.1传统IP转发

image-20231208214722911

1.2ATM信元转发

image-20231208214802734

1.3MPLS标签转发

image-20231208214829411

  • 传统的IP技术简单,且部署成本低,但由于硬件技术存在限制,基于最长匹配算法的IP技术必须使用软件查找路由,转发性能低下。为了适应网络的发展,ATM(AsynchronousTransfer Mode)技术应运而生。ATM采用定长标签(即信元),并且只需要维护比路由表规模小得多的标签表,能够提供比IP路由方式高得多的转发性能。
  • 如何结合IP与ATM的优点成为当时热门话题。多协议标签交换技术MPLS(Multiprotocol Label Switching)就是在这种背景下产生的。

1.4MPLS VPN应用

image-20231208214954764

  • 然而,随着ASIC(Application Specific Integrated Circuit)技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。但另一方面结合其它技术的应用上MPLS成为了一大亮点。

1.5MPLS TE应用image-20231208215034664

2.MPLS基本原理

2.1MPLS控制平面和转发平面

2.1.1MPLS网络模型

image-20231208215146490

2.1.2MPLS控制平面和转发平面

image-20231208215228422

  • 为了更好的理解MPLS技术必须要了解它的体系结构,MPLS的体系结构由控制平面(Control Plane)和转发平面(Forwarding Plane)组成。

2.2MPLS标签格式

2.2.1帧模式MPLS

  • MPLS有两种封装模式:

    • 帧模式
    • 信元模式(ATM采用MPLS信元模式封装,本课不涉及)。
  • 帧模式封装是直接在报文的二层头部和三层头部之间增加一个MPLS标签头。以太网、PPP采用这种封装模式。

image-20231208215330761

  • MPLS标签是MPLS信息传递的载体,路由器之间通过标签的交互,完成在建立的标签转发路径上传送数据。

2.2.2MPLS报文头部

image-20231208215407955

  • MPLS头部长度为32bits。
    • LABEL:该标签用于报文转发,长度为20bits;
    • EXP:通常用来承载IP报文中的优先级,长度为3bits;
    • S:标识栈底用来表明是否是最后一个标签(MPLS标签可以多层嵌套),长度为1bit;
    • TTL:类似IP头部的TTL,用来防止报文环路等,长度为8bits;

2.2.3MPLS嵌套标签

image-20231208215503898

  • PID标识二层头部后面的报文类型
    • Ethernet
      • 0x0800 IPv4
      • 0x8847 MPLS单播报文
      • 0x8848 MPLS多播报文
    • PPP
      • 0x8021 IPv4
      • 0x8281 MPLS单播报文
      • 0x8283 MPLS多播报文
  • S标识是否是栈底标签
  • 标签嵌套应用
    • MPLS VPN
    • MPLS TE
  • 这里的Label1,Label2,Label3都指的是前一个胶片中的4个Bytes的MPLS头部,其中包含有20bits的标签信息。

2.3MPLS转发流程

2.3.1FEC与NHLFE

  • FEC(Forwarding Equivalence Class)转发等价类,是一组具有某些共性的数据流的集合。这些数据流在转发过程中被LSR以相同方式处理。

  • FEC可以根据地址、业务类型、QoS等要素进行划分。例如,在传统的采用最长匹配算法的IP转发中,到同一条路由的所有报文就是一个转发等价类。

  • NHLFE(Next Hop Label Forwarding Entry):进行标签转发时用到,NHLFE包含这样一些基本信息:

    • 报文的下一跳
    • 如何进行标签操作(包括压入新的标签,弹出标签,用新的标签替换原有的标签等操作)。
    • NHLFE还可能包含一些其他信息,如发送报文使用的链路层封装等。

2.3.2FEC与NHLFE举例

image-20231208215757865

2.3.3MPLS转发过程

2.3.3.1Ingress LER(RTA)
  • 在Ingress,通过查询FIB表和NHLFE表指导报文的转发。

image-20231208215946816

2.2.3.2LSR(RTB)
  • 在Transit,通过查询ILM(Incoming Label Map)表和NHLFE表指导MPLS报文的转发。

微信截图_20231208220139

  • 入标签到一组下一跳标签转发表项的映射称为入标签映射ILM(Incoming Label Map)。ILM在Transit节点的作用是将标签和NHLFE绑定。通过标签索引ILM表,就相当于使用目的IP地址查询FIB,能够得到所有的标签转发信息。
2.2.3.3LSR(RTC)

image-20231208220450537

2.2.3.4Egress LER(RTD)
  • 在Egress,通过查询ILM表指导MPLS报文的转发。image-20231208220536540

3.本章总结

  • MPLS产生背景
  • MPLS基本概念
  • MPLS报文格式
  • MPLS转发原理