簡介
本檔案介紹拓撲獨立(TI)-無回圈替代(LFA)對明確主路徑的節點保護,以及使用Segment Routing(SR)-Traffic Engineering(TE)路徑(含SR-TE指標)和Open Shortest Path First(OSPF)彈性演演算法的解決方案。
問題
本節介紹XYZ網路的要求、設計限制以及TI-LFA備份路徑無法保護顯式定義的主路徑的任何中間節點故障的原因。
需求
根據XYZ網路,以下是他們的綠地網路設計要求:
1.主要流量路徑必須由SR-TE策略(admin)明確定義和控制,而不能由IGP度量來明確定義。
2.在鏈路或節點出現故障的情況下,流量必須在零規模網路的50毫秒內收斂到備用路徑。
參見圖1。在源節點PE1上已端到端配置了SR-TE策略,其中PE3是目標節點。
SR-TE和OSPF配置的概要如下:
segment-routing
traffic-eng
!
!
segment-list PrimaryPath1
index 10 mpls adjacency 10.1.11.0 --> First Hop (P1 node) of the explicit-path
index 20 mpls adjacency 10.1.3.1 --> Second Hop (P3 node) of the explicit-path
index 30 mpls adjacency 10.3.13.1 --> Third Hop (PE3 node) of the explicit-path
!
policy POL1
source-address ipv4 11.11.11.11 --> Source Node of the explicit-path
color 10 end-point ipv4 33.33.33.33 --> Destination Node of the explicit-path
candidate-paths
preference 100 --> Secondary Path taken care of dynamically by IGP TI-LFA
dynamic
metric
type igp
!
!
!
preference 200
explicit segment-list PrimaryPath1 --> Primary Explicit-Path of the SR-TE policy
!
!
router ospf CORE
nsr
distribute link-state
log adjacency changes
router-id 11.11.11.11
segment-routing mpls
nsf cisco
microloop avoidance segment-routing
max-metric router-lsa on-startup 360
area 0
interface Bundle-Ether111 --> Primary Explicit-Path Interface
authentication null
network point-to-point
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa enable --> Enabling TI-LFA on the primary interface
fast-reroute per-prefix tiebreaker node-protecting index 100
fast-reroute per-prefix tiebreaker srlg-disjoint index 200
prefix-suppression
!
interface Bundle-Ether211 --> Secondary Dynamic Path Interface
authentication null
network point-to-point
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa enable --> Enabling TI-LFA on the secondary interface
fast-reroute per-prefix tiebreaker node-protecting index 100
fast-reroute per-prefix tiebreaker srlg-disjoint index 200
prefix-suppression
!
interface Loopback80
passive enable
prefix-sid index 32130 --> Enabling Node SID on the loopback interface
!
!
此配置是配置顯式路徑驅動SR-TE策略的示例方法,還有其它方法。在OSPF下,可以觀察到TI-LFA已啟用。
但是,如果結合了SR-TE和OSPF功能,在包含SR-TE顯式路徑策略的實驗室中,OSPF TI-LFA無法針對中間節點故障情況退出並安裝SR-TE顯式主路徑的後收斂、端到端(PE1到PE3)備份路徑,如圖2所示。因此,如果P1或P3節點發生故障,流量保護收斂時間會遠遠超過50毫秒。
我們選擇了一個簡單的例子來解釋這個問題:
圖1:正常流量方案
如圖1所示,流量源節點為PE1,目的節點為PE3。此處如果我們配置SR-TE顯式路徑策略,其中需要管理通過顯式主流量路徑PE1> P1> P3> PE3傳送流量。
在這種情況下,如果我們通過PE1> P1 > P3> PE3配置一條明確的SR-TE路徑,則出現如圖2所示的節點故障時,TI-LFA無法保護節點故障場景,但只能保護鏈路故障場景。參考文檔鏈路保護的SR-TE顯式路徑的收斂性中詳細討論了鏈路故障場景。
圖2:故障轉移流量方案
為什麼TI-LFA備份路徑無法保護任何中間節點故障
預設情況下,TI-LFA在OSPF下配置後,會指向目標節點的節點SID,以計算備份路徑並將其安裝在資料平面中。
但是對於此場景和功能集配置,從源節點到目標節點的TI-LFA覆蓋不起作用,或者換句話說,對於顯式定義的主路徑,TI-LFA備份路徑無法保護任何中間節點故障低於50毫秒。
分析表明,TI-LFA備份路徑計算演算法將顯式路徑中的第一個下一跳/節點作為目標節點,而不是實際目標節點,並計算嘗試只保護第一個下一跳/節點的備份路徑,如圖2中的節點P1。因此,TI-LFA無法計算和安裝備份路徑來保護實際端點或目標節點,例如節點PE3。
因此,對於顯式定義的主流量路徑中的中間節點故障,它無法在收斂到實際目標節點PE3的不到50毫秒內提供端到端保護。
另一種方法是圖1。如果將節點P3配置為顯式路徑中的下一跳,則TI-LFA可以為節點P1故障提供亞50毫秒的保護,反之亦然。但是,對於被定義為端對端顯式路徑的一個顯式跳的特定節點,無法執行節點保護。
解決方案
本節重點介紹顯式主路徑特定方案的點:
TI-LFA備份路徑現在如何保護任何中間節點故障,使其收斂速度保持在50毫秒以下
一個經過驗證和測試的解決方案是對場景引入一些附加功能/修改,以使TI-LFA能夠在節點故障場景期間和鏈路故障期間處理小於50毫秒的收斂。 本解決方案是按照「問題」部分所述的XYZ網路的要求選擇的。
1.需要Explicit-Path,但無法根據要求使用IGP指標。
2.因此,可以使用替代度量(SR-TE度量)來引導特定路徑上的流量,而無需指定顯式躍點。
3. OSPF Flex-Algo用於通過使用SR-TE度量的拓撲將流量傳送到目標節點(使用通過flex algo可訪問的獨立Flex-Algo節點SID)。
3.新增OSPF Flex-Algo後,TI-LFA能夠正常工作,因為它現在可以保護實際目標節點SID。
瞭解 解決方案的不同元件
顯式路徑特性
由於根據其中一項要求,不能使用IGP度量來顯式控制主路徑,因此對於包括前端PE節點直至遠端目標PE的所有節點,主SR-TE路徑的顯式流線型特性通過在SR-TE介面(段路由)下額外配置的TE度量來控制。OSPF Flex Algo反過來使用其SR-TE度量在flex-algo正規化下建立顯式路徑。
在PE1的Segment Routing下的SR-TE度量:
segment-routing
global-block 100000 299999
traffic-eng
interface Bundle-Ether111
metric 10 --> SR-TE Metric of BE111 is less that BE211, so it is a more preferred explicit path given that rest of the SR-TE link cost is same
!
interface Bundle-Ether211
metric 100
!
logging
policy status
!
policy er100_to_er102 --> SR-TE policy defined
source-address ipv4 11.11.11.11. --> Source Node of the explicit-path
color 150 end-point ipv4 33.33.33.33 --> Destination Node of the explicit-path
autoroute
force-sr-include
include all
!
candidate-paths
preference 200
dynamic --> Here that the primary path is configured as dynamic but it is the SR-TE metric defined above which helps Flex-Algo make it fixed or explicit
!
constraints
segments
sid-algorithm 128. --> Primary SR-TE path is configured with constraint as Flex-Algo 128 with no explicit backup path since TI-LFA takes care of the backup path implicitly ensuring sub 50 msec of convergence
!
!
節點PE1上的show命令:
P/0/RP0/CPU0:PE1#show segment-routing traffic-eng policy
Fri Feb 3 10:25:24.716 UTC
SR-TE policy database
---------------------
Color: 150, End-point: 33.33.33.33 --> Color and Endpoint Loopback IP address of PE3
Name: srte_c_150_ep_33.33.33.33
Status:
Admin: up Operational: up for 04:57:30 (since Feb 3 05:27:54.774)
Candidate-paths:
Preference: 200 (configuration) (active) --> Preference of 200 as configured under SR-TE policy
Name: er100_to_er102
Requested BSID: dynamic
Constraints:
Prefix-SID Algorithm: 128 --> Attached to Flex-Algo 128 as configured under SR-TE policy
Protection Type: protected-preferred --> Protected Primary Path
Maximum SID Depth: 12
Dynamic (valid)
Metric Type: TE, Path Accumulated Metric: 0 --> Metric Type is SR-TE metric
133138 [Prefix-SID: 33.33.33.33, Algorithm: 128]. --> Node SID of destination node PE3 with index 33138
Attributes:
Binding SID: 24010
Forward Class: Not Configured
Steering labeled-services disabled: no
Steering BGP disabled: no
IPv6 caps enable: yes
Invalidation drop enabled: no
OSPF Flex-Algo
概觀:
分段路由靈活演算法允許運營商根據自己的需求自定義IGP最短路徑計算。操作員可以分配自定義SR字首SID以實現超出基於鏈路成本的SPF的轉發。因此,Flexible Algorithm提供由IGP自動計算到IGP可達的任何目的地的流量工程路徑。
為了提供最大的靈活性,演算法值與其含義之間的對映可以由使用者定義。當域中的所有路由器對特定演算法值表示的內容有共同的理解時,則此類演算法的計算是一致的,並且流量不會循環。這裡,由於演算法的含義不是由任何標準來定義,而是由使用者來定義,所以它稱為靈活演算法。
在OSPF路由正規化下,可以使用許多可能的約束來計算網路上的路徑。一些網路部署有單個IGP平面,而另一些則部署有多個IGP平面。對於任何給定網路,在每個OSPF進程下,預設情況下都存在帶有簡單約束形式的Flex-Algo 0,例如OSPF度量。
但是,在記住特定要求的情況下,此處使用更複雜的約束形式,其中包括擴展引數,如TE度量(多個Flex-Algo數範圍從128到255)。在Cisco IOS® XR 7.3.2中,此TE度量必須在SR-TE流量工程部分下配置,但OSPF Flex-Algo用於顯式路徑計算。
TI-LFA會計算備份路徑,在主路徑出現故障的情況下保持資料平面就緒,並以小於50毫秒的收斂時間為零擴展網路切換流量。
組態:
OSPF Flex-Algo在路由器OSPF下配置並在網路中通告。OSPF flex-algo和TE度量一起處理顯式路徑和小於50毫秒的收斂時間。在OSPF下配置Flex-Algo可建立虛擬OSPF拓撲,並幫助TI-LFA提前計算一對源 — 目標端點的端到端備份路徑,進而確保主路徑故障收斂時間小於50秒。
PE1上的OSPF配置:
router ospf CORE
nsr
distribute link-state
log adjacency changes
router-id 11.11.11.11
segment-routing mpls
nsf cisco
microloop avoidance segment-routing
max-metric router-lsa on-startup 360
area 0
interface Bundle-Ether111
cost 10000
authentication null
network point-to-point
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa enable
fast-reroute per-prefix tiebreaker node-protecting index 100
fast-reroute per-prefix tiebreaker srlg-disjoint index 200
prefix-suppression
!
interface Bundle-Ether211
cost 10000
authentication null
network point-to-point
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa enable
fast-reroute per-prefix tiebreaker node-protecting index 100
fast-reroute per-prefix tiebreaker srlg-disjoint index 200
prefix-suppression
!
interface Loopback80
passive enable
prefix-sid index 32130
prefix-sid algorithm 128 index 33130 --> Assigning different Node SIDs to different Flex Algo to keep it unique
prefix-sid algorithm 129 index 34130 --> Assigning different Node SIDs to different Flex Algo to keep it unique
!
!
flex-algo 128 --> Defining OSPF Flex Algo which creates a virtual topology and enables TI-LFA to take care of sub 50 msec of convergence
metric-type te-metric
advertise-definition
!
flex-algo 129. --> One or more than one Flex Algo can be defined based on the requirement
metric-type delay
advertise-definition
!
!
PE3的OSPF配置:
router ospf CORE
nsr
distribute link-state
log adjacency changes
router-id 33.33.33.33
segment-routing mpls
nsf cisco
microloop avoidance segment-routing
max-metric router-lsa on-startup 360
area 0
interface Bundle-Ether111
cost 10000
authentication null
network point-to-point
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa enable
fast-reroute per-prefix tiebreaker node-protecting index 100
fast-reroute per-prefix tiebreaker srlg-disjoint index 200
prefix-suppression
!
interface Bundle-Ether211
cost 10000
authentication null
network point-to-point
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa enable
fast-reroute per-prefix tiebreaker node-protecting index 100
fast-reroute per-prefix tiebreaker srlg-disjoint index 200
prefix-suppression
!
interface Loopback80
passive enable
prefix-sid index 32138
prefix-sid algorithm 128 index 33138 --> Node SID assigned for OSPF Flex-Algo 128 which is shown above by show command at PE1
prefix-sid algorithm 129 index 34138 --> Assigning different Node SIDs to different Flex Algo to keep it unique
!
!
flex-algo 128. --> Defining OSPF Flex Algo which creates a virtual topology and enables TI-LFA to take care of sub 50 msec of convergence
metric-type te-metric --> Metric type te-metric
advertise-definition --> To enable the router to advertise the definition for the particular Flexible Algorithm, advertise-definition command is used
!
flex-algo 129 --> Additional Flex Algo definition (if needed)
metric-type delay --> Metric type delay
advertise-definition
!
!
解決方案摘要
總之,SR-TE度量有助於通過指定的SR-TE顯式路徑來導航流量,因為IGP度量無法使用。OSPF Flex-Algo通過新增虛擬控制平面的一層,幫助TI-LFA確保主顯式路徑流量收斂到預先計算的TI-LFA備份路徑的時間不超過50毫秒。之所以會出現這種情況,是因為僅通告了目標節點SID,以使TI-LFA能夠確定實際目標節點,從而保護顯式主路徑PE1> P1 > P3 > PE3的一對源 — 目標節點之間的中間節點(P1和P3)。動態保護的備份路徑遵循小於50毫秒的收斂速度(零擴展),在本例中為PE1 > P2 > P4 > PE3。
使用軟體
用於測試和驗證解決方案的軟體是Cisco IOS® XR 7.3.2
相關資訊