国家 / 地区

09-MPLS配置指导

01-MPLS基本配置

本章节下载  (814.88 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/MSR/MSR_50/Configure/Operation_Manual/H3C_MSR_CG(V5)-R2516-V1.16/09/201807/1094126_30005_0.htm

01-MPLS基本配置


1 MPLS基础

1.1  MPLS简介

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

MPLS广泛应用于大规模网络中,它具有以下优点:

·     在MPLS网络中,设备根据短而定长的标签转发报文,省去了通过软件查找IP路由的繁琐过程,为数据在骨干网络中的传输提供了一种高速高效的方式。

·     MPLS位于链路层和网络层之间,它可以建立在各种链路层协议(如PPP、ATM、帧中继、以太网等)之上,为各种网络层(IPv4、IPv6、IPX等)提供面向连接的服务,兼容现有各种主流网络技术。

·     支持多层标签和面向连接的特点,使得MPLS在VPN、流量工程、QoS等方面得到广泛应用。

·     具有良好的扩展性,在MPLS网络基础上可以为客户提供各种服务。

1.1.1  MPLS基本概念

1. 转发等价类

FEC(Forwarding Equivalence Class,转发等价类)是MPLS中的一个重要概念。MPLS是一种分类转发技术,它将具有相同特征(目的地相同或具有相同服务等级等)的报文归为一类,称为FEC。属于相同FEC的报文在MPLS网络中将获得完全相同的处理。目前设备只支持根据报文的网络层目的地址划分FEC。

2. 标签

标签是一个长度固定、只具有本地意义的标识符,用于唯一标识一个报文所属的FEC。一个标签只能代表一个FEC。

图1-1 标签的封装结构

 

图1-1所示,标签封装在链路层报头和网络层报头之间的一个垫层中。标签长度为4个字节,由以下四个字段组成:

·     Label:标签值,长度为20bits,用来标识一个FEC。

·     Exp:3bits,保留,协议中没有明确规定,通常用作服务等级。

·     S:1bit,MPLS支持多重标签。值为1时表示为最底层标签。

·     TTL:8bits,和IP报文中的TTL意义相同,可以用来防止环路。

3. 标签交换路由器

LSR(Label Switching Router,标签交换路由器)是具有标签分发能力和标签交换能力的设备,是MPLS网络中的基本元素。

4. 标签边缘路由器

位于MPLS网络边缘、连接其他网络的LSR称为LER(Label Edge Router,标签边缘路由器)。

5. 标签交换路径

属于同一个FEC的报文在MPLS网络中经过的路径称为LSP(Label Switched Path,标签交换路径)。

LSP是从MPLS网络的入口到出口的一条单向路径。在一条LSP上,沿数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。如图1-2所示,LSR B为LSR A的下游LSR,相应的,LSR A为LSR B的上游LSR。

图1-2 标签交换路径

 

6. 标签转发表

与IP网络中的FIB(Forwarding Information Base,转发信息库)类似,在MPLS网络中,报文通过查找标签转发表确定转发路径。

7. 控制平面和转发平面

MPLS节点由两部分组成:

·     控制平面(Control Plane):负责标签的分配、路由的选择、标签转发表的建立、标签交换路径的建立、拆除等工作。

·     转发平面(Forwarding Plane):依据标签转发表对收到的分组进行转发。

1.1.2  MPLS网络结构

图1-3 MPLS网络结构

 

图1-3所示,MPLS网络的基本构成单元是LSR,由LSR构成的网络称为MPLS域。MPLS网络包括以下几个组成部分:

·     入节点Ingress:报文的入口LER,负责为进入MPLS域的报文添加标签。

·     中间节点Transit:MPLS域内部的LSR,根据标签沿着由一系列LSR构成的LSP将报文传送给出口LER。

·     出节点Egress:报文的出口LER,负责剥离报文中的标签,并转发给目的网络。

Transit根据报文上附加的标签进行MPLS转发,Ingress和Egress负责MPLS与IP技术的转换。

1.1.3  LSP建立与标签的发布和管理

1. LSP建立

LSP的建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告相邻LSR,以便在LSR上建立标签转发表的过程。LSP既可以通过手工配置的方式静态建立,也可以利用标签分发协议动态建立。

(1)     手工配置的方式静态建立LSP

建立静态LSP需要用户在报文转发路径中的各个LSR上手工配置为FEC分配的标签。建立静态LSP消耗的资源比较少,但静态建立的LSP不能根据网络拓扑变化动态调整。因此,静态LSP适用于拓扑结构简单并且稳定的小型网络。

(2)     利用标签发布协议动态建立LSP

标签发布协议是MPLS的信令协议,负责划分FEC、发布标签、建立维护LSP等。标签发布协议的种类较多,有专为标签发布而制定的协议,如LDP(Label Distribution Protocol,标签分发协议),也有扩展后支持标签发布的协议,如BGP、RSVP-TE。本文只介绍LDP协议。

为了区分,本文中“标签发布协议”表示广义上所有用于标签发布的协议的总称;“LDP”表示RFC 5036规定的标签发布协议。LDP的详细介绍请参见“1.1.5  LDP”。

 

利用标签发布协议动态建立LSP的过程如图1-4所示。下游LSR根据目的地址划分FEC,为特定FEC分配标签,并将标签和FEC的绑定关系通告给上游LSR;上游LSR根据该绑定关系建立标签转发表项。报文传输路径上的所有LSR都为该FEC建立对应的标签转发表项后,就成功地建立了用于转发属于该FEC报文的LSP。

图1-4 动态LSP建立过程

 

2. 标签的发布和管理

标签发布就是将为FEC分配的标签通告给其他LSR。根据标签发布条件、标签发布顺序的不同,LSR通告标签的方式分为DU(Downstream Unsolicited,下游自主方式)和DoD(Downstream On Demand,下游按需方式)、独立标签控制方式(Independent)和有序标签控制方式(Ordered)几种。

标签管理,即标签保持方式,是指LSR对收到的、但目前暂时用不到的FEC和标签绑定的处理方式,分为自由标签保持方式(Liberal)和保守标签保持方式(Conservative)两种。

(1)     标签发布方式(Label Advertisement Mode)

图1-5 标签发布方式

 

图1-5所示,标签发布方式分为:

·     DU:对于一个特定的FEC,下游LSR自动为该FEC分配标签,并主动将标签分发给上游LSR。

·     DoD:对于一个特定的FEC,上游LSR请求下游LSR为该FEC分配标签,下游LSR收到请求后,为该FEC分配标签并向上游LSR通告该标签。

·     目前,设备只支持DU标签发布方式。

·     具有标签分发邻接关系的上游LSR和下游LSR之间必须使用相同的标签发布方式,否则LSP无法正常建立。

 

(2)     标签分配控制方式(Label Distribution Control Mode)

标签分配控制方式分为:

·     独立标签控制方式:LSR可以在任意时间向与它连接的LSR通告标签映射。使用这种方式时,LSR可能会在收到下游LSR的标签之前就向上游通告了标签。如图1-6所示,如果标签发布方式是DU,则即使没有获得下游的标签,也会直接为上游分配标签;如果标签发布方式是DoD,则接收到标签请求的LSR直接为它的上游LSR分配标签,不必等待来自它的下游的标签。

图1-6 独立标签控制方式

 

·     有序标签控制方式:LSR只有收到它的下游LSR为某个FEC分配的标签,或该LSR是此FEC的出口节点时,才会向它的上游LSR通告此FEC的标签映射。图1-5中的标签发布过程采用了有序标签控制方式:如果标签发布模式为DU,则LSR只有收到下游LSR分配的标签后,才会向自己的上游LSR分配标签;如果标签发布模式为DoD,则下游LSR(Transit)收到上游LSR(Ingress)的标签请求后,继续向它的下游LSR(Egress)发送标签请求,Transit收到Egress分配的标签后,才会为Ingress分配标签。

(3)     标签保持方式(Label Retention Mode)

LSR接收到标签映射后,保留标签的方式分为:

·     自由标签保持方式:对于从邻居LSR收到的标签映射,无论邻居LSR是不是指定FEC的下一跳都保留。这种方式的优点是LSR能够迅速适应网络拓扑变化,但是浪费标签,所有不能生成LSP的标签都需要保留。

·     保守标签保持方式:对于从邻居LSR收到的标签映射,只有当邻居LSR是指定FEC的下一跳时才保留。这种方式的优点是节省标签,但是对拓扑变化的响应较慢。

目前只支持自由标签保持方式。

 

1.1.4  MPLS数据转发过程

1. 标签转发表构成

标签转发表由以下三部分构成:

·     NHLFE(Next Hop Label Forwarding Entry,下一跳标签转发项):描述对标签执行的操作,用于指导MPLS报文的转发。

·     FTN(FEC to NHLFE map,FEC到NHLFE表项的映射):用于在Ingress节点将FEC映射到NHLFE表项。LSR接收到不带标签的报文后,查找对应的FIB表项。如果FIB表项的Token值不是Invalid,则该报文需要进行MPLS转发。LSR根据Token值找到对应的NHLFE表项,以便确定需要执行的标签操作。

·     ILM(Incoming Label Map,入标签映射):用于将入标签映射到NHLFE表项。LSR接收到带有标签的报文后,查找对应的ILM表项。如果ILM表项的Token值非空,则找到Token值对应的NHLFE表项,以便确定需要执行的标签操作。

FTN、ILM通过Token与NHLFE关联。

 

2. MPLS数据转发

图1-7 MPLS转发过程示意图

 

图1-7所示,MPLS网络中报文的转发过程为:

(1)     Ingress(Router B)接收到不带标签的报文,根据目的地址判断该报文所属的FEC,查找FIB表,获取Token值。Token值不是Invalid,则找到Token值对应的NHLFE表项。根据NHLFE表项为报文添加标签(40),并从相应的出接口(Ethernet1/2)将带有标签的报文转发给下一跳LSR(Router C)。

(2)     Router C接收到带有标签的报文,根据报文上的标签(40)查找ILM表项,获取Token值。Token值非空,则找到Token值对应的NHLFE表项。根据NHLFE表项,用新的标签(50)替换原有标签,并从相应的出接口(Ethernet1/2)将带有标签的报文转发给下一跳LSR(Router D)。

(3)     Egress(Router D)接收到带有标签的报文,根据报文上的标签(50)查找ILM表项,获取Token值。Token值为空,则删除报文中的标签。如果ILM表项中记录了出接口,则通过该出接口转发报文;否则,根据IP报头转发报文。

3. 倒数第二跳弹出

MPLS网络中,Egress节点接收到带有标签的报文后,查找标签转发表,弹出报文中的标签后,再进行下一层的标签转发或IP转发。Egress节点转发报文之前要查找两次转发表:两次标签转发表,或一次标签转发表一次路由转发表。

为了减轻Egress节点的负担,提高MPLS网络对报文的处理能力,可以利用PHP(Penultimate Hop Popping,倒数第二跳弹出)功能,在倒数第二跳节点处将标签弹出,Egress节点只需查找一次转发表。

PHP在Egress节点上配置。支持PHP的Egress节点分配给倒数第二跳节点的标签有以下两种:

·     标签值为0表示IPv4显式空标签(Explicit-null)。Egress为FEC分配IPv4显式空标签,并通告给上游LSR后,上游LSR用这个值替代栈顶原来的标签,并将报文转发给Egress。Egress收到标签值为0的报文时,不会查找标签转发表,直接弹出标签栈,进行IPv4转发。

·     标签值3表示隐式空标签(Implicit-null),这个值不会出现在标签栈中。当一个LSR发现下游LSR通告的标签为隐式空标签时,它并不用这个值替代栈顶原来的标签,而是直接弹出标签,并将报文转发给下游LSR(即Egress)。Egress接收到报文后,直接进行下一层的转发处理。

1.1.5  LDP

LDP是标签发布协议的一种,用来动态建立LSP。通过LDP,LSR可以把网络层的路由信息映射到数据链路层的交换路径上。

1. LDP基本概念

·     LDP会话

LDP会话建立在TCP连接之上,用于在LSR之间交换标签映射、标签释放、差错通知等消息。

·     LDP对等体

LDP对等体是指相互之间存在LDP会话,并通过LDP会话交换标签-FEC映射关系的两个LSR。

2. LDP消息类型

LDP协议主要使用四类消息:

·     发现(Discovery)消息:用于通告和维护网络中LSR的存在;

·     会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话;

·     通告(Advertisement)消息:用于创建、改变和删除“标签—FEC”映射关系;

·     通知(Notification)消息:用于提供建议性的消息和差错通知。

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

3. LDP工作过程

LDP主要包括以下四个阶段:

(1)     发现阶段

所有希望建立LDP会话的LSR都周期性地发送Hello消息,通告自己的存在。通过Hello消息,LSR可以自动发现它的LDP对等体。

LDP对等体发现机制分为两种:

·     基本发现机制:用于发现本地的LDP对等体,即通过链路层直接相连的LSR,并与其建立Link hello邻接关系。这种方式下,LSR周期性地向“子网内所有路由器”的组播地址224.0.0.2发送LDP链路Hello消息,以便链路层直接相连的LSR发现此LDP对等体。

·     扩展发现机制:用于发现远端的LDP对等体,即不通过链路层直接相连的LSR,并与其建立Targeted hello邻接关系。这种方式下,LSR周期性地向指定的IP地址发送LDP目标Hello消息,以便指定IP地址对应的LSR发现此LDP对等体。

两个LSR为基本发现机制和扩展发现机制配置的传输地址(用来建立TCP连接的源IP地址)相同时,这两个LSR之间可以同时建立Link hello邻接关系和Targeted hello邻接关系,并且Link hello邻接关系和Targeted hello邻接关系关联到同一个会话。在LDP对等体之间存在直连(只有一跳)和非直连(多于一跳)多条路径的组网环境中,同时建立Link hello邻接关系和Targeted hello邻接关系可以实现利用扩展发现机制来保护与对等体的会话。当直连链路出现故障时,Link hello邻接关系将被删除。如果此时非直连链路正常工作,则Targeted hello邻接关系依然存在,因此,LDP会话不会被删除,基于该会话的FEC—标签绑定等信息也不会删除。直连链路恢复后,不需要重新建立LDP会话、重新学习FEC—标签绑定等信息,从而加快了LDP收敛速度。

两个LSR为基本发现机制和扩展发现机制配置的传输地址不同时,如果在这两个LSR之间已经建立了一种邻接关系,则无法再建立另一种邻接关系。

(2)     会话建立与维护

发现LDP对等体后,LSR开始建立会话。这一过程又可分为两步:

·     建立传输层连接,即在LSR之间建立TCP连接;

·     对LSR之间的会话进行初始化,协商会话中涉及的各种参数,如LDP版本、标签发布方式、Keepalive定时器值等。

会话建立后,LDP对等体之间通过不断地发送Hello消息和Keepalive消息来维护这个会话。

(3)     LSP建立与维护

LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系,从而建立LSP。

LSP的建立过程,请参见“1.1.3  LSP建立与标签的发布和管理”。

(4)     会话撤销

在以下情况下,LSR将撤销LDP会话:

·     LSR通过周期性发送Hello消息表明自己希望与邻居LSR继续维持这种邻接关系。如果Hello保持定时器超时仍没有收到新的Hello消息,则删除Hello邻接关系。一个LDP会话上可能存在多个Hello邻接关系。当LDP会话上的最后一个Hello邻接关系被删除后,LSR将发送通知消息,结束该LDP会话。

·     LSR通过LDP会话上传送的LDP PDU(LDP PDU中携带一个或多个LDP消息)来判断LDP会话的连通性。如果在会话保持定时器(Keepalive定时器)超时前,LDP对等体之间没有需要交互的信息,LSR将发送Keepalive消息给LDP对等体,以便维持LDP会话。如果会话保持定时器超时,没有收到任何LDP PDU,LSR将关闭TCP连接,结束LDP会话。

·     LSR还可以发送Shutdown消息,通知它的LDP对等体结束LDP会话。因此,LSR收到LDP对等体发送的Shutdown消息后,将结束与该LDP对等体的会话。

1.1.6  协议规范

与MPLS相关的协议规范有:

·     RFC 3031:Multiprotocol Label Switching Architecture

·     RFC 3032:MPLS Label Stack Encoding

·     RFC 5036:LDP Specification

1.2  MPLS配置任务简介

表1-1 MPLS配置任务简介

配置任务

说明

详细配置

使能MPLS功能

必选

1.3 

建立静态LSP

必选

两种建立LSP的方式,必选其一

1.4 

利用LDP建立动态LSP

配置MPLS LDP能力

必选

1.5.1 

配置LDP本地会话的参数

可选

1.5.2 

配置LDP远端会话的参数

可选

1.5.3 

配置PHP特性

可选

1.5.4 

配置LSP触发策略

可选

1.5.5 

配置LDP标签分配控制方式

可选

1.5.6 

配置LDP环路检测

可选

1.5.7 

配置LDP MD5认证

可选

1.5.8 

配置LDP标签过滤

可选

1.5.9 

配置发送的LDP报文的DSCP优先级

可选

1.5.10 

维护LDP会话

配置MPLS LDP与BFD联动

可选

1.6.1 

重启LDP会话

可选

1.6.2 

管理及优化MPLS转发功能

配置MPLS快速转发

可选

1.7.1 

配置MPLS MTU

可选

1.7.2 

配置LSR对TTL的处理方式

可选

1.7.3 

配置MPLS的TTL超时消息发送功能

可选

1.7.4 

配置LDP GR

可选

1.7.5 

配置MPLS统计功能

使能MPLS统计功能

可选

1.8.1 

检测LSP

MPLS LSP Ping功能

可选

1.9.1 

MPLS LSP Tracert功能

可选

1.9.2 

MPLS的Trap功能

可选

1.10 

 

1.3  使能MPLS功能

MPLS域中参与MPLS转发的路由器上,必须先使能MPLS功能,才能进行MPLS其它特性的配置。

1.3.1  配置准备

在使能MPLS功能之前,需要完成以下任务:

·     配置链路层协议,保证链路层通信正常。

·     配置接口的网络层地址,使各相邻节点网络层可达。

·     配置单播静态路由或IGP协议,保证各LSR在网络层互通。

1.3.2  使能MPLS功能

表1-2 使能MPLS功能

操作

命令

说明

进入系统视图

system-view

-

配置本节点的LSR ID

mpls lsr-id lsr-id

必选

缺省情况下,未配置LSR ID

使能本节点的MPLS能力,并进入MPLS视图

mpls

必选

缺省情况下,未使能本节点的MPLS能力

退回系统视图

quit

-

进入需要转发MPLS报文的接口视图

interface interface-type interface-number

-

使能接口的MPLS能力

mpls

必选

缺省情况下,未使能接口的MPLS能力

 

LSR ID使用IP地址格式,在MPLS域内唯一。推荐使用Loopback接口的IP地址作为LSR ID。

 

1.4  建立静态LSP

建立静态LSP需要遵循的原则是:上游LSR出标签的值就是下游LSR入标签的值。

1.4.1  配置准备

在配置静态LSP之前,需完成以下任务:

·     确定静态LSP的入节点、中间节点和出节点。

·     在各节点上使能MPLS功能。

·     在入节点上建立静态LSP时,需确保该节点上存在FEC目的地址对应的路由。中间节点和出节点上不需要存在FEC目的地址对应的路由。

1.4.2  建立静态LSP

表1-3 建立静态LSP

操作

命令

说明

进入系统视图

system-view

-

为Ingress节点配置静态LSP

static-lsp ingress lsp-name destination dest-addr { mask | mask-length } { nexthop next-hop-addr | outgoing-interface interface-type interface-number } out-label out-label

必选

参数outgoing-interface仅支持点到点链路

为Transit节点配置静态LSP

static-lsp transit lsp-name incoming-interface interface-type interface-number in-label in-label { nexthop next-hop-addr | outgoing-interface interface-type interface-number } out-label out-label

必选

参数outgoing-interface仅支持点到点链路

为Egress节点配置静态LSP

static-lsp egress lsp-name incoming-interface interface-type interface-number in-label in-label

必选

 

·     配置静态LSP时,如果指定的出接口是P2MP类型的接口(如P2MP类型的ATM子接口、P2MP类型的帧中继子接口),则静态LSP无法up。

·     在Ingress节点上配置静态LSP时,指定的下一跳或出接口必须与路由表中最优下一跳或出接口保持一致。如果是通过静态路由配置路由信息,则静态路由必须与静态LSP指定的下一跳或出接口一致。

·     配置Ingress和Transit时,本地设备上接口的公网地址不能作为下一跳地址。

·     有关IP静态路由的介绍请参见“三层技术-IP路由配置指导”中的“静态路由”。

 

1.5  利用LDP建立动态LSP

1.5.1  配置MPLS LDP能力

表1-4 配置MPLS LDP能力

操作

命令

说明

进入系统视图

system-view

-

使能本节点的LDP能力,并进入MPLS-LDP视图

mpls ldp

必选

缺省情况下,未使能LDP能力

配置LDP的LSR ID

lsr-id lsr-id

可选

缺省情况下,LDP的LSR ID与MPLS LSR ID相同

退回系统视图

quit

-

进入建立LDP会话的接口视图

interface interface-type interface-number

-

使能接口的LDP能力

mpls ldp

必选

缺省情况下,在接口上未使能LDP能力

 

·     取消接口的LDP能力将会导致接口下的所有LDP会话中断,基于这些会话的所有LSP也将被删除。

·     通常情况下LDP使用缺省的MPLS LSR ID即可,在某些使用VPN实例(例如MPLS L3VPN)的组网方案中,如果VPN与公网地址空间重叠,则需要为LDP另外配置LSR ID,以保证TCP连接能够正常建立。

 

1.5.2  配置LDP本地会话的参数

本地LDP对等体之间建立的LDP会话,称为本地会话。建立LDP本地会话前:

·     需要先确认对端的LDP传输地址,并保证两端的LDP传输地址是相互可达的,这样才能建立TCP连接。

·     如果LSR之间的LDP会话数较多或CPU利用率较高时,需要对定时器进行调节确保LDP会话的稳定性。

表1-5 配置LDP本地会话的参数

操作

命令

说明

进入系统视图

system-view

-

进入建立LDP会话的接口视图

interface interface-type interface-number

-

配置链路Hello保持定时器的值

mpls ldp timer hello-hold value

可选

缺省情况下,链路Hello保持定时器的值为15秒

配置链路Keepalive保持定时器的值

mpls ldp timer keepalive-hold value

可选

缺省情况下,链路Keepalive保持定时器的值为45秒

配置LDP传输地址

mpls ldp transport-address { ip-address | interface }

可选

缺省情况下,传输地址是本LSR的LSR ID

 

选择指定IP地址作为LDP传输地址时,配置的IP地址应为设备接口的IP地址,否则LDP会话将无法建立。

 

1.5.3  配置LDP远端会话的参数

远端LDP对等体之间建立的LDP会话,称为远端会话。LDP远端会话主要应用于Martini方式的MPLS L2VPN和MPLS LDP over MPLS TE,详细介绍请参见“MPLS配置指导”的“MPLS L2VPN”和“MPLS TE”。

建立远端LDP会话前:

·     需要先确认对端的LDP传输地址,并保证两端的LDP传输地址是相互可达的,这样才能建立TCP连接。

·     如果LSR之间的LDP会话数较多或CPU利用率较高时,需要对定时器进行调节确保LDP会话的稳定性。

表1-6 配置LDP远端会话的参数

操作

命令

说明

进入系统视图

system-view

-

创建远端对等体实体并进入MPLS-LDP远端对等体视图

mpls ldp remote-peer remote-peer-name

必选

指定LDP远端对等体的IP地址

remote-ip ip-address

必选

配置通过远端会话通告基于地址前缀的标签

prefix-label advertise

可选

缺省情况下,不会通过远端会话通告基于地址前缀的标签

配置目标Hello保持定时器的值

mpls ldp timer hello-hold value

可选

缺省情况下,目标Hello保持定时器的值为45秒

配置目标Keepalive保持定时器的值

mpls ldp timer keepalive-hold value

可选

缺省情况下,目标Keepalive保持定时器的值为45秒

配置LDP传输地址

mpls ldp transport-address ip-address

可选

缺省情况下,传输地址是本LSR的LSR ID

 

·     配置的LDP传输地址应为设备接口的IP地址,否则LDP会话将无法建立。

·     即将配置的远端对等体的IP地址不能与已经存在的远端对等体IP地址重复。

 

·     缺省情况下,LDP不会通过远端会话通告基于地址前缀的标签映射消息,远端会话只用来为L2VPN传送消息。有关远端会话的应用请参见“MPLS配置指导”中的“MPLS L2VPN”中的“配置Martini方式MPLS L2VPN”部分。

·     通过远端会话通告基于地址前缀的标签主要用来实现MPLS LDP over MPLS TE功能。有关MPLS LDP over MPLS TE功能的应用请参见“MPLS配置指导”中的“MPLS TE”。

 

1.5.4  配置PHP特性

表1-7 配置PHP特性

操作

命令

说明

进入系统视图

system-view

-

进入MPLS视图

mpls

-

配置Egress节点向倒数第二跳分配的标签值

label advertise { explicit-null | implicit-null | non-null }

可选

缺省情况下,Egress节点向倒数第二跳分配隐式空标签(implicit-null

 

·     选择哪种标签值需要根据倒数第二跳节点对PHP特性的支持情况而定。如果倒数第二跳节点支持PHP特性,则可以为其分配显式或隐式空标签;如果倒数第二跳节点不支持PHP特性,则为其正常分配标签。

·     设备作为倒数第二跳时,支持PHP特性。

·     会话建立后,需使用reset mpls ldp命令重启LDP会话,本命令的配置才能生效。

 

1.5.5  配置LSP触发策略

在LSR上通过配置LSP触发策略,可以限制只有通过策略过滤的路由信息才能触发LSP的建立,从而控制LSP的数量,避免LSP数量过多导致设备运行不稳定。

LSP触发策略包括以下两种:

·     所有路由项都会触发LDP建立LSP。

·     利用IP地址前缀列表对路由项进行过滤,被IP地址前缀列表拒绝的静态路由和IGP路由项不能触发建立LSP。采用这种LSP触发策略时,需要创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。

表1-8 配置LSP触发策略

操作

命令

说明

进入系统视图

system-view

-

进入MPLS视图

mpls

-

配置LSP的触发策略

lsp-trigger [ vpn-instance vpn-instance-name ] { all | ip-prefix prefix-name }

可选

缺省情况下,只有32位掩码的主机路由能够触发LDP建立LSP

 

·     建立LSP需要LSR上存在精确匹配的路由项。例如,要使用32位掩码的Loopback接口地址建立LSP,则LSR上必须存在精确匹配的主机路由才能触发建立LSP。

·     如果指定vpn-instance vpn-instance-name参数,则配置指定VPN的LSP触发策略;如果未指定vpn-instance vpn-instance-name参数,则配置公网路由的LSP触发策略。

 

1.5.6  配置LDP标签分配控制方式

使能标签重发布功能后,LSR会周期性地查找尚未分配标签的FEC,为其分配标签,并将标签和FEC绑定通告给其他的LSR。同时,用户可以根据需要控制重发布标签的时间间隔。

表1-9 配置LDP标签分配控制方式

操作

命令

说明

进入系统视图

system-view

-

进入MPLS-LDP视图

mpls ldp

-

配置标签分配控制方式

label-distribution { independent | ordered }

可选

缺省情况下,标签分配控制方式为有序方式(ordered

会话建立后,需重启LDP会话本命令的配置才能生效

使能DU模式下标签重发布功能

du-readvertise

可选

缺省情况下,DU模式下已使能标签重发布功能

配置DU模式下定期重发布标签的时间间隔

du-readvertise timer value

可选

缺省情况下,DU模式下定期重发布标签的时间间隔为30秒

 

1.5.7  配置LDP环路检测

在MPLS域中建立LSP也要防止产生环路,LDP环路检测机制可以检测LSP环路的出现,并避免发生环路。

LDP环路检测有两种方式:

(1)     最大跳数

在传递标签映射(或者标签请求)的消息中包含跳数信息,每经过一跳该值就加一。当该值达到规定的最大值时即认为出现环路,终止LSP的建立过程。

(2)     路径向量

在传递标签映射(或者标签请求)的消息中记录路径信息,每经过一跳,相应的设备就检查自己的LSR ID是否在此记录中。如果记录中没有自身的LSR ID,就会将自身的LSR ID添加到该记录中;如果记录中已有本LSR的记录,则认为出现环路,终止LSP的建立过程。

采用路径向量方式进行环路检测时,也需要规定LSP路径的最大跳数,当路径的跳数达到配置的最大值时,也会认为出现环路,终止LSP的建立过程。

表1-10 配置LDP环路检测

操作

命令

说明

进入系统视图

system-view

-

进入MPLS-LDP视图

mpls ldp

-

开启环路检测功能

loop-detect

必选

缺省情况下,环路检测功能处于关闭状态

配置环路检测的最大跳数

hops-count hop-number

可选

缺省情况下,环路检测最大跳数为32

配置路径向量方式下LSP的最大跳数

path-vectors pv-number

可选

缺省情况下,路径向量方式下LSP的最大跳数为32

 

·     LDP对等体上的环路检测配置必须一致,否则无法建立LDP会话。

·     如果对MPLS域进行环路检测,则必须在MPLS域内所有LSR上都开启环路检测功能。

·     环路检测功能需要在所有接口使能LDP之前进行配置。

·     所有环路检测的配置,只对修改后建立的LSP有效,修改环路检测配置不影响已经建立的LSP。可以通过在用户视图下执行reset mpls ldp命令的方法,使环路检测配置对已经建立的LSP生效。

·     使能LDP环路检测功能,可能会导致LSP重新更新,产生冗余消息,消耗过多的系统资源,推荐使用路由协议的环路预防功能。

 

1.5.8  配置LDP MD5认证

LDP会话建立在TCP连接之上。为了提高LDP会话的安全性,可以配置在建立LDP会话使用的TCP连接时进行MD5认证,保证只有对端与本端配置了相同的认证密码时,才会与其建立TCP连接。

表1-11 配置LDP MD5认证

操作

命令

说明

进入系统视图

system-view

-

进入MPLS-LDP视图

mpls ldp

-

使能LDP的MD5认证功能

md5-password { cipher | plain } peer-lsr-id password

必选

缺省情况下,未使能LDP的MD5认证功能

 

要想在LDP对等体之间成功建立LDP会话,必须保证LDP对等体上的LDP MD5认证配置一致。

 

1.5.9  配置LDP标签过滤

LDP标签过滤提供了标签接受控制和标签通告控制两种机制,用来实现对接收标签和通告标签的过滤。在复杂的MPLS网络环境中,通过LDP标签过滤可以规划动态建立的LSP,并避免设备接收和通告大量的标签映射。

(1)     标签接受控制

标签接受控制用来实现对接收的标签映射进行过滤,即上游LSR对指定的下游LSR通告的标签映射进行过滤,只接受指定地址前缀的标签映射。如图1-8,上游设备LSR A对下游设备LSR B通告的标签进行过滤,只有FEC的目的地址通过指定地址前缀列表过滤后,才会接受该FEC对应的标签映射;对下游设备LSR C通告的标签不进行过滤。

图1-8 标签接受控制示意图

 

(2)     标签通告控制

标签通告控制用来实现对通告的标签映射进行过滤,即下游LSR只将指定地址前缀的标签映射通告给指定的上游设备。如图1-9,下游设备LSR A将FEC目的地址通过地址前缀列表B过滤的标签映射通告给上游设备LSR B;将FEC目的地址通过地址前缀列表C过滤的标签映射通告给上游设备LSR C。

图1-9 标签通告控制示意图

1. 配置准备

在配置LDP标签过滤之前,需要先创建IP地址前缀列表,创建方法请参见“三层技术-IP路由配置指导”中的“路由策略”。

2. 配置LDP标签过滤

配置LDP标签过滤

操作

命令

说明

进入系统视图

system-view

-

进入MPLS-LDP视图

mpls ldp

-

配置标签接受控制策略

accept-label peer peer-id ip-prefix ip-prefix-name

可选

缺省情况下,接受LDP对等体通告的所有标签映射

配置标签通告控制策略

advertise-label ip-prefix ip-prefix-name [ peer peer-ip-prefix-name ]

必选

缺省情况下,不对通告的标签映射进行过滤

 

在下游LSR上配置标签通告控制策略与在上游LSR上配置标签接受控制策略具有相同的效果,推荐使用前者,以减轻网络负担。

 

1.5.10  配置发送的LDP报文的DSCP优先级

DSCP(Differentiated Services Code point,差分服务编码点)携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定发送的LDP报文中携带的DSCP优先级的取值。

表1-12 配置发送的LDP报文的DSCP优先级

操作

命令

说明

进入系统视图

system-view

-

进入MPLS-LDP视图

mpls ldp

-

配置发送的LDP报文的DSCP优先级

dscp dscp-value

必选

缺省情况下,发送的LDP报文的DSCP优先级为48

 

1.5.11  配置LDP-IGP同步

1.6  维护LDP会话

1.6.1  配置MPLS LDP与BFD联动

MPLS本身无法快速检测到邻居(或链路)的故障。LDP远端对等体之间的通信发生故障时,将导致LDP会话down,MPLS报文转发失败。MPLS LDP与BFD联动功能能够快速检测到LDP远端对等体之间的通信故障,提升现有MPLS网络的性能。

·     有关BFD的介绍及配置方法,请参见“可靠性配置指导”中的“BFD”。

·     一条LSP只能与一个BFD会话绑定。

 

表1-13 配置MPLS LDP与BFD联动

操作

命令

说明

进入系统视图

system-view

-

进入MPLS-LDP远端对等体视图

mpls ldp remote-peer remote-peer-name

-

为LDP远端对等体开启BFD链路检测功能

remote-ip bfd

必选

缺省情况下,LDP远端对等体的BFD链路检测功能处于关闭状态

 

MPLS LDP与BFD联动只能用来检测远端LDP对等体之间的通信是否存在故障。

 

1.6.2  重启LDP会话

LDP会话状态为up后,修改LDP会话的任何参数,都会引起LDP会话不能正常进行。此时,需要重启LDP会话,重新协商各种参数,建立LDP会话。

在用户视图下执行reset mpls ldp命令可以重启LDP会话。

表1-14 重启LDP会话

操作

命令

重启LDP会话

reset mpls ldp [ all | [ vpn-instance vpn-instance-name ] [ fec mask | peer peer-id ] ]

 

1.7  管理及优化MPLS转发功能

1.7.1  配置MPLS快速转发

MPLS快速转发的目的是提高MPLS转发效率。MPLS快速转发采用“一次路由,多次转发”的思想,对数据流的第一个报文采用MPLS普通转发流程,建立快速转发表,并将其封装的标签栈、链路层头也记录在快速转发表中。后续的报文不再走普通转发流程,而直接查快速转发表,封装上和第一个报文相同的链路层头后直接发送,从而极大地提高MPLS转发效率。

MPLS快速转发依赖于IP快速转发。当IP快速转发开启时,MPLS快速转发也同时开启;当IP快速转发关闭时,MPLS快速转发也同时关闭。

有关IP快速转发的详细介绍请参见“三层技术-IP业务配置指导”中的“快速转发”。

 

表1-15 配置MPLS快速转发

操作

命令

说明

进入系统视图

system-view

-

进入相应的接口视图

interface interface-type interface-number

-

允许接口在入方向或者出方向进行快速转发

ip fast-forwarding [ inbound | outbound ]

可选

缺省情况下,允许接口在出入两个方向都进行快速转发

 

1.7.2  配置MPLS MTU

MPLS标签栈位于链路层报头和网络层报头之间。在MPLS转发过程中,虽然网络层报文长度小于接口的MTU,但是增加MPLS标签后,报文长度可能超过链路层允许发送的范围,从而导致报文无法正常转发。

为此,设备上定义了MPLS MTU,MPLS转发时将增加标签后的报文长度与MPLS MTU比较。报文长度大于MPLS MTU时:

·     如果允许分片,则LSR移除报文的标签栈,对IP报文进行分片(分片大小为MPLS MTU值减去标签栈的长度),分片后将被移除的标签栈添加到每个分片上,再进行转发;

·     如果不允许分片,则直接丢弃报文。

表1-16 配置MPLS MTU

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口的MPLS MTU

mpls mtu value

必选

缺省情况下,未配置接口的MPLS MTU值

 

·     如果MPLS报文内封装的是L2VPN报文,则即使报文长度大于MPLS MTU,也会发送该报文,由接口的实际发送能力决定报文能否发送成功。

·     MPLS报文内封装的是IPv6报文时,如果报文长度大于MPLS MTU,则丢弃该报文。同时,将报文转发接口的MPLS MTU值通过ICMPv6的“Packet Too Big”消息发给源端主机。

·     配置的MPLS MTU值大于接口MTU时,有可能导致数据转发失败。如果未配置接口的MPLS MTU值,则根据接口的MTU值进行分片,分片的长度不包含MPLS标签栈长度,为分片添加MPLS标签栈后MPLS报文的长度可能会大于接口MTU的值。

 

1.7.3  配置LSR节点对TTL的处理方式

LSR节点对TTL域的处理方式分为以下两种:

·     使能TTL复制功能:LSR为报文压入标签时,将原报文中的TTL值(原IP报文中的IP TTL值或原标签报文栈顶标签的TTL值)复制到新增加的标签的TTL域;LSR弹出报文的栈顶标签时,将栈顶标签的TTL值复制回原报文的TTL域。使用这种方式时,报文沿着LSP传输的过程中,TTL逐跳递减,Tracert的结果将反映报文实际经过的路径。

图1-10 使能IP TTL复制功能时的处理过程

 

·     未使能TTL复制功能:LSR为报文压入标签时,不会将原报文中的TTL值复制到新增加的标签的TTL域,新增标签的TTL取值为255;LSR弹出报文的栈顶标签时,也不会将栈顶标签的TTL值复制回原报文的TTL域。如果弹出标签的LSR是Egress节点,则该LSR会将原报文的TTL值减一;否则,该LSR不会改变原报文的TTL值。使用这种方式时,Tracert的结果不包括MPLS骨干网络中的每一跳,就好像Ingress路由器与Egress路由器是直连的,从而隐藏MPLS骨干网络的结构。

图1-11 未使能IP TTL复制功能时的处理过程

 

表1-17 配置MPLS的IP TTL复制功能

操作

命令

说明

进入系统视图

system-view

-

进入MPLS视图

mpls

-

使能MPLS的IP TTL复制功能

ttl propagate { public | vpn }

可选

缺省情况下,只对公网报文使能IP TTL复制功能

 

·     建议在LSP经过的LSR上配置相同的TTL域处理方式。

·     如果配置ttl propagate vpn命令使能对VPN报文的TTL复制功能,则建议在所有相关PE(Provider Edge,服务提供商网络边缘)设备上都使能此功能,以保证不同的PE上执行Tracert得到的结果一致。PE的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。

 

1.7.4  配置MPLS的TTL超时消息发送功能

使能MPLS的TTL超时消息发送功能后,当LSR收到TTL为1的含有标签的MPLS报文时,LSR会生成ICMP的TTL超时消息。

LSR将TTL超时消息回应给报文发送者的方式有两种:

·     如果LSR上存在到达报文发送者的路由,则可以通过IP路由,直接向发送者回应TTL超时消息。

·     如果LSR上不存在到达报文发送者的路由,则需要沿着发送MPLS报文的LSP转发TTL超时消息,由Egress节点将该消息返回给发送者。

通常情况下,收到的MPLS报文只带一层标签时,LSR采用第一种方式回应TTL超时消息;收到的MPLS报文包含多层标签时,LSR采用第二种方式回应TTL超时消息。

但是,在MPLS VPN中,ASBR(Autonomous System Boundary Router,自治系统边界路由器)、HoVPN组网应用中的SPE(Superstratum PE or Sevice Provider-end PE,上层PE或运营商侧PE)和嵌套VPN应用中的运营商骨干网PE,接收到的承载VPN报文的MPLS报文可能只有一层标签,此时,这些设备上并不存在到达报文发送者的路由,无法采用第一种方法回应TTL超时消息。通过配置undo ttl expiration pop命令,可以保证只带一层标签的MPLS报文TTL超时时,使用LSP路径转发TTL超时消息,由Egress节点将该消息返回给发送者。

有关HoVPN和嵌套VPN的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。

 

表1-18 配置MPLS的TTL超时消息发送功能

操作

命令

说明

进入系统视图

system-view

-

进入MPLS视图

mpls

-

使能MPLS的TTL超时消息发送功能

ttl expiration enable

可选

缺省情况下,MPLS的TTL超时消息发送功能处于开启状态

配置仅有一层标签的MPLS报文TTL超时时,沿本地IP路由返回ICMP报文

ttl expiration pop

可选

缺省情况下,对于一层标签的MPLS报文,TTL超时时沿本地IP路由返回ICMP差错报文

多层标签MPLS报文不受该命令控制,当MPLS报文的TTL超时时,始终沿LSP路径转发ICMP差错报文

 

1.7.5  配置LDP GR

1. LDP GR简介

LDP GR(Graceful Restart,平滑重启)利用MPLS转发平面与控制平面分离的特点,在信令协议或控制平面出现异常时,保留标签转发表项,LSR依然根据该表项转发报文,从而保证数据传输不会中断。

参与LDP GR过程的设备分为以下两种:

·     GR restarter:GR重启路由器,指由管理员手工或设备故障触发而重启协议的设备,它必须具备GR能力。

·     GR helper:GR restarter的邻居,与重启的GR restarter保持邻居关系,并协助其恢复重启前的转发状态,它也必须具备GR能力。

图1-12 LDP GR

 

图1-12所示,LDP对等体在建立LDP会话时协商GR能力,只有双方都支持LDP GR时,建立的LDP会话才支持LDP GR。

LDP GR的工作过程如下:

(1)     GR restarter发生重启后,GR restarter启动转发状态保持定时器,保留所有MPLS转发表项,并将其标记为stale。

(2)     GR helper检测到与GR restarter之间的会话down后,将所有通过此会话学习到的FEC-Label绑定标记为stale,并在FT(Fault Tolerance,容错)重连时间内保留这些FEC-Label绑定。FT重连时间的取值为对端GR restarter通告的重连时间和本地配置的LDP邻居存活定时器中的较小者。

(3)     如果在FT重连时间内,LDP会话重建失败,则Helper删除这些标签为stale的FEC-Label绑定。

(4)     如果LDP会话建立成功,则GR restarter和GR helper在LDP恢复时间内,通过新建立的LDP会话交互标签映射,更新标签转发表,清除转发表项的stale标签。LDP恢复时间的取值为本地配置的LDP恢复时间和对端GR restarter设备配置的LDP恢复时间中的较小者

(5)     LDP恢复定时器超时后,GR helper删除标记仍为stale的FEC-标签映射。

(6)     MPLS转发状态保持定时器超时后,GR restarter删除标记仍为stale的标签转发表项。

2. 配置准备

在配置LDP GR之前,需完成以下任务:

作为GR restarter的设备上和GR helper的设备均配置MPLS LDP能力。

设备既可以作为GR restarter,又可以作为GR helper,设备的角色由该设备在LDP GR过程中的作用决定。

 

3. 配置LDP GR

表1-19 配置LDP GR

操作

命令

说明

进入系统视图

system-view

-

进入MPLS-LDP视图

mpls ldp

-

使能MPLS LDP协议的GR能力

graceful-restart

必选

缺省情况下,MPLS LDP协议的GR能力处于关闭状态

配置FT重连定时器的值

graceful-restart timer reconnect timer

可选

缺省情况下,FT重连定时器的值为300秒

配置LDP邻居存活定时器的值

graceful-restart timer neighbor-liveness timer

可选

缺省情况下,LDP邻居存活定时器的值为120秒

配置LDP恢复定时器的值

graceful-restart timer recovery timer

可选

缺省情况下,LDP恢复定时器的值为300秒

 

(2)     平滑重启MPLS LDP

通过平滑重启MPLS LDP功能,可以测试LDP GR功能是否生效,即测试在LDP协议重启过程中报文转发路径是否改变,是否可以不间断地转发数据。

表1-20 平滑重启MPLS LDP

操作

命令

说明

平滑重启MPLS LDP

graceful-restart mpls ldp

必选

请在用户视图下执行此命令

 

正常情况下,请不要执行此操作。

 

1.8  配置MPLS统计功能

1.8.1  配置MPLS统计功能

只有配置获取LSP统计数据的时间间隔后,用户才能通过显示命令查看MPLS的统计信息。

表1-21 配置MPLS统计功能

操作

命令

说明

进入系统视图

system-view

-

进入MPLS视图

mpls

-

配置获取LSP统计数据的时间间隔

statistics interval interval-time

必选

缺省情况下,获取LSP统计数据的时间间隔为0秒,即不获取统计信息

 

1.9  检测LSP

在MPLS中,LSP转发数据失败时,负责建立LSP的MPLS控制平面无法检测或不能及时发现这种错误,这会给网络维护带来困难。为了及时发现LSP错误,并定位失效节点,设备上提供了如下几种机制:

·     MPLS LSP Ping功能

·     MPLS LSP Tracert功能

1.9.1  MPLS LSP Ping功能

MPLS LSP Ping功能用来对LSP的可达性进行检测。采取方法是:在Ingress节点为MPLS Echo Request报文压入待检测FEC对应的标签;经过LSP将该报文转发到Egress节点;Egress节点处理该报文后,回应MPLS Echo Reply报文;如果Ingress节点接收到表示成功的MPLS Echo Reply报文,则说明该LSP可以用于数据转发;如果Ingress节点接收到带有错误码的MPLS Echo Reply报文,则说明该LSP存在故障。

表1-22 MPLS LSP Ping功能

操作

命令

说明

通过MPLS LSP Ping检测MPLS LSP的可达性

ping lsp [ -a source-ip | -c count | -exp exp-value | -h ttl-value | -m wait-time | -r reply-mode | -s packet-size | -t time-out | -v ] * ipv4 dest-addr mask-length [ destination-ip-addr-header ]

必选

可在任意视图下执行本命令

 

1.9.2  MPLS LSP Tracert功能

MPLS LSP Tracert用来对LSP的错误进行定位。MPLS LSP Tracert通过沿着LSP连续发送TTL从1到某个值的MPLS Echo Request报文,让LSP路径上的每一跳收到该报文后,返回TTL超时的MPLS Echo Reply报文。这样,Ingress节点可以收集到LSP路径上每一跳的信息,从而定位出故障节点。同时,MPLS LSP Tracert还可用于收集整条LSP上每个节点的重要信息,如分配的标签等。

表1-23 MPLS LSP Tracert功能

操作

命令

说明

通过MPLS LSP Tracert对MPLS LSP的错误进行定位

tracert lsp [ -a source-ip | -exp exp-value | -h ttl-value | -r reply-mode |-t time-out ] * ipv4 dest-addr mask-length [ destination-ip-addr-header ]

必选

可在任意视图下执行本命令

1.10  MPLS的Trap功能

开启MPLS模块的Trap功能后,该模块会生成级别为notifications的Trap报文,用于报告该模块的重要事件。生成的Trap报文将被发送到设备的信息中心,通过设置信息中心的参数,最终决定Trap报文的输出规则(即是否允许输出以及输出方向)。有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。

表1-24 开启MPLS的Trap功能

操作

命令

说明

进入系统视图

system-view

-

开启MPLS的Trap功能

snmp-agent trap enable mpls

必选

缺省情况下,MPLS的Trap功能处于关闭状态

 

snmp-agent trap enable mpls命令的详细介绍请参见“网络管理和监控命令参考/SNMP”中的snmp-agent trap enable命令。

 

1.11  MPLS显示和维护

1.11.1  显示MPLS运行状态

在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS的运行情况,用户可以通过查看显示信息验证配置的效果。

表1-25 MPLS运行状态显示

操作

命令

显示使能了MPLS能力接口的MPLS相关信息

display mpls interface [ interface-type interface-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示ILM表项信息

display mpls ilm [ label ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示MPLS标签的使用状态

display mpls label { label-value1 [ to label-value2 ] | all } [ | { begin | exclude | include } regular-expression ]

显示LSP信息

display mpls lsp [ incoming-interface interface-type interface-number ] [ outgoing-interface interface-type interface-number ] [ in-label in-label-value ] [ out-label out-label-value ] [ asbr | [ vpn-instance vpn-instance-name ] [ protocol { bgp | bgp-ipv6 | crldp | ldp | rsvp-te | static | static-cr } ] ] [ egress | ingress | transit ] [ { exclude | include } dest-addr mask-length ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示LSP统计信息

display mpls lsp statistics [ | { begin | exclude | include } regular-expression ]

显示NHLFE表的信息

display mpls nhlfe [ token ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示NHLFE表项的使用情况

display mpls nhlfe reflist token [ | { begin | exclude | include } regular-expression ]

显示静态LSP信息

display mpls static-lsp [ lsp-name lsp-name ] [ { exclude | include } dest-addr mask-length ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示路由的LSP相关信息

display mpls route-state [ vpn-instance vpn-instance-name ] [ dest-addr mask-length ] [ | { begin | exclude | include } regular-expression ]

根据LSP显示MPLS统计信息

display mpls statistics lsp { index | all | name lsp-name } [ | { begin | exclude | include } regular-expression ]

根据使能MPLS能力的接口显示MPLS统计信息

display mpls statistics interface { interface-type interface-number | all } [ | { begin | exclude | include } regular-expression ]

显示MPLS快速转发表的信息

display mpls fast-forwarding cache [ verbose ] [ | { begin | exclude | include } regular-expression ]

 

1.11.2  显示MPLS LDP运行状态

在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS LDP的运行情况,用户可以通过查看显示信息验证配置的效果。

表1-26 显示MPLS LDP运行状态

操作

命令

显示LDP信息

display mpls ldp [ all [ verbose ] [ | { begin | exclude | include } regular-expression ] ]

显示指定FEC的标签通告信息

display mpls ldp fec [ vpn-instance vpn-instance-name ] dest-addr mask-length [ | { begin | exclude | include } regular-expression ]

显示使能了LDP能力接口的LDP相关信息

display mpls ldp interface [ all [ verbose ] | [ vpn-instance vpn-instance-name ] [ interface-type interface-number | verbose ] ] [ | { begin | exclude | include } regular-expression ]

显示对等体的信息

display mpls ldp peer [ all [ verbose ] | [ vpn-instance vpn-instance-name ] [ peer-id | verbose ] ] [ | { begin | exclude | include } regular-expression ]

显示远端对等体信息

display mpls ldp remote-peer [ remote-name remote-peer-name ] [ | { begin | exclude | include } regular-expression ]

显示对等体间会话信息

display mpls ldp session [ all [ verbose ] | [ vpn-instance vpn-instance-name ] [ peer-id | verbose ] ] [ | { begin | exclude | include } regular-expression ]

显示所有LDP会话的统计信息

display mpls ldp session all statistics [ | { begin | exclude | include } regular-expression ]

显示LDP创建的LSP相关信息

display mpls ldp lsp [ all | [ vpn-instance vpn-instance-name ] [ dest-addr mask-length ] ] [ | { begin | exclude | include } regular-expression ]

显示CR-LDP创建的CR-LSP信息

display mpls ldp cr-lsp [ lspid lsr-id lsp-id ] [ | { begin | exclude | include } regular-expression ]

 

以上显示命令中的vpn-instance vpn-instance-name参数用来显示指定LDP实例的信息。关于LDP实例的详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。

 

1.11.3  清除MPLS相关信息

在完成上述配置后,在用户视图下执行reset命令可以清除MPLS的相关信息。

表1-27 清除MPLS相关信息

操作

命令

清除MPLS接口统计信息

reset mpls statistics interface { interface-type interface-number | all }

清除LSP统计信息

reset mpls statistics lsp { index | all | name lsp-name }

清除MPLS快速转发表的信息

reset mpls fast-forwarding cache

 

1.12  MPLS配置举例

1.12.1  配置静态建立LSP

1. 组网需求

·     Router A、Router B和Router C均支持MPLS。

·     在Router A和Router C之间建立静态LSP,使11.1.1.0/24和21.1.1.0/24这两个网段中互访的报文能够通过MPLS进行传输。

·     检测Router A和Router C之间静态LSP的可达性。

图1-13 静态建立LSP组网图

 

2. 配置思路

·     手工指定静态LSP的标签时,需要遵循以下原则:一条LSP上,上游LSR出标签的值与下游LSR入标签的值相同。

·     LSP是一条单向路径,因此需要在数据传输的两个方向上分别配置一条静态LSP。

·     配置静态LSP时,只要求在Ingress节点上存在到达FEC目的地址的路由,Transit节点和Egress节点上不需要存在到达FEC目的地址的路由。因此,无需配置路由协议保证路由器之间路由可达,只需在Ingress节点上配置到达FEC目的地址的静态路由即可。

3. 配置步骤

(1)     配置各接口的IP地址

按照图1-13配置各接口的IP地址和掩码,包括Loopback接口,具体配置过程略。

(2)     在Ingress上配置到达FEC目的地址的静态路由

# 在Router A上配置到达21.1.1.0/24网段的静态路由。

<RouterA> system-view

[RouterA] ip route-static 21.1.1.0 24 10.1.1.2

# 在Router C上配置到达11.1.1.0/24网段的静态路由。

<RouterC> system-view

[RouterC] ip route-static 11.1.1.0 255.255.255.0 20.1.1.1

(3)     使能MPLS功能

# 配置Router A。

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls

[RouterA-mpls] quit

[RouterA] interface serial 2/0

[RouterA-Serial2/0] mpls

[RouterA-Serial2/0] quit

# 配置Router B。

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls

[RouterB-mpls] quit

[RouterB] interface serial 2/0

[RouterB-Serial2/0] mpls

[RouterB-Serial2/0] quit

[RouterB] interface serial 2/1

[RouterB-Serial2/1] mpls

[RouterB-Serial2/1] quit

# 配置Router C。

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls

[RouterC-mpls] quit

[RouterC] interface serial 2/0

[RouterC-Serial2/0] mpls

[RouterC-Serial2/0] quit

(4)     创建从Router A到Router C的静态LSP

# 配置Ingress Router A。

[RouterA] static-lsp ingress AtoC destination 21.1.1.0 24 nexthop 10.1.1.2 out-label 30

# 配置Transit Router B

[RouterB] static-lsp transit AtoC incoming-interface serial 2/0 in-label 30 nexthop 20.1.1.2 out-label 50

# 配置Egress Router C。

[RouterC] static-lsp egress AtoC incoming-interface serial 2/0 in-label 50

(5)     创建从Router C到Router A的静态LSP

# 配置Ingress Router C。

[RouterC] static-lsp ingress CtoA destination 11.1.1.0 24 nexthop 20.1.1.1 out-label 40

# 配置Transit Router B。

[RouterB] static-lsp transit CtoA incoming-interface serial 2/1 in-label 40 nexthop 10.1.1.1 out-label 70

# 配置Egress Router A。

[RouterA] static-lsp egress CtoA incoming-interface serial 2/0 in-label 70

(6)     检查配置结果

# 配置完成后,可以在各路由器上通过display mpls static-lsp命令查看静态LSP的信息。以Router A的显示信息为例:

[RouterA] display mpls static-lsp

total statics-lsp : 2

Name            FEC                I/O Label  I/O If                      State

AtoC            21.1.1.0/24        NULL/30    -/S2/0                      Up

CtoA            -/-                70/NULL    S2/0/-                      Up

# 在Router A上检测Router A到Router C静态LSP的可达性。

[RouterA] ping lsp -a 11.1.1.1 ipv4 21.1.1.0 24

 LSP Ping FEC: IPV4 PREFIX 21.1.1.0/24 : 100  data bytes, press CTRL_C to break

 Reply from 20.1.1.2: bytes=100 Sequence=1 time = 2 ms

 Reply from 20.1.1.2: bytes=100 Sequence=2 time = 2 ms

 Reply from 20.1.1.2: bytes=100 Sequence=3 time = 1 ms

 Reply from 20.1.1.2: bytes=100 Sequence=4 time = 2 ms

 Reply from 20.1.1.2: bytes=100 Sequence=5 time = 2 ms

 

 --- FEC: IPV4 PREFIX 21.1.1.0/24 ping statistics ---

 5 packet(s) transmitted

 5 packet(s) received

 0.00% packet loss

 round-trip min/avg/max = 1/1/2 ms

# 在Router C上检测Router C到Router A静态LSP的可达性。

[RouterC] ping lsp -a 21.1.1.1 ipv4 11.1.1.0 24

 LSP Ping FEC: IPV4 PREFIX 11.1.1.0/24 : 100  data bytes, press CTRL_C to break

 Reply from 10.1.1.1: bytes=100 Sequence=1 time = 3 ms

 Reply from 10.1.1.1: bytes=100 Sequence=2 time = 2 ms

 Reply from 10.1.1.1: bytes=100 Sequence=3 time = 2 ms

 Reply from 10.1.1.1: bytes=100 Sequence=4 time = 2 ms

 Reply from 10.1.1.1: bytes=100 Sequence=5 time = 2 ms

 

 --- FEC: IPV4 PREFIX 11.1.1.0/24 ping statistics ---

 5 packet(s) transmitted

 5 packet(s) received

 0.00% packet loss

 round-trip min/avg/max = 2/2/3 ms

1.12.2  配置利用LDP动态建立LSP

1. 组网需求

·     Router A、Router B和Router C均支持MPLS。

·     在Router A和Router C之间使用LDP动态建立LSP,使11.1.1.0/24和21.1.1.0/24这两个网段中互访的报文能够通过MPLS进行传输。

·     检测Router A和Router C之间LSP的可达性。

图1-14 配置动态建立LSP组网图

 

2. 配置思路

·     利用LDP动态建立LSP时,不需要手工为LSP指定标签,只要在LSR上启动LDP协议,即可动态分配标签并建立LSP。

·     LDP根据路由信息动态分配标签,因此,利用LDP动态建立LSP时,需要配置路由协议,使得各路由器之间路由可达。本例中,采用的路由协议为OSPF。

3. 配置步骤

(1)     配置各接口的IP地址

按照图1-14配置各接口IP地址和掩码,包括Loopback接口,具体配置过程略。

(2)     配置OSPF,以保证各路由器之间路由可达

# 配置Router A。

<RouterA> system-view

[RouterA] ospf

[RouterA-ospf-1] area 0

[RouterA-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0

[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[RouterA-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255

[RouterA-ospf-1-area-0.0.0.0] quit

[RouterA-ospf-1] quit

# 配置Router B。

<RouterB> system-view

[RouterB] ospf

[RouterB-ospf-1] area 0

[RouterB-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0

[RouterB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[RouterB-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255

[RouterB-ospf-1-area-0.0.0.0] quit

[RouterB-ospf-1] quit

# 配置Router C。

<RouterC> system-view

[RouterC] ospf

[RouterC-ospf-1] area 0

[RouterC-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0

[RouterC-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255

[RouterC-ospf-1-area-0.0.0.0] network 21.1.1.0 0.0.0.255

[RouterC-ospf-1-area-0.0.0.0] quit

[RouterC-ospf-1] quit

# 配置完成后,在各路由器上执行display ip routing-table命令,可以看到相互之间都学到了到对方的主机路由。以Router A为例:

[RouterA] display ip routing-table

Routing Tables: Public

         Destinations : 11        Routes : 11

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

1.1.1.9/32          Direct 0    0            127.0.0.1       InLoop0

2.2.2.9/32          OSPF   10   1            10.1.1.2        S2/0

3.3.3.9/32          OSPF   10   2            10.1.1.2        S2/0

10.1.1.0/24         Direct 0    0            10.1.1.1        S2/0

10.1.1.1/32         Direct 0    0            127.0.0.1       InLoop0

11.1.1.0/24         Direct 0    0            11.1.1.1        Eth1/1

11.1.1.1/32         Direct 0    0            127.0.0.1       InLoop0

20.1.1.0/24         OSPF   10   2            10.1.1.2        S2/0

21.1.1.0/24         OSPF   10   3            10.1.1.2        S2/0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

(3)     使能MPLS和MPLS LDP功能

# 配置Router A。

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls

[RouterA-mpls] quit

[RouterA] mpls ldp

[RouterA-mpls-ldp] quit

[RouterA] interface serial 2/0

[RouterA-Serial2/0] mpls

[RouterA-Serial2/0] mpls ldp

[RouterA-Serial2/0] quit

# 配置Router B。

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls

[RouterB-mpls] quit

[RouterB] mpls ldp

[RouterB-mpls-ldp] quit

[RouterB] interface serial 2/0

[RouterB-Serial2/0] mpls

[RouterB-Serial2/0] mpls ldp

[RouterB-Serial2/0] quit

[RouterB] interface serial 2/1

[RouterB-Serial2/1] mpls

[RouterB-Serial2/1] mpls ldp

[RouterB-Serial2/1] quit

# 配置Router C。

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls

[RouterC-mpls] quit

[RouterC] mpls ldp

[RouterC-mpls-ldp] quit

[RouterC] interface serial 2/0

[RouterC-Serial2/0] mpls

[RouterC-Serial2/0] mpls ldp

[RouterC-Serial2/0] quit

# 完成上述配置后,Router A和Router B、Router B和Router C之间的本地LDP会话建立成功。在各路由器上执行display mpls ldp session命令,可以看到LDP会话的建立情况;执行display mpls ldp peer命令,可以看到LDP的对等体情况。以Router A为例:

[RouterA] display mpls ldp session

               LDP Session(s) in Public Network

 Total number of sessions: 1

 ----------------------------------------------------------------

 Peer-ID       Status        LAM  SsnRole  FT   MD5  KA-Sent/Rcv

 ----------------------------------------------------------------

 2.2.2.9:0     Operational   DU   Passive  Off  Off  5/5

 ----------------------------------------------------------------

 LAM : Label Advertisement Mode         FT  : Fault Tolerance 

[RouterA] display mpls ldp peer

         LDP Peer Information in Public network

 Total number of peers: 1

-----------------------------------------------------------------

 Peer-ID                Transport-Address  Discovery-Source

 ----------------------------------------------------------------

 2.2.2.9:0              2.2.2.9            Serial2/0

 ----------------------------------------------------------------

(4)     配置LSP的触发建立策略为所有静态路由和IGP路由项都触发LDP建立LSP

# 配置Router A。

[RouterA] mpls

[RouterA-mpls] lsp-trigger all

[RouterA-mpls] quit

# 配置Router B。

[RouterB] mpls

[RouterB-mpls] lsp-trigger all

[RouterB-mpls] quit

# 配置Router C。

[RouterC] mpls

[RouterC-mpls] lsp-trigger all

[RouterC-mpls] quit

(5)     检查配置结果

# 配置完成后,在各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。以Router A为例。

[RouterA] display mpls ldp lsp

                              LDP LSP Information

 -------------------------------------------------------------------

 SN  DestAddress/Mask   In/OutLabel   Next-Hop     In/Out-Interface

 ------------------------------------------------------------------

 1    1.1.1.9/32         3/NULL       127.0.0.1     -------/InLoop0

 2    2.2.2.9/32         NULL/3       10.1.1.2      -------/S2/0

 3    3.3.3.9/32         NULL/1024    10.1.1.2      -------/S2/0

 4    11.1.1.0/24        3/NULL       0.0.0.0       -------/Eth1/1

 5    20.1.1.0/24        NULL/3       10.1.1.2      -------/S2/0

 6    21.1.1.0/24        NULL/1027    10.1.1.2      -------/S2/0

 -------------------------------------------------------------------

 A '*' before an LSP means the LSP is not established

 A '*' before a Label means the USCB or DSCB is stale

# 在Router A上检测到达21.1.1.0/24网段的LDP LSP的可达性。

[RouterA] ping lsp ipv4 21.1.1.0 24

 LSP Ping FEC: IPV4 PREFIX 21.1.1.0/24 : 100  data bytes, press CTRL_C to break

 Reply from 20.1.1.2: bytes=100 Sequence=1 time = 3 ms

 Reply from 20.1.1.2: bytes=100 Sequence=2 time = 2 ms

 Reply from 20.1.1.2: bytes=100 Sequence=3 time = 1 ms

 Reply from 20.1.1.2: bytes=100 Sequence=4 time = 1 ms

 Reply from 20.1.1.2: bytes=100 Sequence=5 time = 3 ms

 

 --- FEC: IPV4 PREFIX 21.1.1.0/24 ping statistics ---

 5 packet(s) transmitted

 5 packet(s) received

 0.00% packet loss

 round-trip min/avg/max = 1/2/3 ms

# 在Router C上检测到达11.1.1.0/24网段的LDP LSP的可达性。

[RouterC] ping lsp ipv4 11.1.1.0 24

 LSP Ping FEC: IPV4 PREFIX 11.1.1.0/24 : 100  data bytes, press CTRL_C to break

 Reply from 10.1.1.1: bytes=100 Sequence=1 time = 2 ms

 Reply from 10.1.1.1: bytes=100 Sequence=2 time = 2 ms

 Reply from 10.1.1.1: bytes=100 Sequence=3 time = 2 ms

 Reply from 10.1.1.1: bytes=100 Sequence=4 time = 3 ms

 Reply from 10.1.1.1: bytes=100 Sequence=5 time = 2 ms

 

 --- FEC: IPV4 PREFIX 11.1.1.0/24 ping statistics ---

 5 packet(s) transmitted

 5 packet(s) received

 0.00% packet loss

 round-trip min/avg/max = 2/2/3 ms

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!