Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit le fonctionnement de l'algorithme flexible (Flex-Algo) dans ISIS ainsi que, fournit des commandes pertinentes pour la vérification et le dépannage.
Exigences
Composants utilisés
Figure 1 : Format Sub-TLV Prefix-SID (avec champ d'algorithme)
Figure 2 : Format TLV Flex-Algo Definition(FAD)
Figure 3 : Schéma de topologie du réseau
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
Remarque :
Sur 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
Remarque : Sur PE2, la liaison HundredGigE0/1/0/1 >> entre PE2 et ABR 1 delay-metric advertise-delay 100 >> delay de l’interface de mesure des performances est configurée de manière statique. Ceci augmente la métrique de retard de +100 dans la direction de PE2 vers PE1, donc le délai pour atteindre ABR1 à partir de PE2 est de 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*
Lorsqu'aucune annonce-délai manuelle n'est configurée sur l'interface et que le profil de mesure de délai par défaut activé sur l'interface est utilisé, des sondes sont envoyées sur les liaisons pour mesurer le délai sur l'interface.
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*
Remarque :
Figure 4 : Diagramme de topologie du réseau utilisé pour démontrer TI-LFA et MLA pour 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
Remarque :
Sur ABR-1, lorsque la liaison entre ABR 1 et ABR 2 est arrêtée, le tunnel MLA est déclenché :
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
Dans le TI-LFA et le MLA, Flex-Algo 129 exécute son propre SPF contraint, précalcule un tunnel de réacheminement rapide qui respecte les contraintes Algo 129, en utilisant uniquement des étiquettes FLEX-ALGO 129.
Lorsqu'un Flex-Algo calcule son arbre du plus court chemin (SPF), il applique des contraintes d'affinité lors de la sélection du chemin :
Sur ABR 1 et 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
Publiez cette configuration sur le FAD annoncé.
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
Chemin emprunté de PE4 à PE3 lorsque la carte d’affinité de liens n’est configurée sur aucune des liaisons :
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
Figure 5 : traceroute entre PE4 et PE3 sans mappage d'affinité défini
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
Conformément à la DCP pour Flex Algo 129 de PE4 vers PE3, il doit exclure toute liaison avec la position de bit de mappage d'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
Figure 6 : Chemin emprunté de PE4 à PE3 après la configuration de la carte d'affinité
Remarque : De même, en utilisant « include any » et « include all » dans le FAD d'un algorithme flexible, nous pouvons influencer le calcul du chemin de la tête vers la queue.
Ce document décrit l'utilisation de l'algorithme flexible (Flex-Algo) pour découper logiquement un domaine IS-IS en plusieurs tranches de réseau. Chaque tranche peut définir ses propres règles et contraintes de calcul de chemin, ce qui permet un traitement différencié des flux de trafic en fonction des exigences des SLA ou de la sensibilité du trafic.
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
Révision | Date de publication | Commentaires |
---|---|---|
2.0 |
10-Sep-2025
|
Première publication |
1.0 |
08-Sep-2025
|
Première publication |