简介
本文档介绍通过拓扑独立(TI) — 无环替代(LFA)对显式主路径的节点保护,以及使用具有SR-TE度量的分段路由(SR) — 流量工程(TE)路径和开放最短路径优先(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。
因此,它无法在小于50毫秒的收敛时间内为实际目标节点PE3提供端到端保护,以应对显式定义的主流量路径中的中间节点故障。
另一种方法是图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度量不能用于明确控制主路径,因此主SR-TE路径的明确简化特性通过在所有节点(包括前端PE节点)的SR-TE接口(在分段路由下)下额外配置的TE度量来控制,直至远程目标PE。OSPF Flex Algo反过来会使用其SR-TE度量在flex-algo范式下创建显式路径。
PE1分段路由下的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灵活路由
概述:
分段路由灵活算法允许运营商根据自己的需求自定义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中,必须在SR-TE流量工程部分下配置此TE度量,但OSPF Flex-Algo会使用此TE度量进行显式路径计算。
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
相关信息