MPLS专题

12 篇文章 7 订阅
8 篇文章 1 订阅

IP路由的概念回顾
在这里插入图片描述


背景
90年代中期,随着IP技术的快速发展,Internet数据海量增长。但由于硬件技术存在限制,基于最长匹配算法的IP技术必须使用软件查找路由,转发性能低下,因此IP技术的转发性能成为当时限制网络发展的瓶颈

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

随着专用集成电路ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。但是MPLS支持多层标签和转发平面面向连接的特性,使其在VPN、流量工程、QoS等方面得到广泛应用


在这里插入图片描述
MPLS:Multi-Protocol Label Switching,多协议标签交换,是一种IP骨干网技术

MPLS中的Multi-Protocol指的是支持多种网络协议,MPLS起源于IPv4,其核心技术可扩展到多种网络协议,包括IPv6,IPX和CLNP等

MPLS并不是一种业务或者应用,它实际是一种隧道技术,这种技术不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性


在这里插入图片描述
在这里插入图片描述


MPLS协议中的基本术语

在这里插入图片描述

LSR:Label Switch Router,标签交换路由器,支持MPLS的路由器,实际上也指支持MPLS的交换机或者其他网络设备,该设备能够根据报文的MPLS的标签头部对其进行转发,如上图中的R1、R2及R3

MPLS域:MPLS Domain,一系列连续的LSR构成了一个MPLS域

LER:Label Edge Router,位于MPLS域边缘、连接其他网络的LSR,包括Ingress LSR及Egress LSR,如上图中的R1和R3

LSP:Label Switched Path,标签交换路径,是标签报文穿越MPLS网络到达目的地所走的路径。LSP实际上是一种类似于Tunnel的概念,LSP的建立过程实际上也是报文转发路径中,沿途设备关于特定FEC的标签确定的过程。LSP可以通过手工的方式建立,即静态LSP;或者通过变迁分发协议自动建立,即动态LSP。LSP是单向的,如上图所示

Ingress LSR:入站LSR,LSP的入口LSR被称为Ingress LSR,如上图中的R1

Transit LSR:中转LSR,位于LSP中间的LSR被称为Transit LSR,如上图中的R2

Egress LSR:出站LSR,LSP的出口LSR被称为Egress LSR,如上图中的R3

一条LSP可以有0个、1个或多个Transit LSR,但是有且只有一个Ingress LSR和一个Egress LSR

FEC:Forwarding Equivalence Class,转发等价类,是在转发过程中具有相同处理待遇的数据流,可通过IP地址、隧道、CoS等方式来标识一个FEC,例如,在传统的采用最长匹配算法的IP转发中,到同一条路由的所有报文就是一个转发等价类。通常在一台设备上,对于一个FEC分配相同的标签。术语一个FEC的流量具有相同的转发方式、转发路径和转发待遇。但是并不是所有拥有相同标签的报文都术语一个FEC,因为这些报文的EXP值可能不相同,执行方式可能不同。决定报文术语哪一个FEC的设备是Ingress LSR,因为是它对报文进行分类和压入标签的操作


MPLS初体验
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


MPLS架构

控制平面:
控制平面是无连接的,主要功能是负责产生和维护路由信息以及标签信息。
控制平面中IP路由协议模块用来传递路由信息,生成路由信息表;标签分发协议模块用来完成标签信息的交换,建立标签转发路径

数据平面
数据平面也成为转发平面,是面向连接的,主要功能是负责普通IP报文的转发以及带MPLS标签的报文的转发。
数据平面包括IP转发信息表和标签转发信息表,当收到普通IP报文是,如果是普通IP转发,则查找IP路由表转发,如果需要标签转发,则按照标签转发表转发;当收到带标签的报文时,如果需要按照标签转发,则根据标签转发表转发,如果需要转发到IP网络,则去掉标签后根据IP转发表转发

在这里插入图片描述


MPLS标签结构
在这里插入图片描述
在这里插入图片描述
LSR收到一个数据帧后,如何判断里面所封装的究竟是IP报文还是标签报文呢?
以以太网环境为例,以太帧头中的Type字段用于指示帧头后所封装的报文类型,如果字段值为0x0800,则标识帧头内封装的是一个IP报文;如果值为0x8847(单播)或0x8848(组播),则标识帧头内封装的是一个MPLS标签报文


标签空间
在这里插入图片描述


MPLS标签的处理

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

标签压入:Push,指当IP报文进入MPLS域时,MPLS边界设备在报文二层头部和IP头部之间插入一个新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)

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

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

PHP:Penultimate Hop Popping,倒数第二跳弹出,在最后一跳LSR中,标签已经没有使用价值。在这种情况下,可以利用PHP特性,在倒数第二跳LSR处将标签弹出,减少最后一跳的负担。最后一跳LSR直接进行IP转发或者下一层标签转发。PHP在Egress LSR上配置,支持PHP特性的Egress LSR分配给倒数第二跳LSR的标签值为3


LSP的分类和建立

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

静态LSP的建立:
静态LSP是用户通过手工为各个FEC分配标签而建立的。

由于静态LSP各节点上不能相互感知到整个LSP的情况,因此静态LSP是一个本地的概念。

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

但通过静态方式分配标签建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预。

动态LSP的建立:
动态LSP通过标签发布协议动态建立。标签发布协议是MPLS的控制协议,也可称为信令协议,负责FEC的分类、标签的分发以及LSP的建立和维护等一系列操作。MPLS可以使用多种标签发布协议

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

RSVP-TE:RSVP-TE是对RSVP的扩展,用于建立基于约束的LSP,它拥有普通LDP LSP没有的功能,如发布带宽预留请求、带宽约束、链路颜色和显式路径等

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


静态LSP的建立和配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


MPLS详细转发过程

NHLFE:Next Hop Label Forwarding Entry,下一跳标签转发表项,用于指导MPLS报文的转发

FTN:FEC-to-NHLFE,FEC到一组NHLFE的映射

ILM:Incoming Label Map,入标签到一组下一跳标签转发表项的映射

ILM包括Tunnel ID、入标签、入接口和标签操作类型等信息

ILM在Transit LSR的作用是将标签和NHLFE绑定。通过标签索引ILM表,就相当于使用目的IP地址查询FIB,能够得到所有的标签转发信息

Tunnel ID:为了给使用隧道的上层应用(如VPN、路由管理)提供统一的接口,系统自动为隧道分配了一个ID,称为Tunnel ID。Tunnel ID长度为32bit,本地有效,设备为各种隧道所分配的一个ID。在MPLS中,Tunnel ID还用于将FIB、ILM及NHLFE进行关联

在报文转发过程中:

在这里插入图片描述
在Ingress LSR,通过查询FIB表和NHLFE表指导报文的转发。当IP报文进入MPLS域时,首先查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0,如果Tunnel ID值为0x0,则进入正常的IP转发流程;如果Tunnel ID值不为0x0,则进入MPLS转发流程

在这里插入图片描述
在Transit LSR,通过查询ILM表和NHLFE表指导MPLS报文的转发

在这里插入图片描述
在Egress LSR,通过查询ILM表指导MPLS报文的转发或查询路由表指导IP报文转发

在这里插入图片描述


LDP协议概述

LDP(Label Distribution Protocol,标签分发协议)时一种标签分发协议,广泛应用于MPLS网络,具有配置简单,可提供路由拓扑驱动建立LSP、支持大容量LSP等优点。LDP是MPLS的一种控制协议。LDP通过Hello报文发现邻居,并基于TCP建立邻居之间的会话。LDP能够动态地为FEC分配标签,并建立LSP

在这里插入图片描述


LDP对等体及LDP会话

LDP对等体:LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签映射信息的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签映射。LDP对等体也成为LDP邻居

LDP会话:

本地LDP会话(Local LDP Session),建立会话的两个LSR之间是直连的
远程LDP会话(Remote LDP Session),建立会话的两个LSP之间是非直连的
在这里插入图片描述


LDP报文类型

LDP协议主要使用四类报文

发现报文:用于通告和维护网络中LSR的存在,如Hello报文

会话报文:用于建立、维护和终止LDP对等体之间的会话,如Initialization报文、Keepalive报文

通告报文:用于创建、改变和删除FEC的标签映射

通知报文:用于提供建设性的报文和差错通知

为保证LDP报文的可靠发送,除发现报文使用UDP传输外,LDP的会话报文、通告报文和通知报文都使用TCP传输


LDP协议中的一些概念

LSR ID:
每台运行MPLS的LSR都必须拥有一个域内唯一的LSR ID。LSR ID长度为32bit,与IPv4地址的格式相同。
通常情况下,会选择设备的某个Loopback接口的地址作为LSR ID。
在华为设备上激活MPLS能力之前,必须为设备配置MPLS ID(使用全局配置命令mpls 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时,标识基于设备(或基于平台)的标签空间,在本课程中,所有LSR均使用该形式;值非0时,标识基于接口的标签空间

在这里插入图片描述

传输地址:TA,Transport Address
两台LSR之间在建立LDP会话之前,需要先建立TCP连接,以便进行LDP协议报文的交换

互为邻居的LSR需要基于双方的传输地址建立TCP连接

在LDP的Hello报文中,包含设备的传输地址,LSR通过Hello报文知晓邻居的传输地址

在使用Hello报文发现邻居并知道了对方的传输地址后,邻居之间就会开始尝试TCP的三次握手(基于传输地址),并交互LDP的初始化报文、标签映射报文等,这些报文都使用双方的传输地址作为源、目的IP地址

由于传输地址会被用来与邻居建立TCP连接,因此LSR必须拥有到达邻居的传输地址的路由

缺省情况下,公网的LDP传输地址等于设备的LSR ID,私网的传输地址等于接口的主IP地址

在接口视图下,使用mpls ldp transport-address命令,可以修改传输地址


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


LSR的缺省行为

在华为设备上激活了MPLS和LDP后,缺省情况下
Transit LSR只有收到下游的标签映射报文时,才会向上游分发标签
对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都会保留下来


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在MPLS中,运行LDP协议的LSR的操作小结

LSR首先通过运行IGP(如OSPF、ISIS等)来构建路由表、FIB表

LDP根据相应的模式,为路由表中的路由前缀(FEC)分配标签

LDP根据相应的模式,将自己为路由前缀分配的标签,通过LDP标签映射报文通告给LDP邻居

LSR将自己为路由前缀分配的额标签,以及LDP邻居为该路由前缀通告的标签存储起来,并形成关联

当LSR转发到达目的网络的标签报文时,所使用的出站标签总是下游LDP邻居所通告的标签,此处所指的下游邻居,时设备的路由表中到达该目的网络的下一跳设备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
label advertise命令
在MPLS视图下,执行命令label advertise { explicit-null | implicit-null | non-null },配置向倒数第二跳分配的标签
根据参数的不同,可以配置Egress向倒数第二跳分配不同的标签
缺省情况下,使用的是implicit-null,表示支持PHP。Egress向倒数第二跳节点分配隐式空标签,值为3
如果配置的是explicit-null,表示不支持PHP。Egress节点向倒数第二跳分配显示空标签,值为0.当需要支持MPLS QoS属性时,可以选用explicit-null
如果配置的是non-null,表示不支持PHP。Egress向倒数第二跳正常分配标签,即分配的标签值不小于16


LDP的基础配置案例1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


LDP历基础配置案例2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


使用MPLS解决BGP路由黑洞问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


其他命令
在这里插入图片描述


上游与下游
在这里插入图片描述

MPLS标签分发控制模式、通告模式和保留模式

标签通告模式:Label Advertisement Mode,在MPLS体系中,由下游LSR决定将标签分配给特定FEC,再通知上游LSR,即标签由下游指定,标签的分配按下游到上游的方向分发。标签发布模式有两种方式。具有标签分发邻接关系的上游LSR和下游LSR必须对使用的标签发布方式达成一致
下游自主:Downstream Unsolicited,设备默认采用该模式
下游按需:Downstream On Demand
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签分发控制模式:Label Distribution Control Mode,标签分发控制方式是指再LSP的建立过程中,LSR分配标签时采用的处理方式,标签分配控制方式有两种
独立标签分配控制方式:Independent Control,本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签
有序控制:Ordered Control,对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。设备默认采用该模式
在这里插入图片描述
在这里插入图片描述

标签分发控制方式与标签通告方式的组合形式
在这里插入图片描述

标签保留方式:Label Retention,标签保持方式是指LSR对收到的、但目前暂时不需要的标签映射的处理方式。LSR收到的标签映射可能来自下一跳,也可能来自非下一跳
自由模式:Liberal Retention,设备默认采用该方式
保守模式:Conservative Retention

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

华为设备支持的组合方式
下游自主(DU)+ 有序控制(Ordered)+ 自由保持(Liberal),设备默认方式
下游按需(DoD)+ 有序控制(Ordered)+ 保守保持(Conservative)

(可选)配置LDP标签发布方式的命令
执行命令interface interface-type interface-number,配置标签发布方式
缺省情况下,标签发布模式为下游自主标签分发DU
邻居之间存在多链路时,所有接口的标签发布方式必须相同

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值