• MPLS基础


    1. MPLS原理与配置

    MPLS基础

    (1)MPLS概念

    MPLS位于TCP/IP协议栈中的数据链路层和网络层之间,可以向所有网络层提供服务。
    通过在数据链路层和网络层之间增加额外的MPLS头部,基于MPLS头部实现数据快速转发。
    本课程仅介绍MPLS在IP网络中的应用。

    MPLS术语

    1)LSR与MPLS域
    MPLS域(MPLS Domain):一系列连续的运行MPLS的网络设备构成了一个MPLS域。
    LSR(Label Switching Router,标签交换路由器):支持MPLS的路由器(实际上也指支持MPLS的交换机或其他网络设备)。位于MPLS域边缘、连接其它网络的LSR称为边沿路由器LER(Label Edge Router),区域内部的LSR称为核心LSR(Core LSR)。
    LSR分类
    除了根据LSR在MPLS域中的位置进行分类之外,还可以根据对数据处理方式的不同进行分类:
    入站LSR(Ingress LSR):通常是向IP报文中压入MPLS头部并生成MPLS报文的LSR。
    中转LSR(Transit LSR):通常是将MPLS报文进行例如标签置换操作,并将报文继续在MPLS域中转发的LSR。
    出站LSR(Egress LSR):通常是将MPLS报文中MPLS头部移除,还原为IP报文的LSR。
    2)FEC
    FEC(Forwarding Equivalence Class,转发等价类)是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以相同方式处理。
    MPLS网络中,FEC可以通过多种方式划分,例如基于目的IP地址及网络掩码、DSCP等特征来划分。
    数据属于哪一个LSP,由数据进入MPLS域时的Ingress LSR决定。
    MPLS标签通常是与FEC相对应的,必须有某种机制使得网络中的LSR获得关于某FEC的标签信息。
    3)LSP
    LSP(Label Switched Path,标签交换路径)是标签报文穿越MPLS网络到达目的地所走的路径。
    同一个FEC的报文通常采用相同的LSP穿越MPLS域,所以对同一个FEC,LSR总是用相同的标签转发。

    MPLS标签

    IP报文进入MPLS域之前,会被入站LSR压入MPLS头部(又叫MPLS标签),形成一个MPLS标签报文。一个标签报文可以包含一个或多个MPLS标签。
    在这里插入图片描述
    标签(Label):用于携带标签值,长度20bit。
    EXP(Experimental Use):主要用于CoS(Class of Service),长度3bit。
    S(Bottom of Stack):栈底位,用于指示该标签头部是否为最后一层标签,长度1bit。如果该字段为1,则表示当前标签头部为栈底;如果该字段为0,则表示当前标签头部之后依然还有其他标签头部。
    TTL(Time To Live):用于当网络出现环路时,防止标签报文被无限制转发,与IP报文头部中的TTL具有相同的意义,长度8bit。

    MPLS标签栈

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

    标签空间

    标签是一个短而定长的、只具有本地意义的标识符。标签空间就是指标签的取值范围。标签值的范围及规划如下:
    在这里插入图片描述

    MPLS标签的处理

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

    (2)MPLS转发

    MPLS转发概述

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

    MPLS体系结构

    MPLS的体系结构由控制平面 (Control Plane)和转发平面 (Forwarding Plane)组成。
    控制平面:
    负责产生和维护路由信息以及标签信息。
    控制平面包括IP路由协议和路由信息表,标签分发协议和标签信息表。
    转发平面:
    也称数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。
    转发平面包括IP转发信息表和标签转发信息表。
    在这里插入图片描述

    LSP建立原则

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

    LSP建立方式

    MPLS需要为报文事先分配好标签,建立一条LSP,才能进行报文转发。LSP分为静态LSP和动态LSP两种。
    1)静态LSP
    基本概念:
    静态LSP是用户通过手工为各个FEC分配标签而建立的。
    静态LSP不使用标签发布协议,不需要交互控制报文,因此消耗资源比较小。
    通过静态方式建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预。
    应用场景:
    适用于拓扑结构简单并且稳定的小型网络。
    标签分配原则:
    前一节点出标签的值等于下一个节点入标签的值。
    2)动态路由
    基本概念:
    动态LSP通过标签发布协议动态建立。
    标签发布协议是MPLS的控制协议(也可称为信令协议),负责FEC的分类、标签的分发以及LSP的建立和维护等一系列操作。
    常用标签发布协议:标签分发协议 (LDP)
    全称:Label Distribution Protocol。
    定义:LDP是多协议标签交换MPLS的一种控制协议,负责转发等价类FEC的分类、标签的分配以及标签交换路径LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。
    应用场景:LDP广泛地应用在VPN服务上,具有组网、配置简单、支持基于路由动态建立LSP、支持大容量LSP等优点。

    MPLS标签转发

    LSR处理报文时主要根据FTN、NHLFE和ILM。
    1)FTN
    FTN(FEC-to-NHLFE):当LSR收到IP报文并需要进行MPLS转发时使用,FTN只在Ingress存在。
    FTN包括:Tunnel ID、FEC到NHLFE的映射信息。
    2)NHLFE
    下一跳标签转发表项(Next Hop Label Forwarding Entry):LSR对报文(MPLS或IP报文)进行MPLS转发时使用,NHLFE在Ingress和Transit存在
    NHLFE包括:Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息。
    3)ILM
    入标签映射(ILM,Incoming Label Map):用于指导MPLS报文的转发(MPLS或IP转发),ILM只在Transit和Egress存在。
    ILM包括:Tunnel ID、入标签、入接口、标签操作类型等信息。

    Ingress LSR的处理

    当IP报文进入MPLS域时:
    ①Ingress LSR查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0(如果Tunnel ID值为0x0,则进入正常的IP转发流程)。
    ②如果Tunnel ID值不为0x0,根据FIB表的Tunnel ID找到对应的NHLFE表项,将FIB表项和NHLFE表项关联起来。
    ③查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。
    ④在IP报文中压入出标签,同时处理TTL,然后将封装好的MPLS报文发送给下一跳。
    当MPLS报文在MPLS域转发时:
    ⑤Transit LSR根据MPLS的标签值查看对应的ILM表,得到Tunnel ID。
    ⑥根据ILM表的Tunnel ID找到对应的NHLFE表项。
    ⑦查看NHLFE表项,得到出接口、下一跳、出标签和标签操作类型,标签操作类型为Swap,则交换标签。
    当MPLS报文需要离开MPLS域时:
    ⑧Egress根据ILM查询到该标签对应的操作为Pop,说明需要剥离该标签
    ⑨根据当前标签头部的下一层报文头部进行下一步处理

    2. MPLS LDP基础

    (1)LDP(标签分发协议)概念

    LDP协议概述

    LDP是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。
    LDP的工作过程主要分为两部分:
    ①LSR之间建立LDP会话。
    ②LSR之间基于LDP会话动态交换标签与FEC的映射信息,并根据标签信息建立LSP。

    LDP会话、LDP邻接体、LDP对等体

    LSR之间交互标签绑定消息之前必须建立LDP会话。LDP会话可以分为:
    ①本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的;
    ②远程LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连的,也可以是非直连的。
    两台LSR之间交互Hello消息之后,即建立起邻接体(Adjacency)关系;
    在建立邻接体关系的基础上,两台LSR之间交互LDP会话消息,建立起LDP会话,两台设备之间形成LDP对等体关系;

    LSR ID 与LDP ID

    每一台运行了LDP的LSR除了必须配置LSR ID,还必须拥有LDP ID。
    ①LDP ID的长度为48bit,由32bit的LSR ID与16bit的标签空间标识符(Label Space ID)构成。
    ②LDP ID以“LSR ID : 标签空间标识”的形式呈现。例如2.2.2.2:0。
    标签空间标识一般存在两种形态:
    ①值为0:表示基于设备(或基于平台)的标签空间;
    ②值非0:表示基于接口的标签空间。

    LDP消息

    运行LDP协议的LSR之间通过交换LDP消息来实现邻居发现、会话建立与维护以及标签管理等功能。
    在这里插入图片描述

    LDP报文封装

    LDP协议报文包括了LDP头部和LDP消息两部分。
    LDP头部中携带了LDP版本、报文长度等信息;
    LDP消息中携带了消息类型、消息长度等信息。
    在这里插入图片描述

    (2)LDP工作原理

    LDP会话状态机

    LDP使用5种状态描述LDP会话状态机
    在这里插入图片描述

    LDP会话建立

    1)发现阶段与TCP建立阶段
    ①发现阶段
    设备通过周期性地发送LDP链路Hello报文(LDP Link Hello),实现LDP基本发现机制。
    LDP链路Hello报文使用UDP报文,目的地址是组播地址224.0.0.2。如果LSR在特定接口接收到LDP链路Hello报文,表明该接口存在LDP邻接体。
    ②TCP建立阶段
    Hello报文中携带传输地址,双方后续将使用传输地址建立LDP会话。
    传输地址较大的一方作为主动方,主动发起建立TCP连接。
    经过TCP三次握手之后,两者建立起TCP连接。
    2)会话建立与保持
    TCP连接建立成功后,主动方R2(传输地址大的一方)发送LDP初始化报文,协商建立LDP会话的相关参数。
    LDP会话的相关参数包括LDP协议版本、标签分发方式、KeepAlive保持定时器的值、最大PDU长度和标签空间等。
    被动方R1收到初始化报文后,若接受R2的相关参数,则回应KeepAlive报文作为确认,为了提高发送效率同时发送自己的初始化报文。
    R2收到R1的初始化报文后,若接受相关参数,则回复KeepAlive报文给R1。
    双方都收到对端的KeepAlive报文后,会话建立成功。后续通过周期性发送的KeepAlive报文
    在这里插入图片描述

    LDP邻居状态

    PeerID:LDP邻居的LDP ID;
    2.2.2.2代表的是邻居节点的LSR ID;
    0代表的是标签空间是基于平台的;
    TransportAddress:LDP邻居的传输地址;
    2.2.2.2代表邻居用来建立TCP连接的IP地址。
    LDP会话状态
    Status:LDP会话的状态;
    Operational表示LDP会话建立成功;
    LAM:标签发布模式:
    标签发布模式有DU和DoD两种模式(后文介绍);
    此例中采用的是DU(下游自主)模式;
    SsnRole:LSR在LDP会话中的角色;
    Active表示建立LDP会话的主动方;Passive表示建立LDP会话的被动方;

    (3)LDP标签分发

    标签的发布和管理

    在MPLS网络中,下游LSR决定标签和FEC的绑定关系,并将这种绑定关系发布给上游LSR。
    LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP
    标签的发布和管理由标签发布方式、标签分配控制方式和标签保持方式来决定。
    在这里插入图片描述

    上游与下游

    MPLS根据数据的转发方向确定上、下游关系。标签报文从上游LSR发出,被下游LSR接收并处理。

    标签发布方式

    1)DU模式
    对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发。
    LSR会主动将自己为FEC捆绑的标签通告给上游邻居,无需邻居先发起请求再通告。
    2)DoD模式
    对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发。
    一般情况下,对特定FEC的访问需求会触发标签请求消息。

    标签分配控制方式

    1)有序(Ordered)模式
    对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。
    2)独立模式
    本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签。

    标签保留

    1)自由(Liberal)模式
    LSR收到的标签映射可能来自下一跳,也可能来自非下一跳。
    对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。
    2)保守(Conservative)模式
    对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。

    PHP特性

    PHP(Penultimate Hop Popping,次末跳弹出),如果激活了PHP特性,那么egress节点在为本地路由分配标签的时候,会分配一个特殊标签—3,该标签被称为隐式空标签(Implicit NULL Label)。当LSR转发一个标签报文时,如果发现对应的出标签值为3,则LSR会将栈顶标签弹出,并将里面所封装的数据转发给下游LSR。

    隐式空标签与显式空标签

    (1)隐式空标签
    缺省情况下,Egress节点向倒数第二跳分配隐式空标签(implicit-null),即特殊标签3。
    但在部署QoS的场景下,标签被弹出后,其中的优先级也会一并丢失。
    (2)显式空标签
    显式空标签机制,Egress节点向倒数第二跳分配特殊标签0。
    R3在转发标签报文时,若出标签封装为0,则不会将标签头部弹出,标签头部中的QoS信息得以保存。R4在收到带0标签的报文的时候,直接弹出标签,不用去查找ILM表项。
    缺省情况下,Egress分配的是隐式空标签,通过label advertise explicit-null使能Egress节点向倒数第二跳分配显式空标签。

    (4)LDP工作过程详解

    组网介绍

    网络中已经部署OSPF路由协议且各设备之间能够正常学习到对方的路由信息。
    已在各设备及相应接口上激活MPLS及LDP,且在相邻的设备之间已正常建立本地LDP会话。
    所有LSR均采用DU + Independent +Liberal方式。

    标签分发

    1)Egress LSR
    R4直连网段192.168.4.0/24,R4将主动为到达该网段的路由分配标签,如1041,并主动通过LDP协议报文将标签映射通告给LDP对等体R2和R3。
    在这里插入图片描述
    2)Transit LSR
    以R2为例,在其路由表中,192.168.4.0/24路由的下一跳为R4,当它从R4收到关于192.168.4.0/24的标签映射通告时,由于该通告来自下游LDP邻居,因此这将触发它自己为该路由分配标签1021,并将标签映射通告给LDP邻居(如R1)。R3同理。在这里插入图片描述
    3)Ingress LSR
    R1收到LDP邻居R2及R3通告过来的关于192.168.4.0/24路由的标签映射后,将这两个标签都存储起来,但是由于在自己的路由表中,到达192.168.4.0/24的下一跳是R2,因此当前它只会使用R2所通告的标签1021。
    在这里插入图片描述
    标签转发
    1)Ingress LSR
    R1作为Ingress LSR,需要对接收的IP报文执行Push操作压入标签,并进行标签转发。
    在这里插入图片描述
    2)Transit LSR
    R2作为Transit LSR,需要对接收的IP报文执行Swap操作交换标签,并进行标签转发。
    在这里插入图片描述
    3)Egress LSR
    R4作为Egress LSR,需要对接收的IP报文执行Pop操作交换标签,并进行IP转发。
    在这里插入图片描述

    3.MPLS VPN

    (1)MPLS VPN概述

    MPLS VPN定义

    BGP/MPLS IP VPN网络一般由运营商搭建,VPN用户购买VPN服务来实现用户网络之间的路由传递、数据互通等。
    MPLS VPN使用BGP在运营商骨干网(IP网络)上发布VPN路由,使用MPLS在运营商骨干网上转发VPN报文。BGP/MPLS IP VPN又被简称为MPLS VPN,是一种常见的L3VPN(Layer 3 VPN)技术。

    MPLS VPN网络架构

    MPLS VPN网络架构由三部分组成:CE(Customer Edge)、PE(Provider Edge)和P(Provider),其中PE和P是运营商设备,CE是MPLS VPN用户设备。
    站点(site)就是MPLS VPN的用户,由CE和其他用户设备构成。
    在这里插入图片描述

    MPLS VPN技术架构

    MPLS VPN不是单一的一种VPN技术,是多种技术结合的综合解决方案,主要包含下列技术:
    MP-BGP:负责在PE与PE之间传递站点内的路由信息。
    LDP:负责PE与PE之间的隧道建立
    VRF:负责PE的VPN用户管理。
    静态路由、IGP、BGP:负责PE与CE之间的路由信息交换

    MPLS VPN优势

    对VPN客户而言:
    ①“感知”不到VPN的存在,不需要部署和维护VPN,降低企业运维难度和成本。
    ②一般部署在运营商的MPLS VPN专网上,有一定的安全性保障。
    对于运营商而言:
    ①MPLS在无连接的IP网络中增加了面向连接的控制平面,为IP网络增添了管理和运营的手段。
    ②支持地址空间重叠、支持重叠VPN、组网方式灵活、可扩展性好。
    ③能够方便地支持MPLS TE合理调控现有网络资源,最大限度的节省运营商成本。

    MPLS VPN常见组网

    根据VPN用户的需求不同,可采用以下几种常见的组网方案:
    Intranet:一个VPN中的所有用户形成闭合用户群,同一VPN站点之间可以互访,不同VPN站点间不能互访。
    Extranet:适用于一个VPN用户希望提供部分本VPN的站点资源给其他VPN的用户访问的场景。
    Hub&Spoke:如果希望在VPN中设置中心访问控制设备,其它用户的互访都通过中心访问控制设备进行,可采用Hub&Spoke组网方案。

    (2)MPLS VPN路由交互

    MPLS VPN路由发布概述

    若想实现同一个VPN的不同站点之间的通信,首先需要完成不同站点之间的路由交互。在基本MPLS VPN组网中,VPN路由信息的发布涉及CE和PE,P路由器只维护骨干网的路由,不需要了解任何VPN路由信息。VPN路由信息的发布过程包括三部分:本地CE到入口PE、入口PE到出口PE、出口PE到远端CE在这里插入图片描述

    CE与PE之间的路由信息交换

    如图,客户X和客户Y属于不同的VPN,分别拥有两个站点,现需要实现站点间的路由信息交互。
    CE与PE之间可以使用静态路由、OSPF、IS-IS或BGP交换路由信息。无论使用哪种路由协议,CE和PE之间交换的都是标准的IPv4路由。
    本地CE到入口PE和出口PE到远端CE的路由信息交换原理完全相同。
    在这里插入图片描述

    入口PE到出口PE路路由传递(1)

    PE在接收到CE传递来的路由之后,需要独立保存不同VPN的路由,且需要解决不同的客户使用重叠IP地址空间的问题。在这里插入图片描述

    VRF

    VRF(Virtual Routing and Forwarding,虚拟路由转发),又称VPN实例,是MPLS VPN架构中的关键技术,每个VPN实例使用独立的路由转发表项,实现VPN之间的逻辑隔离。
    在这里插入图片描述

    RD

    PE收到不同VPN的CE发来的IPv4地址前缀,本地根据VPN实例配置去区分这些地址前缀。但是VPN实例只是一个本地的概念,PE无法将VPN实例信息传递到对端PE,故有了RD(Route Distinguisher,路由标识符)。
    ①RD长8字节,用于区分使用相同地址空间的IPv4前缀。
    ②PE从CE接收到IPv4路由后,在IPv4前缀前加上RD,转换为全局唯一的VPN-IPv4路由。
    在这里插入图片描述

    VPN-IPv4地址

    VPN-IPv4地址又被称为VPNv4地址:VPNv4地址共有12个字节,包括8字节的路由标识符RD(Route Distinguisher)和4字节的IPv4地址前缀。在这里插入图片描述

    入口PE到出口PE路由传递(2)

    PE之间建立BGP邻居关系,并通过BGP进行路由传递。为什么采用BGP呢?
    ①BGP使用TCP作为其传输层协议,提高了协议的可靠性。可以跨路由器的两个PE设备之间直接交换路由。
    ②BGP拓展性强,为PE间传播VPN路由提供了便利。
    ③PE之间需要传送的路由条目可能较大,BGP只发送更新的路由,提高传递路由数量的同时不占用过多链路带宽。
    传统的BGP-4不支持处理VPNv4路由。在这里插入图片描述

    MP-BGP

    为了正确处理VPN路由,MPLS VPN使用RFC2858(Multiprotocol Extensions for BGP-4)中规定的MP-BGP,即BGP-4的多协议扩展。
    MP-BGP采用地址族(Address Family)来区分不同的网络层协议,既可以支持传统的IPv4地址族,又可以支持其它地址族(比如VPN-IPv4地址族、IPv6地址族等)。
    MP-BGP新增了两种路径属性:
    ①MP_REACH_NLRI:Multiprotocol Reachable NLRI,多协议可达NLRI。用于发布可达路由及下一跳信息。
    ②MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多协议不可达NLRI。用于撤销不可达路由。
    在这里插入图片描述

    入口PE到出口PE路由传递(3)

    MP-BGP将VPNv4传递到远端PE之后,远端PE需要将VPNv4路由导入正确的VPN实例。
    MPLS VPN使用32位的BGP扩展团体属性-VPN Target(也称为Route Target)来控制VPN路由信息的发布与接收。
    本地PE在发布VPNv4路由前附上RT属性,对端RT在接到到VPNv4路由后根据RT将路由导入对应的VPN实例。
    RT
    在PE上,每一个VPN实例都会与一个或多个VPN Target属性绑定,有两类VPN Target属性:
    ①Export Target(ERT):本地PE从直接相连站点学到IPv4路由后,转换为VPN IPv4路由,并为这些路由添加Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布。
    ②Import Target(IRT):PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例的路由表。

    入口PE到出口PE路由传递(4)

    PE根据VPNv4路由所携带的RT将路由导入正确的VPN实例之后,VPNv4路由的RD值剥除,将IPv4路由通告给相应的客户的CE设备。
    站点B和站点D的CE设备就能学习到去往各自远端站点的路由。同理,通过一系列的操作,可以实现同一用户(同一VPN)不同站点之间的路由互通。

    转发数据时的问题及解决方法

    P设备上没有VPN路由,无法根据IP地址进行转发。
    IP头部中不携带VPN相关的信息,PE无法区分数据所属的VPN。
    解决方法:
    通过标签解决问题
    外层标签(公网标签)由LDP为VPN路由的NextHop(一般是PE的某个接口地址)分发,P根据外层标签转发数据到PE。
    内层标签(私网标签)由PE的MP-BGP为VPN路由分发。PE根据内层标签确定数据所属的VPN。

    入口PE到出口PE路由传递(5)

    PE和P设备之间运行LDP,交换公网标签,建立PE之间的LSP隧道(公网隧道)。
    入口PE在通过MP-BGP传递VPNv4路由时,会携带私网标签,用于区分不同VPN的数据。
    出口PE在接收到VPNv4路由后,需要执行私网路由交叉和隧道迭代来选择路由。在这里插入图片描述

    MPLS VPN中的路由交互过程

    ①IGP或者EBGP交换私网IPv4路由
    ②客户私网路由被学习到VPN路由表中(VPN实例路由表)
    ③IPv4路由引入到MP-BGP(如果PE-CE之间运行的就是BGP,则无需手工执行路由引入操作)RD被添加到IPv4路由上,构成VPNv4路由;
    ④VPNv4路由被PE1通过MP-IBGP的Update消息通告给PE2。Update消息携带着MP_REACH_NLRI属性(包含VPNv4路由前缀,下一跳和标签等重要信息)和RT属性。
    ⑤PE2根据RT将路由导入特定的VRF,同时将VPNv4路由的RD剥除,将IPv4路由通告给相应的客户的CE设备。
    ⑥客户IPv4路由被通告给CE设备
    在这里插入图片描述

    (3)MPLS VPN报文转发

    转发过程

    1)第一阶段
    ①CE3上存在到192.168.1.0/24网段路由,发送一个普通IP报文。在这里插入图片描述
    2)第二阶段
    ② PE2根据绑定的VPN实例的RD查找对应VPN的转发表。
    ③匹配目的IPv4前缀,查找对应的Tunnel-ID,
    ④ 根据Tunnel-ID找到隧道,并打上对应的内层标签(I-L)。
    ⑤将报文从隧道发送出去,即打上公网(外层)MPLS标签头(O-L1)。
    在这里插入图片描述
    3)第三阶段
    ⑥骨干网的所有P设备都对该报文进行外层标签交换,直到到达PE1。
    在这里插入图片描述
    4)第四阶段
    ⑦ PE1收到该携带两层标签的报文,交给MPLS处理,MPLS协议将去掉外层标签。
    ⑧PE1继续处理内层标签:根据内层标签确定对应的下一跳,并将内层标签剥离后,以纯IPv4报文的形式发送给CE1。
    在这里插入图片描述
    5)第五阶段
    ⑨CE1收到该IPv4报文后,进行常规的IPv4处理流程。
    在这里插入图片描述

  • 相关阅读:
    王道数据结构【二叉树】部分代码实现(C语言)
    【vue3】传送组件、Teleport
    数据链路层
    做题(2)
    clickhouse学习笔记05
    Redis中的Zset类型
    internship:一般的原有项目功能优化的具体步骤
    VAPS XT开发入门教程06:新建文件介绍
    Docker安装教程
    【机器学习笔记】11 支持向量机
  • 原文地址:https://blog.csdn.net/qq_61480669/article/details/133870680