Network MPLS LDP配置任务概览

配置MPLS LDP 基本功能

前置任务

在配置MPLS LDP基本功能之前,需完成以下任务:

  • 配置静态路由或IGP协议,使各节点间的IP路由可达

一、配置LSR ID

背景信息

LSR ID用来在网络中唯一标识一个LSR。LSR没有缺省的LSR ID,必须手工配置。为了提高网络的可靠性,推荐使用LSR某个Loopback接口的地址作为LSR ID。

请在MPLS域的所有节点上进行以下配置。

  1. 执行命令mpls lsr-id lsr-id,配置本节点的LSR ID。缺省情况下,没有配置LSR ID。
  2. 如果要修改已经配置的LSR ID,必须先在系统视图下执行undo mpls命令。undo mpls 会删除MPLS 的所有配置,所以要事先规划好lsr ID.

二、开启MPLS 全局功能

执行命令mpls,使能全局MPLS功能,并进入MPLS视图

二、开启MPLS LDP 全局功能

执行命令mpls ldp,使能全局的LDP功能,并进入MPLS-LDP视图。

(可选)执行命令lsr-idlsr-id,配置LDP实例的LSR ID。

缺省情况下,LDP实例的LSR ID等于节点的LSR ID。推荐采用缺省值。

在某些使用VPN实例的组网方案中(例如BGP/MPLS IP VPN),如果VPN私网地址与LSR ID重叠,则需要为LDP另外配置LSR ID,以保证TCP连接能够正常建立。

三、配置LDP 会话

分为 本地LDP 会话和远端LDP 会话

本地LDP 会话通常是直连相信的LSR 之间,远端LDP会话是不相邻的LSR建立。

  • 配置本地LDP会话请在两台相邻的LSR上进行以下配置。
    1. 执行命令system-view,进入系统视图。
    2. 执行命令interface interface-type interface-number,进入需要建立LDP会话的接口视图。
    3. 执行命令mpls,使能接口的MPLS能力。缺省情况下,接口的MPLS能力处于未使能状态。
    4. 执行命令mpls ldp,使能接口的MPLS LDP能力。缺省情况下,接口的MPLS LDP能力处于未使能状态。
  • 配置远端LDP会话请在远端LDP会话两端的LSR上进行以下配置。
    1. 执行命令system-view,进入系统视图。
    2. 执行命令mpls ldp remote-peer remote-peer-name,创建MPLS LDP远端对等体,并进入MPLS LDP远端对等体视图。
    3. 执行命令remote-ip ip-address,配置MPLS LDP远端对等体的IP地址。缺省情况下,没有配置LDP远端对等体的IP地址。配置的远端对等体的IP地址必须是远端对等体的LSR ID。LDP实例的LSR ID和节点的LSR ID不一致时,要使用LDP实例的LSR ID

Network MPLS LDP

定义

标签分发协议LDP(Label Distribution Protocol)是多协议标签交换MPLS的一种控制协议,相当于传统网络中的信令协议,负责转发等价类FEC(Forwarding Equivalence Class)的分类、标签的分配以及标签交换路径LSP(Label Switched Path)的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。

目的

MPLS支持多层标签,并且转发平面面向连接,故具有良好的扩展性,使在统一的MPLS/IP基础网络架构上为客户提供各类服务成为可能。通过LDP协议,标签交换路由器LSR(Label Switched Router)可以把网络层的路由信息直接映射到数据链路层的交换路径上,动态建立起网络层的LSP

目前,LDP广泛地应用在VPN服务上,具有组网、配置简单、支持基于路由动态建立LSP、支持大容量LSP等优点。

LDP基本概念

LDP邻接体

当一台LSR接收到对端发送过来的Hello消息后LDP邻接体建立。LDP邻接体存在两种类型:

  • 本地邻接体(Local Adjacency):以组播形式发送Hello消息(即链路Hello消息)发现的邻接体叫做本地邻接体。
  • 远端邻接体(Remote Adjacency):以单播形式发送Hello消息(即目标Hello消息)发现的邻接体叫做远端邻接体。

LDP通过邻接体来维护对等体的存在,对等体的类型取决于维护它的邻接体的类型。一个对等体可以由多个邻接体来维护,如果由本地邻接体和远端邻接体两者来维护,则对等体类型为本远共存对等体。

LDP会话

LDP会话用于LSR之间交换标签映射、释放等消息。只有存在对等体才能建立LDP会话,LDP会话分为两种类型:

  • 本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的。
  • 远端LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连的,也可以是非直连的。

本地LDP会话和远端LDP会话可以共存。

LSP 工作机制

Ldp会话的建立

通过LDP发现机制发现LDP对等体用来建立LDP会话。只有建立了LDP会话后,才能建立LDP LSP来承载业务。

Ldp Lsp的建立

LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP,而标签的发布和管理由标签发布方式、标签分配控制方式和标签保持方式来决定。

LDP 扩展

1、Ldp 跨域扩展

LDP跨域扩展通过使能LDP按最长匹配原则查找路由,使LDP能够依据聚合后的路由建立起跨越多个IGP区域的LDP LSP。

产生原因:当网络规模比较大时,通常需要部署多个IGP区域来达到灵活部署和快速收敛的目的。在这种情况下,IGP区域间进行路由通告时,为了避免路由数量多而引起的对资源的过多占用,区域边界路由器(ABR)需要将区域内路由聚合,再通告给相邻的IGP区域。然而,LDP在建立LSP的时候,会在路由表中查找与收到的标签映射消息中携带的FEC精确匹配的路由,对于聚合路由,LDP只能建立Liberal LSP,无法建立跨越IGP区域的LDP LSP。因此,引入LDP跨域扩展来解决这个问题。

2、LDP为BGP路由分标签

3、LDP over GRE/mGRE

LDP 可靠性

从控制层面和数据转发层面保障用户业务的可靠。

技术分类说明包含特性
故障检测技术对MPLS网络中的路径进行快速检测,故障时确保快速触发保护技术生效。BFD for LDP LSP
流量保护技术MPLS网络端到端路径故障时,确保流量切换到备份路径,尽可能地避免流量的丢失。LDP与静态路由联动
LDP与IGP联动
LDP FRR
本远端LDP会话共存
MPLS网中的节点控制层面故障时,保证转发层面不中断,从而确保流量转发不中断。LDP GR

LSP 建立的缺点

它基于IP路由表构建LSP,从而使MPLS网络在功能上自动等同于纯IP网络。

Network BGP 基础配置

  1. [Huawei] bgp 65009                                                //配置BGP编号
  2. [Huawei]-bgp] router-id 2.2.2.2                               //配置BGP的router id
  3. [Huawei]-bgp] peer 172.16.1.2 as-number 65009     //指定BGP的对等体
  4. [Huawei-bgp] ipv4-family unicast                            //进入BGP-IPv4单播地址族视图
  5. [Huawei-bgp-af-ipv4] network 10.0.0.0 255.0.0.0     //发布10.0.0.0网段的路由
  6. [Huawei-bgp-af-ipv4] quit

BGP 对等体的概念

运行 BGP 协议的 Router称为 BGP Speaker,建立了 BGP 会话连接(BGP Session)的 BGP Speakers 之间被称作对等体(BGP Peers)。 

BGP Speaker之间建立对等体的模式有两种:IBGP(Internal BGP)和EBGP(External BGP)。IBGP 是指在相同 AS内建立的 BGP 连接,EBGP是指在不同 AS 之间建立的 BGP连接。二者的作用简而言之就是:EBGP 是完成不同 AS 之间路由信息的交换,IBGP是完成路由信息在本 AS内的传递。

BGP 应用场景

组建BGP网络是为了实现网络中不同AS之间的通信。配置BGP的基本功能是组建BGP网络最基本的配置过程,主要包括三部分:

  • 1、创建BGP进程:只有先创建BGP进程,才能开始配置BGP的所有特性。
  • 2、建立BGP对等体关系:只有成功建立了BGP对等体关系,设备之间才能交换BGP消息。
  • 3、引入路由:BGP协议本身不发现路由,只有引入其他协议的路由才能产生BGP路由

查看BGP 对等体

两台 BGP 路由器需要首先建立对等体关系,然后才能够正常交互 BGP 路由。在 BGP中, 2台设备的 BGP 等体需要网络管理员通过命令手工指定,也就是说 BGP 无法自动发现其他对等体

查看BGP 路由表

  1. BGP 路由表中,可用的 BGP路由在行首会有星号”*”标记,相反,不可用的路由则没有该标记。
  2. 最优路由在行首会拥有尖括号”>”标记
  3. 从 IBGP 对等体学习到的路由会标记 “i” (i 意为 intemal 。注意该标记的位置,是在行首部,而不是尾部),如果该路由学习自 EBGP 对等体,则没有该标记。
  4. “0饵”显示的是 Origin性值,如果此处显示 “i” ,则表示该路由是被 BGP network 命令发布的,也就是 Origin 为IGP ,另外,如果此处显示”?”,则表示 Origin 为Incomplete

将路由发布到BGP

可以使用network 或者 import 命令 或 aggregate 将路由发布到BGP

使用 network 命令将其路由表中的直连路由 静态路由或通过 IGP 协议学习到的路由发布到 BGP。

和IGP OSPF 使用network 命令存在根本性差异,OSPF 中使用network 时会在相应端口激活ospf 并发送和侦听hello报文。

与OSPF 不同,在 BGP 配置视图中执行的 network 命令并不用于在指定网段(接口)上激活 BGP ,而是用于向 BGP 发布路由,而且 BGP network 命令不仅仅能用于将直连路由发布到 BGP ,实际上,该设备路由表中的直连路由、静态路由以及通过 IGP 协议学习到的动态路由都能使用 network 命令发布到 BGP

BGP 中的 import-route 命令与 IGP 协议中的该条命令功能相同。
Import-route 命令可以将设备路由表中的直连路由、静态路由或通过 IGP 协议学习到的动态路由引入 BGP。

关于 BGP 中的 network import-route 命令,还存在另一个差异。在 BGP 的众多路径属性中,有一个属性是所有 BGP 路由都必须携带的,那就是 Origin 属性,该属性用于描述一条路由是如何被发布到 BGP 的(路由的来源),使用以上两个命令将路由发布到 BGP 时,路由的 Origin 属性是不同的

BGP 配置视图中,使用 aggregate 命令,可执行 BGP 路由手工汇总。该命令生效的前提是,设备已经通过BGP 学习到了明细路由,之后再使用该命令,则可使设备向 BGP 发布指定的汇总路由。

Network MPLS

参考:MPLS是什么?MPLS是如何工作的? – 华为 (huawei.com)

什么是MPLS – 华为 (huawei.com)

MPLS 定义

多协议标签交换MPLS(Multiprotocol Label Switching)是一种IP(Internet Protocol)骨干网技术。MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。

MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6)、IPX(Internet Packet Exchange)和CLNP(Connectionless Network Protocol)等。MPLS中的“Multiprotocol”指的就是支持多种网络协议

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

MPLS的起源与ATM

MPLS(Multiprotocol Label Switching)。

传统的路由查找是通过最长匹配算法查找路由,在大型的网络中这种通过路由器主要通过软件方式来查找路由表,效率很低,这就导致路由器的IP转发性能低下。

ATM(Asynchronous Transfer Mode)技术应运而生。ATM采用定长标签,并且只需要维护比路由表规模小得多的标签表,能够提供比IP路由方式高得多的转发性能。然而,ATM协议相对复杂,且ATM网络部署成本高,这使得ATM技术很难普及。

ATM技术虽然没有成功,但其中的几点心法口诀却属创新:

  • 摒弃了繁琐的路由查找,改为简单快速的标签交换;
  • 将具有全局意义的路由表改为只有本地意义的标签表。

MPLS将自己定位在第2. 5层的位置,可以承载多协议报文。

MPLS 心法-基于标签的转发

MPLS 通常对经过的数据流打上标签(Label),标签只具有本地意义,数据流根据相同的属性(例如:目的路由、cos、隧道)归类被叫作FEC(转发等价类).由LSR(Label Swithcing Router) 负责对标签报文进行快速的令牌交换操作(标签交换,SWAP)。数据流所走的路径就是标签交换通道LSP(Label Switched Path)。

MPLS标签交换和报文转发的网络设备称为标签交换路由器LSR(Label Switching Router)

LSR、LER的定义:

由LSR构成的网络区域称为MPLS域(MPLS Domain)。位于MPLS域边缘、连接其他网络的LSR称为边缘路由器LER(Label Edge Router),区域内部的LSR称为核心LSR(Core LSR)。(LER 是LSR 的特殊情况,连接用户的网络一侧)

FEC定义:

MPLS将具有相同特征的报文归为一类,称为转发等价类FEC(Forwarding Equivalence Class)。属于相同FEC的报文在转发过程中被LSR以相同方式处理。

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

MPLS 标签的产生

MPLS 有多种标签发布协议,LDP、RSVP-TE、MP-BGP.

在MPLS中,有一个叫LDP(Label Distribution Protocol)的秘笈,是一个动态的生成标签的协议。

标签由数据流经的LSP上的下游LSR分配,按从下游到上游的方向分发。如上图,Egress告诉Transit说:如果你要转发到3.3.3.9/32的数据给我,你就为报文加上标签X。接着Transit又向Ingress说:如果你要转发到3.3.3.9/32的数据给我,你就为报文加上标签Z。

LSR(Transit)设备上的标签转发信息:

IN interfaceIN labelPrefix/MASKOUT interface (nexthop)OUT label
If0Z3.3.3.9/32if1X

这里的IN和OUT,是相对于标签转发设备而言,不是相对于标签分配设备,总结一个心法口诀就是:

! 入标签是我分给上游设备的,出标签是下游设备分给我的。

!我分配的标签是给上游设备用的,由上游设备添加到报文中。

标签发布协议是MPLS的控制协议(也可称为信令协议),负责FEC的分类、标签的分发以及LSP的建立和维护等一系列操作

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

MP-BGP(Multiprotocol Border Gateway Protocol)是在BGP协议基础上扩展的协议。MP-BGP支持为MPLS VPN业务中私网路由和跨域VPN的标签路由分配标签。

MPLS 报文转发过程

标签操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop),它们是标签转发的基本动作。

在MPLS标签分配完毕之后,一条转发报文的LSP就建立完成了。LSP(标签交换通道)上的每个设备在收到报文之后根据标签进行转发。还是用上面这个例子,Ingress节点收到目的地址为3.3.3.9的IP报文,压入标签Z并转发。Transit节点收到带标签Z的报文,进行标签交换,替换为标签X并转发报文。Egress节点收到该报文后弹出标签,变为IP报文,而后将其转发给目的地3.3.3.9/32。

PHP 特性:

  • Push:当IP报文进入MPLS域时,MPLS边界设备(LER)在报文二层首部和IP首部之间插入一个新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)。
  • Swap:当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文的栈顶标签。
  • Pop:当报文离开MPLS域时,将MPLS报文的标签剥掉。在最后一跳节点,标签已经没有使用价值。这种情况下,可以利用倒数第二跳弹出特性PHP(Penultimate Hop Popping),在倒数第二跳节点处将标签弹出,减少最后一跳的负担。最后一跳节点直接进行IP转发或者下一层标签转发。默认情况下,设备支持PHP特性,支持PHP的Egress节点分配给倒数第二跳节点的标签值为3。
  1. Ingress节点收到目的地址为4.4.4.2的IP报文,压入标签Z并转发。
  2. Transit节点收到该标签报文,进行标签交换,将标签Z换成标签Y。
  3. 倒数第二跳Transit节点收到带标签Y的报文。因为Egress分给它的标签值为3,所以进行PHP操作,弹出标签Y并转发报文。从倒数第二跳转发给Egress的报文以IP报文形式传输。
  4. Egress节点收到该IP报文,将其转发给目的地4.4.4.2/32。

MPLS 的应用场景

好景不长,由于网络发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势.

基于MPLS的VPN

MPLS VPN是指利用MPLS在IP骨干网络上构建VPN的技术。VPN的实质就是在公网上像私有专用网一样传输业务数据,这就需要在公网上建立一条隧道,让数据报文通过隧道直达目的地,从而达到私有专用网络的效果。概括地讲,MPLS VPN就是采用MPLS建立的LSP作为公网隧道来传输私网业务数据的。

MPLS VPN的基本模型主要由以下三种角色构成:

  • CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商SP(Service Provider)网络相连,用户的VPN站点(Site)通过CE连接到SP网络。CE可以是网络设备,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。
  • PE(Provider Edge):是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,PE设备作为LSR,对MPLS和VPN的所有处理都发生在PE上,对PE性能要求较高。
  • P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。在MPLS网络中,P设备作为LSR,只需要处理MPLS,不维护VPN信息。

基于MPLS 的流量工程TE(Traffic Engineering)

流量工程TE(Traffic Engineering)通过动态监控网络的流量和网络单元的负载,实时调整流量管理参数、路由参数和资源约束参数等,使网络运行状态迁移到理想状态,优化网络资源的使用,避免负载不均衡导致的拥塞。

为了在大型骨干网络中部署流量工程,必须采用一种可扩展性好、简单的解决方案。MPLS作为一种叠加模型,可以方便地在物理网络拓扑上建立一个虚拟拓扑,然后将流量映射到这个拓扑上。因此,基于MPLS的流量工程技术应运而生,即MPLS TE。

流量工程可以根据带宽等因素合理地分配流量,从而有效地避免链路拥塞。例如,LSR_1到LSR_7存在两种业务,流量分别为30M和50M,流量工程可以把前者分配到带宽为30M的路径上,将后者分配到带宽为80M的路径上。