La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive il funzionamento dell'algoritmo flessibile (Flex-Algo) nell'ISIS e fornisce i comandi necessari per la verifica e la risoluzione dei problemi.
Requisiti
Componenti usati
Figura 1: Formato Sub-TLV prefisso-SID (con campo algoritmo)
Figura 2: Formato TLV FAD (Flex-Algo Definition)
Figura 3: Esempio di topologia di rete
router isis core
flex-algo 128
interface Loopback100
passive
address-family ipv4 unicast
prefix-sid index 11 explicit-null
prefix-sid algorithm 128 index 811 explicit-null
Nota:
Su ABR2:
router isis core
flex-algo 129
priority 50
metric-type te
advertise-definition
interface Loopback100
address-family ipv4 unicast
prefix-sid algorithm 129 index 92 explicit-null >> Prefix-SID bound to Flex-Algo 129
interface HundredGigE0/1/0/2
point-to-point
address-family ipv4 unicast
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa
te-metric flex-algo 20 level 2 >> 20 is the TE metric value for this link , need to be enabled on the links only between those routers participating in Flex-Algo 129
PE3#show isis flex-algo 129
IS-IS core Flex-Algo Database
Flex-Algo 129:
Level-2:
Definition Priority: 100
Definition Source: ASR9906-2-ABR-1.00
Definition Equal to Local: No
Definition Metric Type: TE
Definition Flex-Algo Prefix Metric: No
<snip>
FRR Disabled: No
Microloop Avoidance Disabled: No
UCMP Disabled: No
Data Plane Segment Routing: Yes
Data Plane IP: Yes
PE3#show isis database 55A1-2-PE4.00-00 verbose internal
IS-IS core (Level-2) Link State Database
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL Len Received From On Reason
55A1-2-PE4.00-00 0x00000149 0xfe2f 995 /1200 0/0/0 282 09:21:39 ASR9910-4-ABR-2 Hu0/1/0/0 Flooded
<snip>
TLV code:242 length:28
Router Cap: 10.10.44.44 D:0 S:0
SubTLV code:2 length:9
Segment Routing: I:1 V:0, SRGB Base: 16000 Range: 8000
SubTLV code:23 length:2
Node Maximum SID Depth:
Label Imposition: 12
SubTLV code:19 length:3
SR Algorithm:
Algorithm: 0
Algorithm: 1
Algorithm: 129
SubTLV code:29 length:1
IP Algorithm:
Algorithm: 129
TLV code:22 length:117
Metric: 10 IS-Extended ASR9910-4-ABR-2.00
SubTLV code:4 length:8
Local Interface ID: 32, Remote Interface ID: 38
SubTLV code:6 length:4
Interface IP Address: 10.10.244.44
SubTLV code:8 length:4
Neighbor IP Address: 10.10.244.2
SubTLV code:9 length:4
Physical BW: 10000000 kbits/sec
SubTLV code:16 length:9
Application Specific Link Attributes:
L flag: 0, SA-Length: 1, UDA-Length: 1
Standard Applications: 0x10 FLEX-ALGO
User Defined Applications: 0x10
SubTLV code:18 length:3
Admin. Weight: 20 >>>>>>>>>> configured TE metric
PE3#show isis topology flex-algo 129
IS-IS core paths to IPv4 Unicast (Level-2) routers
System Id Metric Next-Hop Interface SNPA
ASR9910-4-ABR-2 20 ASR9910-4-ABR-2 Hu0/1/0/0 *PtoP* >> 1 hop away from PE3
55A1-2-PE4 40 ASR9910-4-ABR-2 Hu0/1/0/0 *PtoP* >> 2 hops away from PE3
PE3#show isis database 55A1-2-01EEA29-PE4.00-00 verbose internal
IS-IS core (Level-2) Link State Database
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL Len Received From On Reason
55A1-2-01EEA29-PE4.00-00 0x00000149 0xfe2f 995 /1200 0/0/0 282 09:21:39 ASR9910-4-01F8486-ABR-2 Hu0/1/0/0 Flooded
TLV code:242 length:28
Router Cap: 10.10.44.44 D:0 S:0
SubTLV code:2 length:9
Segment Routing: I:1 V:0, SRGB Base: 16000 Range: 8000
SubTLV code:23 length:2
Node Maximum SID Depth:
Label Imposition: 12
SubTLV code:19 length:3
SR Algorithm:
Algorithm: 0
Algorithm: 1
Algorithm: 129
SubTLV code:29 length:1
IP Algorithm:
Algorithm: 129
TLV code:22 length:117
Metric: 10 IS-Extended ASR9910-4-01F8486-ABR-2.00
SubTLV code:4 length:8
Local Interface ID: 32, Remote Interface ID: 38
SubTLV code:6 length:4
Interface IP Address: 10.10.244.44
SubTLV code:8 length:4
Neighbor IP Address: 10.10.244.2
SubTLV code:9 length:4
Physical BW: 10000000 kbits/sec
SubTLV code:16 length:9
Application Specific Link Attributes:
L flag: 0, SA-Length: 1, UDA-Length: 1
Standard Applications: 0x10 FLEX-ALGO
User Defined Applications: 0x10
SubTLV code:18 length:3
Admin. Weight: 20 >>>>>>>>>> configured TE metric
router isis core
flex-algo 128
priority 100
metric-type delay
advertise-definition
performance-measurement
interface HundredGigE0/1/0/0
delay-measurement >>> this CLI needs to be enabled only on those interfaces between those routers participating in Flex-Algo 128
!
!
interface HundredGigE0/1/0/3
delay-measurement
PE1#show isis flex-algo 128
IS-IS core Flex-Algo Database
Flex-Algo 128:
Level-2:
Definition Priority: 100
Definition Source: ASR9906-2-ABR-1.00
Definition Equal to Local: No
Definition Metric Type: Delay
Definition Flex-Algo Prefix Metric: No
Nota: In PE2, il collegamento tra PE2 e ABR 1 delay-Measurement annuncio-delay 100 >> delay è configurato staticamente nell'interfaccia di misurazione delle prestazioni HhungE0/1/0/1 >>. In questo modo la metrica del ritardo aumenta di +100 nella direzione da PE2 a PE1, quindi il ritardo per raggiungere ABR 1 da PE2 è 100.
PE1#show isis database ASR-9904-5-PE2.00-00 verbose internal
IS-IS core (Level-2) Link State Database
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL LSP Length
ASR-9904-5-PE2.00-00 0x00000231 0x6084 1131 /1200 0/0/0 310
<snip>
TLV code:242 length:25
<snip>
SubTLV code:19 length:3
SR Algorithm:
Algorithm: 0
Algorithm: 1
Algorithm: 128
TLV code:22 length:144
Metric: 10 IS-Extended ASR9906-2-ABR-1.00
SubTLV code:4 length:8
Local Interface ID: 17, Remote Interface ID: 22
SubTLV code:6 length:4
Interface IP Address: 10.10.221.22
SubTLV code:8 length:4
Neighbor IP Address: 10.10.221.1
SubTLV code:9 length:4
Physical BW: 99999998 kbits/sec
SubTLV code:33 length:4
Link Average Delay: 100 us
SubTLV code:34 length:8
Link Min/Max Delay: 100/100 us
SubTLV code:35 length:4
Link Delay Variation: 0 us
SubTLV code:16 length:14
Application Specific Link Attributes:
L flag: 0, SA-Length: 1, UDA-Length: 1
Standard Applications: 0x10 FLEX-ALGO
User Defined Applications: 0x10
SubTLV code:34 length:8
Link Min/Max Delay: 100/100 us >>> delay calculated on this link due to the confoguration
PE2#show isis topology flex-algo 128
IS-IS core paths to IPv4 Unicast (Level-2) routers
System Id Metric Next-Hop Interface SNPA
ASR9906-2-ABR-1 100 ASR9906-2-ABR-1 Hu0/1/0/1 *PtoP*
ASR9906-1-PE1 112 ASR9906-2-ABR-1 Hu0/1/0/1 *PtoP*
Quando sull'interfaccia non è configurato alcun ritardo di annuncio manuale e si utilizza il profilo di misurazione del ritardo predefinito abilitato sull'interfaccia, vengono inviate delle sonde sui collegamenti per misurare il ritardo sull'interfaccia.
ABR-1#show performance-measurement sessions
----------------------------------------------------------------------------------------------------------------------------------------------------------------
0/1/CPU0
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Transport type : Interface
Measurement type : Delay Measurement
Interface name : HundredGigE0/1/0/0
Nexthop : Unknown
Delay Measurement session:
Session ID : 4097
Profile Keys:
Profile name : default
Profile type. : Interface Delay Measurement
Last advertisement:
Advertised at: Sep 26 2025 14:00:36.179 (247623.282 seconds ago)
Advertised reason: Periodic timer, min delay threshold crossed
Advertised delays (uSec): avg: 12, min: 12, max: 13, variance: 0
A flag set: False
Next advertisement:
Threshold check scheduled in 2 more probes (roughly every 120 seconds)
Aggregated delays (uSec): avg: 12, min: 11, max: 12, variance: 1
Rolling average (uSec): 11
Current computation:
Started at: Sep 29 2025 10:47:17.373 (22.88 seconds ago)
Packets Sent: 8, received: 8
Measured delays (uSec): avg: 12, min: 11, max: 12, variance: 1 >>>>>>>>>>>> the delay measured using probes on this interface
Next probe scheduled at: Sep 29 2025 10:47:47.369 (in 7.908 seconds)
Next packet will be sent in 1.908 seconds
Packet sent every 3.0 seconds
Responder IP : 10.10.111.11
Number of Hops : 1
ABR-1#show isis database ASR9906-1-PE1.00-00 verbose internal
IS-IS core (Level-2) Link State Database
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL LSP Length
ASR9906-1-PE1.00-00 0x00000777 0x13ef 497 /1200 0/0/0 370
<snip>
TLV code:22 length:197
Metric: 10 IS-Extended ASR9906-2-ABR-1.00
SubTLV code:4 length:8
Local Interface ID: 40, Remote Interface ID: 21
SubTLV code:6 length:4
Interface IP Address: 10.10.111.11
SubTLV code:8 length:4
Neighbor IP Address: 10.10.111.1
SubTLV code:9 length:4
Physical BW: 99999998 kbits/sec
SubTLV code:33 length:4
Link Average Delay: 12 us >>>>>>>>>>>>>> the calculated delay is propagated via ISIS which is used by the Headend router to calculate the path with minimum delay
SubTLV code:34 length:8
Link Min/Max Delay: 12/13 us
SubTLV code:35 length:4
Link Delay Variation: 0 us
SubTLV code:16 length:14
Application Specific Link Attributes:
L flag: 0, SA-Length: 1, UDA-Length: 1
Standard Applications: 0x10 FLEX-ALGO
User Defined Applications: 0x10
SubTLV code:34 length:8
Link Min/Max Delay: 12/13 us
PE1#show isis topology flex-algo 128
IS-IS core paths to IPv4 Unicast (Level-2) routers
System Id Metric Next-Hop Interface SNPA
ASR9906-2-ABR-1 12 ASR9906-2-ABR-1 Hu0/1/0/0 *PtoP*
ASR-9904-5-PE2 24 ASR9906-2-ABR-1 Hu0/1/0/0 *PtoP*
Nota:
Figura 4: Diagramma della topologia di rete utilizzato per dimostrare TI-LFA e MLA per Flex-Algo 129
ABR-1#show isis fast-reroute flex-algo 129 10.10.2.2/32 detail
L2 10.10.2.2/32 [20/115] Label: 16092, medium priority
Installed Sep 17 10:40:08.503 for 00:16:25
via 10.10.12.2, HundredGigE0/1/0/1, Label: Exp-Null-v4, ASR9910-4-ABR-2, SRGB Base: 16000, Weight: 0
Backup path: TI-LFA (link), via 10.10.221.22, HundredGigE0/1/0/3 ASR-9904-5-PE2, SRGB Base: 16000, Weight: 0, Metric: 60
P node: ASR9910-3-PE3.00 [10.10.33.33], Label: 16933 >>>>>>>>>> TI-LFA precomputed path for FRR
Prefix label: 16092
Backup-src: ASR9910-4-ABR-2.00
P: No, TM: 60, LC: No, NP: No, D: No, SRLG: Yes
src ASR9910-4-ABR-2.00-00, 10.10.2.2, prefix-SID index 92, R:0 N:1 P:1 E:1 V:0 L:0, Alg:129
Nota:
Su ABR-1 quando il collegamento tra ABR 1 e ABR 2 viene arrestato, il tunnel MLA viene attivato:
ABR-1 #show isis microloop avoidance 10.10.2.2/32 flex-algo 129 detail
10.10.2.2/32 participated in 1 of 6 microloop avoidance events
number start spf duration cleanup duration pins: ipv4 ipv6
--- --- --- --- --- --- --- ---
5 restart 10:59:16.440 0 ms 10:59:16.643 3 0
trigger: Link down, near node: ASR9906-2-ABR-1.00, far node: ASR9910-4-ABR-2.00
via 10.10.221.22, Hu0/1/0/3, Labels: 16933
Sia in TI-LFA che in MLA, il Flex-Algo 129 esegue il proprio SPF vincolato, precalcola un tunnel di reroute veloce che rispetta i vincoli dell'Algo 129, utilizzando solo le etichette FLEX-ALGO 129.
Quando un Flex-Algo calcola il proprio albero del percorso più breve (SPF, Shortest Path Tree), applica vincoli di affinità durante la selezione del percorso:
Su ABR 1e 2:
On ABR 1and 2
router isis core
affinity-map ALGO-129 bit-position 6
flex-algo 129
priority 100
metric-type te
advertise-definition
affinity exclude-any ALGO-129
Pubblica questa configurazione nel FAD annunciato.
PE4#show isis database ASR9906-2-ABR-1.00-00 verbose internal
IS-IS core (Level-2) Link State Database
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL Len Received From On Reason
ASR9906-2-ABR-1.00-00 0x0000023f 0xa89f 871 /1200 0/0/0 453 11:12:43 ASR9906-1-PE1 Hu0/0/0/5 Flooded
TLV code:242 length:44
Router Cap: 10.10.1.1 D:0 S:0
<snip>
SubTLV code:19 length:4
SR Algorithm:
Algorithm: 0
Algorithm: 1
Algorithm: 128
Algorithm: 129
SubTLV code:26 length:4
Flex-Algo Definition:
Algorithm: 129 Metric-Type: 2 Alg-type: 0 Priority: 100
SubTLV code:1 length:4
Flex-Algo Exclude-Any Ext Admin Group: >>> FAD to exclude any link with this bit position set
0x00000040
PE4#show isis flex-algo 129
IS-IS core Flex-Algo Database
Flex-Algo 129:
Level-2:
Definition Priority: 100
Definition Source: ASR9906-2-ABR-1.00
Definition Equal to Local: No
Definition Metric Type: TE
Definition Flex-Algo Prefix Metric: No
Exclude Any Affinity Bit Positions: 6
Percorso da PE4 a PE3 quando la mappa di affinità del collegamento non è configurata in nessuno dei collegamenti:
PE4#traceroute sr-mpls labels 16933 lsp-end-point 10.10.33.33
Type escape sequence to abort.
0 10.10.244.44 MRU 1500 [Labels: 16933/explicit-null Exp: 0/0] >>>>>>>>>>>>>>>>>>>> PE4
L 1 10.10.244.2 MRU 1500 [Labels: explicit-null/explicit-null Exp: 0/0] 5 ms >>>>>>>>ABR2
! 2 10.10.32.33 4 ms >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>PE3
Figura 5: traceroute tra PE4 e PE3 senza mappa di affinità definita
router isis core
affinity-map ALGO-129 bit-position 6 >> define the bit position and associate it with a name
router isis core
interface HundredGigE0/1/0/2 >>> link between ABR-2 to PE3
affinity flex-algo ALGO-129 >>>>> link affinity map
point-to-point
address-family ipv4 unicast
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa
te-metric flex-algo 20 level 2
PE4#show isis database ASR9910-4-ABR-2.00-00 verbose internal
<snip>
TLV code:22 length:193
<snip>
SubTLV code:6 length:4
Interface IP Address: 10.10.32.2
SubTLV code:8 length:4
Neighbor IP Address: 10.10.32.33
SubTLV code:9 length:4
Physical BW: 99999998 kbits/sec, 12499999744 bytes/sec
SubTLV code:16 length:21
Application Specific Link Attributes:
L flag: 0, SA-Length: 1, UDA-Length: 1
Standard Applications: 0x10 FLEX-ALGO
User Defined Applications: 0x10
SubTLV code:14 length:4
Ext Admin Group:
0x00000040 >>>>>> link affinity flooded via IGP
SubTLV code:3 length:4
Affinity: 0x00000040
SubTLV code:18 length:3
Admin. Weight: 20
Come per la FAD per Flex Algo 129 da PE4 verso PE3, è necessario escludere qualsiasi collegamento con posizione di bit mappa di affinità 6.
PE4#traceroute sr-mpls labels 16933 lsp-end-point 10.10.33.33
0 10.10.244.44 MRU 1500 [Labels: 16933/explicit-null Exp: 0/0]
L 1 10.10.244.2 MRU 1500 [Labels: 16933/explicit-null Exp: 0/0] 5 ms >>>>>>>>>>>>> ABR2
L 2 10.10.12.1 MRU 1500 [Labels: 16933/explicit-null Exp: 0/0] 4 ms >>>>>>>>>>>>>> ABR1
L 3 10.10.221.22 MRU 1500 [Labels: explicit-null/explicit-null Exp: 0/0] 15 ms >>> PE2
! 4 10.10.233.33 4 ms >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PE3
Figura 6: Percorso da PE4 a PE3 dopo la configurazione della mappa di affinità
Nota: Allo stesso modo, utilizzando "include any" e "include all" nella FAD di un algo flessibile, possiamo influenzare il calcolo del percorso dall'estremità della testa verso l'estremità della coda.
Questo documento descrive l'uso di un algoritmo flessibile (Flex-Algorithm) per suddividere logicamente un dominio IS-IS in più slice di rete. Ciascuna slice può definire le proprie regole e i propri vincoli di calcolo del percorso, consentendo un trattamento differenziato dei flussi di traffico in base ai requisiti SLA o alla sensibilità del traffico.
show isis flex-algo <>
show isis flex-algo 129 neighbors
show isis topology flex-algo
show isis database <> verbose detail
show isis route <> flex-algo <> detail
show mpls forwarding labels <> detail
show isis microloop avoidance <> flex-algo <> detail
show isis fast-reroute flex-algo <> <prefix> detail
Revisione | Data di pubblicazione | Commenti |
---|---|---|
2.0 |
10-Sep-2025
|
Release iniziale |
1.0 |
08-Sep-2025
|
Versione iniziale |