此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍远程无环备用(LFA)机制如何在启用多协议标签交换(MPLS)的网络中提供流量的快速重新路由。
远程LFA提供一种机制,在该机制中,如果直接LFA路径不可用,流量可以通过隧道传输到远程节点,该节点仍然可以在50毫秒的周转时间内将流量传送到最终目的地。
思科建议您了解:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
在当今快节奏的网络中,任何对网络的中断都可能会妨碍敏感应用。如果网络中的节点或链路故障沿主路径发生,数据包可以丢弃到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中使用的术语很少,此处对此进行了说明。
首先根据直接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
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
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
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
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
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
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
远程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),如图所示。
外部标签内部标签内部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
目前没有针对此配置的故障排除信息。