소개
이 문서에서는 SR-TE 메트릭과 OSPF(Open Shortest Path First) 유연한 알고리즘을 사용하는 SR(Segment Routing) - TE(Traffic Engineering) 경로와 TI(Topology Independent) - LFA(Loop-Free Alternative)에 의한 명시적 기본 경로의 노드 보호에 대해 설명합니다.
문제
이 섹션에서는 XYZ 네트워크의 요구 사항, 설계 제약 조건, 그리고 TI-LFA 백업 경로가 명시적으로 정의된 기본 경로에 대한 중간 노드 장애를 보호하지 못하는 이유에 대해 설명합니다.
요구 사항
XYZ Networks에 따르면, 이들은 그린필드 네트워크 설계의 요구 사항입니다.
1. 기본 트래픽 경로는 SR-TE 정책(admin)에 의해 명시적으로 정의되고 제어되어야 하지만 IGP 메트릭에 의해 제어되어서는 안 됩니다.
2. 링크 또는 노드 장애의 경우, 트래픽이 제로 스케일 네트워크로 50msec 미만의 시간에 백업 경로로 수렴해야 합니다.
그림 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 기능의 조합을 사용하면 그림 2와 같이 SR-TE 명시적 기본 경로의 사후 통합 엔드 투 엔드(PE1~PE3) 백업 경로를 OSPF TI-LFA가 커브아웃하여 설치할 수 없다는 것이 SR-TE 명시적 경로 정책을 사용하는 실습에서 확인됩니다. 따라서 P1 또는 P3 노드가 다운될 경우 트래픽 보호 통합 시간이 50 msec를 훨씬 초과합니다.
이 문제를 설명하기 위해 간단한 예를 선택했습니다.
그림 1: 일반 트래픽 시나리오
그림 1과 같이 트래픽 소스 노드는 PE1이고 목적지 노드는 PE3입니다. 여기서 SR-TE 명시적 경로 정책을 구성하는 경우, 관리자가 명시적 기본 트래픽 경로 PE1> P1> P3> PE3을 통해 트래픽을 전송해야 합니다.
이러한 상황에서 PE1> P1 > P3> PE3를 통해 명시적 SR-TE 경로를 구성하면 그림 2와 같이 노드 장애가 발생할 경우 TI-LFA는 노드 장애 시나리오를 보호할 수는 없지만 링크 장애 시나리오만 보호할 수 있습니다. 링크 장애 시나리오는 참조 문서 SR-TE 명시적 경로의 통합에서 링크 보호에 대해 자세히 다룹니다.
그림 2: 장애 조치 트래픽 시나리오
TI-LFA 백업 경로가 중간 노드 장애를 보호하지 못하는 이유
OSPF에서 구성한 TI-LFA는 기본적으로 대상 노드의 노드 SID를 가리키며 데이터 플레인에서 백업 경로를 계산하고 설치합니다.
그러나 이 시나리오 및 기능 집합 컨피그레이션의 경우 소스 노드에서 대상 노드로의 TI-LFA 커버리지가 작동하지 않습니다. 즉, TI-LFA 백업 경로는 명시적으로 정의된 기본 경로에서 50msec 미만의 중간 노드 장애를 보호하지 못합니다.
분석 결과 TI-LFA 백업 경로 계산 알고리즘은 명시적 경로의 첫 번째 다음 홉/노드를 실제 대상 노드가 아닌 대상 엔드포인트로 받아들이고 그림 2와 같이 첫 번째 다음 홉/노드(예: 노드 P1)만 보호하려고 시도하는 백업 경로를 계산합니다. 따라서 TI-LFA는 실제 엔드포인트 또는 대상 노드(예: 노드 PE3)를 보호하기 위한 백업 경로를 계산하고 설치할 수 없습니다.
따라서 명시적으로 정의된 기본 트래픽 경로의 중간 노드 장애에 대해 실제 대상 노드 PE3에 대해 50msec 미만의 컨버전스 내에서 엔드 투 엔드 보호를 제공할 수 없습니다.
이것을 살펴보는 또 다른 방법은 그림 1에 나와 있습니다. 명시적 경로에서 노드 P3을 다음 홉으로 구성하면 TI-LFA는 노드 P1 장애에 50msec 미만의 보호 기능을 제공할 수 있습니다. 그러나 엔드 투 엔드 명시적 경로의 명시적 홉 중 하나로 정의된 특정 노드에 대해서는 노드 보호가 발생할 수 없습니다.
솔루션
이 섹션에서는 명시적 기본 경로별 시나리오의 포인트에 대해 중점적으로 설명합니다.
TI-LFA 백업 경로가 50 msec 컨버전스 하에서 중간 노드 장애를 보호하는 방법
검증되고 테스트된 해결책은 TI-LFA가 노드 장애 시나리오뿐만 아니라 링크 장애 중에 50msec 미만의 컨버전스를 처리할 수 있도록 시나리오에 몇 가지 추가 기능/수정 사항을 적용하는 것입니다. 이 솔루션은 문제 섹션에서 언급한 XYZ 네트워크의 요구 사항에 따라 선택되었습니다.
1. Explicit-Path가 필요하지만 요구 사항에 따라 IGP 메트릭을 사용할 수 없습니다.
2. 따라서 SR-TE 메트릭(alternate metric)을 사용하여 명시적 홉을 지정하지 않고 특정 경로에서 트래픽을 조종합니다.
3. OSPF Flex-Algo는 SR-TE 메트릭을 사용하는 토폴로지를 통해 트래픽을 대상 노드로 전송하는 데 사용됩니다(Flex Algo를 통해 연결할 수 있는 별도의 Flex-Algo 노드 SID 사용).
3. OSPF Flex-Algo가 추가되면 TI-LFA는 이제 실제 대상 노드 SID를 보호할 수 있으므로 정상적으로 작동할 수 있습니다.
이해 솔루션의 다양한 구성 요소
명시적 경로 특성
요구 사항 중 하나에 따라 IGP 메트릭을 기본 경로의 명시적 제어에 사용할 수 없으므로 기본 SR-TE 경로의 명시적 간소화 특성은 원격 대상 PE까지 헤드엔드 PE 노드를 포함한 모든 노드에 대해 SR-TE 인터페이스(세그먼트 라우팅 아래)에 추가로 구성된 TE 메트릭을 통해 제어됩니다. 이들의 SR-TE 메트릭은 OSPF Flex Algo에서 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에 명령 표시:
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-Log
개요:
세그먼트 라우팅 유연 알고리즘을 통해 운영자는 각자의 필요에 따라 IGP 최단 경로 계산을 맞춤화할 수 있습니다. 운영자는 링크 비용 기반 SPF를 넘어서는 전달을 실현하기 위해 사용자 지정 SR 접두사 SID를 할당할 수 있습니다. 따라서 Flexible Algorithm은 IGP에서 자동으로 계산한 트래픽 엔지니어링 경로를 IGP에서 도달할 수 있는 모든 대상에 제공합니다.
최대의 유연성을 제공하기 위해, 알고리즘 값과 그 의미 사이의 맵핑은 사용자에 의해 정의될 수 있다. 도메인의 모든 라우터가 특정 알고리즘 값이 무엇을 나타내는지에 대해 공통된 이해를 갖고 있는 경우, 그러한 알고리즘에 대한 계산은 일관되며 트래픽에 루핑이 적용되지 않습니다. 여기서 알고리즘의 의미는 어떠한 기준에 의해 정의되지 않고 사용자에 의해 정의되므로 이를 Flexible Algorithm이라고 한다.
OSPF 라우팅 패러다임에서는 네트워크를 통한 경로를 계산하는 데 여러 가능한 제약 조건을 사용할 수 있습니다. 일부 네트워크는 단일 IGP 플레인으로 구축되고 다른 네트워크는 여러 IGP 플레인으로 구축됩니다. 모든 지정된 네트워크의 경우 각 OSPF 프로세스 아래에 기본적으로 OSPF 메트릭과 같이 간단한 형식의 제약 조건이 있는 Flex-Algo 0이 있습니다.
그러나 특정 요구 사항을 염두에 두고, TE-metric(Multiple Flex-Algo number range from 128 to 255)과 같은 확장 매개 변수를 포함하는 더 정교한 형식의 제약 조건이 여기에 사용됩니다. Cisco IOS® XR 7.3.2에서 이 TE 메트릭은 SR-TE 트래픽 엔지니어링 섹션에서 구성해야 하지만 명시적 경로 계산을 위해 OSPF Flex-Algo에서 사용됩니다.
TI-LFA는 백업 경로를 계산하고 1차 경로 장애 시 데이터 플레인을 준비 상태로 유지하며 제로 스케일 네트워크에 대해 50msec 미만의 컨버전스 시간으로 트래픽을 전환합니다.
설정:
OSPF Flex-Algo는 Router OSPF에 구성되어 네트워크를 통해 광고됩니다. OSPF flex-algo 및 TE 메트릭은 함께 명시적 경로와 50msec 미만의 수렴을 처리합니다. 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
!
!
솔루션 요약
요약하자면, IGP 메트릭은 사용할 수 없으므로 SR-TE 메트릭은 지정된 SR-TE 명시적 경로를 통해 트래픽을 탐색하는 데 도움이 됩니다. OSPF Flex-Algo는 가상 컨트롤 플레인 레이어 하나를 추가하여 TI-LFA가 기본 명시적 경로 트래픽을 사전 계산된 TI-LFA 백업 경로에 50msec 미만으로 수렴할 수 있도록 합니다. 이는 TI-LFA가 실제 목적지 노드를 결정할 수 있도록 목적지 노드 SID만 알려지고 있으므로 명시적 기본 경로 PE1> P1 > P3> PE3의 소스-목적지 노드 쌍 사이의 중간 노드(P1 및 P3)를 모두 보호할 수 있습니다. 동적으로 보호되는 백업 경로는 제로 스케일로 50msec 미만의 컨버전스를 준수하며, 이 경우 PE1> P2 > P4> PE3입니다.
사용된 소프트웨어
솔루션을 테스트하고 검증하는 데 사용되는 소프트웨어는 Cisco IOS® XR 7.3.2입니다
관련 정보