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

09-MPLS配置指导

目录

03-LDP配置

本章节下载 03-LDP配置  (1.04 MB)

03-LDP配置

目 

1 LDP

1.1 LDP简介

1.1.1 LDP基本概念

1.1.2 LDP消息类型

1.1.3 LDP工作过程

1.1.4 LDP的标签分发和管理

1.1.5 LDP GR

1.1.6 LDP NSR

1.1.7 LDP IGP同步

1.1.8 LDP快速重路由

1.1.9 LDP over MPLS TE

1.1.10 协议规范

1.2 LDP配置任务简介

1.3 使能LDP能力

1.3.1 配置限制和指导

1.3.2 全局使能LDP能力

1.3.3 在接口上使能LDP能力

1.4 配置本地LSR ID

1.4.1 功能简介

1.4.2 配置限制和指导

1.4.3 在接口视图下配置本地LSR ID

1.4.4 在LDP对等体视图下配置本地LSR ID

1.5 配置Hello消息参数

1.5.1 Hello消息参数简介

1.5.2 配置限制和指导

1.5.3 配置Link hello消息参数

1.5.4 配置Targeted hello消息参数

1.6 配置LDP会话参数

1.6.1 LDP会话参数简介

1.6.2 配置限制和指导

1.6.3 配置基本发现机制的LDP会话参数

1.6.4 配置扩展发现机制的LDP会话参数(指定目的地址为IPv4地址)

1.6.5 配置扩展发现机制的LDP会话参数(指定目的地址为IPv6地址)

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

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

1.9 配置LDP引入BGP单播路由

1.10 配置LSP触发策略

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

1.12 配置标签通告控制策略

1.13 配置标签接受控制策略

1.14 配置LDP MD5认证

1.15 配置LDP环路检测参数

1.16 配置LDP会话保护

1.17 配置LDP GR

1.18 配置LDP NSR

1.19 配置LDP IGP同步

1.19.1 配置限制和指导

1.19.2 配置LDP OSPF同步

1.19.3 配置LDP IS-IS同步

1.20 配置LDP快速重路由

1.20.1 LDP LFA快速重路由

1.20.2 LDP Remote LFA快速重路由

1.21 开启LDP日志记录功能

1.22 开启LDP模块的告警功能

1.23 LDP显示和维护

1.24 LDP支持IPv4典型配置举例

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

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

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

1.24.4 LDP快速重路由配置举例

1.25 LDP支持IPv6典型配置举例

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

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

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

2 mLDP

2.1 mLDP简介

2.1.1 mLDP P2MP产生背景

2.1.2 mLDP P2MP节点角色

2.1.3 P2MP FEC element

2.1.4 mLDP P2MP工作过程

2.1.5 mLDP P2MP报文转发

2.1.6 协议规范

2.2 mLDP P2MP配置任务简介

2.3 开启mLDP P2MP功能

2.4 开启mLDP P2MP的跨域功能

2.5 mLDP P2MP显示和维护

 


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值时表示某个接口使用的标签空间。

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工作过程主要包括对等体发现与维护、会话建立与维护、LSP建立三个阶段。

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进程决策出的位置不同于当前运行的位置而进行进程主备倒换

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

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快速重路由

1. LDP LFA快速重路由

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

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

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

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

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

 

图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重新收敛导致的流量中断的时间。

2. LDP Remote LFA快速重路由

在大型组网中,LDP LFA快速重路由可能无法计算出备份路径,不能满足可靠性要求,可以通过部署LDP Remote LFA(Remote Loop Free Alternate,远端无环备份)快速重路由解决该问题。

图1-7所示,P 1为源节点,P 2为目的节点,主LDP LSP为P 1->P 2,通过LDP Remote LFA快速重路由建立Remote LFA FRR LSP(P 1->P 4->P 2)来保护主LDP LSP。建立过程为:

(1)     IGP通过Remote LFA算法计算出路由后得到PQ节点,PQ节点为P 4。

(2)     LDP根据PQ节点地址自动创建远端对等体,建立源节点P 1与PQ节点之间的LDP远端会话,并在该会话上为目的地址分配标签,从而建立Remote LFA FRR LSP(P 1->P 4->P 2)以便保护主LDP LSP。

当主LDP LSP发生故障时,P 1快速将流量切换到Remote LFA FRR LSP继续转发,尽量减少流量丢失,从而提高网络可靠性。有关Remote LFA的详细介绍,请参见“三层技术-IP路由配置指导”中的“IS-IS”。

图1-7 LDP Remote LFA典型组网图

 

1.1.9  LDP over MPLS TE

图1-8所示,对于在核心层部署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-8 LDP over MPLS TE

 

1.1.10  协议规范

与MPLS相关的协议规范有:

·     RFC 5036:LDP Specification

1.2  LDP配置任务简介

LDP配置任务如下:

(1)     使能LDP能力

(2)     (可选)配置本地LSR ID

(3)     (可选)调整和优化LDP

¡     配置Hello消息参数

¡     配置LDP会话参数

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

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

(4)     (可选)调整和控制LSP的建立

¡     配置LDP引入BGP单播路由

¡     配置LSP触发策略

(5)     (可选)配置LDP的标签分发和管理

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

¡     配置标签通告控制策略

¡     配置标签接受控制策略

(6)     (可选)配置LDP MD5认证

(7)     (可选)配置LDP环路检测

该功能主要用于存在大量非TTL递减设备(如标签控制的ATM交换机)的MPLS网络。

(8)     (可选)配置LDP高可靠性

¡     配置LDP会话保护

¡     配置LDP GR

¡     配置LDP NSR

¡     配置LDP IGP同步

¡     配置LDP快速重路由

(9)     (可选)开启LDP日志记录功能

(10)     (可选)开启LDP模块的告警功能

1.3  使能LDP能力

1.3.1  配置限制和指导

要使接口的LDP能力生效,必须先全局使能LDP,然后在相应的接口上使能LDP。

1.3.2  全局使能LDP能力

(1)     进入系统视图。

system-view

(2)     使能本节点的LDP能力,或使能指定VPN实例的LDP能力。

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

mpls ldp

¡     请依次执行以下命令使能指定VPN实例的LDP能力,为该VPN创建LDP实例,并进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

缺省情况下,LDP能力处于关闭状态。

(3)     配置LDP的LSR ID。

lsr-id lsr-id

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

1.3.3  在接口上使能LDP能力

(1)     进入系统视图。

system-view

(2)     进入需要建立LDP会话的接口视图。

interface interface-type interface-number

如果该接口绑定了VPN实例,则需要在LDP视图下通过vpn-instance命令使能指定VPN实例的LDP能力。

(3)     使能接口的LDP支持IPv4能力。

mpls ldp enable

缺省情况下,接口的LDP支持IPv4能力处于关闭状态。

(4)     使能接口的LDP支持IPv6能力。

mpls ldp ipv6 enable

缺省情况下,接口的LDP支持IPv6能力处于关闭状态。

1.4  配置本地LSR ID

1.4.1  功能简介

在使用LDP隧道承载L2VPN、L3VPN业务的场景中,本地所有LDP会话缺省均采用LDP实例的LSR ID建立,这样所有业务流量共用同一LDP会话建立LDP LSP,不利于不同VPN业务的隔离。通过配置本命令可以为不同的LDP会话指定不同的LSR ID,从而实现业务隔离。

1.4.2  配置限制和指导

在与直连LSR邻接建立Link Hello邻接关系时,如果与LSR邻居通过多条链路连接,则不同链路对应的接口配置的LSR ID必须相同。否则,设备将采用第一个建立Link Hello邻接关系的链路的LSR ID建立LDP会话,而其他具有不同LSR ID的链路将无法通过该LDP会话建立LDP LSP。

在Link Hello和Targeted Hello两种邻接关系共存的场景中,Link Hello和Targeted Hello邻接关系对应的LDP会话必须配置相同的LSR ID,否则只有首先建立邻接关系的LDP会话能够成功建立。

修改LDP会话的LSR ID配置后,所有LDP会话将被删除重建。

1.4.3  在接口视图下配置本地LSR ID

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置指定接口的主IPv4地址作为LDP会话的LSR ID。

mpls ldp local-lsr-id { interface interface-type interface-number | self-interface }

缺省情况下,使用LDP实例的LSR ID作为LDP会话的LSR ID。

1.4.4  在LDP对等体视图下配置本地LSR ID

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     进入LDP对等体视图。

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

(4)     配置指定接口的主IPv4地址作为LDP会话的LSR ID。

mpls ldp local-lsr-id interface interface-type interface-number

缺省情况下,使用LDP实例的LSR ID作为LDP会话的LSR ID。

1.5  配置Hello消息参数

1.5.1  Hello消息参数简介

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

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

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

Hello消息参数包括:

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

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

1.5.2  配置限制和指导

修改Hello消息参数,不会对已建立的LDP会话生效。如果要求对已建立的会话生效,则需执行reset mpls ldp命令重启公网或指定LDP实例中的所有会话。

1.5.3  配置Link hello消息参数

(1)     进入系统视图。

system-view

(2)     进入建立LDP会话的接口视图。

interface interface-type interface-number

(3)     配置Link hello保持时间。

mpls ldp timer hello-hold timeout

缺省情况下,Link hello保持时间为15秒。

(4)     配置Link hello报文发送时间间隔。

mpls ldp timer hello-interval interval

缺省情况下,Link hello报文发送时间间隔为5秒。

1.5.4  配置Targeted hello消息参数

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

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

targeted-peer { ipv4-address | ipv6-address } [ peer-name ]

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

不同IP地址不能配置相同的Targeted peer名称。

(4)     配置Targeted hello保持时间。

mpls ldp timer hello-hold timeout

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

(5)     配置Targeted hello报文发送时间间隔。

mpls ldp timer hello-interval interval

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

1.6  配置LDP会话参数

1.6.1  LDP会话参数简介

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

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

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

1.6.2  配置限制和指导

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

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

修改LDP会话参数,不会对已建立的LDP会话生效。如果要求对已建立的会话生效,则需执行reset mpls ldp命令重启公网或指定LDP实例中的所有会话。

1.6.3  配置基本发现机制的LDP会话参数

(1)     进入系统视图。

system-view

(2)     进入建立LDP会话的接口视图。

interface interface-type interface-number

(3)     配置Keepalive保持时间。

mpls ldp timer keepalive-hold timeout

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

(4)     配置Keepalive报文发送时间间隔。

mpls ldp timer keepalive-interval interval

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

(5)     配置LDP IPv4传输地址。

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

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

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

(6)     配置LDP IPv6传输地址。

mpls ldp transport-address ipv6-address

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

1.6.4  配置扩展发现机制的LDP会话参数(指定目的地址为IPv4地址)

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

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

targeted-peer ipv4-address

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

(4)     配置Keepalive保持时间。

mpls ldp timer keepalive-hold timeout

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

(5)     配置Keepalive报文发送时间间隔。

mpls ldp timer keepalive-interval interval

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

(6)     配置LDP传输地址。

mpls ldp transport-address ipv4-address

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

1.6.5  配置扩展发现机制的LDP会话参数(指定目的地址为IPv6地址)

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

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

targeted-peer ipv6-address

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

(4)     配置Keepalive保持时间。

mpls ldp timer keepalive-hold timeout

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

(5)     配置Keepalive报文发送时间间隔。

mpls ldp timer keepalive-interval interval

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

(6)     配置LDP传输地址。

mpls ldp transport-address ipv6-address

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

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

1. 功能简介

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     配置LDP倒退机制的初始延迟和最大延迟。

backoff initial initial-time maximum maximum-time

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

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

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     配置发送的LDP报文的DSCP优先级。

dscp dscp-value

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

1.9  配置LDP引入BGP单播路由

1. 功能简介

缺省情况下,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。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     配置LDP引入BGP IPv4单播路由。

import bgp

缺省情况下,LDP不主动引入BGP IPv4单播路由。

(4)     配置LDP引入BGP IPv6单播路由。

ipv6 import bgp

缺省情况下,LDP不主动引入BGP IPv6单播路由。

1.10  配置LSP触发策略

1. 功能简介

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

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

·     所有路由表项都会触发LDP建立LSP。对于Loopback接口,仅32位掩码的路由可以触发LDP建立LSP。

·     引入到LDP且已经收到下游通告的标签映射的路由表项会触发LDP建立LSP。

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

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

2. 配置限制和指导

在非必要的情况下,建议用户采用缺省的LSP触发策略,以免建立过多的LSP,占用系统和网络资源。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     配置IPv4 LSP的触发策略。

lsp-trigger { all | mapping | prefix-list prefix-list-name }

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

(4)     配置IPv6 LSP的触发策略。

ipv6 lsp-trigger { all | mapping | prefix-list prefix-list-name }

缺省情况下,只有引入到LDP的128位前缀的IPv6主机路由能够触发LDP建立LSP。

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

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     配置标签分发控制方式。

label-distribution { independent | ordered }

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

1.12  配置标签通告控制策略

1. 功能简介

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

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

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

 

2. 配置限制和指导

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

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     配置IPv4 FEC标签通告控制策略。

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

缺省情况下,未配置标签通告控制策略,即向所有对等体通告满足LSP触发策略的所有IPv4地址前缀的标签映射。

(4)     配置IPv6 FEC标签通告控制策略。

ipv6 advertise-label prefix-list prefix-list-name [ peer peer-prefix-list-name ]

缺省情况下,未配置标签通告控制策略,即向所有对等体通告满足LSP触发策略的所有IPv6地址前缀的标签映射。

1.13  配置标签接受控制策略

1. 功能简介

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

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

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

 

2. 配置限制和指导

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

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     配置IPv4 FEC标签接受控制策略。

accept-label peer peer-lsr-id prefix-list prefix-list-name

缺省情况下,未配置标签接受控制策略,接受来自所有对等体的所有IPv4地址前缀的标签映射。

(4)     配置IPv6 FEC标签接受控制策略。

ipv6 accept-label peer peer-lsr-id prefix-list prefix-list-name

缺省情况下,未配置标签接受控制策略,接受来自所有对等体的所有IPv6地址前缀的标签映射。

1.14  配置LDP MD5认证

1. 功能简介

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

2. 配置限制和指导

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     使能LDP的MD5认证功能。

md5-authentication peer-lsr-id { cipher | plain } string

缺省情况下,LDP的MD5认证功能处于关闭状态。

1.15  配置LDP环路检测参数

1. 功能简介

设备不支持LDP环路检测功能,但如果邻居支持该功能,且要求LDP会话协商时两端设备通告的环路检测参数一致,为保证与此类邻居能够建立LDP会话,需要保证本端设备上进行相同的LDP环路检测参数配置。

2. 配置限制和指导

配置本功能后,设备仍然不支持LDP环路检测功能,仅在建立LDP会话时具有协商环路检测功能的能力。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图或LDP-VPN实例视图。

¡     进入LDP视图。

mpls ldp

¡     请依次执行以下命令进入LDP-VPN实例视图。

mpls ldp

vpn-instance vpn-instance-name

(3)     开启环路检测功能。

loop-detect

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

(4)     (可选)配置最大跳数环路检测方式下LSP的最大跳数。

maxhops hop-number

缺省情况下,最大跳数环路检测方式下LSP的最大跳数为32。

(5)     (可选)配置路径向量环路检测方式下LSP的最大跳数。

pv-limit pv-number

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

1.16  配置LDP会话保护

1. 功能简介

会话保护功能实现了基本发现机制失效时,利用扩展发现机制来保持与对等体的会话,确保基本发现机制恢复时,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邻接关系永久保持会话。

2. 配置限制和指导

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     使能会话保护功能。

session protection [ duration time ] [ peer peer-prefix-list-name ]

缺省情况下,会话保护功能处于关闭状态。

1.17  配置LDP GR

1. 配置限制和指导

只需要在作为GR Restarter的设备上进行以下配置,但由于设备在GR过程中的角色不可预知,建议在所有设备上均进行以下配置。

2. 配置准备

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     使能LDP协议的GR能力。

graceful-restart

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

(4)     (可选)配置GR重连超时时间。

graceful-restart timer reconnect reconnect-time

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

(5)     (可选)配置GR转发状态保持定时器的值。

graceful-restart timer forwarding-hold hold-time

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

1.18  配置LDP NSR

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     使能LDP NSR功能。

non-stop-routing

缺省情况下,LDP NSR功能处于关闭状态。

1.19  配置LDP IGP同步

1.19.1  配置限制和指导

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

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

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

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

1.19.2  配置LDP OSPF同步

1. 在OSPF进程下配置LDP OSPF同步

(1)     进入系统视图。

system-view

(2)     进入OSPF视图。

ospf [ process-id | router-id router-id ] *

(3)     使能LDP OSPF同步功能。

mpls ldp sync

缺省情况下,LDP OSPF同步功能处于关闭状态。

(4)     (可选)在接口上关闭LDP IGP同步功能。

a.     退回系统视图。

quit

b.     进入接口视图。

interface interface-type interface-number

c.     关闭接口的LDP IGP同步功能。

mpls ldp igp sync disable

缺省情况下,接口上的LDP IGP同步功能处于开启状态。

(5)     (可选)配置LDP OSPF同步相关参数。

a.     退回系统视图。

quit

b.     进入LDP视图。

mpls ldp

c.     配置向IGP通知LDP已收敛的延迟时间。

igp sync delay time

缺省情况下,LDP收敛后立即通知IGP。

d.     配置在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间。

igp sync delay on-restart time

缺省情况下,在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间为90秒。

2. 在OSPF区域下配置LDP OSPF同步

(1)     进入系统视图。

system-view

(2)     进入OSPF视图。

ospf [ process-id | router-id router-id ] *

(3)     进入OSPF区域视图。

area area-id

(4)     使能LDP OSPF同步功能。

mpls ldp sync

缺省情况下,LDP OSPF同步功能处于关闭状态。

(5)     (可选)在接口上关闭LDP IGP同步功能。

a.     退回系统视图。

quit

b.     进入接口视图。

interface interface-type interface-number

c.     关闭接口的LDP IGP同步功能。

mpls ldp igp sync disable

缺省情况下,接口上的LDP IGP同步功能处于开启状态。

(6)     (可选)配置LDP OSPF同步相关参数。

a.     退回系统视图。

quit

b.     进入LDP视图。

mpls ldp

c.     配置向IGP通知LDP已收敛的延迟时间。

igp sync delay time

缺省情况下,LDP收敛后立即通知IGP。

d.     配置在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间。

igp sync delay on-restart time

缺省情况下,在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间为90秒。

1.19.3  配置LDP IS-IS同步

(1)     进入系统视图。

system-view

(2)     进入IS-IS视图。

isis [ process-id ]

(3)     使能LDP IS-IS同步功能。

mpls ldp sync [ level-1 | level-2 ]

缺省情况下,LDP IS-IS同步功能处于关闭状态。

(4)     (可选)在接口上关闭LDP IGP同步功能。

a.     退回系统视图。

quit

b.     进入接口视图。

interface interface-type interface-number

c.     关闭接口的LDP IGP同步功能。

mpls ldp igp sync disable

缺省情况下,接口上的LDP IGP同步功能处于开启状态。

(5)     (可选)配置LDP IS-IS同步相关参数。

a.     退回系统视图。

quit

b.     进入LDP视图。

mpls ldp

c.     配置向IGP通知LDP已收敛的延迟时间。

igp sync delay time

缺省情况下,LDP收敛后立即通知IGP。

d.     配置在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间。

igp sync delay on-restart time

缺省情况下,在LDP协议重启或倒换后,向IGP通告LDP IGP同步状态的最大延迟时间为90秒。

1.20  配置LDP快速重路由

1.20.1  LDP LFA快速重路由

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

1.20.2  LDP Remote LFA快速重路由

1. 配置限制和指导

在Remote LFA组网场景中,请在PQ节点配置本功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     开启设备根据Targeted Hello消息自动建立LDP Targeted会话的功能。

accept target-hello { all | prefix-list prefix-list-name }

缺省情况下,设备根据Targeted Hello消息自动建立LDP Targeted会话的功能处于关闭状态

1.21  开启LDP日志记录功能

1. 功能简介

开启LDP日志记录功能后,当LDP的运行状况发生变化时会生成日志信息,并保存到本地文件中。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     开启LDP日志记录功能。

log enable

缺省情况下,LDP模块的日志记录功能处于开启状态。

(4)     配置允许记录的LDP日志的最大数目。

log record-size record-size

缺省情况下,允许记录的LDP日志的最大数目为4096。

在设备上保存适量的LDP日志信息既能够满足运维的需要又能减少系统资源的消耗。通过本功能可以控制本地保存的LDP日志信息数量,以便合理利用系统资源。

1.22  开启LDP模块的告警功能

1. 功能简介

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启LDP模块的告警功能。

snmp-agent trap enable ldp

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

1.23  LDP显示和维护

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

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

表1-1 显示LDP运行状态

操作

命令

显示LDP发现过程相关信息

(独立运行模式)

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

(IRF模式)

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

显示LDP会话中收到的错误TCP报文信息

display mpls ldp error-packet

显示通过LDP学习到的FEC—标签映射信息

(独立运行模式)

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

(IRF模式)

display mpls ldp fec [ all [ ipv6 ] [ summary ] | [ vpn-instance vpn-instance-name ] [ ipv4-address mask-length | ipv6-address prefix-length | [ ipv6 ] [ summary ] ] ] [ chassis chassis-number slot slot-number ]

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

display mpls ldp interface [ all | [ 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 [ all [ ipv6 ] | [ vpn-instance vpn-instance-name ] [ ipv4-address mask-length | ipv6-address prefix-length | ipv6 ] ]

显示LDP LSP没有建立成功的原因

display mpls ldp lsp fault-analysis [ vpn-instance vpn-instance-name ] ipv4-address mask-length

显示LDP的运行参数

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

显示LDP对等体和LDP会话信息

(独立运行模式)

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

(IRF模式)

display mpls ldp peer [ all | [ vpn-instance vpn-instance-name ] [ peer-lsr-id ] ] [ verbose ] [ chassis chassis-number slot slot-number ]

显示LDP运行数据汇总信息

(独立运行模式)

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

(IRF模式)

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

显示LDP会话中断事件信息

display mpls ldp troubleshooting

重启LDP会话

reset mpls ldp [ vpn-instance vpn-instance-name ] [ peer peer-id ]

 

1.24  LDP支持IPv4典型配置举例

1.24.1  利用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 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-11 利用LDP动态建立LSP配置组网图

2. 配置思路

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

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

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

3. 配置步骤

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

按照图1-11配置各接口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 : 19        Routes : 19

 

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        GE3/1/1

3.3.3.9/32         O_INTRA 10  2           10.1.1.2        GE3/1/1

10.1.1.0/24        Direct  0   0           10.1.1.1        GE3/1/1

10.1.1.0/32        Direct  0   0           10.1.1.1        GE3/1/1

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        GE3/1/1

11.1.1.0/24        Direct  0   0           11.1.1.1        GE3/1/2

11.1.1.0/32        Direct  0   0           11.1.1.1        GE3/1/2

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        GE3/1/2

20.1.1.0/24        O_INTRA 10  2           10.1.1.2        GE3/1/1

21.1.1.0/24        O_INTRA 10  3           10.1.1.2        GE3/1/1

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

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 3/1/1

[RouterA-GigabitEthernet3/1/1] mpls enable

[RouterA-GigabitEthernet3/1/1] mpls ldp enable

[RouterA-GigabitEthernet3/1/1] quit

# 配置Router B。

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 3/1/1

[RouterB-GigabitEthernet3/1/1] mpls enable

[RouterB-GigabitEthernet3/1/1] mpls ldp enable

[RouterB-GigabitEthernet3/1/1] quit

[RouterB] interface gigabitethernet 3/1/2

[RouterB-GigabitEthernet3/1/2] mpls enable

[RouterB-GigabitEthernet3/1/2] mpls ldp enable

[RouterB-GigabitEthernet3/1/2] quit

# 配置Router C。

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 3/1/1

[RouterC-GigabitEthernet3/1/1] mpls enable

[RouterC-GigabitEthernet3/1/1] mpls ldp enable

[RouterC-GigabitEthernet3/1/1] 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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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        GE3/1/1

                   1279/3              10.1.1.2        GE3/1/1

3.3.3.9/32         -/1278              10.1.1.2        GE3/1/1

                   1278/1278           10.1.1.2        GE3/1/1

11.1.1.0/24        1277/-

                   -/1277(L)

21.1.1.0/24        -/1276              10.1.1.2        GE3/1/1

                   1276/1276           10.1.1.2        GE3/1/1

# 在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 with 100 bytes of data:

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

 

--- Ping statistics for FEC 21.1.1.0/24 ---

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 with 100 bytes of data:

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

 

--- Ping statistics for FEC 11.1.1.0/24 ---

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

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

1.24.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-12 标签接受控制策略配置组网图

2. 配置思路

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

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

(3)     在各台路由器上配置LSP触发策略,使得目的地址为11.1.1.0/24和21.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-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 3/1/1

[RouterA-GigabitEthernet3/1/1] mpls enable

[RouterA-GigabitEthernet3/1/1] mpls ldp enable

[RouterA-GigabitEthernet3/1/1] quit

[RouterA] interface gigabitethernet 3/1/2

[RouterA-GigabitEthernet3/1/2] mpls enable

[RouterA-GigabitEthernet3/1/2] mpls ldp enable

[RouterA-GigabitEthernet3/1/2] quit

# 配置Router B。

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 3/1/1

[RouterB-GigabitEthernet3/1/1] mpls enable

[RouterB-GigabitEthernet3/1/1] mpls ldp enable

[RouterB-GigabitEthernet3/1/1] quit

[RouterB] interface gigabitethernet 3/1/2

[RouterB-GigabitEthernet3/1/2] mpls enable

[RouterB-GigabitEthernet3/1/2] mpls ldp enable

[RouterB-GigabitEthernet3/1/2] quit

# 配置Router C。

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 3/1/1

[RouterC-GigabitEthernet3/1/1] mpls enable

[RouterC-GigabitEthernet3/1/1] mpls ldp enable

[RouterC-GigabitEthernet3/1/1] quit

[RouterC] interface gigabitethernet 3/1/2

[RouterC-GigabitEthernet3/1/2] mpls enable

[RouterC-GigabitEthernet3/1/2] mpls ldp enable

[RouterC-GigabitEthernet3/1/2] quit

# 配置Router D。

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 3/1/1

[RouterD-GigabitEthernet3/1/1] mpls enable

[RouterD-GigabitEthernet3/1/1] mpls ldp enable

[RouterD-GigabitEthernet3/1/1] quit

[RouterD] interface gigabitethernet 3/1/2

[RouterD-GigabitEthernet3/1/2] mpls enable

[RouterD-GigabitEthernet3/1/2] mpls ldp enable

[RouterD-GigabitEthernet3/1/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 A的FEC—标签映射。

[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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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        GE3/1/1

                   1276/1276           10.1.1.2        GE3/1/1

# 在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 with 100 bytes of data:

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

 

--- Ping statistics for FEC 21.1.1.0/24 ---

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 with 100 bytes of data:

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

 

--- Ping statistics for FEC 11.1.1.0/24 ---

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

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

1.24.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-13 标签通告控制策略配置组网图

 

2. 配置思路

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

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

(3)     在各台路由器上配置LSP触发策略,使得目的地址为11.1.1.0/24和21.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-13配置各接口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 3/1/1

[RouterA-GigabitEthernet3/1/1] mpls enable

[RouterA-GigabitEthernet3/1/1] mpls ldp enable

[RouterA-GigabitEthernet3/1/1] quit

[RouterA] interface gigabitethernet 3/1/2

[RouterA-GigabitEthernet3/1/2] mpls enable

[RouterA-GigabitEthernet3/1/2] mpls ldp enable

[RouterA-GigabitEthernet3/1/2] quit

# 配置Router B。

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 3/1/1

[RouterB-GigabitEthernet3/1/1] mpls enable

[RouterB-GigabitEthernet3/1/1] mpls ldp enable

[RouterB-GigabitEthernet3/1/1] quit

[RouterB] interface gigabitethernet 3/1/2

[RouterB-GigabitEthernet3/1/2] mpls enable

[RouterB-GigabitEthernet3/1/2] mpls ldp enable

[RouterB-GigabitEthernet3/1/2] quit

# 配置Router C。

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 3/1/1

[RouterC-GigabitEthernet3/1/1] mpls enable

[RouterC-GigabitEthernet3/1/1] mpls ldp enable

[RouterC-GigabitEthernet3/1/1] quit

[RouterC] interface gigabitethernet 3/1/2

[RouterC-GigabitEthernet3/1/2] mpls enable

[RouterC-GigabitEthernet3/1/2] mpls ldp enable

[RouterC-GigabitEthernet3/1/2] quit

# 配置Router D。

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 3/1/1

[RouterD-GigabitEthernet3/1/1] mpls enable

[RouterD-GigabitEthernet3/1/1] mpls ldp enable

[RouterD-GigabitEthernet3/1/1] quit

[RouterD] interface gigabitethernet 3/1/2

[RouterD-GigabitEthernet3/1/2] mpls enable

[RouterD-GigabitEthernet3/1/2] mpls ldp enable

[RouterD-GigabitEthernet3/1/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 B的FEC—标签映射。

[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 A的FEC—标签映射。

[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 C的FEC—标签映射。

[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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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        GE3/1/1

                   1276/1276           10.1.1.2        GE3/1/1

[RouterB] display mpls ldp lsp

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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

 

FEC                In/Out Label        Nexthop         OutInterface

11.1.1.0/24        -/1277              10.1.1.1        GE3/1/1

                   1277/1277           10.1.1.1        GE3/1/1

21.1.1.0/24        -/1149              20.1.1.2        GE3/1/2

                   1276/1149           20.1.1.2        GE3/1/2

[RouterC] display mpls ldp lsp

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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

 

FEC                In/Out Label        Nexthop         OutInterface

11.1.1.0/24        -/1277              20.1.1.1        GE3/1/1

                   1148/1277           20.1.1.1        GE3/1/1

21.1.1.0/24        1149/-

                   -/1276(L)

                   -/1150(L)

[RouterD] display mpls ldp lsp

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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 with 100 bytes of data:

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

 

--- Ping statistics for FEC 21.1.1.0/24 ---

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 with 100 bytes of data:

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

 

--- Ping statistics for FEC 11.1.1.0/24 ---

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

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

1.24.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-14 LDP快速重路由配置组网图

2. 配置思路

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

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

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

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

3. 配置步骤

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

按照图1-14配置各接口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-frr-10] if-match ip address prefix-list abc

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

[RouterS-route-policy-frr-10] 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-frr-10] if-match ip address prefix-list abc

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

[RouterD-route-policy-frr-10] 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 3/1/1

[RouterS-GigabitEthernet3/1/1] mpls enable

[RouterS-GigabitEthernet3/1/1] mpls ldp enable

[RouterS-GigabitEthernet3/1/1] quit

[RouterS] interface gigabitethernet 3/1/2

[RouterS-GigabitEthernet3/1/2] mpls enable

[RouterS-GigabitEthernet3/1/2] mpls ldp enable

[RouterS-GigabitEthernet3/1/2] quit

# 配置Router D。

[RouterD] mpls lsr-id 3.3.3.3

[RouterD] mpls ldp

[RouterD-mpls-ldp] quit

[RouterD] interface gigabitethernet 3/1/1

[RouterD-GigabitEthernet3/1/1] mpls enable

[RouterD-GigabitEthernet3/1/1] mpls ldp enable

[RouterD-GigabitEthernet3/1/1] quit

[RouterD] interface gigabitethernet 3/1/2

[RouterD-GigabitEthernet3/1/2] mpls enable

[RouterD-GigabitEthernet3/1/2] mpls ldp enable

[RouterD-GigabitEthernet3/1/2] quit

# 配置Router A。

[RouterA] mpls lsr-id 2.2.2.2

[RouterA] mpls ldp

[RouterA-mpls-ldp] quit

[RouterA] interface gigabitethernet 3/1/1

[RouterA-GigabitEthernet3/1/1] mpls enable

[RouterA-GigabitEthernet3/1/1] mpls ldp enable

[RouterA-GigabitEthernet3/1/1] quit

[RouterA] interface gigabitethernet 3/1/2

[RouterA-GigabitEthernet3/1/2] mpls enable

[RouterA-GigabitEthernet3/1/2] mpls ldp enable

[RouterA-GigabitEthernet3/1/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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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

 

FEC                In/Out Label        Nexthop         OutInterface

21.1.1.0/24        -/1276              13.13.13.2      GE3/1/2

                   2174/1276           13.13.13.2      GE3/1/2

                   -/1276(B)           12.12.12.2      GE3/1/1

                   2174/1276(B)        12.12.12.2      GE3/1/1

1.25  LDP支持IPv6典型配置举例

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

1. 组网需求

·     Router A、Router B和Router 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-15 利用LDP动态建立IPv6 LSP配置组网图

 

2. 配置思路

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

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

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

3. 配置步骤

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

按照图1-15配置各接口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 3/1/2

[RouterA-GigabitEthernet3/1/2] ospfv3 1 area 0.0.0.0

[RouterA-GigabitEthernet3/1/2] quit

[RouterA] interface gigabitethernet 3/1/1

[RouterA-GigabitEthernet3/1/1] ospfv3 1 area 0.0.0.0

[RouterA-GigabitEthernet3/1/1] 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 3/1/1

[RouterB-GigabitEthernet3/1/1] ospfv3 1 area 0.0.0.0

[RouterB-GigabitEthernet3/1/1] quit

[RouterB] interface gigabitethernet 3/1/2

[RouterB-GigabitEthernet3/1/2] ospfv3 1 area 0.0.0.0

[RouterB-GigabitEthernet3/1/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 3/1/2

[RouterC-GigabitEthernet3/1/2] ospfv3 1 area 0.0.0.0

[RouterC-GigabitEthernet3/1/2] quit

[RouterC] interface gigabitethernet 3/1/1

[RouterC-GigabitEthernet3/1/1] ospfv3 1 area 0.0.0.0

[RouterC-GigabitEthernet3/1/1] quit

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

[RouterA] display ipv6 routing-table

 

Destinations : 11        Routes : 11

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 10::/64                                     Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : GE3/1/1                                     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  : GE3/1/2                                     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  : GE3/1/1                                     Cost      : 2

 

Destination: 21::/64                                     Protocol  : O_INTRA

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

Interface  : GE3/1/1                                     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  : GE3/1/1                                     Cost      : 1

 

Destination: 100::3/128                                  Protocol  : O_INTRA

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

Interface  : GE3/1/1                                     Cost      : 2

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : InLoop0                                     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 3/1/1

[RouterA-GigabitEthernet3/1/1] mpls enable

[RouterA-GigabitEthernet3/1/1] mpls ldp ipv6 enable

[RouterA-GigabitEthernet3/1/1] mpls ldp transport-address 10::1

[RouterA-GigabitEthernet3/1/1] quit

# 配置Router B。

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 3/1/1

[RouterB-GigabitEthernet3/1/1] mpls enable

[RouterB-GigabitEthernet3/1/1] mpls ldp ipv6 enable

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

[RouterB-GigabitEthernet3/1/1] quit

[RouterB] interface gigabitethernet 3/1/2

[RouterB-GigabitEthernet3/1/2] mpls enable

[RouterB-GigabitEthernet3/1/2] mpls ldp ipv6 enable

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

[RouterB-GigabitEthernet3/1/2] quit

# 配置Router C。

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 3/1/1

[RouterC-GigabitEthernet3/1/1] mpls enable

[RouterC-GigabitEthernet3/1/1] mpls ldp ipv6 enable

[RouterC-GigabitEthernet3/1/1] mpls ldp transport-address 20::2

[RouterC-GigabitEthernet3/1/1] 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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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 : GE3/1/1

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

In/Out Label: 2423/2425                       OutInterface : GE3/1/1

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 : GE3/1/1

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

In/Out Label: 2425/1040379                    OutInterface : GE3/1/1

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

 

FEC: 100::3/128

In/Out Label: -/2427                          OutInterface : GE3/1/1

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

In/Out Label: 2424/2427                       OutInterface : GE3/1/1

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.25.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-16 IPv6 FEC标签接受控制策略配置组网图

 

2. 配置思路

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

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

(3)     在各台路由器上配置IPv6 LSP触发策略,使得目的地址为11::0/64和21::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-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 3/1/1

[RouterA-GigabitEthernet3/1/1] mpls enable

[RouterA-GigabitEthernet3/1/1] mpls ldp ipv6 enable

[RouterA-GigabitEthernet3/1/1] mpls ldp transport-address 10::1

[RouterA-GigabitEthernet3/1/1] quit

[RouterA] interface gigabitethernet 3/1/2

[RouterA-GigabitEthernet3/1/2] mpls enable

[RouterA-GigabitEthernet3/1/2] mpls ldp ipv6 enable

[RouterA-GigabitEthernet3/1/2] mpls ldp transport-address 30::1

[RouterA-GigabitEthernet3/1/2] quit

# 配置Router B。

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 3/1/1

[RouterB-GigabitEthernet3/1/1] mpls enable

[RouterB-GigabitEthernet3/1/1] mpls ldp ipv6 enable

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

[RouterB-GigabitEthernet3/1/1] quit

[RouterB] interface gigabitethernet 3/1/2

[RouterB-GigabitEthernet3/1/2] mpls enable

[RouterB-GigabitEthernet3/1/2] mpls ldp ipv6 enable

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

[RouterB-GigabitEthernet3/1/2] quit

# 配置Router C。

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 3/1/1

[RouterC-GigabitEthernet3/1/1] mpls enable

[RouterC-GigabitEthernet3/1/1] mpls ldp ipv6 enable

[RouterC-GigabitEthernet3/1/1] mpls ldp transport-address 20::2

[RouterC-GigabitEthernet3/1/1] quit

[RouterC] interface gigabitethernet 3/1/2

[RouterC-GigabitEthernet3/1/2] mpls enable

[RouterC-GigabitEthernet3/1/2] mpls ldp ipv6 enable

[RouterC-GigabitEthernet3/1/2] mpls ldp transport-address 40::2

[RouterC-GigabitEthernet3/1/2] quit

# 配置Router D。

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 3/1/1

[RouterD-GigabitEthernet3/1/1] mpls enable

[RouterD-GigabitEthernet3/1/1] mpls ldp ipv6 enable

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

[RouterD-GigabitEthernet3/1/1] quit

[RouterD] interface gigabitethernet 3/1/2

[RouterD-GigabitEthernet3/1/2] mpls enable

[RouterD-GigabitEthernet3/1/2] mpls ldp ipv6 enable

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

[RouterD-GigabitEthernet3/1/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 A的FEC—标签映射。

[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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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 : GE3/1/1

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

In/Out Label: 2415/2416                       OutInterface : GE3/1/1

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.25.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-17 IPv6 FEC标签通告控制策略配置组网图

 

2. 配置思路

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

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

(3)     在各台路由器上配置IPv6 LSP触发策略,使得目的地址为11::0/64和21::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-17配置各接口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 3/1/1

[RouterA-GigabitEthernet3/1/1] mpls enable

[RouterA-GigabitEthernet3/1/1] mpls ldp ipv6 enable

[RouterA-GigabitEthernet3/1/1] mpls ldp transport-address 10::1

[RouterA-GigabitEthernet3/1/1] quit

[RouterA] interface gigabitethernet 3/1/2

[RouterA-GigabitEthernet3/1/2] mpls enable

[RouterA-GigabitEthernet3/1/2] mpls ldp ipv6 enable

[RouterA-GigabitEthernet3/1/2] mpls ldp transport-address 30::1

[RouterA-GigabitEthernet3/1/2] quit

# 配置Router B。

<RouterB> system-view

[RouterB] mpls lsr-id 2.2.2.9

[RouterB] mpls ldp

[RouterB-ldp] quit

[RouterB] interface gigabitethernet 3/1/1

[RouterB-GigabitEthernet3/1/1] mpls enable

[RouterB-GigabitEthernet3/1/1] mpls ldp ipv6 enable

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

[RouterB-GigabitEthernet3/1/1] quit

[RouterB] interface gigabitethernet 3/1/2

[RouterB-GigabitEthernet3/1/2] mpls enable

[RouterB-GigabitEthernet3/1/2] mpls ldp ipv6 enable

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

[RouterB-GigabitEthernet3/1/2] quit

# 配置Router C。

<RouterC> system-view

[RouterC] mpls lsr-id 3.3.3.9

[RouterC] mpls ldp

[RouterC-ldp] quit

[RouterC] interface gigabitethernet 3/1/1

[RouterC-GigabitEthernet3/1/1] mpls enable

[RouterC-GigabitEthernet3/1/1] mpls ldp ipv6 enable

[RouterC-GigabitEthernet3/1/1] mpls ldp transport-address 20::2

[RouterC-GigabitEthernet3/1/1] quit

[RouterC] interface gigabitethernet 3/1/2

[RouterC-GigabitEthernet3/1/2] mpls enable

[RouterC-GigabitEthernet3/1/2] mpls ldp ipv6 enable

[RouterC-GigabitEthernet3/1/2] mpls ldp transport-address 40::2

[RouterC-GigabitEthernet3/1/2] quit

# 配置Router D。

<RouterD> system-view

[RouterD] mpls lsr-id 4.4.4.9

[RouterD] mpls ldp

[RouterD-ldp] quit

[RouterD] interface gigabitethernet 3/1/1

[RouterD-GigabitEthernet3/1/1] mpls enable

[RouterD-GigabitEthernet3/1/1] mpls ldp ipv6 enable

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

[RouterD-GigabitEthernet3/1/1] quit

[RouterD] interface gigabitethernet 3/1/2

[RouterD-GigabitEthernet3/1/2] mpls enable

[RouterD-GigabitEthernet3/1/2] mpls ldp ipv6 enable

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

[RouterD-GigabitEthernet3/1/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 B的FEC—标签映射。

[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 A的FEC—标签映射。

[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 C的FEC—标签映射。

[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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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 : GE3/1/1

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

In/Out Label: 2415/2416                       OutInterface : GE3/1/1

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

[RouterB] display mpls ldp lsp ipv6

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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

 

FEC: 11::/64

In/Out Label: -/2417                          OutInterface : GE3/1/1

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

In/Out Label: 2418/2417                       OutInterface : GE3/1/1

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

 

FEC: 21::/64

In/Out Label: -/1099                          OutInterface : GE3/1/2

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

In/Out Label: 2416/1099                       OutInterface : GE3/1/2

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

[RouterC] display mpls ldp lsp ipv6

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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

 

FEC: 11::/64

In/Out Label: -/2418                          OutInterface : GE3/1/1

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

In/Out Label: 1098/2418                       OutInterface : GE3/1/1

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

VPN instance: public instance

Status Flags: * - stale, L - liberal, B - backup, N/A – unavailable

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


2 mLDP

2.1  mLDP简介

mLDP(Multipoint extensions for LDP,LDP的多点扩展)用来在IP/MPLS骨干网中承载组播业务,降低骨干网的部署复杂度。

2.1.1  mLDP P2MP产生背景

当前骨干网通常使用IP/MPLS进行业务报文传输。对于单播报文而言,这种部署有很高的灵活性。但是随着网络中组播需求的增加,采用现有的点到点MPLS技术承载组播业务时信息发送者需要针对每个接收者都发送一份数据报文,这会极大地浪费网络带宽。

通过对MPLS LDP协议进行扩展,使用mLDP中的P2MP(point-to-multipoint,点到多点)技术可以实现在IP/MPLS网络中建立点到多点的传输路径。

2.1.2  mLDP P2MP节点角色

图2-1所示,mLDP P2MP建立了一条由一个入口节点(PE 1)到多个尾节点(PE 3、PE 4、PE 5)的“树形”隧道(即mLDP P2MP LSP),组播流量在入口节点引入到该隧道中进行转发。当网络中的某些设备(即Receiver)需要接收组播报文时,组播源(即Source)仅需发送一份报文到入口节点,在分支节点(PE 2和P 3)上进行报文的复制,从而保证不会重复占用带宽。

图2-1 mLDP P2MP组网示意图

 

mLDP P2MP LSP中包括如下节点角色:

·     Root:根节点。mLDP P2MP网络的Ingress节点,组播报文在此处被压入MPLS标签。目前,根节点通过BGP通告的MVPN路由将组播源信息和根节点信息传递给叶子节点。

·     Transit:中间节点,负责交换标签。

·     Branch:分支节点,中间节点中的一种。MPLS报文在此节点复制(根据其后叶子节点个数进行复制),然后进行标签交换。

·     Leaf:叶子节点。如果与本节点相连的设备中存在组播接收者,则本节点为叶子节点。叶子节点为mLDP P2MP LSP的尾节点。

·     Bud:Bud节点。既作为mLDP P2MP网络的叶子节点,又作为Branch节点。

2.1.3  P2MP FEC element

mLDP P2MP扩展了标签映射消息中的FEC TLV,用于建立mLDP P2MP LSP。扩展的FEC TLV称为P2MP FEC Element,其报文格式如图2-2所示。P2MP FEC Element主要包含以下几部分:

·     Type:mLDP建立的树形LSP类型,目前仅支持P2MP。

·     Address family:根节点地址类型。目前仅支持IPv4和IPv6。

·     Address length:根节点地址长度。

·     Root node address:根节点地址。

·     Opaque length:Opaque value的长度。

·     Opaque value:Opaque value用来在根节点区分不同的P2MP LSP,并携带一些关于P2MP的根节点和叶子节点的信息。

图2-2 P2MP FEC Element格式示意图

 

2.1.4  mLDP P2MP工作过程

1. 对等体发现与维护

mLDP的对等体发现与维护和LDP相同,请参见“1.1.3  1. 对等体发现与维护”。

2. 会话建立和维护

mLDP的会话建立和维护和LDP相同,请参见“1.1.3  2. 会话建立与维护”。

协商会话参数时,还需确认对等体是否支持mLDP P2MP功能。只有本地和远端对等体均支持mLDP P2MP功能,才能在二者之间建立mLDP P2MP LSP。

3. LSP建立

图2-3所示,建立mLDP P2MP LSP的过程为:

(1)     根节点通过BGP通告的MVPN路由将组播源信息和根节点信息传递给叶子节点。叶子节点和中间节点选择到根节点的最优路由,并将该路由的下一跳作为自己的上游节点。

(2)     叶子节点向上游发送Label mapping消息,并生成相应转发表项。

(3)     中间节点接收到来自下游的Label mapping消息后,会查询是否给上游发送过标签映射消息。如果没有给上游发送过标签,则查询路由表确定上游后,向上游发送Label mapping消息,并生成对应的转发表项。如果已经发送过,则无需再次发送。

(4)     根节点收到下游发送的Label mapping消息后,会生成相应的转发表项。

图2-3 mLDP P2MP LSP建立过程示意图

 

2.1.5  mLDP P2MP报文转发

图2-4所示,CE 1、CE 2和CE 3加入同一组播组。组播源Source只需向根节点PE 1发送一份信息,由网络中各设备根据该组播组中各成员的分布情况对该信息进行复制和标签转发,最后将该信息准确地发送给CE 1、CE 2和CE 3。根节点PE 1收到组播报文时,先查找组播路由表项,确认该组播报文需要通过mLDP P2MP LSP转发,然后为组播报文添加标签,根据组播标签转发表进行MPLS转发。

图2-4 mLDP P2MP转发示意图

 

2.1.6  协议规范

与mLDP相关的协议规范有:

·     RFC 6388:Label Distribution Protocol Extensions for Point-to-Multipoint and Multipoint-to-Multipoint Label Switched Paths

·     RFC 6512:Using Multipoint LDP When the Backbone Has No Route to the Root

·     RFC 6514:BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs

2.2  mLDP P2MP配置任务简介

mLDP P2MP配置任务如下:

(1)     开启mLDP P2MP功能

(2)     开启mLDP P2MP的跨域功能

在mLDP模式MVPN组网环境中,必须配置本功能。有关mLDP模式MVPN的详细介绍,请参见“IP组播配置指导”中的“组播VPN”。

2.3  开启mLDP P2MP功能

1. 功能简介

在mLDP P2MP组网环境下,如果某两台设备通过多条链路连接,为了使用特定的链路转发流量,则需要关闭其他链路的mLDP P2MP功能,即在对应接口下关闭当前接口的mLDP P2MP功能。

2. 配置限制和指导

mLDP P2MP网络中,各个节点均需开启本功能。

开启或者关闭mLDP P2MP功能,所有LDP会话都将重建。

在LDP视图下开启mLDP P2MP功能后,公网所有接口上均开启mLDP P2MP功能。

3. 全局配置mLDP P2MP功能

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     开启mLDP P2MP功能。

mldp p2mp

缺省情况下,mLDP P2MP功能处于关闭状态

4. 在接口上配置mLDP P2MP功能

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     关闭mLDP P2MP功能。

mpls mldp p2mp disable

缺省情况下,接口的mLDP P2MP功能处于开启状态

2.4  开启mLDP P2MP的跨域功能

1. 功能简介

缺省情况下,设备只能根据IGP路由选择到根节点的最优路由,并将该路由的下一跳作为自己的上游节点。如图2-5所示,在mLDP模式MVPN组网环境中,为组播流量建立跨越不同IGP域(例如OSPF区域)或跨越BGP的AS域的隧道时,由于AS 1与AS 2之间的公网路由相互隔离,PE 2无法根据IGP路由找到到达根节点PE 1的上游节点,从而导致CE 1的组播流量无法转发到CE 2。

开启mLDP P2MP的跨域功能,可以解决以上问题。开启本功能后,除了IGP路由外,设备还可以根据BGP通告的MVPN路由查找到达根节点的最优路由,将下一跳作为新的根节点。

图2-5 mLDP P2MP跨域示意图一

 

图2-6所示,在ASBR-PE 2和PE 2上配置本功能后:

·     ASBR-PE 2根据MVPN路由查找到达根节点PE 1的最优路由的下一跳为ASBR-PE 1,将ASBR-PE 1作为新的根节点。

·     PE 2根据MVPN路由查找到达根节点PE 1的最优路由的下一跳为ASBR-PE 2,将ASBR-PE 2作为新的根节点。

此时,在PE 1和ASBR-PE 1之间、ASBR-PE 1和ASBR-PE 2之间、ASBR-PE 1和PE 2之间会逐段建立mLDP P2MP LSP,从而在根节点PE 1和叶子节点PE 2之间形成一条完整的mLDP P2MP LSP。

图2-6 mLDP P2MP跨域示意图二

 

2. 配置限制和指导

除组播源连接的AS以外,其他AS内的ASBR和PE设备上需要配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入LDP视图。

mpls ldp

(3)     开启mLDP P2MP的跨域功能。

mldp recursive-fec

缺省情况下,mLDP P2MP的跨域功能处于关闭状态

2.5  mLDP P2MP显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后mLDP协议生成的P2MP LSP信息。

表2-1 mLDP显示和维护

操作

命令

显示mLDP协议生成的P2MP LSP信息

(独立运行模式)

display mpls mldp lsp p2mp [ root-ip ip-address { lsp-id lsp-id | opaque-value opaque-value } [ slot slot-number ]

(IRF模式)

display mpls mldp lsp p2mp [ root-ip ip-address { lsp-id lsp-id | opaque-value opaque-value } [ chassis chassis-number slot slot-number ]

 

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

新华三官网
联系我们