• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

09-MPLS配置指导

目录

03-LDP配置

本章节下载 03-LDP配置  (715.9 KB)

03-LDP配置


1 LDP

1.1  LDP简介

LDP(Label Distribution Protocol,标签分发协议)用来动态建立LSP。通过LDP,LSR可以把网络层的IP路由信息映射到MPLS的标签交换路径上。

1.1.1  LDP基本概念

1. LDP会话

LDP会话是指建立在TCP连接之上的LDP协议连接,用于在LSR之间交换FEC—标签映射(FEC-Label Mapping)。

2. LDP对等体

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

3. 标签空间与LDP标识符

标签空间是指标签的取值范围。有以下几种类型的标签空间:

·     每接口标签空间(per-interface label space):每个接口使用一个独立的标签空间。不同接口使用的标签空间中包括的标签值可以相同。

·     每平台标签空间(per-platform label space):整个LSR统一使用一个标签空间。

目前,设备上只支持每平台标签空间。

LDP ID(LDP Identifier,LDP标识符)用于标识特定LSR的标签空间,为一个六字节的数值,格式如下:

<LSR ID>:<标签空间序号>

其中,LSR ID占四字节;标签空间序号占两字节,取值为0时表示每平台标签空间,取值为非0值时表示某个接口使用的标签空间。

LDP协议运行在IPv4网络和运行在IPv6网络中使用相同格式的LDP ID,且要求全局唯一。

4. FEC和FEC—标签映射

FEC(Forwarding Equivalence Class,转发等价类)是MPLS中的一个重要概念。MPLS将具有相同特征(目的地相同或具有相同服务等级等)的报文归为一类,称为FEC。属于相同FEC的报文在MPLS网络中将获得完全相同的处理。

LDP支持根据目的IP地址和PW(Pseudowire,伪线)划分FEC。本文只介绍根据目的IP地址划分FEC。根据PW划分FEC的详细介绍,请参见“MPLS配置指导”中的“MPLS L2VPN”和“VPLS”。

FEC—标签映射也称为FEC—标签绑定(FEC-Label Binding),是本地LSR设备上标签与FEC的对应关系。LDP通过Label Mapping消息将FEC—标签映射通告给对等体。

1.1.2  LDP消息类型

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

·     发现(Discovery)消息:用于通告和维护网络中的LSR,例如Hello消息。

·     会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,例如用来协商会话参数的Initialization消息和用于维护会话的Keepalive消息。

·     通告(Advertisement)消息:用于创建、改变和删除“FEC—标签”映射关系,例如用来通告标签映射的Label Mapping消息。

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

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

1.1.3  LDP工作过程

LDP协议既可在IPv4网络或IPv6网络中运行,也可在IPv4和IPv6并存的网络中运行,LDP在IPv4和IPv6网络中的工作过程基本相同。

LDP工作过程主要包括以下几个阶段:

1. 对等体发现与维护

使能了LDP能力的LSR周期性地发送Hello消息,通告自己的存在。通过Hello消息,LSR可以自动发现它周围的LSR邻居,并与其建立Hello邻接关系。

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

·     基本发现机制:用于发现本地直连的LSR邻居,即通过链路层直接相连的LSR。在这种方式下,LSR周期性地向组播地址224.0.0.2(IPv4网络)或FF02:0:0:0:0:0:0:2(IPv6网络)发送LDP的Link Hello消息,以便链路层直接相连的LSR发现此LSR,在IPv4和IPv6共存的网络中,LSR会向直连LSR同时发送IPv4 Link Hello消息和IPv6 Link Hello消息,并与邻接LSR同时保持IPv4 Link Hello邻接关系和IPv6 Link Hello邻接关系。

·     扩展发现机制:可用于发现远端非直连的LSR邻居,即不通过链路层直接相连的LSR。这种方式下,LSR周期性地向指定的IP地址发送LDP的Targeted Hello消息,以便指定IP地址对应的LSR发现此LSR。如果指定的地址为IPv4地址,则发送IPv4 Targeted Hello消息;如果指定的地址为IPv6地址,则发送IPv6 Targeted Hello消息。扩展发现机制主要应用于LDP会话保护、LDP over MPLS TE、MPLS L2VPN和VPLS。MPLS L2VPN和VPLS的详细介绍请参见“MPLS配置指导”中的“MPLS L2VPN”和“VPLS”。

LSR可以与直连的邻居同时建立Link Hello和Targeted Hello两种邻接关系。

LDP对等体之间通过周期性地发送Hello消息来维护Hello邻接关系。如果Hello保持定时器超时时仍没有收到新的Hello消息,则删除Hello邻接关系。

2. 会话建立与维护

通过交互Hello消息发现LSR邻居后,LSR开始与其建立会话。这一过程可分为两步:

(1)     建立传输层连接,即在LSR之间建立TCP连接,在IPv4和IPv6共存的网络中LSR会优先建立IPv6 TCP连接,如果建立IPv6 TCP连接失败,则会尝试建立IPv4 TCP连接;

(2)     通过交换会话初始化消息对LSR之间的会话进行初始化,协商会话中涉及的各种参数,如LDP版本、标签通告方式、Keepalive保持时间等。如果会话参数协商通过,则LSR之间成功建立LDP会话。

会话建立后,LDP对等体之间通过发送LDP PDU(LDP PDU中携带一个或多个LDP消息)来维护这个会话。如果在Keepalive报文发送时间间隔内,LDP对等体之间没有需要交互的信息,则LSR发送Keepalive消息给LDP对等体,以便维持LDP会话。如果Keepalive保持定时器超时时,没有收到任何LDP PDU,LSR将关闭TCP连接,结束LDP会话。

一个LDP会话上可能存在多个Hello邻接关系。当LDP会话上的最后一个Hello邻接关系被删除后,LSR将发送通知消息,结束该LDP会话。

相邻LSR之间只会建立一个LDP会话,但可在此会话中同时交互IPv4 FEC—标签映射和IPv6 FEC—标签映射。

LSR还可以通过发送Shutdown消息,通知它的LDP对等体结束LDP会话。

3. LSP建立

利用LDP动态建立LSP的过程如图1-1所示。LSR根据IP路由表项中的目的IP地址划分FEC,为不同的FEC分配不同的标签,并将FEC—标签映射通告给对端LSR;对端LSR根据接收到的FEC—标签映射及本地为该FEC分配的标签建立标签转发表项。从Ingress到Egress的所有LSR都为该FEC建立对应的标签转发表项后,就成功地建立了用于转发属于该FEC报文的LSP。

图1-1 动态LSP建立过程

1.1.4  LDP的标签分发和管理

1. 标签通告方式(Label Advertisement Mode

图1-2 标签通告方式

 

图1-2所示,根据建立了会话的一对LSR中哪个LSR负责发起标签映射过程,标签通告方式分为:

·     DU(Downstream Unsolicited,下游自主方式):下游LSR主动将FEC—标签映射通告给上游LSR,无需等待上游LSR的标签请求。在DU方式中,下游LSR负责发起标签映射过程。

·     DoD(Downstream On Demand,下游按需方式):上游LSR请求下游LSR为FEC分配标签,下游LSR收到请求后,才会将该FEC的FEC—标签映射通告给请求标签的上游LSR。在DoD方式中,上游LSR负责发起标签映射过程。

目前,设备只支持DU标签通告方式。

提示

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

 

2. 标签分发控制方式(Label Distribution Control Mode

根据通告FEC—标签映射前是否要求收到下游的FEC—标签映射,标签分发控制方式分为独立标签分发控制方式(Independent)和有序标签分发控制方式(Ordered)。

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

图1-3 独立标签分发控制方式

 

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

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

根据LSR是否保持收到的、但暂时未使用的FEC—标签映射,标签保持方式分为:

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

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

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

1.1.5  LDP GR

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

图1-4 LDP GR

 

图1-4所示,参与LDP GR过程的设备分为以下两种:

·     GR restarter:GR重启的LSR,指由管理员手工触发或控制平面异常而重启协议的设备,它必须具备GR能力。

·     GR helper:GR restarter的邻居LSR,与重启的GR restarter保持邻居关系,并协助其恢复重启前的转发状态。

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

图1-5 LDP GR工作过程示意图

 

图1-5所示,LDP GR的工作过程为:

(1)     LSR之间建立LDP会话时,LSR在发送的Initialization消息中携带FT(Fault Tolerance,容错)会话TLV,且L标记位置为1,标识它们支持LDP GR。

(2)     GR restarter进行协议重启时,启动MPLS转发状态定时器,并将标签转发表项置为Stale状态。GR helper发现与GR restarter之间的LDP会话down后,将通过该LDP会话接收的FEC—标签映射置为Stale状态,并启动重连定时器。

(3)     GR restarter协议重启后,重新建立与GR helper的LDP会话。如果在重连定时器超时前,没有建立LDP会话,则GR helper删除标记为Stale的FEC—标签映射及对应的标签转发表项。如果在重连定时器超时前,重新建立LDP会话,GR restarter将转发状态保持定时器的剩余时间作为恢复定时器时间值通告给GR helper。

(4)     GR restarter和GR helper之间重新建立LDP会话后,GR helper启动LDP恢复定时器。

(5)     GR restarter和GR helper在新建立的LDP会话上交互标签映射,更新标签转发表。GR restarter接收到标签映射后,与标签转发表进行比较:如果标签转发表中存在与标签映射一致的Stale表项,则删除该表项的Stale标记;否则,按照正常的LDP处理流程,添加新的标签转发表项。GR helper接收到标签映射后,与本地保存的FEC—标签映射进行比较:如果存在一致的标签映射,则删除该FEC—标签映射的Stale标记;否则,按照正常的LDP处理流程,添加新的FEC—标签映射及对应的标签转发表项。

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

(7)     LDP恢复定时器超时后,GR helper删除标记为Stale的FEC—标签映射。

说明

GR restarter在LDP会话协商时,将本地配置的GR重连超时时间和GR转发状态保持定时器的剩余时间发送给GR helper,GR helper分别将其作为重连定时器的值和LDP恢复定时器的值。

 

1.1.6  LDP NSR

LDP NSR(Nonstop Routing,不间断路由)是一种通过在LDP协议主备进程之间备份必要的协议状态和数据(如LDP会话信息和LSP信息),使得LDP协议的主进程中断时,备份进程能够无缝地接管主进程的工作,从而确保对等体感知不到LDP协议中断,保证LDP会话保持Operational状态,并保证转发不会中断的技术。

导致LDP主进程中断的事件包括以下几种:

·     LDP主进程重启

·     LDP主进程所在的主控板发生故障

·     LDP主进程所在的主控板进行ISSU(In-Service Software Upgrade,不中断业务升级)

·     进程分布优化为LDP进程决策出的位置不同于当前运行的位置而进行进程主备倒换

LDP NSR与LDP GR具有如下区别,请根据实际情况选择合适的方式确保数据转发不中断:

·     对设备要求不同:LDP协议的主进程和备进程运行在不同的主控板上,因此要运行LDP NSR功能,设备上必须有两个或两个以上的主控板。要运行LDP GR功能,设备上可以只有一个主控板。

·     对LDP对等体的要求不同:使用LDP NSR功能时,LDP对等体不会感知本地设备发生了LDP进程的异常重启或主备倒换等故障,不需要LDP对等体协助恢复MPLS转发信息。LDP GR要求LDP对等体能够识别本地设备的GR能力标识(即能处理Initialization消息中的GR相关扩展),并且在LDP会话中断恢复时,LDP对等体能够作为GR helper协助本地设备恢复MPLS转发信息。

1.1.7  LDP IGP同步

1. 基本工作机制

LDP基于IGP最优路由建立LSP,LDP和IGP不同步可能导致MPLS流量转发中断。LDP和IGP不同步包括如下情况:

·     某条链路up后,IGP通告并使用了这条链路,而此时这条链路上LDP LSP尚未建立;

·     当LDP会话down时,IGP继续使用这条链路,而此时这条链路上的LDP LSP已经拆除;

·     标签分发控制方式为有序方式时,还没有收到下游设备通告的标签映射,尚未建立LDP LSP,IGP就已经使用该链路。

启用LDP IGP同步功能后,只有LDP在某条链路上收敛,IGP才会为这条链路通告正常的开销值,否则通告链路开销的最大值,使得这条链路在IGP拓扑中可见,但是在其它链路可用的情况下,IGP不会将该链路选为最优路由,从而确保设备收到MPLS报文时,不会因为最优路由上的LDP LSP没有建立而丢弃MPLS报文。

同时满足如下条件时,设备认为LDP在某条链路上已收敛:

·     在该链路上本地设备至少与一个对等体建立了LDP会话,且该LDP会话已进入operational状态。

·     在该链路上本地设备至少向一个对等体发送完标签映射。

2. LDP收敛后的延迟通知机制

缺省情况下,LDP在某条链路上收敛后立即通知IGP,以便IGP发布该链路的正常开销值。但是,在某些情况下,LDP收敛后立即通知IGP,可能会导致MPLS流量转发中断,例如:

·     对等体的标签分发控制方式为有序方式时,LDP会话进入operational状态后,设备需要等待下游的标签映射。如果尚未收到下游的标签映射就向IGP通知LDP收敛,则可能导致MPLS流量转发中断。

·     下游的标签映射比较多时,如果LDP收敛后立即通知IGP,则下游的标签映射可能尚未通告完成,导致MPLS流量转发中断。

在这些情况下,需要配置恰当的延迟通知时间,即LDP在某条链路上收敛后,等待延迟时间再通知IGP,以最大限度地缩短MPLS流量中断的时间。

3. LDP协议重启或倒换后的延迟通知机制

LDP协议重启或倒换后,需要等待一段时间LDP才会收敛。如果在协议重启或倒换后,LDP立即将当前所有的LDP IGP同步状态通知给IGP,在LDP收敛后再更新这些状态,则可能会导致IGP频繁地根据不同的同步状态进行处理,增加了IGP的处理开销。

LDP协议重启或倒换后的延迟通知机制可以用来解决上述问题。该机制提供了LDP进程级别的延迟通知时间,即在LDP协议重启或倒换的情况下,等待LDP恢复到重启或倒换前的收敛状态后,再批量通知LDP IGP同步状态,以减少IGP的处理开销。如果到达指定的最大延迟时间时,仍未恢复之前的收敛状态,则立即向IGP批量通告当前的LDP IGP同步状态。

1.1.8  LDP快速重路由

当MPLS网络中的链路或某台路由器发生故障时,需要通过故障链路或故障路由器传送才能到达目的地的MPLS报文将会丢弃,MPLS流量转发将会中断,直到LDP沿着新的路径建立新的LDP LSP,被中断的MPLS流量才能恢复正常的传送。

LDP快速重路由功能可用来缩短网络故障导致的MPLS流量中断时间。LDP快速重路由完全基于IP快速重路由实现,在IP快速重路由使能后,LDP快速重路由即自动使能。使能IP快速重路由有两种实现方式:

·     配置IGP协议自动计算备份下一跳

·     配置IGP协议通过路由策略指定备份下一跳

图1-6 LDP快速重路由功能示意图

 

图1-6所示,LSR A上使能IP快速重路由功能后,IGP将为路由自动计算或通过路由策略指定备份下一跳,建立主备两条路由,LDP基于主备路由建立主备两条LSP。主LSP正常工作时,MPLS流量通过主LSP转发;当主LSP出现故障时,MPLS流量快速切换到备份LSP,从而缩短网络故障导致的流量中断时间。

通过备份LSP转发流量的同时,IGP会根据变化后的网络拓扑重新计算最优路由,LDP也会基于该路由建立新的LSP。LDP LSP的建立在IGP路由收敛之后,如果LDP收敛之前IGP就采用新的路由,则将导致MPLS流量中断。因此在使用LDP快速重路由的情况下,建议同时使能LDP IGP同步功能,以减少故障发生后IGP重新收敛导致的流量中断的时间。

1.1.9  LDP over MPLS TE

图1-7所示,对于在核心层部署MPLS TE,而汇聚层或边缘层采用LDP作为标签分发协议的分层网络应用场景,如果想要部署一条穿越核心层的LDP LSP,只需要在MPLS TE隧道的头节点和尾节点的隧道接口上使能LDP功能,在隧道两端建立LDP会话,通过LDP会话通告Label Mapping消息,从而在MPLS TE隧道的头节点和尾节点之间建立LDP LSP,这条LDP LSP隧道承载于MPLS TE隧道之上,形成了分层LSP。有关MPLS TE隧道的详细信息,请参见“MPLS配置指导”中的“MPLS TE”。

图1-7 LDP over MPLS TE

 

1.1.10  协议规范

与MPLS相关的协议规范有:

·     RFC 5036:LDP Specification

·     draft-ietf-mpls-ldp-ipv6-09.txt

1.2  LDP配置任务简介

表1-1 LDP配置任务简介

 

1.3  使能LDP能力

1.3.1  全局使能LDP能力

表1-2 全局使能LDP能力

操作

命令

说明

进入系统视图

system-view

-

使能本节点的LDP能力,或使能指定VPN实例的LDP能力

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

mpls ldp

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

使能指定VPN实例的LDP能力,为该VPN创建LDP实例,并进入LDP-VPN实例视图

mpls ldp

vpn-instance vpn-instance-name

配置LDP的LSR ID

lsr-id lsr-id

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

 

1.3.2  在接口上使能LDP能力

表1-3 在接口上使能LDP能力

 

1.4  配置Hello消息参数

LDP的Hello消息分为以下几种:

·     用于发现直连邻居的Link hello消息,如果在接口上同时使能LDP支持IPv4能力和LDP支持IPv6能力,则在接口下配置的Link Hello消息参数可同时应用于IPv4 Link Hello消息和IPv6 Link Hello消息

·     用于发现非直连邻居的Targeted hello消息

Hello消息参数包括:

·     Link hello保持时间和报文发送时间间隔

·     Targeted hello保持时间和报文发送时间间隔

表1-4 配置Link hello消息参数

 

表1-5 配置Targeted hello消息参数

操作

命令

说明

进入系统视图

system-view

-

进入LDP视图

mpls ldp

-

配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图

targeted-peer { ip-address | ipv6-address }

缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息

配置Targeted hello保持时间

mpls ldp timer hello-hold timeout

缺省情况下,Targeted hello保持时间为45秒

配置Targeted hello报文发送时间间隔

mpls ldp timer hello-interval interval

缺省情况下,Targeted hello报文发送时间间隔为15秒

 

1.5  配置LDP会话参数

可以通过配置修改如下LDP会话参数:

·     Keepalive保持时间和报文发送时间间隔

·     LDP传输地址,即用来建立TCP连接的IP地址。

LDP可以通过基本发现和扩展发现两种机制来发现LSR邻居。LSR与通过基本发现机制发现的LSR邻居建立LDP会话时,采用的LDP会话参数配置方法如表1-6所示;LSR与通过扩展发现机制发现的LSR邻居建立LDP会话时,采用的LDP IPv4会话参数配置方法如表1-7所示,采用的LDP IPv6会话参数配置方法如表1-8所示。

配置LDP会话参数时,需要注意:

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

·     两端LSR的LDP传输地址必须路由可达。否则,无法建立TCP连接。

表1-6 配置基本发现机制的LDP会话参数

操作

命令

说明

进入系统视图

system-view

-

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

interface interface-type interface-number

-

配置Keepalive保持时间

mpls ldp timer keepalive-hold timeout

缺省情况下,Keepalive保持时间为45秒

配置Keepalive报文发送时间间隔

mpls ldp timer keepalive-interval interval

缺省情况下,Keepalive报文发送时间间隔为15秒

配置LDP传输地址

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

缺省情况下,如果建立LDP会话的接口属于公网,则传输地址是本LSR的LSR ID;如果该接口属于某个VPN,则传输地址是本接口的主IP地址

如果建立LDP会话的接口与某个VPN实例绑定,则本命令指定的接口或指定的传输地址所在的接口需要与同一个VPN实例绑定

 

表1-7 配置扩展发现机制的LDP会话参数:指定目的地址为IPv4地址

操作

命令

说明

进入系统视图

system-view

-

进入LDP视图

mpls ldp

-

配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图

targeted-peer ip-address

缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息

配置Keepalive保持时间

mpls ldp timer keepalive-hold timeout

缺省情况下,Keepalive保持时间为45秒

配置Keepalive报文发送时间间隔

mpls ldp timer keepalive-interval interval

缺省情况下,Keepalive报文发送时间间隔为15秒

配置LDP传输地址

mpls ldp transport-address ip-address

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

 

表1-8 配置扩展发现机制的LDP会话参数:指定目的地址为IPv6地址

操作

命令

说明

进入系统视图

system-view

-

进入LDP视图

mpls ldp

-

配置主动向指定对等体发送Targeted hello消息来建立LDP会话,允许应答指定对等体的Targeted hello消息,并进入LDP对等体视图

targeted-peer ipv6-address

缺省情况下,设备不会主动向对等体发送Targeted hello消息,也不会应答对等体的Targeted hello消息

配置Keepalive保持时间

mpls ldp timer keepalive-hold timeout

缺省情况下,Keepalive保持时间为45秒

配置Keepalive报文发送时间间隔

mpls ldp timer keepalive-interval interval

缺省情况下,Keepalive报文发送时间间隔为15秒

配置LDP传输地址

mpls ldp transport-address ipv6-address

缺省情况下,未配置LDP IPv6传输地址

 

1.6  配置LDP倒退机制的延迟时间

如果LDP对等体上配置的LDP会话参数不兼容(如LDP对等体使用的标签通告方式不同),则会导致会话参数协商失败、LDP对等体无休止地反复尝试建立会话。

LDP倒退机制用来抑制尝试建立会话的频率。如果会话因为参数不兼容而建立失败,LSR将等待初始延迟时间再尝试建立会话;如果会话再次因为参数不兼容而建立失败,则再次尝试建立会话的延迟时间为上一次延迟时间×2;延迟时间达到配置的最大值后,尝试建立会话的等待时间将保持为配置的最大延迟。

表1-9 配置LDP倒退机制的延迟时间

操作

命令

说明

进入系统视图

system-view

-

进入LDP视图或LDP-VPN实例视图

进入LDP视图

mpls ldp

-

进入LDP-VPN实例视图

mpls ldp

vpn-instance vpn-instance-name

配置LDP倒退机制的初始延迟和最大延迟

backoff initial initial-time maximum maximum-time

缺省情况下,LDP倒退机制的初始延迟为15秒,最大延迟为120秒

 

1.7  配置LDP MD5认证

为了提高LDP会话的安全性,可以配置在LDP会话使用的TCP连接上采用MD5认证,来验证LDP消息的完整性。

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

表1-10 配置LDP MD5认证

 

1.8  配置LDP引入BGP单播路由

缺省情况下,LDP自动引入IGP路由(包括已引入到IGP的BGP路由),并为通过LSP触发策略的IGP路由和通过LSP触发策略的带标签BGP路由分配标签,但不自动引入未被引入到IGP的BGP单播路由。这就导致了在一些特殊的组网环境下,如在运营商的运营商组网中,如果一级运营商的PE与二级运营商CE之间未配置OSPF、IS-IS等IGP协议,则无法通过LDP为BGP单播路由分配标签,因而无法建立LDP LSP。有关运营商的运营商组网的详细信息,请参见“MPLS配置指导”中的“MPLS L3VPN”。

通过配置LDP引入BGP单播路由,可将BGP单播路由强制引入至LDP,如果该路由通过LSP触发策略,则为其分配标签建立LSP。

表1-11 配置LDP引入BGP单播路由

操作

命令

说明

进入系统视图

system-view

-

进入LDP视图或LDP-VPN实例视图

进入LDP视图

mpls ldp

-

进入LDP-VPN实例视图

mpls ldp

vpn-instance vpn-instance-name

使能LDP引入BGP IPv4单播路由功能

import bgp

缺省情况下,未使能LDP引入BGP IPv4单播路由功能

使能LDP引入BGP IPv6单播路由功能

ipv6 import bgp

缺省情况下,未使能LDP引入BGP IPv6单播路由功能

 

1.9  配置LSP触发策略

使能LDP后,LDP可将路由表项中的路由引入至LDP,并根据其目的网络地址划分FEC。在LSR上配置LSP触发策略,可以限制哪些引入到LDP的路由表项能够触发LDP为其目的网络地址分配标签并建立LSP,从而控制LSP的数量,避免LSP数量过多导致设备运行不稳定。

对于引入到LDP的路由表项,LSP触发策略包括:

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

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

·     只有32位掩码的IPv4主机路由或128位掩码的IPv6主机路由能够触发LDP建立LSP。

缺省情况下,只有32位掩码的IPv4主机路由或128位掩码的IPv6主机路由能够触发LDP建立LSP。在非必要的情况下,建议用户不要随意修改LSP触发策略,以免建立过多的LSP,占用系统和网络资源。

表1-12 配置LSP触发策略

 

1.10  配置LDP标签分发控制方式

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

 

1.11  配置标签通告控制策略

标签通告控制用来控制向哪些对等体通告哪些FEC—标签映射,即LSR只将指定地址前缀的标签映射通告给指定的对等体。在复杂的MPLS网络环境中,通过标签通告控制可以规划动态建立的LSP,并避免设备通告大量的标签映射。

图1-8,LSR A将FEC目的地址通过地址前缀列表B过滤的FEC—标签映射通告给LSR B;将FEC目的地址通过地址前缀列表C过滤的FEC—标签映射通告给LSR C。

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

 

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

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

表1-14 配置LDP标签通告控制策略

 

1.12  配置标签接受控制策略

标签接受控制用来实现对从指定对等体接收的FEC—标签映射进行过滤,只接受指定地址前缀的FEC—标签映射。在复杂的MPLS网络环境中,通过标签接受控制可以规划动态建立的LSP,并避免设备保存大量的标签映射。

图1-9,LSR A对LSR B通告的FEC—标签映射进行过滤,只有FEC的目的地址通过指定地址前缀列表过滤后,才会接受该FEC—标签映射;对LSR C通告的标签不进行过滤。

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

 

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

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

表1-15 配置LDP标签接受控制策略

 

1.13  配置LDP环路检测

提示

环路检测机制用于非TTL递减设备(如标签控制的ATM交换机)组成的网络。支持TTL递减的设备上启动LDP环路检测功能没有实际用途,还会因为频繁发送标签请求或标签映射消息来更新环路检测的路径向量或跳数,而产生额外处理开销。因此,不推荐用户使用环路检测功能。

 

LDP环路检测机制可以检测LSP环路,并避免在MPLS网络中发生环路。

LDP环路检测有两种方式:

(1)     最大跳数

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

(2)     路径向量

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

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

表1-16 配置LDP环路检测

 

1.14  配置LDP会话保护

会话保护功能实现了基本发现机制失效时,利用扩展发现机制来保持与对等体的会话,确保基本发现机制恢复时,LDP协议能够快速收敛。会话保护功能主要应用在LDP对等体之间存在直连和非直连多条路径的组网环境中。

使能与指定对等体的会话保护功能后,如果通过Link hello消息发现了该直连的LDP对等体,则本地LSR不仅与其建立Link hello邻接关系,还会向该对等体发送Targeted hello消息,与其建立Targeted hello邻接关系。当直连链路出现故障时,Link hello邻接关系将被删除。如果此时非直连链路正常工作,则Targeted hello邻接关系依然存在,因此,LDP会话不会被删除,基于该会话的FEC—标签映射等信息也不会删除。直连链路恢复后,不需要重新建立LDP会话、重新学习FEC—标签映射等信息,从而加快了LDP收敛速度。

使能会话保护功能时,还可以指定会话保护持续时间,即Link hello邻接关系被删除后,用Targeted hello邻接关系继续保持会话的时间。如果在会话保护持续时间内,Link hello邻接关系没有恢复,则删除Targeted hello邻接关系,对应的LDP会话也将被删除。如果未指定会话保护持续时间,则用Targeted hello邻接关系永久保持会话。

LDP会话保护功能仅支持在IPv4网络中进行配置。

表1-17 配置LDP会话保护

 

1.15  配置LDP GR

配置LDP GR之前,需要在作为GR restarter和作为GR helper的设备上均配置LDP能力。

表1-18 配置LDP GR

操作

命令

说明

进入系统视图

system-view

-

进入LDP视图

mpls ldp

-

使能LDP协议的GR能力

graceful-restart

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

配置GR重连超时时间

graceful-restart timer reconnect reconnect-time

缺省情况下,GR重连超时时间为120秒

配置GR转发状态保持定时器的值

graceful-restart timer forwarding-hold hold-time

缺省情况下,GR转发状态保持定时器的值为180秒

 

1.16  配置LDP NSR

表1-19 配置LDP NSR

 

1.17  配置LDP IGP同步

在OSPF进程、OSPF区域或IS-IS进程下使能LDP IGP同步功能后,所有属于该OSPF进程、OSPF区域或IS-IS进程的接口上都会自动使能LDP IGP同步功能。用户可以根据实际需要,在某个接口上禁止LDP IGP同步功能。

LDP IGP同步功能仅支持在IPv4网络中进行配置。

1.17.1  配置LDP OSPF同步

执行ospf命令时,如果通过vpn-instance vpn-instance-name参数指定了OSPF进程所属的VPN实例,则该OSPF进程下、该进程的OSPF区域下不能配置LDP IGP同步功能。

表1-20 在OSPF进程下配置LDP OSPF同步

 

表1-21 在OSPF区域下配置LDP OSPF同步

 

1.17.2  配置LDP IS-IS同步

执行isis命令时,如果通过vpn-instance vpn-instance-name参数指定了IS-IS进程所属的VPN实例,则该IS-IS进程下不能配置LDP IGP同步功能。

表1-22 配置LDP IS-IS同步

 

1.18  配置LDP快速重路由

LDP快速重路由完全基于IP快速重路由实现,在IP快速重路由使能后,LDP快速重路由即自动使能。有关IP快速重路由的配置内容请参见“三层技术-IP路由配置指导”。

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

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

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

 

1.20  重启LDP会话

LDP会话状态为up后,修改LDP会话参数不会立即生效。此时,可通过配置reset mpls ldp命令重启公网或指定LDP实例中的所有会话,使得修改后的LDP会话参数生效。如果指定peer参数,则仅重启与指定对等体之间的LDP会话,新配置的LDP参数不会生效。

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

表1-24 重启LDP会话

 

1.21  开启告警功能

开启LDP模块的告警功能后,当LDP会话状态发生变化时会产生RFC 3815中规定的告警信息。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。

有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

表1-25 开启告警功能

操作

命令

说明

进入系统视图

system-view

-

开启LDP模块的告警功能

snmp-agent trap enable ldp

缺省情况下,LDP模块的告警功能处于开启状态

 

1.22  LDP显示和维护

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

表1-26 显示LDP运行状态

操作

命令

显示LDP发现过程相关信息(独立运行模式)

display mpls ldp discovery [ vpn-instance vpn-instance-name ] [ [ interface interface-type interface-number | peer peer-lsr-id ] [ ipv6 ] | [ targeted-peer { ip-address | ipv6-address } ] ] [ verbose ]

显示LDP发现过程相关信息(IRF模式)

display mpls ldp discovery [ vpn-instance vpn-instance-name ] [ [ interface interface-type interface-number | peer peer-lsr-id ] [ ipv6 ] | [ | targeted-peer { ip-address | ipv6-address } ] ] [ verbose ] [ standby slot slot-number ]

显示通过LDP学习到的FEC—标签映射信息(独立运行模式)

display mpls ldp fec [ vpn-instance vpn-instance-name ] [ ip-address mask-length | ipv6-address prefix-length | [ ipv6 ] [ summary ] ]

显示通过LDP学习到的FEC—标签映射信息(IRF模式)

display mpls ldp fec [ vpn-instance vpn-instance-name ] [ ip-address mask-length | ipv6-address prefix-length | [ ipv6 ] [ summary ] ] [ standby slot slot-number ]

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

display mpls ldp interface [ vpn-instance vpn-instance-name ] [ interface-type interface-number ] [ ipv6 ]

显示接口的LDP IGP同步信息

display mpls ldp igp sync [ interface interface-type interface-number ]

显示LDP协议生成的LSP信息,即LDP LSP信息

display mpls ldp lsp [ vpn-instance vpn-instance-name ] [ip-address mask-length | ipv6-address prefix-length | ipv6 ]

显示LDP的运行参数

display mpls ldp parameter [ vpn-instance vpn-instance-name ]

显示LDP对等体和LDP会话信息(独立运行模式)

display mpls ldp peer [ vpn-instance vpn-instance-name ] [ peer-lsr-id ] [ verbose ]

显示LDP对等体和LDP会话信息(IRF模式)

display mpls ldp peer [ vpn-instance vpn-instance-name ] [ peer-lsr-id ] [ verbose ] [ standby slot slot-number ]

显示LDP运行数据汇总信息(独立运行模式)

display mpls ldp summary [ all | vpn-instance vpn-instance-name ]

显示LDP运行数据汇总信息(IRF模式)

display mpls ldp summary [ all | vpn-instance vpn-instance-name ] [ standby slot slot-number ]

 

1.23  LDP支持IPv4配置举例

1.23.1  利用LDP动态建立LSP配置举例

1. 组网需求

·     Router ARouter BRouter C均支持MPLS

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

·     Router A、Router B和Router C上只允许目的地址为1.1.1.9/32、2.2.2.9/32、3.3.3.9/32、11.1.1.0/24和21.1.1.0/24的路由表项触发LDP建立LSP,其他路由表项不能触发LDP建立LSP,以避免建立的LSP数量过多,影响设备性能。

图1-10 利用LDP动态建立LSP配置组网图

 

2. 配置思路

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

·     在各台路由器上启动LDP协议。

·     为了控制建立的LSP数量,在Router A、Router B和Router C上需要配置LSP触发策略。

3. 配置步骤

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

按照图1-10配置各接口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

 

Destinations : 21        Routes : 21

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

1.1.1.9/32         Direct  0   0           127.0.0.1       InLoop0

2.2.2.9/32         O_INTRA 10  1           10.1.1.2        GE1/0/2

3.3.3.9/32         O_INTRA 10  2           10.1.1.2        GE1/0/2

10.1.1.0/24        Direct  0   0           10.1.1.1        GE1/0/2

10.1.1.0/32        Direct  0   0           10.1.1.1        GE1/0/2

10.1.1.1/32        Direct  0   0           127.0.0.1       InLoop0

10.1.1.255/32      Direct  0   0           10.1.1.1        GE1/0/2

11.1.1.0/24        Direct  0   0           11.1.1.1        GE1/0/1

11.1.1.0/32        Direct  0   0           11.1.1.1        GE1/0/1

11.1.1.1/32        Direct  0   0           127.0.0.1       InLoop0

11.1.1.255/32      Direct  0   0           11.1.1.1        GE1/0/1

20.1.1.0/24        O_INTRA 10  2           10.1.1.2        GE1/0/2

21.1.1.0/24        O_INTRA 10  3           10.1.1.2        GE1/0/2

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0

224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

(3)     使能MPLS和LDP功能

# 配置Router A

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls ldp

[RouterA-ldp] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] mpls enable

[RouterA-GigabitEthernet1/0/2] mpls ldp enable

[RouterA-GigabitEthernet1/0/2] quit

# 配置Router B

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] mpls enable

[RouterB-GigabitEthernet1/0/1] mpls ldp enable

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] mpls enable

[RouterB-GigabitEthernet1/0/2] mpls ldp enable

[RouterB-GigabitEthernet1/0/2] quit

# 配置Router C

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] mpls enable

[RouterC-GigabitEthernet1/0/2] mpls ldp enable

[RouterC-GigabitEthernet1/0/2] quit

(4)     配置LSP触发策略

# Router A上创建IP地址前缀列表routera,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterA] ip prefix-list routera index 10 permit 1.1.1.9 32

[RouterA] ip prefix-list routera index 20 permit 2.2.2.9 32

[RouterA] ip prefix-list routera index 30 permit 3.3.3.9 32

[RouterA] ip prefix-list routera index 40 permit 11.1.1.0 24

[RouterA] ip prefix-list routera index 50 permit 21.1.1.0 24

[RouterA] mpls ldp

[RouterA-ldp] lsp-trigger prefix-list routera

[RouterA-ldp] quit

# Router B上创建IP地址前缀列表routerb,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterB] ip prefix-list routerb index 10 permit 1.1.1.9 32

[RouterB] ip prefix-list routerb index 20 permit 2.2.2.9 32

[RouterB] ip prefix-list routerb index 30 permit 3.3.3.9 32

[RouterB] ip prefix-list routerb index 40 permit 11.1.1.0 24

[RouterB] ip prefix-list routerb index 50 permit 21.1.1.0 24

[RouterB] mpls ldp

[RouterB-ldp] lsp-trigger prefix-list routerb

[RouterB-ldp] quit

# Router C上创建IP地址前缀列表routerc,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterC] ip prefix-list routerc index 10 permit 1.1.1.9 32

[RouterC] ip prefix-list routerc index 20 permit 2.2.2.9 32

[RouterC] ip prefix-list routerc index 30 permit 3.3.3.9 32

[RouterC] ip prefix-list routerc index 40 permit 11.1.1.0 24

[RouterC] ip prefix-list routerc index 50 permit 21.1.1.0 24

[RouterC] mpls ldp

[RouterC-ldp] lsp-trigger prefix-list routerc

[RouterC-ldp] quit

4. 验证配置

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

[RouterA] display mpls ldp lsp

Status Flags: * - stale, L - liberal, B - backup

FECs: 5            Ingress: 3          Transit: 3      Egress: 2

 

FEC                In/Out Label        Nexthop         OutInterface

1.1.1.9/32         3/-

                   -/1279(L)

2.2.2.9/32         -/3                 10.1.1.2        GE1/0/2

                   1279/3              10.1.1.2        GE1/0/2

3.3.3.9/32         -/1278              10.1.1.2        GE1/0/2

                   1278/1278           10.1.1.2        GE1/0/2

11.1.1.0/24        1277/-

                   -/1277(L)

21.1.1.0/24        -/1276              10.1.1.2        GE1/0/2

                   1276/1276           10.1.1.2        GE1/0/2

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

[RouterA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24

MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes

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

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

100 bytes from 20.1.1.2: Sequence=3 time=8 ms

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

100 bytes from 20.1.1.2: Sequence=5 time=1 ms

 

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

5 packets transmitted, 5 packets received, 0.0% packet loss

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

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

[RouterC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24

MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes

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

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

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

100 bytes from 10.1.1.1: Sequence=4 time=1 ms

100 bytes from 10.1.1.1: Sequence=5 time=1 ms

 

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

5 packets transmitted, 5 packets received, 0.0% packet loss

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

1.23.2  标签接受控制策略配置举例

1. 组网需求

11.1.1.0/24和21.1.1.0/24网段之间存在两条路径:Router A—Router B—Router C和Router A—Router D—Router C。通过配置标签接受控制策略,实现只沿着路径Router A—Router B—Router C建立LSP,11.1.1.0/24和21.1.1.0/24网段之间互访的报文通过该LSP进行MPLS转发。

图1-11 标签接受控制策略配置组网图

 

2. 配置思路

(1)     在各台路由器上配置路由协议,使得各路由器之间路由可达。本例中,采用的路由协议为OSPF。

(2)     在各台路由器上启动LDP协议。

(3)     在各台路由器上配置LSP触发策略,使得目的地址为11.1.1.0/2421.1.1.0/24的路由表项能够触发LDP建立LSP

(4)     配置标签接受控制策略,使得LDP仅沿着路径Router A—Router B—Router C建立LSP。具体配置方法为:

·     Router A只接受Router B通告的FEC目的地址为21.1.1.0/24的FEC—标签映射;Router A拒绝Router D通告的FEC目的地址为21.1.1.0/24的FEC—标签映射。

·     Router C只接受Router B通告的FEC目的地址为11.1.1.0/24的FEC—标签映射;Router C拒绝Router D通告的FEC目的地址为11.1.1.0/24的FEC—标签映射。

3. 配置步骤

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

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

(2)     配置OSPF

在各台路由器上配置OSPF,以保证各路由器之间路由可达,具体配置过程略。

(3)     使能MPLS和LDP功能

# 配置Router A

<RouterA> system-view

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls ldp

[RouterA-ldp] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] mpls enable

[RouterA-GigabitEthernet1/0/2] mpls ldp enable

[RouterA-GigabitEthernet1/0/2] quit

[RouterA] interface gigabitethernet 1/0/3

[RouterA-GigabitEthernet1/0/3] mpls enable

[RouterA-GigabitEthernet1/0/3] mpls ldp enable

[RouterA-GigabitEthernet1/0/3] quit

# 配置Router B

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] mpls enable

[RouterB-GigabitEthernet1/0/1] mpls ldp enable

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] mpls enable

[RouterB-GigabitEthernet1/0/2] mpls ldp enable

[RouterB-GigabitEthernet1/0/2] quit

# 配置Router C

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] mpls enable

[RouterC-GigabitEthernet1/0/2] mpls ldp enable

[RouterC-GigabitEthernet1/0/2] quit

[RouterC] interface gigabitethernet 1/0/3

[RouterC-GigabitEthernet1/0/3] mpls enable

[RouterC-GigabitEthernet1/0/3] mpls ldp enable

[RouterC-GigabitEthernet1/0/3] quit

# 配置Router D

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 1/0/1

[RouterD-GigabitEthernet1/0/1] mpls enable

[RouterD-GigabitEthernet1/0/1] mpls ldp enable

[RouterD-GigabitEthernet1/0/1] quit

[RouterD] interface gigabitethernet 1/0/2

[RouterD-GigabitEthernet1/0/2] mpls enable

[RouterD-GigabitEthernet1/0/2] mpls ldp enable

[RouterD-GigabitEthernet1/0/2] quit

(4)     配置LSP触发策略

# Router A上创建IP地址前缀列表routera,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterA] ip prefix-list routera index 10 permit 11.1.1.0 24

[RouterA] ip prefix-list routera index 20 permit 21.1.1.0 24

[RouterA] mpls ldp

[RouterA-ldp] lsp-trigger prefix-list routera

[RouterA-ldp] quit

# Router B上创建IP地址前缀列表routerb,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterB] ip prefix-list routerb index 10 permit 11.1.1.0 24

[RouterB] ip prefix-list routerb index 20 permit 21.1.1.0 24

[RouterB] mpls ldp

[RouterB-ldp] lsp-trigger prefix-list routerb

[RouterB-ldp] quit

# Router C上创建IP地址前缀列表routerc,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterC] ip prefix-list routerc index 10 permit 11.1.1.0 24

[RouterC] ip prefix-list routerc index 20 permit 21.1.1.0 24

[RouterC] mpls ldp

[RouterC-ldp] lsp-trigger prefix-list routerc

[RouterC-ldp] quit

# Router D上创建IP地址前缀列表routerd,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterD] ip prefix-list routerd index 10 permit 11.1.1.0 24

[RouterD] ip prefix-list routerd index 20 permit 21.1.1.0 24

[RouterD] mpls ldp

[RouterD-ldp] lsp-trigger prefix-list routerd

[RouterD-ldp] quit

(5)     配置标签接受控制策略

# Router A上创建允许21.1.1.0/24通过的IP地址前缀列表prefix-from-b,该列表用来过滤Router B通告给Router AFEC—标签映射。

[RouterA] ip prefix-list prefix-from-b index 10 permit 21.1.1.0 24

# 在Router A上创建拒绝21.1.1.0/24通过的IP地址前缀列表prefix-from-d,该列表用来过滤Router D通告给Router A的FEC—标签映射。

[RouterA] ip prefix-list prefix-from-d index 10 deny 21.1.1.0 24

# 在Router A上配置过滤Router B和Router D通告的FEC—标签映射的标签接受控制策略。

[RouterA] mpls ldp

[RouterA-ldp] accept-label peer 2.2.2.9 prefix-list prefix-from-b

[RouterA-ldp] accept-label peer 4.4.4.9 prefix-list prefix-from-d

[RouterA-ldp] quit

# 在Router C上创建允许11.1.1.0/24通过的IP地址前缀列表prefix-from-b,该列表用来过滤Router B通告给Router C的FEC—标签映射。

[RouterC] ip prefix-list prefix-from-b index 10 permit 11.1.1.0 24

# 在Router C上创建拒绝11.1.1.0/24通过的IP地址前缀列表prefix-from-d,该列表用来过滤Router D通告给Router C的FEC—标签映射。

[RouterC] ip prefix-list prefix-from-d index 10 deny 11.1.1.0 24

# 在Router C上配置过滤Router B和Router D通告的FEC—标签映射的标签接受控制策略。

[RouterC] mpls ldp

[RouterC-ldp] accept-label peer 2.2.2.9 prefix-list prefix-from-b

[RouterC-ldp] accept-label peer 4.4.4.9 prefix-list prefix-from-d

[RouterC-ldp] quit

4. 验证配置

# 配置完成后,在各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。以Router A为例,在Router A上FEC目的地址为21.1.1.0/24的LSP的下一跳为Router B(地址为10.1.1.2),即只沿着路径Router A—Router B—Router C建立了LSP,路径Router A—Router D—Router C上未建立LSP。

[RouterA] display mpls ldp lsp

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 1          Transit 1       Egress: 1

 

FEC                In/Out Label        Nexthop         OutInterface

11.1.1.0/24        1277/-

                   -/1148(L)

21.1.1.0/24        -/1276              10.1.1.2        GE1/0/2

                   1276/1276           10.1.1.2        GE1/0/2

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

[RouterA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24

MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes

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

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

100 bytes from 20.1.1.2: Sequence=3 time=8 ms

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

100 bytes from 20.1.1.2: Sequence=5 time=1 ms

 

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

5 packets transmitted, 5 packets received, 0.0% packet loss

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

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

[RouterC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24

MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes

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

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

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

100 bytes from 10.1.1.1: Sequence=4 time=1 ms

100 bytes from 10.1.1.1: Sequence=5 time=1 ms

 

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

5 packets transmitted, 5 packets received, 0.0% packet loss

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

1.23.3  标签通告控制策略配置举例

1. 组网需求

11.1.1.0/24和21.1.1.0/24网段之间存在两条路径:Router A—Router B—Router C和Router A—Router D—Router C。通过配置标签通告控制策略,实现只沿着路径Router A—Router B—Router C建立LSP,11.1.1.0/24和21.1.1.0/24网段之间互访的报文通过该LSP进行MPLS转发。

图1-12 标签通告控制策略配置组网图

 

2. 配置思路

(1)     在各台路由器上配置路由协议,使得各路由器之间路由可达。本例中,采用的路由协议为OSPF。

(2)     在各台路由器上启动LDP协议。

(3)     在各台路由器上配置LSP触发策略,使得目的地址为11.1.1.0/2421.1.1.0/24的路由表项能够触发LDP建立LSP

(4)     配置标签通告控制策略,使得LDP仅沿着路径Router A—Router B—Router C建立LSP。具体配置方法为:

·     Router A只将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Router B;Router A不通告任何其他的FEC—标签映射。

·     Router C只将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Router B;Router C不通告任何其他的FEC—标签映射。

·     Router D不将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Router A;Router D不将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Router C。

3. 配置步骤

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

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

(2)     配置OSPF

在各台路由器上配置OSPF,以保证各路由器之间路由可达,具体配置过程略。

(3)     使能MPLS和LDP功能

# 配置Router A

<RouterA> system-view

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls ldp

[RouterA-ldp] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] mpls enable

[RouterA-GigabitEthernet1/0/2] mpls ldp enable

[RouterA-GigabitEthernet1/0/2] quit

[RouterA] interface gigabitethernet 1/0/3

[RouterA-GigabitEthernet1/0/3] mpls enable

[RouterA-GigabitEthernet1/0/3] mpls ldp enable

[RouterA-GigabitEthernet1/0/3] quit

# 配置Router B

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] mpls enable

[RouterB-GigabitEthernet1/0/1] mpls ldp enable

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] mpls enable

[RouterB-GigabitEthernet1/0/2] mpls ldp enable

[RouterB-GigabitEthernet1/0/2] quit

# 配置Router C

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] mpls enable

[RouterC-GigabitEthernet1/0/2] mpls ldp enable

[RouterC-GigabitEthernet1/0/2] quit

[RouterC] interface gigabitethernet 1/0/3

[RouterC-GigabitEthernet1/0/3] mpls enable

[RouterC-GigabitEthernet1/0/3] mpls ldp enable

[RouterC-GigabitEthernet1/0/3] quit

# 配置Router D

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 1/0/1

[RouterD-GigabitEthernet1/0/1] mpls enable

[RouterD-GigabitEthernet1/0/1] mpls ldp enable

[RouterD-GigabitEthernet1/0/1] quit

[RouterD] interface gigabitethernet 1/0/2

[RouterD-GigabitEthernet1/0/2] mpls enable

[RouterD-GigabitEthernet1/0/2] mpls ldp enable

[RouterD-GigabitEthernet1/0/2] quit

(4)     配置LSP触发策略

# Router A上创建IP地址前缀列表routera,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterA] ip prefix-list routera index 10 permit 11.1.1.0 24

[RouterA] ip prefix-list routera index 20 permit 21.1.1.0 24

[RouterA] mpls ldp

[RouterA-ldp] lsp-trigger prefix-list routera

[RouterA-ldp] quit

# Router B上创建IP地址前缀列表routerb,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterB] ip prefix-list routerb index 10 permit 11.1.1.0 24

[RouterB] ip prefix-list routerb index 20 permit 21.1.1.0 24

[RouterB] mpls ldp

[RouterB-ldp] lsp-trigger prefix-list routerb

[RouterB-ldp] quit

# Router C上创建IP地址前缀列表routerc,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterC] ip prefix-list routerc index 10 permit 11.1.1.0 24

[RouterC] ip prefix-list routerc index 20 permit 21.1.1.0 24

[RouterC] mpls ldp

[RouterC-ldp] lsp-trigger prefix-list routerc

[RouterC-ldp] quit

# Router D上创建IP地址前缀列表routerd,并配置只有通过该列表过滤的路由表项能够触发LDP建立LSP

[RouterD] ip prefix-list routerd index 10 permit 11.1.1.0 24

[RouterD] ip prefix-list routerd index 20 permit 21.1.1.0 24

[RouterD] mpls ldp

[RouterD-ldp] lsp-trigger prefix-list routerd

[RouterD-ldp] quit

(5)     配置标签通告控制策略

# Router A上创建允许11.1.1.0/24通过的IP地址前缀列表prefix-to-b,该列表用来过滤通告给Router BFEC—标签映射。

[RouterA] ip prefix-list prefix-to-b index 10 permit 11.1.1.0 24

# 在Router A上创建允许2.2.2.9/32通过的IP地址前缀列表peer-b,该列表用来过滤LDP对等体。

[RouterA] ip prefix-list peer-b index 10 permit 2.2.2.9 32

# 在Router A上配置标签通告控制策略:只将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Router B。

[RouterA] mpls ldp

[RouterA-ldp] advertise-label prefix-list prefix-to-b peer peer-b

[RouterA-ldp] quit

# 在Router C上创建允许21.1.1.0/24通过的IP地址前缀列表prefix-to-b,该列表用来过滤通告给Router B的FEC—标签映射。

[RouterC] ip prefix-list prefix-to-b index 10 permit 21.1.1.0 24

# 在Router C上创建允许2.2.2.9/32通过的IP地址前缀列表peer-b,该列表用来过滤LDP对等体。

[RouterC] ip prefix-list peer-b index 10 permit 2.2.2.9 32

# 在Router C上配置标签通告控制策略:只将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Router B。

[RouterC] mpls ldp

[RouterC-ldp] advertise-label prefix-list prefix-to-b peer peer-b

[RouterC-ldp] quit

# Router D上创建拒绝21.1.1.0/24通过的IP地址前缀列表prefix-to-a,该列表用来过滤通告给Router AFEC—标签映射。

[RouterD] ip prefix-list prefix-to-a index 10 deny 21.1.1.0 24

[RouterD] ip prefix-list prefix-to-a index 20 permit 0.0.0.0 0 less-equal 32

# 在Router D上创建允许1.1.1.9/32通过的IP地址前缀列表peer-a,该列表用来过滤LDP对等体。

[RouterD] ip prefix-list peer-a index 10 permit 1.1.1.9 32

# Router D上创建拒绝11.1.1.0/24通过的IP地址前缀列表prefix-to-c,该列表用来过滤通告给Router CFEC—标签映射。

[RouterD] ip prefix-list prefix-to-c index 10 deny 11.1.1.0 24

[RouterD] ip prefix-list prefix-to-c index 20 permit 0.0.0.0 0 less-equal 32

# 在Router D上创建允许3.3.3.9/32通过的IP地址前缀列表peer-c,该列表用来过滤LDP对等体。

[RouterD] ip prefix-list peer-c index 10 permit 3.3.3.9 32

# 在Router D上配置标签通告控制策略:不将FEC目的地址为21.1.1.0/24的FEC—标签映射通告给Router A;不将FEC目的地址为11.1.1.0/24的FEC—标签映射通告给Router C。

[RouterD] mpls ldp

[RouterD-ldp] advertise-label prefix-list prefix-to-a peer peer-a

[RouterD-ldp] advertise-label prefix-list prefix-to-c peer peer-c

[RouterD-ldp] quit

4. 验证配置

# 配置完成后,在各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。Router A和Router C只接收到Router B通告的FEC—标签映射;Router B接收到了Router A和Router C通告的FEC—标签映射; Router D没有接收到Router A和Router C通告的FEC—标签映射;即只沿着路径Router A—Router B—Router C建立了LSP。

[RouterA] display mpls ldp lsp

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 1          Transit: 1      Egress: 1

 

FEC                In/Out Label        Nexthop         OutInterface

11.1.1.0/24        1277/-

                   -/1151(L)

                   -/1277(L)

21.1.1.0/24        -/1276              10.1.1.2        GE1/0/2

                   1276/1276           10.1.1.2        GE1/0/2

[RouterB] display mpls ldp lsp

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 2          Transit: 2      Egress: 0

 

FEC                In/Out Label        Nexthop         OutInterface

11.1.1.0/24        -/1277              10.1.1.1        GE1/0/1

                   1277/1277           10.1.1.1        GE1/0/1

21.1.1.0/24        -/1149              20.1.1.2        GE1/0/2

                   1276/1149           20.1.1.2        GE1/0/2

[RouterC] display mpls ldp lsp

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 1          Transit: 1      Egress: 1

 

FEC                In/Out Label        Nexthop         OutInterface

11.1.1.0/24        -/1277              20.1.1.1        GE1/0/2

                   1148/1277           20.1.1.1        GE1/0/2

21.1.1.0/24        1149/-

                   -/1276(L)

                   -/1150(L)

[RouterD] display mpls ldp lsp

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 0          Transit: 0      Egress: 2

 

FEC                In/Out Label        Nexthop         OutInterface

11.1.1.0/24        1151/-

                   -/1277(L)

21.1.1.0/24        1150/-

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

[RouterA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24

MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes

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

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

100 bytes from 20.1.1.2: Sequence=3 time=8 ms

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

100 bytes from 20.1.1.2: Sequence=5 time=1 ms

 

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

5 packets transmitted, 5 packets received, 0.0% packet loss

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

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

[RouterC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24

MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes

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

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

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

100 bytes from 10.1.1.1: Sequence=4 time=1 ms

100 bytes from 10.1.1.1: Sequence=5 time=1 ms

 

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

5 packets transmitted, 5 packets received, 0.0% packet loss

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

1.23.4  LDP快速重路由配置举例

1. 组网需求

Router S、Router A和Router D属于同一OSPF区域,通过OSPF协议实现网络互连。在Router S—Router D、Router S—Router A—Router D两条路径上利用LDP分别建立主LSP和备份LSP,实现:

·     当Router S—Router D这条LSP正常工作时,11.1.1.0/24和21.1.1.0/24两个网段之间的流量通过该LSP传输。

·     当Router S—Router D这条LSP出现故障时,11.1.1.0/24和21.1.1.0/24两个网段之间的流量快速切换到Router S—Router A—Router D这条备份LSP上传输。

图1-13 LDP快速重路由配置组网图

 

2. 配置思路

·     在各台路由器上配置路由协议,使得各路由器之间路由可达。本例中,采用的路由协议为OSPF。

·     在各台路由器上启动LDP协议。

·     在各台路由器上配置LSP触发策略,使得目的地址为11.1.1.0/2421.1.1.0/24的路由表项能够触发LDP建立LSP

·     为了建立备份LSP,在Router S和Router D上需要配置OSPF快速重路由。

3. 配置步骤

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

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

(2)     配置OSPF

在各台路由器上配置OSPF,以保证各路由器之间路由可达,具体配置过程略。

(3)     配置OSPF快速重路由

OSPF快速重路由有两种配置方法,可以任选一种。

方法一:使能Router S和Router D的OSPF快速重路由功能(通过LFA算法选取备份下一跳信息)

# 配置Router S。

<RouterS> system-view

[RouterS] bfd echo-source-ip 10.10.10.10

[RouterS] ospf 1

[RouterS-ospf-1] fast-reroute lfa

[RouterS-ospf-1] quit

# 配置Router D

<RouterD> system-view

[RouterD] bfd echo-source-ip 11.11.11.11

[RouterD] ospf 1

[RouterD-ospf-1] fast-reroute lfa

[RouterD-ospf-1] quit

方法二:使能Router S和Router D的OSPF快速重路由功能(通过路由策略指定备份下一跳)

# 配置Router S。

<RouterS> system-view

[RouterS] bfd echo-source-ip 10.10.10.10

[RouterS] ip prefix-list abc index 10 permit 21.1.1.0 24

[RouterS] route-policy frr permit node 10

[RouterS-route-policy] if-match ip address prefix-list abc

[RouterS-route-policy] apply fast-reroute backup-interface gigabitethernet 1/0/1 backup-nexthop 12.12.12.2

[RouterS-route-policy] quit

[RouterS] ospf 1

[RouterS-ospf-1] fast-reroute route-policy frr

[RouterS-ospf-1] quit

# 配置Router D

<RouterD> system-view

[RouterD] bfd echo-source-ip 10.10.10.10

[RouterD] ip prefix-list abc index 10 permit 11.1.1.0 24

[RouterD] route-policy frr permit node 10

[RouterD-route-policy] if-match ip address prefix-list abc

[RouterD-route-policy] apply fast-reroute backup-interface gigabitethernet 1/0/1 backup-nexthop 24.24.24.2

[RouterD-route-policy] quit

[RouterD] ospf 1

[RouterD-ospf-1] fast-reroute route-policy frr

[RouterD-ospf-1] quit

(4)     使能MPLS和MPLS LDP功能

# 配置Router S

[RouterS] mpls lsr-id 1.1.1.1

[RouterS] mpls ldp

[RouterS-mpls-ldp] quit

[RouterS] interface gigabitethernet 1/0/1

[RouterS-GigabitEthernet1/0/1] mpls enable

[RouterS-GigabitEthernet1/0/1] mpls ldp enable

[RouterS-GigabitEthernet1/0/1] quit

[RouterS] interface gigabitethernet 1/0/2

[RouterS-GigabitEthernet1/0/2] mpls enable

[RouterS-GigabitEthernet1/0/2] mpls ldp enable

[RouterS-GigabitEthernet1/0/2] quit

# 配置Router D

[RouterD] mpls lsr-id 3.3.3.3

[RouterD] mpls ldp

[RouterD-mpls-ldp] quit

[RouterD] interface gigabitethernet 1/0/1

[RouterD-GigabitEthernet1/0/1] mpls enable

[RouterD-GigabitEthernet1/0/1] mpls ldp enable

[RouterD-GigabitEthernet1/0/1] quit

[RouterD] interface gigabitethernet 1/0/2

[RouterD-GigabitEthernet1/0/2] mpls enable

[RouterD-GigabitEthernet1/0/2] mpls ldp enable

[RouterD-GigabitEthernet1/0/2] quit

# 配置Router A

[RouterA] mpls lsr-id 2.2.2.2

[RouterA] mpls ldp

[RouterA-mpls-ldp] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] mpls enable

[RouterA-GigabitEthernet1/0/1] mpls ldp enable

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] mpls enable

[RouterA-GigabitEthernet1/0/2] mpls ldp enable

[RouterA-GigabitEthernet1/0/2] quit

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

# 配置Router S

[RouterS] mpls ldp

[RouterS-ldp] lsp-trigger all

[RouterS-ldp] quit

# 配置Router D

[RouterD] mpls ldp

[RouterD-ldp] lsp-trigger all

[RouterD-ldp] quit

# 配置Router A

[RouterA] mpls ldp

[RouterA-ldp] lsp-trigger all

[RouterA-ldp] quit

4. 验证配置

# 在Router S和Router D上执行display mpls ldp lsp命令,可以看到Router S和Router D之间建立了主备LSP(在Out Label后存在“B”,表示该LSP为备份LSP)。以Router S为例:

[RouterS] display mpls ldp lsp 21.1.1.0 24

Status Flags: * - stale, L - liberal, B - backup

FECs: 1            Ingress: 2          Transit: 2      Egress: 0

 

FEC                In/Out Label        Nexthop         OutInterface

21.1.1.0/24        -/1276              13.13.13.2      GE1/0/2

                   2174/1276           13.13.13.2      GE1/0/2

                   -/1276(B)           12.12.12.2      GE1/0/1

                   2174/1276(B)        12.12.12.2      GE1/0/1

1.24  LDP支持IPv6配置举例

1.24.1  利用LDP动态建立IPv6 LSP配置举例

1. 组网需求

·     Router ARouter BRouter C均支持MPLS

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

·     Router A、Router B和Router C上只允许目的地址为100::1/128、100::2/128、100::3/128、11::0/64和21::0/64的路由表项触发LDP建立IPv6 LSP,其他路由表项不能触发LDP建立IPv6 LSP,以避免建立的IPv6 LSP数量过多,影响设备性能。

图1-14 利用LDP动态建立IPv6 LSP配置组网图

 

2. 配置思路

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

·     在各台路由器上启动LDP协议。

·     为了控制建立的IPv6 LSP数量,在Router A、Router B和Router C上需要配置IPv6 LSP触发策略。

3. 配置步骤

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

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

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

# 配置Router A。

<RouterA> system-view

[RouterA] ospfv3

[RouterA-ospfv3-1] router-id 1.1.1.9

[RouterA-ospfv3-1] area 0

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

[RouterA-ospfv3-1] quit

[RouterA] interface loopback 0

[RouterA-LoopBack0] ospfv3 1 area 0.0.0.0

[RouterA-LoopBack0] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] ospfv3 1 area 0.0.0.0

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] ospfv3 1 area 0.0.0.0

[RouterA-GigabitEthernet1/0/2] quit

# 配置Router B

<RouterB> system-view

[RouterB] ospfv3

[RouterB-ospfv3-1] router-id 2.2.2.9

[RouterB-ospfv3-1] area 0

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

[RouterB-ospfv3-1] quit

[RouterB] interface loopback 0

[RouterB-LoopBack0] ospfv3 1 area 0.0.0.0

[RouterB-LoopBack0] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] ospfv3 1 area 0.0.0.0

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] ospfv3 1 area 0.0.0.0

[RouterB-GigabitEthernet1/0/2] quit

# 配置Router C

<RouterC> system-view

[RouterC] ospfv3

[RouterC-ospfv3-1] router-id 3.3.3.9

[RouterC-ospfv3-1] area 0

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

[RouterC-ospfv3-1] quit

[RouterC] interface loopback 0

[RouterC-LoopBack0] ospfv3 1 area 0.0.0.0

[RouterC-LoopBack0] quit

[RouterC] interface gigabitethernet 1/0/1

[RouterC-GigabitEthernet1/0/1] ospfv3 1 area 0.0.0.0

[RouterC-GigabitEthernet1/0/1] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] ospfv3 1 area 0.0.0.0

[RouterC-GigabitEthernet1/0/2] quit

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

[RouterA] display ipv6 routing-table

 

Destinations : 12        Routes : 12

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 10::/64                                     Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : GE1/0/2                                     Cost      : 0

 

Destination: 10::1/128                                   Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 11::/64                                     Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : GE1/0/1                                     Cost      : 0

 

Destination: 11::1/128                                   Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 20::/64                                     Protocol  : O_INTRA

NextHop    : FE80::20C:29FF:FE9D:EAC0                    Preference: 10

Interface  : GE1/0/2                                     Cost      : 2

 

Destination: 21::/64                                     Protocol  : O_INTRA

NextHop    : FE80::20C:29FF:FE9D:EAC0                    Preference: 10

Interface  : GE1/0/2                                     Cost      : 3

 

Destination: 100::1/128                                  Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 100::2/128                                  Protocol  : O_INTRA

NextHop    : FE80::20C:29FF:FE9D:EAC0                    Preference: 10

Interface  : GE1/0/2                                     Cost      : 1

 

Destination: 100::3/128                                  Protocol  : O_INTRA

NextHop    : FE80::20C:29FF:FE9D:EAC0                    Preference: 10

Interface  : GE1/0/2                                     Cost      : 2

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: FF00::/8                                    Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

(3)     使能MPLS和LDP IPv6功能

# 配置Router A

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls ldp

[RouterA-ldp] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] mpls enable

[RouterA-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterA-GigabitEthernet1/0/2] mpls ldp transport-address 10::1

[RouterA-GigabitEthernet1/0/2] quit

# 配置Router B

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] mpls enable

[RouterB-GigabitEthernet1/0/1] mpls ldp ipv6 enable

[RouterB-GigabitEthernet1/0/1] mpls ldp transport-address 10::2

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] mpls enable

[RouterB-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterB-GigabitEthernet1/0/2] mpls ldp transport-address 20::1

[RouterB-GigabitEthernet1/0/2] quit

# 配置Router C

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] mpls enable

[RouterC-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterC-GigabitEthernet1/0/2] mpls ldp transport-address 20::2

[RouterC-GigabitEthernet1/0/2] quit

(4)     配置IPv6 LSP触发策略

# Router A上创建IPv6地址前缀列表routera,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterA] ipv6 prefix-list routera index 10 permit 100::1 128

[RouterA] ipv6 prefix-list routera index 20 permit 100::2 128

[RouterA] ipv6 prefix-list routera index 30 permit 100::3 128

[RouterA] ipv6 prefix-list routera index 40 permit 11::0 64

[RouterA] ipv6 prefix-list routera index 50 permit 21::0 64

[RouterA] mpls ldp

[RouterA-ldp] ipv6 lsp-trigger prefix-list routera

[RouterA-ldp] quit

# Router B上创建IPv6地址前缀列表routerb,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterB] ipv6 prefix-list routerb index 10 permit 100::1 128

[RouterB] ipv6 prefix-list routerb index 20 permit 100::2 128

[RouterB] ipv6 prefix-list routerb index 30 permit 100::3 128

[RouterB] ipv6 prefix-list routerb index 40 permit 11::0 64

[RouterB] ipv6 prefix-list routerb index 50 permit 21::0 64

[RouterB] mpls ldp

[RouterB-ldp] ipv6 lsp-trigger prefix-list routerb

[RouterB-ldp] quit

# Router C上创建IPv6地址前缀列表routerc,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterC] ipv6 prefix-list routerc index 10 permit 100::1 128

[RouterC] ipv6 prefix-list routerc index 20 permit 100::2 128

[RouterC] ipv6 prefix-list routerc index 30 permit 100::3 128

[RouterC] ipv6 prefix-list routerc index 40 permit 11::0 64

[RouterC] ipv6 prefix-list routerc index 50 permit 21::0 64

[RouterC] mpls ldp

[RouterC-ldp] ipv6 lsp-trigger prefix-list routerc

[RouterC-ldp] quit

4. 验证配置

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

[RouterA] display mpls ldp lsp ipv6

Status Flags: * - stale, L - liberal, B - backup

FECs: 5            Ingress: 3          Transit: 3      Egress: 2

 

FEC: 11::/64

In/Out Label: 2426/-                          OutInterface : -

Nexthop     : -

In/Out Label: -/2424(L)                       OutInterface : -

Nexthop     : -

 

FEC: 21::/64

In/Out Label: -/2425                          OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

In/Out Label: 2423/2425                       OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

 

FEC: 100::1/128

In/Out Label: 1040377/-                       OutInterface : -

Nexthop     : -

In/Out Label: -/2426(L)                       OutInterface : -

Nexthop     : -

 

FEC: 100::2/128

In/Out Label: -/1040379                       OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

In/Out Label: 2425/1040379                    OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

 

FEC: 100::3/128

In/Out Label: -/2427                          OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

In/Out Label: 2424/2427                       OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

# 在Router A上检测Router A到Router C的LDP IPv6 LSP的可达性。

[RouterA] ping ipv6 -a 11::1 21::1

Ping6(56 data bytes) 11::1 --> 21::1, press CTRL_C to break

56 bytes from 21::1, icmp_seq=0 hlim=63 time=2.000 ms

56 bytes from 21::1, icmp_seq=1 hlim=63 time=1.000 ms

56 bytes from 21::1, icmp_seq=2 hlim=63 time=3.000 ms

56 bytes from 21::1, icmp_seq=3 hlim=63 time=3.000 ms

56 bytes from 21::1, icmp_seq=4 hlim=63 time=2.000 ms

 

--- Ping6 statistics for 21::1 ---

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/2.200/3.000/0.748 ms

# 在Router C上检测Router C到Router A的LDP IPv6 LSP的可达性。

[RouterC] ping ipv6 -a 21::1 11::1

Ping6(56 data bytes) 21::1 --> 11::1, press CTRL_C to break

56 bytes from 11::1, icmp_seq=0 hlim=63 time=2.000 ms

56 bytes from 11::1, icmp_seq=1 hlim=63 time=1.000 ms

56 bytes from 11::1, icmp_seq=2 hlim=63 time=1.000 ms

56 bytes from 11::1, icmp_seq=3 hlim=63 time=1.000 ms

56 bytes from 11::1, icmp_seq=4 hlim=63 time=1.000 ms

 

--- Ping6 statistics for 11::1 ---

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.200/2.000/0.400 ms

1.24.2  IPv6 FEC标签接受控制策略配置举例

1. 组网需求

11::0/64和21::0/64网段之间存在两条路径:Router A—Router B—Router C和Router A—Router D—Router C。通过配置IPv6 FEC标签接受控制策略,实现只沿着路径Router A—Router B—Router C建立IPv6 LSP,11::0/64和21::0/64网段之间互访的报文通过该IPv6 LSP进行MPLS转发。

图1-15 IPv6 FEC标签接受控制策略配置组网图

 

2. 配置思路

(1)     在各台路由器上配置路由协议,使得各路由器之间路由可达。本例中,采用的路由协议为OSPFv3。

(2)     在各台路由器上启动LDP协议。

(3)     在各台路由器上配置IPv6 LSP触发策略,使得目的地址为11::0/6421::0/64的路由表项能够触发LDP建立IPv6 LSP

(4)     配置IPv6标签接受控制策略,使得LDP仅沿着路径Router A—Router B—Router C建立LSP。具体配置方法为:

·     Router A只接受Router B通告的FEC目的地址为21::0/64的FEC—标签映射;Router A拒绝Router D通告的FEC目的地址为21::0/64的FEC—标签映射。

·     Router C只接受Router B通告的FEC目的地址为11::0/64的FEC—标签映射;Router C拒绝Router D通告的FEC目的地址为11::0/64的FEC—标签映射。

3. 配置步骤

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

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

(2)     配置OSPFv3

在各台路由器上配置OSPFv3,以保证各路由器之间路由可达,具体配置过程略。

(3)     使能MPLS和LDP IPv6功能

# 配置Router A

<RouterA> system-view

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls ldp

[RouterA-ldp] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] mpls enable

[RouterA-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterA-GigabitEthernet1/0/2] mpls ldp transport-address 10::1

[RouterA-GigabitEthernet1/0/2] quit

[RouterA] interface gigabitethernet 1/0/3

[RouterA-GigabitEthernet1/0/3] mpls enable

[RouterA-GigabitEthernet1/0/3] mpls ldp ipv6 enable

[RouterA-GigabitEthernet1/0/3] mpls ldp transport-address 30::1

[RouterA-GigabitEthernet1/0/3] quit

# 配置Router B

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] mpls enable

[RouterB-GigabitEthernet1/0/1] mpls ldp ipv6 enable

[RouterB-GigabitEthernet1/0/1] mpls ldp transport-address 10::2

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] mpls enable

[RouterB-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterB-GigabitEthernet1/0/2] mpls ldp transport-address 20::1

[RouterB-GigabitEthernet1/0/2] quit

# 配置Router C

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] mpls enable

[RouterC-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterC-GigabitEthernet1/0/2] mpls ldp transport-address 20::2

[RouterC-GigabitEthernet1/0/2] quit

[RouterC] interface gigabitethernet 1/0/3

[RouterC-GigabitEthernet1/0/3] mpls enable

[RouterC-GigabitEthernet1/0/3] mpls ldp ipv6 enable

[RouterC-GigabitEthernet1/0/3] mpls ldp transport-address 40::2

[RouterC-GigabitEthernet1/0/3] quit

# 配置Router D

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 1/0/1

[RouterD-GigabitEthernet1/0/1] mpls enable

[RouterD-GigabitEthernet1/0/1] mpls ldp ipv6 enable

[RouterD-GigabitEthernet1/0/1] mpls ldp transport-address 30::2

[RouterD-GigabitEthernet1/0/1] quit

[RouterD] interface gigabitethernet 1/0/2

[RouterD-GigabitEthernet1/0/2] mpls enable

[RouterD-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterD-GigabitEthernet1/0/2] mpls ldp transport-address 40::1

[RouterD-GigabitEthernet1/0/2] quit

(4)     配置IPv6 LSP触发策略

# Router A上创建IPv6地址前缀列表routera,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterA] ipv6 prefix-list routera index 10 permit 11::0 64

[RouterA] ipv6 prefix-list routera index 20 permit 21::0 64

[RouterA] mpls ldp

[RouterA-ldp] ipv6 lsp-trigger prefix-list routera

[RouterA-ldp] quit

# Router B上创建IPv6地址前缀列表routerb,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterB] ipv6 prefix-list routerb index 10 permit 11::0 64

[RouterB] ipv6 prefix-list routerb index 20 permit 21::0 64

[RouterB] mpls ldp

[RouterB-ldp] ipv6 lsp-trigger prefix-list routerb

[RouterB-ldp] quit

# Router C上创建IPv6地址前缀列表routerc,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterC] ipv6 prefix-list routerc index 10 permit 11::0 64

[RouterC] ipv6 prefix-list routerc index 20 permit 21::0 64

[RouterC] mpls ldp

[RouterC-ldp] ipv6 lsp-trigger prefix-list routerc

[RouterC-ldp] quit

# Router D上创建IPv6地址前缀列表routerd,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterD] ipv6 prefix-list routerd index 10 permit 11::0 64

[RouterD] ipv6 prefix-list routerd index 20 permit 21::0 64

[RouterD] mpls ldp

[RouterD-ldp] ipv6 lsp-trigger prefix-list routerd

[RouterD-ldp] quit

(5)     配置IPv6标签接受控制策略

# Router A上创建允许21::0/64通过的IPv6地址前缀列表prefix-from-b,该列表用来过滤Router B通告给Router AFEC—标签映射。

[RouterA] ipv6 prefix-list prefix-from-b index 10 permit 21::0 64

# 在Router A上创建拒绝21::0/64通过的IPv6地址前缀列表prefix-from-d,该列表用来过滤Router D通告给Router A的FEC—标签映射。

[RouterA] ipv6 prefix-list prefix-from-d index 10 deny 21::0 64

# 在Router A上配置过滤Router B和Router D通告的FEC—标签映射的IPv6标签接受控制策略。

[RouterA] mpls ldp

[RouterA-ldp] ipv6 accept-label peer 2.2.2.9 prefix-list prefix-from-b

[RouterA-ldp] ipv6 accept-label peer 4.4.4.9 prefix-list prefix-from-d

[RouterA-ldp] quit

# 在Router C上创建允许11::0/64通过的IPv6地址前缀列表prefix-from-b,该列表用来过滤Router B通告给Router C的FEC—标签映射。

[RouterC] ipv6 prefix-list prefix-from-b index 10 permit 11::0 64

# 在Router C上创建拒绝11::0/64通过的IPv6地址前缀列表prefix-from-d,该列表用来过滤Router D通告给Router C的FEC—标签映射。

[RouterC] ipv6 prefix-list prefix-from-d index 10 deny 11::0 64

# 在Router C上配置过滤Router B和Router D通告的FEC—标签映射的IPv6标签接受控制策略。

[RouterC] mpls ldp

[RouterC-ldp] ipv6 accept-label peer 2.2.2.9 prefix-list prefix-from-b

[RouterC-ldp] ipv6 accept-label peer 4.4.4.9 prefix-list prefix-from-d

[RouterC-ldp] quit

4. 验证配置

# 配置完成后,在各设备上执行display mpls ldp lsp ipv6命令,可以看到LDP IPv6 LSP的建立情况。以Router A为例,在Router A上FEC目的地址为21::0/64的IPv6 LSP的下一跳为Router B(地址为FE80::20C:29FF:FE9D:EAC0),即只沿着路径Router A—Router B—Router C建立了IPv6 LSP,路径Router A—Router D—Router C上未建立IPv6 LSP。

[RouterA] display mpls ldp lsp ipv6

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 1          Transit 1       Egress: 1

 

FEC: 11::/64

In/Out Label: 2417/-                          OutInterface : -

Nexthop     : -

 

FEC: 21::/64

In/Out Label: -/2416                          OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

In/Out Label: 2415/2416                       OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

# 在Router A上检测Router A到Router C的LDP IPv6 LSP的可达性。

[RouterA] ping ipv6 -a 11::1 21::1

Ping6(56 data bytes) 11::1 --> 21::1, press CTRL_C to break

56 bytes from 21::1, icmp_seq=0 hlim=63 time=4.000 ms

56 bytes from 21::1, icmp_seq=1 hlim=63 time=3.000 ms

56 bytes from 21::1, icmp_seq=2 hlim=63 time=3.000 ms

56 bytes from 21::1, icmp_seq=3 hlim=63 time=2.000 ms

56 bytes from 21::1, icmp_seq=4 hlim=63 time=1.000 ms

 

--- Ping6 statistics for 21::1 ---

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/2.600/4.000/1.020 ms

# 在Router C上检测Router C到Router A的LDP IPv6 LSP的可达性。

[RouterC] ping ipv6 -a 21::1 11::1

Ping6(56 data bytes) 21::1 --> 11::1, press CTRL_C to break

56 bytes from 11::1, icmp_seq=0 hlim=63 time=1.000 ms

56 bytes from 11::1, icmp_seq=1 hlim=63 time=2.000 ms

56 bytes from 11::1, icmp_seq=2 hlim=63 time=1.000 ms

56 bytes from 11::1, icmp_seq=3 hlim=63 time=2.000 ms

56 bytes from 11::1, icmp_seq=4 hlim=63 time=1.000 ms

 

--- Ping6 statistics for 11::1 ---

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.400/2.000/0.490 ms

1.24.3  IPv6 FEC标签通告控制策略配置举例

1. 组网需求

11::0/64和21::0/64网段之间存在两条路径:Router A—Router B—Router C和Router A—Router D—Router C。通过配置标签通告控制策略,实现只沿着路径Router A—Router B—Router C建立IPv6 LSP,11::0/64和21::0/64网段之间互访的报文通过该IPv6 LSP进行MPLS转发。

图1-16 IPv6 FEC标签通告控制策略配置组网图

 

2. 配置思路

(1)     在各台路由器上配置路由协议,使得各路由器之间路由可达。本例中,采用的路由协议为OSPFv3。

(2)     在各台路由器上启动LDP协议。

(3)     在各台路由器上配置IPv6 LSP触发策略,使得目的地址为11::0/6421::0/64的路由表项能够触发LDP建立IPv6 LSP

(4)     配置IPv6标签通告控制策略,使得LDP仅沿着路径Router A—Router B—Router C建立IPv6 LSP。具体配置方法为:

·     Router A只将FEC目的地址为11::0/64的FEC—标签映射通告给Router B;Router A不通告任何其他的FEC—标签映射。

·     Router C只将FEC目的地址为21::0/64的FEC—标签映射通告给Router B;Router C不通告任何其他的FEC—标签映射。

·     Router D不将FEC目的地址为21::0/64的FEC—标签映射通告给Router A;Router D不将FEC目的地址为11::0/64的FEC—标签映射通告给Router C。

3. 配置步骤

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

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

(2)     配置OSPFv3

在各台路由器上配置OSPFv3,以保证各路由器之间路由可达,具体配置过程略。

(3)     使能MPLS和LDP IPv6功能

# 配置Router A

<RouterA> system-view

[RouterA] mpls lsr-id 1.1.1.9

[RouterA] mpls ldp

[RouterA-ldp] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] mpls enable

[RouterA-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterA-GigabitEthernet1/0/2] mpls ldp transport-address 10::1

[RouterA-GigabitEthernet1/0/2] quit

[RouterA] interface gigabitethernet 1/0/3

[RouterA-GigabitEthernet1/0/3] mpls enable

[RouterA-GigabitEthernet1/0/3] mpls ldp ipv6 enable

[RouterA-GigabitEthernet1/0/3] mpls ldp transport-address 30::1

[RouterA-GigabitEthernet1/0/3] quit

# 配置Router B

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] mpls enable

[RouterB-GigabitEthernet1/0/1] mpls ldp ipv6 enable

[RouterB-GigabitEthernet1/0/1] mpls ldp transport-address 10::2

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] mpls enable

[RouterB-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterB-GigabitEthernet1/0/2] mpls ldp transport-address 20::1

[RouterB-GigabitEthernet1/0/2] quit

# 配置Router C

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] mpls enable

[RouterC-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterC-GigabitEthernet1/0/2] mpls ldp transport-address 20::2

[RouterC-GigabitEthernet1/0/2] quit

[RouterC] interface gigabitethernet 1/0/3

[RouterC-GigabitEthernet1/0/3] mpls enable

[RouterC-GigabitEthernet1/0/3] mpls ldp ipv6 enable

[RouterC-GigabitEthernet1/0/3] mpls ldp transport-address 40::2

[RouterC-GigabitEthernet1/0/3] quit

# 配置Router D

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 1/0/1

[RouterD-GigabitEthernet1/0/1] mpls enable

[RouterD-GigabitEthernet1/0/1] mpls ldp ipv6 enable

[RouterD-GigabitEthernet1/0/1] mpls ldp transport-address 30::2

[RouterD-GigabitEthernet1/0/1] quit

[RouterD] interface gigabitethernet 1/0/2

[RouterD-GigabitEthernet1/0/2] mpls enable

[RouterD-GigabitEthernet1/0/2] mpls ldp ipv6 enable

[RouterD-GigabitEthernet1/0/2] mpls ldp transport-address 40::1

[RouterD-GigabitEthernet1/0/2] quit

(4)     配置IPv6 LSP触发策略

# Router A上创建IPv6地址前缀列表routera,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterA] ipv6 prefix-list routera index 10 permit 11::0 64

[RouterA] ipv6 prefix-list routera index 20 permit 21::0 64

[RouterA] mpls ldp

[RouterA-ldp] ipv6 lsp-trigger prefix-list routera

[RouterA-ldp] quit

# Router B上创建IPv6地址前缀列表routerb,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterB] ipv6 prefix-list routerb index 10 permit 11::0 64

[RouterB] ipv6 prefix-list routerb index 20 permit 21::0 64

[RouterB] mpls ldp

[RouterB-ldp] ipv6 lsp-trigger prefix-list routerb

[RouterB-ldp] quit

# Router C上创建IPv6地址前缀列表routerc,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterC] ipv6 prefix-list routerc index 10 permit 11::0 64

[RouterC] ipv6 prefix-list routerc index 20 permit 21::0 64

[RouterC] mpls ldp

[RouterC-ldp] ipv6 lsp-trigger prefix-list routerc

[RouterC-ldp] quit

# Router D上创建IPv6地址前缀列表routerd,并配置只有通过该列表过滤的路由表项能够触发LDP建立IPv6 LSP

[RouterD] ipv6 prefix-list routerd index 10 permit 11::0 64

[RouterD] ipv6 prefix-list routerd index 20 permit 21::0 64

[RouterD] mpls ldp

[RouterD-ldp] ipv6 lsp-trigger prefix-list routerd

[RouterD-ldp] quit

(5)     配置IPv6标签通告控制策略

# Router A上创建允许11::0/64通过的IPv6地址前缀列表prefix-to-b,该列表用来过滤通告给Router BFEC—标签映射。

[RouterA] ipv6 prefix-list prefix-to-b index 10 permit 11::0 64

# 在Router A上创建允许2.2.2.9/32通过的IP地址前缀列表peer-b,该列表用来过滤LDP对等体。

[RouterA] ip prefix-list peer-b index 10 permit 2.2.2.9 32

# 在Router A上配置IPv6标签通告控制策略:只将FEC目的地址为11::0/64的FEC—标签映射通告给Router B。

[RouterA] mpls ldp

[RouterA-ldp] ipv6 advertise-label prefix-list prefix-to-b peer peer-b

[RouterA-ldp] quit

# 在Router C上创建允许21::0/64通过的IPv6地址前缀列表prefix-to-b,该列表用来过滤通告给Router B的FEC—标签映射。

[RouterC] ipv6 prefix-list prefix-to-b index 10 permit 21::0 64

# 在Router C上创建允许2.2.2.9/32通过的IP地址前缀列表peer-b,该列表用来过滤LDP对等体。

[RouterC] ip prefix-list peer-b index 10 permit 2.2.2.9 32

# 在Router C上配置IPv6标签通告控制策略:只将FEC目的地址为21::0/64的FEC—标签映射通告给Router B。

[RouterC] mpls ldp

[RouterC-ldp] ipv6 advertise-label prefix-list prefix-to-b peer peer-b

[RouterC-ldp] quit

# Router D上创建拒绝21::0/64通过的IPv6地址前缀列表prefix-to-a,该列表用来过滤通告给Router AFEC—标签映射。

[RouterD] ipv6 prefix-list prefix-to-a index 10 deny 21::0 64

[RouterD] ipv6 prefix-list prefix-to-a index 20 permit 0::0 0 less-equal 128

# 在Router D上创建允许1.1.1.9/32通过的IP地址前缀列表peer-a,该列表用来过滤LDP对等体。

[RouterD] ip prefix-list peer-a index 10 permit 1.1.1.9 32

# Router D上创建拒绝11::0/64通过的IPv6地址前缀列表prefix-to-c,该列表用来过滤通告给Router CFEC—标签映射。

[RouterD] ipv6 prefix-list prefix-to-c index 10 deny 11::0 64

[RouterD] ipv6 prefix-list prefix-to-c index 20 permit 0::0 0 less-equal 128

# 在Router D上创建允许3.3.3.9/32通过的IP地址前缀列表peer-c,该列表用来过滤LDP对等体。

[RouterD] ip prefix-list peer-c index 10 permit 3.3.3.9 32

# 在Router D上配置IPv6标签通告控制策略:不将FEC目的地址为21::0/64的FEC—标签映射通告给Router A;不将FEC目的地址为11::0/64的FEC—标签映射通告给Router C。

[RouterD] mpls ldp

[RouterD-ldp] ipv6 advertise-label prefix-list prefix-to-a peer peer-a

[RouterD-ldp] ipv6 advertise-label prefix-list prefix-to-c peer peer-c

[RouterD-ldp] quit

4. 验证配置

# 配置完成后,在各设备上执行display mpls ldp lsp ipv6命令,可以看到LDP IPv6 LSP的建立情况。Router A和Router C只接收到Router B通告的FEC—标签映射;Router B接收到了Router A和Router C通告的FEC—标签映射; Router D没有接收到Router A和Router C通告的FEC—标签映射;即只沿着路径Router A—Router B—Router C建立了IPv6 LSP。

[RouterA] display mpls ldp lsp ipv6

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 1          Transit: 1      Egress: 1

 

FEC: 11::/64

In/Out Label: 2417/-                          OutInterface : -

Nexthop     : -

In/Out Label: -/1098(L)                       OutInterface : -

Nexthop     : -

In/Out Label: -/2418(L)                       OutInterface : -

Nexthop     : -

 

FEC: 21::/64

In/Out Label: -/2416                          OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

In/Out Label: 2415/2416                       OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAC0

[RouterB] display mpls ldp lsp ipv6

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 2          Transit: 2      Egress: 0

 

FEC: 11::/64

In/Out Label: -/2417                          OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EA8E

In/Out Label: 2418/2417                       OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EA8E

 

FEC: 21::/64

In/Out Label: -/1099                          OutInterface : GE1/0/3

Nexthop     : FE80::20C:29FF:FE05:1C01

In/Out Label: 2416/1099                       OutInterface : GE1/0/3

Nexthop     : FE80::20C:29FF:FE05:1C01

[RouterC] display mpls ldp lsp ipv6

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 1          Transit: 1      Egress: 1

 

FEC: 11::/64

In/Out Label: -/2418                          OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAA2

In/Out Label: 1098/2418                       OutInterface : GE1/0/2

Nexthop     : FE80::20C:29FF:FE9D:EAA2

 

FEC: 21::/64

In/Out Label: 1099/-                          OutInterface : -

Nexthop     : -

In/Out Label: -/2416(L)                       OutInterface : -

Nexthop     : -

In/Out Label: -/1097(L)                       OutInterface : -

Nexthop     : -

[RouterD] display mpls ldp lsp ipv6

Status Flags: * - stale, L - liberal, B - backup

FECs: 2            Ingress: 0          Transit: 0      Egress: 2

 

FEC: 11::/64

In/Out Label: 1098/-                          OutInterface : -

Nexthop     : -

 

FEC: 21::/64

In/Out Label: 1097/-                          OutInterface : -

Nexthop     : -

# 在Router A上检测Router A到Router C的LDP IPv6 LSP的可达性。

[RouterA] ping ipv6 -a 11::1 21::1

Ping6(56 data bytes) 11::1 --> 21::1, press CTRL_C to break

56 bytes from 21::1, icmp_seq=0 hlim=63 time=4.000 ms

56 bytes from 21::1, icmp_seq=1 hlim=63 time=3.000 ms

56 bytes from 21::1, icmp_seq=2 hlim=63 time=3.000 ms

56 bytes from 21::1, icmp_seq=3 hlim=63 time=2.000 ms

56 bytes from 21::1, icmp_seq=4 hlim=63 time=1.000 ms

 

--- Ping6 statistics for 21::1 ---

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/2.600/4.000/1.020 ms

# 在Router C上检测Router C到Router A的LDP IPv6 LSP的可达性。

[RouterC] ping ipv6 -a 21::1 11::1

Ping6(56 data bytes) 21::1 --> 11::1, press CTRL_C to break

56 bytes from 11::1, icmp_seq=0 hlim=63 time=1.000 ms

56 bytes from 11::1, icmp_seq=1 hlim=63 time=2.000 ms

56 bytes from 11::1, icmp_seq=2 hlim=63 time=1.000 ms

56 bytes from 11::1, icmp_seq=3 hlim=63 time=2.000 ms

56 bytes from 11::1, icmp_seq=4 hlim=63 time=1.000 ms

 

--- Ping6 statistics for 11::1 ---

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.400/2.000/0.490 ms

 

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

新华三官网
联系我们

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>