此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍无环备用(LFA)机制如何提供网络中流量的快速重新路由。还讨论了两种LFA保护类型 — 链路保护和节点保护,以及它们的适用性,以便最大限度地减少因链路或节点故障而对服务的中断。
思科建议您了解开放最短路径优先(OSPFv2)。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
当路由网络中发生链路或节点故障时,在路由协议在新拓扑上重新收敛之前,流量传输不可避免地会出现中断期。在现代世界中,应用对任何流量丢失非常敏感,因此,由于链路状态协议(如OSPF和中间系统 — 中间系统(ISIS))的融合而导致的流量中断可能会以负面方式影响服务。
传统上,链路状态协议尽管具有数据库的完整视图,但从不计算备份路由。LFA旨在计算可用于路由流量的备用路由,以防主路径上的直连链路或节点发生故障。LFA会为每个主下一跳计算一个备份下一跳,并相应地对思科快速转发(CEF)表进行编程。
LFA必须满足一组预定义的条件,才能成功提供链路或节点保护的备份路由。此表定义了可用于解释这些条件或不平等性的术语。
D(N,D) < D(N,S) + D(S,D) // Link Protection.
如果此情况成立,则它确保邻居N(正在调查的备用下一跳路由器)能够提供LFA路径以防止链路故障。此条件可确保在主链路发生故障时,为备份下一跳N而发送的流量不会发回S,如图所示。
这些链路已标有各自的OSPF开销。从源S到目的D的主OSPF路径是S > E > D。这些OSPF开销值满足此不等性,因此节点N提供最低的链路保护。
15 < 5 + 15 ------> Inequality holds true
D(N,D) < D(S,D) // Downstream Path
如果此条件成立,则它确保邻居N(潜在的备用下一跳路由器)是下游路由器,并且比本地路由器S更靠近目的路由器。
如图1所示,对于OSPF开销值,不等式2不成立。因此,备用下一跳路由器N不是下游邻居。
15 < 15 ------> Inequality holds false
D(N,D) < D(N,E) + D(E,D) // Node Protection
如果满足此条件,则邻居N在主下一跳路由器E发生故障时能够成功提供节点保护。此条件确保LFA路径无法使用E将流量传送到目的路由器D。这与如图所示的无环节点保护定义一致。
S到D的主路径是S > E > D,开销为15。现在,如果主下一跳E发生故障,则备用路径必须使流量不会通过故障节点E流动,否则会出现流量丢失。这些开销值成功满足此不等式,因此N能够提供节点E故障保护。
25 < 20 + 10 ------> Inequality holds true
以下是备用前缀选择标准,其首选项按递减顺序排列。如果两个备用路由可用于受保护的主前缀,则仅根据这些属性传送的这些有序属性列表选择一个。以下是这些属性的简要说明。
修复路径选择策略分层(内置默认策略)。
!
interface Loopback1
ip address 10.1.1.1 255.255.255.255
!
router ospf 1
fast-reroute per-prefix enable area 0 prefix-priority high
fast-reroute keep-all-paths
network 10.1.1.1 0.0.0.0 area 0
network 10.10.12.1 0.0.0.0 area 0
network 10.10.13.1 0.0.0.0 area 0
network 10.10.14.1 0.0.0.0 area 0
!
!
interface Loopback1
ip address 10.2.2.2 255.255.255.255
end
!
router ospf 1
network 10.2.2.2 0.0.0.0 area 0
network 10.10.12.2 0.0.0.0 area 0
network 10.10.23.2 0.0.0.0 area 0
network 10.10.24.2 0.0.0.0 area 0
!
!
interface Loopback1
ip address 10.3.3.3 255.255.255.255
!
router ospf 1
network 10.3.3.3 0.0.0.0 area 0
network 10.10.13.3 0.0.0.0 area 0
network 10.10.23.3 0.0.0.0 area 0
network 10.10.34.3 0.0.0.0 area 0
!
!
interface Loopback1
ip address 10.4.4.4 255.255.255.255
!
router ospf 1
network 10.4.4.4 0.0.0.0 area 0
network 10.10.14.4 0.0.0.0 area 0
network 10.10.24.4 0.0.0.0 area 0
network 10.10.34.4 0.0.0.0 area 0
!
使用本部分可确认配置能否正常运行。
请考虑此案例,讨论终端目标前缀10.4.4.4/32的链路保护,即R4的接口环回0。
主路径为R1 > R4,如图所示。
在R2和R3的不等式1中放置这些表中的开销值时,观察到只有R2能够满足该条件。
D(N,D) < D(N,S) + D(S,D) // Link Protection.
对于R2:
10 < 10 + 10 ------> Inequality Passed
对于R3:
20 < 10 + 10 ------> Inequality Failed
这可确保R2在R1和R4之间的主链路发生故障时提供LFA。由于R3不满足给定的不等性,因此无法提供LFA路径。
R1#show ip route 10.4.4.4
Routing entry for 10.4.4.4/32
Known via "ospf 1", distance 110, metric 11, type intra area
Last update from 10.10.14.4 on Ethernet1/0, 01:08:00 ago
Routing Descriptor Blocks:
* 10.10.14.4, from 10.4.4.4, 01:08:00 ago, via Ethernet1/0
Route metric is 11, traffic share count is 1
Repair Path: 10.10.12.2, via Ethernet0/0
R1#show ip ospf rib 10.4.4.4
OSPF Router with ID (10.1.1.1) (Process ID 1)
Base Topology (MTID 0)
OSPF local RIB
Codes: * - Best, > - Installed in global RIB
LSA: type/LSID/originator
*> 10.4.4.4/32, Intra, cost 11, area 0
SPF Instance 12, age 01:01:00
Flags: RIB, HiPrio
via 10.10.14.4, Ethernet1/0
Flags: RIB
LSA: 1/10.4.4.4/10.4.4.4
repair path via 10.10.12.2, Ethernet0/0, cost 21
Flags: RIB, Repair, IntfDj, BcastDj, LC Dj
LSA: 1/10.4.4.4/10.4.4.4
输出中显示了多个标志,它们具有重要意义,如此处所述。
R1(config-router)#fast-reroute per-prefix enable area 0 prefix-priority ?
high High priority prefixes
low Low priority prefixes
请考虑此案例,讨论终端目标前缀10.3.3.3/32的节点保护,即R3的接口环回0。
主路径为R1 > R4 > R3,如图所示。
表中所述的开销值满足R2的不等式数3,如下所示。
D(N,D) < D(N,E) + D(E,D) // Node
10 < 10 + 15 ------> Inequality Passed
路由器提供节点保护所需的条件已满足,因此R2能够在主下一跳R4发生故障时提供节点保护。
R1#show ip route 10.3.3.3
Routing entry for 10.3.3.3/32
Known via "ospf 1", distance 110, metric 31, type intra area
Last update from 10.10.14.4 on Ethernet1/0, 00:08:24 ago
Routing Descriptor Blocks:
* 10.10.14.4, from 10.3.3.3, 00:08:24 ago, via Ethernet1/0
Route metric is 31, traffic share count is 1
Repair Path: 10.10.12.2, via Ethernet0/0
R1#show ip route repair-paths 10.3.3.3
Routing entry for 10.3.3.3/32
Known via "ospf 1", distance 110, metric 31, type intra area
Last update from 10.10.14.4 on Ethernet1/0, 01:14:49 ago
Routing Descriptor Blocks:
* 10.10.14.4, from 10.3.3.3, 01:14:49 ago, via Ethernet1/0
Route metric is 31, traffic share count is 1
Repair Path: 10.10.12.2, via Ethernet0/0
[RPR]10.10.12.2, from 10.3.3.3, 01:14:49 ago, via Ethernet0/0
Route metric is 41, traffic share count is 1
R1#show ip ospf rib 10.3.3.3
OSPF Router with ID (10.1.1.1) (Process ID 1)
Base Topology (MTID 0)
OSPF local RIB
Codes: * - Best, > - Installed in global RIB
LSA: type/LSID/originator
*> 10.3.3.3/32, Intra, cost 31, area 0
SPF Instance 27, age 00:08:49
Flags: RIB, HiPrio
via 10.10.14.4, Ethernet1/0
Flags: RIB
LSA: 1/10.3.3.3/10.3.3.3
repair path via 10.10.12.2, Ethernet0/0, cost 41
Flags: RIB, Repair, IntfDj, BcastDj, LC Dj, NodeProt, Downstr // Node Protect
LSA: 1/10.3.3.3/10.3.3.3
这些输出中显示了两个新标志,并在下面进行说明:
您还可以修改默认内置策略以及选择备份下一跳路由器时考虑各种属性的顺序。此顺序可以使用命令fast-reroute per-prefix tie-break <attribute> index <n>更改。
该示例创建仅具有最低度量和srlg的新策略。
!
router ospf 1
fast-reroute per-prefix enable area 0 prefix-priority high
fast-reroute per-prefix tie-break lowest-metric index 10
fast-reroute per-prefix tie-break srlg index 20
fast-reroute keep-all-paths
network 10.1.1.1 0.0.0.0 area 0
network 10.10.12.1 0.0.0.0 area 0
network 10.10.13.1 0.0.0.0 area 0
network 10.10.14.1 0.0.0.0 area 0
!
interface Ethernet0/1
srlg gid 10 // srlg group 10
ip address 10.10.13.1 255.255.255.0
ip ospf cost 10
!
interface Ethernet1/0
srlg gid 10 // srlg group 10
ip address 10.10.14.1 255.255.255.0
ip ospf cost 20
!
这样,默认策略的所有其他属性都将被删除,而仅使用的属性是默认始终存在的最低度量、srlg和负载共享。
R1#show ip ospf fast-reroute
OSPF Router with ID (10.1.1.1) (Process ID 1)
Loop-free Fast Reroute protected prefixes:
Area Topology name Priority Remote LFA Enabled
0 Base High No
Repair path selection policy tiebreaks:
10 lowest-metric
20 srlg
256 load-sharing
如图所示,拓扑和配置的OSPF开销值有助于理解自定义策略的行为。
R1#show ip ospf rib 10.3.3.3
OSPF Router with ID (10.1.1.1) (Process ID 1)
Base Topology (MTID 0)
OSPF local RIB
Codes: * - Best, > - Installed in global RIB
LSA: type/LSID/originator
*> 10.3.3.3/32, Intra, cost 11, area 0
SPF Instance 65, age 00:07:55
Flags: RIB, HiPrio
via 10.10.13.3, Ethernet0/1
Flags: RIB
LSA: 1/10.3.3.3/10.3.3.3
repair path via 10.10.14.4, Ethernet1/0, cost 41
Flags: RIB, Repair, IntfDj, BcastDj, SRLG, LC Dj, CostWon // Better cost
LSA: 1/10.3.3.3/10.3.3.3
repair path via 10.10.12.2, Ethernet0/0, cost 51
Flags: Ignore, Repair, IntfDj, BcastDj // Ignored
LSA: 1/10.3.3.3/10.3.3.3
这些输出显示到达10.3.3.3/3.2的主路径,R3的环回接口0通过Eth0/1。除此之外,R2和R4有两个节点提供链路保护。链路R1-R4与主链路R1-R3的SRLG相同。根据默认策略,不得因为SRLG而选择R4作为备用下一跳。但是,上述定义的策略会优先于SRLG的度量。因此,由于通过R4到达10.3.3.3/32的开销较低,因此,尽管SRLG相同,它仍被选作备用路径。
目前没有针对此配置的故障排除信息。