目录

简介

先决条件

要求

使用的组件

背景信息

术语

配置

网络图

R1

R2

R3

R4

R5

R6

了解MPLS-Remote-LFA隧道功能

验证

故障排除

简介

本文档介绍远程无环备用(LFA)机制如何在启用多协议标签交换(MPLS)的网络中提供流量的快速重新路由。

远程LFA提供一种机制，在该机制中，如果直接LFA路径不可用，流量可以通过隧道传输到远程节点，该节点仍然可以在50毫秒的周转时间内将流量传送到最终目的地。

先决条件

要求

思科建议您了解：

- 开放最短路径优先(OSPFv2)

- MPLS

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

背景信息

在当今快节奏的网络中，任何对网络的中断都可能会妨碍敏感应用。如果网络中的节点或链路故障沿主路径发生，数据包可以丢弃到OSPF、中间系统到中间系统(ISIS)和增强型内部网关路由协议(EIGRP)等点路由协议收敛。OSPF和ISIS等链路状态协议没有EIGRP这样的机制，以便预先计算备用路由，以便在主路由发生故障时使用。

直连LFA和远程LFA是与OSPF和ISIS结合使用的两种机制，以便有备用路由/路径。此备份路径在主路由发生故障时使用，仅在OSPF或ISIS重新收敛时使用。这有助于在OSPF或ISIS收敛时将数据包传送到目的地，如图所示。

链路标有各自的OSPF开销。从R1到达10.6.6.6的开销为21，其主路径为R1 > R5 > R6。

R1 > R5 > R6 > Loopback0 // OSPF开销21

当R2针对直接LFA不等式进行检查时，它不会通过这些不等式，因此无法为10.6.6.6提供直接LFA路径：

D(N,D) < D(N,S) + D(S,D)         // Link Protection

41 < 10 + 21                        // Equality fails

由于R2未通过提供直接LFA路径所需的基本条件，因此在R1-R5链路发生故障时，R2不能用作备用路径。

有关直接LFA的详细信息，请参阅。

但是，如果在R1-R5故障期间，来自R1的流量可以通过隧道传输到R3，则可以获得备用备用路径。这种将数据包隧道化到可提供LFA路径的远程节点的机制称为远程LFA。通过隧道发往R3的数据包将转发到R6，而无任何障碍，因为链路发生故障，R1-R5不会进入到达10.6.6.6的主路径，如图所示。

建立的隧道是MPLS LDP隧道。因此，它要求在环境中启用LDP。但是，运行远程LFA的先决条件是直接LFA，否则LDP隧道不会启动。

术语

远程LFA中使用的术语很少，此处对此进行了说明。

- P空间 — 这定义了R1可以到达的其它路由器集，而无需通过故障链路。这要求在R1上使用根运行最短路径树(SPT)算法。例如，在拓扑中，R1的P空间为R2和R3。

- Q空间 — 这定义了一组路由器，这些路由器可以到达R5，而无需遍历故障链路。这要求在R5上运行根SPT。因此，R5的Q空间是R3和R4。

- PQ节点 — 这是P和Q空间共用的节点。在这种情况下，R3是常见的，被选为PQ或也称为释放节点。这是远程LFA隧道终止的节点。可能有多个这样的PQ节点，但根据算法只选择一个节点。

配置

网络图

首先根据直接LFA路径可用性检查所有前缀以进行保护。没有直接LFA保护的前缀被视为远程LFA保护。

用于启用直连LFA的命令：

fast-reroute per-prefix enable area 0 prefix-priority high

fast-reroute keep-all-paths

启用远程LFA的命令：

fast-reroute per-prefix remote-lfa area 0 tunnel mpls-ldp

R1

interface Loopback0

ip address 10.1.1.1 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.12.1 255.255.255.0

mpls ip

!

interface Ethernet0/1

no ip address

!

interface Ethernet0/2

ip address 10.0.15.1 255.255.255.0

mpls ip

router ospf 100

fast-reroute per-prefix enable area 0 prefix-priority high

fast-reroute per-prefix remote-lfa area 0 tunnel mpls-ldp

fast-reroute keep-all-paths

network 10.0.0.0 0.255.255.255 area 0

R2

interface Loopback0

ip address 10.2.2.2 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.12.2 255.255.255.0

mpls ip

!

interface Ethernet0/1

ip address 10.0.23.2 255.255.255.0

mpls ip

router ospf 100

fast-reroute per-prefix enable area 0 prefix-priority high

fast-reroute per-prefix remote-lfa area 0 tunnel mpls-ldp

fast-reroute keep-all-paths

network 10.0.0.0 0.255.255.255 area 0

R3

interface Loopback0

ip address 10.3.3.3 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.34.3 255.255.255.0

mpls ip

!

interface Ethernet0/1

ip address 10.0.23.3 255.255.255.0

mpls ip

router ospf 100

fast-reroute per-prefix enable area 0 prefix-priority high

fast-reroute per-prefix remote-lfa area 0 tunnel mpls-ldp

fast-reroute keep-all-paths

network 10.0.0.0 0.255.255.255 area 0

R4

interface Loopback0

ip address 10.4.4.4 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.34.4 255.255.255.0

mpls ip

!

interface Ethernet0/1

ip address 10.0.45.4 255.255.255.0

mpls ip

router ospf 100

fast-reroute per-prefix enable area 0 prefix-priority high

fast-reroute per-prefix remote-lfa area 0 tunnel mpls-ldp

fast-reroute keep-all-paths

network 10.0.0.0 0.255.255.255 area 0

R5

interface Loopback0

ip address 10.5.5.5 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.56.5 255.255.255.0

!

interface Ethernet0/1

ip address 10.0.45.5 255.255.255.0

mpls ip

!

interface Ethernet0/2

ip address 10.0.15.5 255.255.255.0

mpls ip

router ospf 100

fast-reroute per-prefix enable area 0 prefix-priority high

fast-reroute per-prefix remote-lfa area 0 tunnel mpls-ldp

fast-reroute keep-all-paths

network 10.0.0.0 0.255.255.255 area 0

R6

interface Loopback0

ip address 10.6.6.6 255.255.255.0

!

interface Ethernet0/0

ip address 10.0.56.6 255.255.255.0

mpls ip

router ospf 100

fast-reroute per-prefix enable area 0 prefix-priority high

fast-reroute keep-all-paths

network 10.0.0.0 0.255.255.255 area 0

了解MPLS-Remote-LFA隧道功能

远程LFA计算按主要下一跳执行。如果有两个前缀共享相同的主下一跳，则所有前缀将共享相同的LFA隧道和PQ节点或释放节点。远程LFA计算导致选择R3作为PQ或释放节点，如图所示。

对于R6的环回10.6.6.6，流量的主要路径是通过R1 > R5 > R6，如下所示。

R1#show ip route 10.6.6.6

Routing entry for 10.6.6.6/32

Known via "ospf 100", distance 110, metric 21, type intra area

Last update from 10.0.15.5 on Ethernet0/2, 00:08:56 ago

Routing Descriptor Blocks:

* 10.0.15.5, from 10.6.6.6, 00:08:56 ago, via Ethernet0/2   // Primary path

Route metric is 21, traffic share count is 1

Repair Path: 10.3.3.3, via MPLS-Remote-Lfa3             // Also a backup MPLS remote tunnel has been established

此备份隧道在R1和PQ/释放节点R3之间自动设置，该节点已通过算法计算。这会导致在R1和R3之间建立目标LDP会话以交换标签。

R1#show mpls ldp neighbor 10.3.3.3

Peer LDP Ident: 10.3.3.3:0; Local LDP Ident 10.1.1.1:0

TCP connection: 10.3.3.3.22164 - 10.1.1.1.646

State: Oper; Msgs sent/rcvd: 28/29; Downstream

Up time: 00:12:08

LDP discovery sources:

Targeted Hello 10.1.1.1 -> 10.3.3.3, active, passive

Addresses bound to peer LDP Ident:

10.0.34.3       10.3.3.3        10.0.23.3

PQ/释放(R3)节点使用在R1和R3之间构建的目标LDP会话，以便与R1共享受保护前缀（本例中为10.6.6.6）的MPLS标签。在此，R3的MPLS标签为18，用于标记向R6环回的流量的交换。此标签18由R3通过LDP与R1共享，并存储为R1上的备份标签。

R1#show ip cef 10.6.6.6

10.6.6.6/32                                              // 23 is primary label

nexthop 10.0.15.5 Ethernet0/2 label [23|18]            // 18 is backup label shared by R3

repair: attached-nexthop 10.3.3.3 MPLS-Remote-Lfa3

R1#show mpls forwarding-table 10.3.3.3

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

21         21         10.3.3.3/32      0             Et0/0      10.0.12.2

R3#show mpls forwarding-table 10.6.6.6

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

18         18         10.6.6.6/32      0             Et0/0      10.0.34.4

只要R1-R5链路处于活动状态（主路径），流量就会通过带有标签23的MPLS LSP转发（标签通过主路径到达10.6.6.6）。 但是，当R1-R5链路断开时，流量通过MPLS-Remote-Lfa3的修复路径交换。在此故障期间，R1的IP数据包会附加一个标签。内部标签是通过目标LDP会话学习的标签，外部标签是为了到达PQ节点（本例中为R3），如图所示。

- 内部标签 — R3通过LDP提供给R1的10.6.6.6标签。

- 外部标签 — R1为R3的环回提供的标签。

外部标签内部标签内部IP数据包

因此，使用外部标签21对流量进行标记交换以到达PQ节点R3。一旦流量到达R3，外部标签将被移除（或由于次极跳跃而被R2移除）。R3找到内部标签值18，并检查其MPLS转发表，然后相应地转发它，如图所示。

验证

使用本部分可确认配置能否正常运行。

验证功能

如前所述，受保护的示例前缀是10.6.6.6/32，即R6的loopback0。R1到达R6的环回的主路径是通过R1 > R5 > R6，如输出所示。在以下输出中，除了主转发路径外，还列出了在R1和R5之间的主链路断开时使用的另一条修复路径：

R1#show ip int brief | in up

Ethernet0/0            10.0.12.1       YES NVRAM  up                    up

Ethernet0/2            10.0.15.1       YES NVRAM  up                    up

Loopback0              10.1.1.1        YES NVRAM  up                    up

MPLS-Remote-Lfa3       10.0.12.1       YES unset  up                    up

MPLS-Remote-Lfa4       10.0.15.1       YES unset  up                    up

R1#show ip route 10.6.6.6

Routing entry for 10.6.6.6/32

Known via "ospf 100", distance 110, metric 21, type intra area

Last update from 10.0.15.5 on Ethernet0/2, 01:45:54 ago

Routing Descriptor Blocks:

* 10.0.15.5, from 10.6.6.6, 01:45:54 ago, via Ethernet0/2

Route metric is 21, traffic share count is 1

Repair Path: 10.3.3.3, via MPLS-Remote-Lfa3

R1#show ip ospf rib 10.6.6.6

OSPF Router with ID (10.1.1.1) (Process ID 100)

Base Topology (MTID 0)

OSPF local RIB

Codes: * - Best, > - Installed in global RIB

LSA: type/LSID/originator

*>  10.6.6.6/32, Intra, cost 21, area 0

SPF Instance 10, age 01:48:22

Flags: RIB, HiPrio

via 10.0.15.5, Ethernet0/2

Flags: RIB

LSA: 1/10.6.6.6/10.6.6.6

repair path via 10.3.3.3, MPLS-Remote-Lfa3, cost 40   // MPLS LFA tunnel chosen as

Flags: RIB, Repair, IntfDj, BcastDj, CostWon            backup

LSA: 1/10.6.6.6/10.6.6.6

因此，在主链路故障(R1-R5)后OSPF收敛期间，使用MPLS修复隧道交换流量。此隧道源自R1，终止于R3（PQ节点）10.3.3.3。它还提到，它提供了对链路10.0.15.5、以太网0/2的保护，该链路是从R1到10.6.6.6的流量的主路径。

R1#show ip ospf fast-reroute remote-lfa tunnels

OSPF Router with ID (10.1.1.1) (Process ID 100)

Area with ID (0)

Base Topology (MTID 0)

Interface MPLS-Remote-Lfa3                    // Remote lfa tunnel

Tunnel type: MPLS-LDP

Tailend router ID: 10.3.3.3

Termination IP address: 10.3.3.3

Outgoing interface: Ethernet0/0

First hop gateway: 10.0.12.2

Tunnel metric: 20

Protects:

10.0.15.5 Ethernet0/2, total metric 40

故障排除

目前没有针对此配置的故障排除信息。