本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹無回圈替代(LFA)機制如何提供網路中流量的快速重新路由。它還討論了兩種型別的LFA保護 — 鏈路保護和節點保護及其適用性,以便提供由於鏈路或節點故障導致的最小服務中斷。
思科建議您瞭解開放最短路徑優先(OSPFv2)知識。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
當路由網路中出現鏈路或節點故障時,必然會有一段時間中斷流量的傳輸,直到路由協定在新的拓撲上重新收斂。在現代世界,應用對任何流量丟失都非常敏感,因此,由於OSPF和中間系統 — 中間系統(ISIS)等鏈路狀態協定融合導致的流量中斷可能會以負面方式影響服務。
傳統上,鏈路狀態協定儘管擁有資料庫的完整檢視,但從未計算備份路由。LFA旨在計算在主路徑上直連鏈路或節點出現故障時可用於路由流量的備用路由。LFA計算每個主下一跳的備份下一跳,並相應地對Cisco Express Forwarding(CEF)表程式設計。
LFA必須滿足一組預定義條件,才能成功提供針對鏈路或節點保護的備份路由。下表定義了可用於解釋這些條件或不等性的術語。
D(N,D) < D(N,S) + D(S,D) // Link Protection.
如果此條件為true,則它確保鄰居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,如下圖所示。
這些表中所提及的成本值放在不等式1中時(如此處對於R2和R3所示),觀察到只有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,如下圖所示。
表中提到的成本值滿足不等式3,如下面的R2所示。
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,仍會選擇它作為備份路徑。
目前尚無適用於此組態的具體疑難排解資訊。