目錄

簡介

問題

需求

為什麼TI-LFA備份路徑無法保護任何中間節點故障

解決方案

TI-LFA備份路徑現在如何保護任何中間節點故障，使其收斂速度保持在50毫秒以下

分解解決方案步驟

瞭解解決方案的不同元件

顯式路徑特性

OSPF Flex-Algo

解決方案摘要

使用軟體

相關資訊

簡介

本檔案介紹拓撲獨立(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

相關資訊

- 第1部分 用於鏈路保護的SR-TE顯式路徑的收斂性

- 思科技術支援與下載