Ce document présente la commande de configuration IS-IS (Intermediate System-to-Intermediate System) set-overload-bit, et comment et quand l'utiliser avec les mots clés wait-for-bgp et suppress. Tout au long de ce document, les termes système intermédiaire (IS) et routeur sont interchangeables.
Les lecteurs de ce document doivent avoir une connaissance de base des éléments suivants :
Les protocoles de routage BGP (Border Gateway Protocol) et IS-IS.
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Logiciel Cisco IOS® Version 12.1(9)
Routeurs de la gamme Cisco 2500 et 3600
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Lorsqu'un routeur manque de ressources système (mémoire ou CPU), il ne peut pas stocker la base de données d'état des liaisons ou exécuter le chemin le plus court d'abord (SPF). Dans ce cas, le routeur doit alerter les autres routeurs de sa zone en définissant un bit particulier dans ses paquets à état de liens (LSP). Lorsque d’autres routeurs détectent que ce bit est défini, ils n’utilisent pas ce routeur pour le trafic de transit, mais ils l’utilisent pour les paquets destinés aux réseaux et préfixes IP directement connectés du routeur surchargé.
Dans IS-IS, un routeur diffuse immédiatement son propre LSP avant même d'envoyer des paquets CSNP (séquence number PDU) complets. Le bit de surcharge est donc utilisé pour indiquer au reste du réseau de ne pas acheminer le trafic de transit via le routeur récemment rechargé.
Pour chaque LSP, la norme ISO/IEC 10589:1992 définit un bit spécial appelé Bit de surcharge de base de données LSP. Le projet mentionne la condition surchargée (au point 7.3.19) : « En raison d'une mauvaise configuration du réseau ou de certaines conditions transitoires, il est possible qu'il y ait une insuffisance de ressources mémoire disponibles pour stocker une unité de données de protocole d'état de liaison reçue. Dans ce cas, un IS doit prendre certaines mesures pour s'assurer que si sa base de données LSP devient incompatible avec les autres IS', ces IS ne dépendent pas de chemins de transfert via l'IS surchargé. »
Lorsqu'un IS est dans cette condition, il définit ce bit dans le fragment 0 non pseudonode LSP qu'il génère.
En outre, dans le projet, la section 7.2.8.1 indique que les autres systèmes d'information ne doivent pas utiliser le système d'information surchargé comme routeur de transit, mais peuvent atteindre les systèmes d'extrémité (ES) qui sont directement reliés. Pendant ce temps, les interfaces connectées directement, ainsi que les préfixes IP, sont toujours accessibles. Cisco IOS n'utilise pas le bit de surcharge pour cette fonctionnalité, bien que la possibilité de définir définitivement le bit de surcharge ait été introduite dans IOS avec l'ID de bogue Cisco CSCdj18100. Dans la mise en oeuvre de Cisco, lorsque le bit de surcharge est défini, les interfaces directement connectées/préfixes IP sont accessibles.
La technique de bit de surcharge IS-IS a été développée avec l'ID de bogue Cisco CSCdp01872 (clients enregistrés uniquement). Vous pouvez configurer un routeur pour annoncer son LSP avec le bit de surcharge pendant une durée spécifique après un rechargement. À l'expiration du compteur, le bit de surcharge est effacé et le LSP est réinondé.
Cette nouvelle fonctionnalité est utile aux fournisseurs d'accès à Internet (FAI) qui exécutent le protocole BGP (Border Gateway Protocol) et IS-IS pour éviter quelques scénarios de trou noir. La définition du bit de surcharge pendant une durée fixe juste après un rechargement garantit que le routeur ne reçoit pas le trafic de transit alors que le protocole de routage converge toujours.
Technique permettant de définir ce bit pendant une certaine période après l'implémentation d'un rechargement à l'aide de la commande suivante. Cette commande prend de 5 à 86 400 secondes pour que le bit de surcharge reste défini après le rechargement.
router isis set-overload-bit [on-startup [| wait-for-bgp] ]
Exemple :
Router(config-router)#set-overload-bit on-startup 3500 wait-for-bgp !--- Set the overload bit for 5 minutes (default is 10 minutes).
Cette fonctionnalité a également permis de configurer un routeur pour désactiver automatiquement le bit de surcharge lorsque BGP converge. Pour plus d'informations sur l'attente de BGP, consultez RFC3277 Intermediate System to Intermediate System (IS-IS) Transient Blackhole Avoidance .
Selon la spécification BGP, un routeur BGP n'a pas besoin d'envoyer des messages de test d'activité tant qu'il envoie des mises à jour. Ainsi, les messages de test d'activité ne seront envoyés qu'après l'envoi de toutes les mises à jour. BGP est considéré comme ayant convergé lorsque des keepalives sont reçus de tous les voisins BGP.
Si les keepalives BGP ne sont pas reçus de tous les voisins BGP et que wait-for-bgp est configuré, IS-IS désactivera le bit de surcharge après 10 minutes.
Les FAI peuvent vouloir empêcher certains préfixes IP d'être annoncés dans les LSP du routeur lorsque le bit set-overload est configuré. Par exemple, il peut ne pas être souhaitable d'autoriser la propagation du préfixe IP de niveau 1 dans le préfixe IP de niveau 2, ce qui ferait du routeur un noeud de transit pour le trafic IP.
L'ID de bogue Cisco CSCdr98046 (clients enregistrés uniquement) donne plus de contrôle sur ce qui se passe lorsque le bit de surcharge est utilisé dans sa capacité étendue. Cette amélioration permet à un routeur IS-IS de niveau 1 - niveau 2 (L1L2) qui redistribue les routes IP de niveau 1 vers niveau 2 ou niveau 2 vers niveau 1 pour continuer à annoncer ces routes redistribuées dans son LSP lorsque le bit de surcharge a été défini.
À l'aide du mot clé suppress, vous pouvez configurer un routeur L1L2 pour redistribuer et annoncer les routes IP de Niveau 1 vers Niveau 2 ou vice versa même lorsque set-overload-bit est configuré. La syntaxe de la commande est comme suit :
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
Le mot clé suppress interlevel indique au routeur de ne pas annoncer les préfixes IP appris à partir d'un autre niveau IS-IS si le bit de surcharge est défini. Le mot clé suppress external indique au routeur de ne pas annoncer les préfixes IP appris d'autres protocoles si le bit de surcharge est défini. La valeur par défaut n'est pas de supprimer et de maintenir le comportement du bogue Cisco ID CSCdp01872 (clients enregistrés uniquement).
L'option suppress ne prend effet que lorsque votre propre bit de surcharge est défini et non lorsqu'il est reçu ou configuré (par exemple, vous pouvez avoir set-overload-bit au démarrage et le bit n'est pas défini).
router isis set-overload-bit on-startup 40 suppress interlevel
Dans le cas ci-dessus, le bit de surcharge n’est pas défini tant que le routeur n’est pas rechargé. Vous devez donc continuer à fuiter les préfixes IP entre les niveaux. Lorsque vous rechargez et définissez le bit, vous devez supprimer les annonces entre niveaux.
Le diagramme de réseau suivant est utilisé pour démontrer la commande set-overload-bit et les options wait-for-bgp et suppress.
Voici la configuration contenant l'option wait-for-bgp sur le routeur 2.
Configuration du Routeur 2 |
---|
! interface Loopback0 ip address 2.2.2.2 255.255.255.255 !--- Creates loopback interface and assigns !--- IP address to interface Loopback0. ! interface Ethernet0/0 ip address 135.8.1.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet0/0 !--- and enables IS-IS for IP on the interface. ! ! interface Ethernet1/0 ip address 135.8.2.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet1/0 !--- and enables IS-IS for IP on the interface. ! ! router isis passive-interface Loopback0 net 12.0020.0200.2002.00 set-overload-bit on-startup wait-for-bgp ! !--- Enables the IS-IS process on the router. !--- Makes loopback interface passive !--- (does not send IS-IS packets on interface). !--- Assigns area and system ID to router. !--- Sets the overload bit on startup to wait for BGP !--- using the default timeout of 10 minutes. |
Le routeur a été récemment rechargé et avant la convergence eBGP, vous pouvez voir que le bit de surcharge est défini sur le LSP du routeur 2 dans la base de données IS-IS de niveau 1.
IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 0x00000017 0x2372 284 0/0/1
Ci-dessous, nous voyons dans la sortie de debug isis update que BGP a convergé sur le routeur 2 :
*Mar 1 00:00:51.015 UTC: BGP(0): Revise route installing 1.1.1.1/32 -> 135.8.1.1 to main IP table
Le routeur 2 reconstruit maintenant son LSP de niveau 1 car BGP a convergé et le bit de surcharge est effacé. C'est pourquoi vous voyez « Champs importants modifiés » dans la sortie de debug isis update ci-dessous.
*Mar 1 00:00:51.087 UTC: ISIS-Upd: Building L1 LSP *Mar 1 00:00:51.087 UTC: ISIS-Upd: Important fields changed *Mar 1 00:00:51.087 UTC: ISIS-Upd: Full SPF required
Maintenant, nous pouvons voir que le routeur 2 a terminé sa session de mise à jour BGP avec le voisin :
*Mar 1 00:00:52.127 UTC: BGP: 135.8.1.1 initial update completed
Lorsque nous examinons à nouveau le LSP de niveau 1 du routeur 2, nous constatons que le routeur 2 a effacé le bit de surcharge (parce que BGP a convergé) et que le champ LSP Seq Num est augmenté de 1 (parce qu'un nouveau LSP a été créé) :
IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 0x00000018 0xAD87 287 0/0/0
Voici la configuration du routeur 2 avec fuite de route L1L2 configurée et le bit de surcharge effacé.
Configuration du Routeur 2 |
---|
! interface Loopback0 ip address 2.2.2.2 255.255.255.255 !--- Creates loopback interface and assigns !--- IP address to interface Loopback0. ! interface Ethernet0/0 ip address 135.8.1.1 255.255.255.0 ip router isis !--- Assigns IP address to interface Ethernet0/0 !--- and enables IS-IS for IP on the interface. ! ! ! interface Ethernet1/0 ip address 135.8.2.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet1/0 !--- and enables IS-IS for IP on the interface. ! ! router isis redistribute static ip metric 11 level-1 redistribute isis ip level-2 into level-1 distribute-list 100 passive-interface Loopback0 net 12.0020.0200.2002.00 ! !--- Enables the IS-IS process on the router. !--- Configured L2 to L1 route leaking !--- Makes loopback interface passive !--- (does not send IS-IS packets on interface). !--- Assigns area and system ID to router. ! ip route 200.200.200.200 255.255.255.255 loopback0 !--- Static route to 200.200.200.200 via loopback0. access-list 100 permit ip any any !--- Access list 100 is used to control which route !--- gets leaked from Level 2 to Level 1. |
Notez que la base de données de niveau 1 du routeur 2 indique que le bit de surcharge est clair dans le LSP L1 du routeur 2.
IS-IS Level-1 LSP r2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 * 0x0000005D 0xC252 180 0/0/0 Area Address: 12 NLPID: 0xCC Hostname: r2 IP Address: 2.2.2.2 Metric: 10 IP 135.8.2.0 255.255.255.0 Metric: 10 IP 135.8.1.0 255.255.255.0 Metric: 0 IP 2.2.2.2 255.255.255.255 Metric: 10 IS r2.02 Metric: 10 IS r3.01 Metric: 11 IP-External 200.200.200.200 255.255.255.255 Metric:138 IP-Interarea 1.1.1.1 255.255.255.255
Lorsque nous examinons les routes IP que le routeur 3 apprend, nous pouvons voir qu’il a appris l’adresse de bouclage 1.1.1.1 du routeur 1 à partir de la fuite de route L2L1. Notez également que le routeur 3 reçoit également la route statique redistribuée 200.200.200.0/32.
r3#show ip route isis 200.200.200.0/32 is subnetted, 1 subnets i L1 200.200.200.200 [115/21] via 135.8.2.2, Ethernet0/0 1.0.0.0/32 is subnetted, 1 subnets i ia 1.1.1.1 [115/148] via 135.8.2.2, Ethernet0/0 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/10] via 135.8.2.2, Ethernet0/0 135.8.0.0/24 is subnetted, 2 subnets i L1 135.8.1.0 [115/20] via 135.8.2.2, Ethernet0/0
Maintenant, configurez set-overload-bit sur le routeur 2 avec l'option supprimer. Nous supprimerons les routes internes et externes. La syntaxe de la commande est la suivante :
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
supprimer les interniveaux empêche le routeur d'annoncer les préfixes appris à partir du niveau 2. supprimer externe empêche la redistribution.
r2(config-router)#set-overload-bit suppress interlevel external
En consultant la base de données de niveau 1 du routeur 2, vous pouvez voir que le bit de surcharge est maintenant défini dans le LSP de niveau 1 du routeur 2. 200.200.200.200/32 et 1.1.1.1/32 ont été supprimés. Ils ne sont pas injectés dans la base de données de niveau 1.
IS-IS Level-1 LSP r2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 * 0x0000005F 0x23C6 266 0/0/1 Area Address: 12 NLPID: 0xCC Hostname: r2 IP Address: 2.2.2.2 Metric: 10 IP 135.8.2.0 255.255.255.0 Metric: 10 IP 135.8.1.0 255.255.255.0 Metric: 0 IP 2.2.2.2 255.255.255.255 Metric: 10 IS r2.02 Metric: 10 IS r3.01
Lorsque nous activons debug isis update-packets sur le routeur 2, nous voyons « Champs importants modifiés » dans la sortie lorsque les LSP de niveau 1 et de niveau 2 sont construits. Cela indique que le contenu du LSP a changé, en d'autres termes, nous avons reçu un LSP dont le bit de surcharge est défini. Un nouveau LSP nécessite l'exécution d'un SPF complet.
*Mar 1 03:16:08.987 UTC: ISIS-Upd: Building L1 LSP *Mar 1 03:16:08.987 UTC: ISIS-Upd: Important fields changed *Mar 1 03:16:08.987 UTC: ISIS-Upd: Full SPF required *Mar 1 03:16:08.987 UTC: ISIS-Upd: Building L2 LSP *Mar 1 03:16:08.987 UTC: ISIS-Upd: Important fields changed *Mar 1 03:16:08.987 UTC: ISIS-Upd: Full SPF required *Mar 1 03:16:09.035 UTC: ISIS-Upd: Sending L1 LSP 0020.0200.2002.00-00, seq 61, ht 299 on Ethernet0/0 *Mar 1 03:16:09.095 UTC: ISIS-Upd: Sending L2 LSP 0020.0200.2002.00-00, seq 65, ht 299 on Ethernet1/0
La table de routage mise à jour du routeur 3 ne comprend plus les réseaux IP 200.200.200.200 et 1.1.1.1.
r3#show ip route isis 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/10] via 135.8.2.2, Ethernet0/0 135.8.0.0/24 is subnetted, 2 subnets i L1 135.8.1.0 [115/20] via 135.8.2.2, Ethernet0/0
Identifiant de bogue Cisco CSCdj18100 (clients enregistrés uniquement) - Possibilité de définir manuellement le bit de surcharge.
Identifiant de bogue Cisco CSCdp01872 (clients enregistrés uniquement) - Possibilité de définir le bit de surcharge au démarrage. Attendez que BGP ait signalé la convergence ou que vous ayez défini un compteur pour effacer le bit de surcharge.
ID de bogue Cisco CSCdr98046 (clients enregistrés uniquement) - Un routeur L1L2 IS-IS qui redistribue les routes IP de niveau 1 vers niveau 2 ou niveau 2 vers niveau 1 peut continuer à annoncer ces routes redistribuées dans son LSP lorsque le bit de surcharge a été défini.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
25-Oct-2005 |
Première publication |