Stratégies de routage pour les communautés BGP

Comprendre les communautés BGP, les communautés étendues et les grandes communautés en tant que conditions de correspondance des stratégies de routage

Une communauté BGP est un groupe de destinations qui partagent une propriété commune. Les informations de la communauté sont incluses en tant qu’attribut de chemin dans les messages de mise à jour BGP. Ces informations identifient les membres de la communauté et vous permettent d’effectuer des actions sur un groupe sans avoir à élaborer sur chaque membre. Vous pouvez utiliser les attributs community et extended communities pour déclencher des décisions de routage, telles que l’acceptation, le rejet, la préférence ou la redistribution.

Vous pouvez affecter des balises de communauté à des routes non-BGP par le biais d’une configuration (pour les routes statiques, agrégées ou générées) ou d’une politique de routage d’importation. Ces balises peuvent ensuite être mises en correspondance lorsque BGP exporte les routes.

Une valeur communautaire est un champ de 32 bits divisé en deux sections principales. Les 16 premiers bits de la valeur codent le numéro AS du réseau à l’origine de la communauté, tandis que les 16 derniers bits portent un numéro unique attribué par l’AS. Ce système tente de garantir un ensemble unique de valeurs communautaires au monde pour chaque AS sur Internet. Junos OS utilise une notation de as-number:community-value, où chaque valeur est un nombre décimal. Les valeurs AS de 0 et 65 535 sont réservées, de même que toutes les valeurs communautaires comprises dans ces numéros AS. Chaque communauté, ou ensemble de communautés, reçoit un nom dans la [edit policy-options] hiérarchie de configuration. Le nom de la communauté l’identifie de manière unique au périphérique de routage et sert de méthode de catégorisation des routes. Par exemple, une route avec une valeur de communauté de 64510:1111 peut appartenir à la communauté nommée AS64510-routes. Le nom de la communauté est également utilisé dans une politique de routage comme critère de correspondance ou comme action. La syntaxe de commande pour créer une communauté est : policy-options community name members [community-ids]. Il s’agit community-ids soit d’une seule valeur communautaire, soit de plusieurs valeurs communautaires. Lorsque plusieurs valeurs sont affectées à un nom de communauté, le périphérique de routage interprète cela comme un ET logique des valeurs de communauté. En d’autres termes, une route doit avoir toutes les valeurs configurées avant de se voir attribuer le nom de communauté.

L’attribut communautaire normal est de quatre octets. Les améliorations réseau, telles que les VPN, ont des exigences de fonctionnalité qui peuvent être satisfaites par un attribut tel qu’une communauté. Cependant, la valeur communautaire de 4 octets n’offre pas assez d’extension et de flexibilité pour répondre aux exigences VPN. Cela conduit à la création de communautés étendues. Une communauté étendue est une valeur de 8 octets qui est également divisée en deux sections principales. Les 2 premiers octets de la communauté encodent un champ type tandis que les 6 derniers octets portent un ensemble unique de données dans un format défini par le champ type. Les communautés étendues offrent une plus grande portée pour regrouper ou catégoriser les communautés.

Le format d’attribut des communautés étendues BGP comporte trois champs : type:administrator:assigned-number. L’équipement de routage s’attend à ce que vous utilisiez les mots target ou origin que vous représentiez le champ type. Le champ administrateur utilise un nombre décimal pour l’adresse AS ou IPv4, tandis que le champ de numéro attribué attend un nombre décimal ne dépassant pas la taille du champ (65 535 pour 2 octets ou 4 294 967 295 pour 4 octets).

Lorsque vous spécifiez des ID de communauté pour les attributs de communauté standard et étendus, vous pouvez utiliser des expressions régulières de style UNIX. La seule exception concerne les stratégies d’importation VPN (vrf-import), qui ne prennent pas en charge les expressions régulières pour l’attribut communautés étendues.

Les attributs de communautés BGP standard sont un attribut de longueur variable composé d’un ensemble d’une ou plusieurs valeurs de 4 octets qui ont été divisées en valeurs de 16 bits. Le mot le plus significatif est interprété comme un nombre d’AS et le mot le moins significatif est une valeur définie localement attribuée par l’opérateur de l’AS. Depuis l’adoption des ASN de 4 octets, la communauté BGP standard de 4 octets et la communauté étendue BGP de 6 octets ne peuvent plus prendre en charge les attributs de communauté BGP. Les opérateurs codent souvent le numéro AS dans la partie locale de la communauté BGP, ce qui signifie que parfois le format de la communauté est ASN :ASN. Avec l’ASN de 4 octets , vous avez besoin de 8 octets pour l’encoder. Bien que la communauté étendue BGP permette d’encoder un AS de 4 octets en tant que champ d’administrateur global, le champ d’administrateur local ne dispose que de 2 octets d’espace disponible. Ainsi, l’attribut communautaire étendu de 6 octets est également inadapté. Pour surmonter ce problème, Junos OS vous permet de configurer un attribut de chemin transitif facultatif : une grande communauté BGP de 12 octets qui fournit la valeur la plus significative de 4 octets pour coder le numéro du système autonome en tant qu’administrateur global et les deux autres numéros attribués de 4 octets pour coder les valeurs locales telles que définies dans la norme RFC 8092. Vous pouvez configurer une grande communauté BGP au niveau de la [edit policy-options community community-name members] [edit routing-options static route ip-address community] hiérarchie. Le format des attributs de grande communauté BGP comporte quatre champs : large:global administrator:assigned number:assigned number.

Remarque : Sous Junos OS, les routes statiques prennent uniquement en charge les communautés BGP standard (natives) dans leur configuration. Les communautés étendues ne sont pas prises en charge pour les routes statiques.

L’adresse unicast IPv6 de BGP, une communauté étendue spécifique est codée sous la forme d’un ensemble de valeurs de 20 octets. La valeur de 20 octets est interprétée dans le format suivant :

  • Les 2 octets les plus significatifs codent la valeur Type et Sous-type (valeur élevée (octet le plus significatif) et valeur Low (deuxième octet le plus significatif)).

  • Les 16 octets suivants codent l’adresse unicast IPv6. Il est l’administrateur général de l’IETF RFC.

  • Les 2 derniers octets encodent les valeurs locales définies par l’opérateur. Il est administrateur local dans l’IETF RFC.

Les attributs IPv6 unicast adresse spécifiques BGP de communauté étendue sont représentés par un mot-clé ipv6-target, ipv6-originou ipv6-extended suivis d’IPv6 et d’administrateur local séparés par <, > et :.

Remarque :

La longueur de la valeur de l’attribut Grandes communautés BGP doit être un multiple non nul de 12.

Exemple : configuration d’une stratégie de routage pour redistribuer des routes BGP avec une balise de communauté spécifique dans IS-IS

Cet exemple définit une stratégie qui prend les routes BGP de la Edu communauté et les place dans IS-IS avec une métrique de 63.

Exigences

Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cet exemple.

Vue d’ensemble

La figure 1 illustre la topologie utilisée dans cet exemple.

Figure 1 : Redistribution de routes BGP avec une balise de communauté spécifique vers IS-IS Redistributing BGP Routes with a Specific Community Tag into IS-IS

Dans cet exemple, l’appareil A, l’appareil B, l’appareil C et l’appareil D se trouvent dans le système autonome (AS) 1 et exécutent IS-IS. Tous les appareils AS 1, à l’exception du périphérique D, exécutent un protocole BGP interne (IBGP).

L’équipement E est dans AS 2 et dispose d’une session d’appairage BGP (EBGP) externe avec l’équipement C. L’équipement E a deux routes statiques, 10.2.0.0/16 et 10.3.0.0/16. Ces routes sont balisées avec l’attribut de communauté Edu 2:5 et sont annoncées par le biais d’EBGP à l’équipement C.

L’équipement C accepte les routes BGP balisées avec l’attribut de communauté Edu 2:5, redistribue les routes dans IS-IS et applique une métrique IS-IS de 63 à ces routes.

La configuration rapide de la CLI montre la configuration de tous les appareils de la Figure 1. La section #d10e65__d10e386 décrit les étapes sur l’appareil C et l’appareil E.

La configuration

Procédure

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans le CLI au niveau de la [edit] hiérarchie.

Équipement A

Équipement B

Équipement C

Équipement D

Équipement E

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, consultez Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI.

Pour configurer l’équipement E :

  1. Configurez les interfaces.

  2. Configurez la statics stratégie, qui ajoute l’attribut Edu community aux routes statiques.

  3. Configurez EBGP et appliquez la statics stratégie.

  4. Configurez les routes statiques.

  5. Configurez l’ID du routeur et le numéro AS.

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, consultez Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI.

Pour configurer l’équipement C :

  1. Configurez les interfaces.

  2. Configurez IBGP.

  3. Configurez la stratégie Edu-à-isis, qui redistribue les routes BGP étiquetées Edu apprises à partir de l’appareil E et applique une métrique de 63.

  4. Activez IS-IS sur les interfaces et appliquez la stratégie Edu-to-isis.

  5. Configurez la politique d’envoi isis and direct, qui redistribue les routes vers l’équipement E, via EBGP.

    Sans cette stratégie, l’équipement E ne serait pas connecté aux réseaux d’AS 1.

  6. Configurez EBGP et appliquez la politique d’envoi isis et direct.

  7. Configurez l’ID du routeur et le numéro du système autonome (AS).

Résultats

En mode configuration, confirmez votre configuration en entrant les show interfacescommandes , show protocolsshow policy-options, , et show routing-options . Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Équipement E

Équipement C

Si vous avez terminé de configurer l’appareil, entrez en commit mode configuration.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification du voisin IS-IS

Objet

Vérifiez que les routes BGP de l’équipement E sont communiquées sur le réseau IS-IS dans l’AS 1.

Mesures à prendre

À partir du mode opérationnel, entrez la show route protocol isis commande.

Signification

Comme prévu, les routes 10.2.0.0/16 et 10.3.0.0/16 sont dans la table de routage de Device D en tant que routes externes IS-IS avec une métrique de 73. Si l’appareil C n’avait pas ajouté 63 à la mesure, l’appareil D aurait une mesure de 10 pour ces routes.

Exemple : configuration d’une stratégie de routage qui supprime des communautés BGP

Cet exemple montre comment créer une stratégie qui accepte les routes BGP, mais supprime les communautés BGP des routes.

Exigences

Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cet exemple.

Vue d’ensemble

Cet exemple montre deux équipements de routage reliés par une connexion BGP (EBGP) externe. L’équipement R2 utilise la session BGP pour envoyer deux routes statiques à l’équipement R1. Sur l’appareil R1, une stratégie d’importation spécifie que toutes les communautés BGP doivent être supprimées des routes.

Par défaut, lorsque des communautés sont configurées sur des pairs EBGP, elles sont envoyées et acceptées. Pour supprimer l’acceptation des communautés reçue d’un voisin, vous pouvez supprimer toutes les communautés ou un ensemble spécifié de communautés. Lorsqu’une stratégie génère un ensemble vide de communautés, l’attribut communauté n’est pas inclus. Pour supprimer toutes les communautés, définissez d’abord un ensemble générique de communautés (ici, la communauté est nommée wild) :

Ensuite, dans l’instruction de la politique de routage, spécifiez l’action community delete :

Pour supprimer une communauté particulière de tout système autonome (AS), définissez la communauté comme community wild members "*:community-value".

Topologie

La figure 2 montre l’exemple de réseau.

Figure 2 : Politique BGP qui élimine des communautés BGP Policy That Removes Communities

La configuration

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans le CLI au niveau de la [edit] hiérarchie.

Appareil R1

Appareil R2

Procédure

Procédure étape par étape

L’exemple suivant nécessite que vous naviguiez à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI de Junos OS.

Pour configurer l’appareil R1 :

  1. Configurez les interfaces.

  2. Configurez BGP.

    Appliquez la stratégie d’importation à la session d’appairage BGP avec l’appareil R2.

  3. Configurez la politique de routage qui supprime les communautés.

  4. Configurez le numéro du système autonome (AS) et l’ID du routeur.

Procédure étape par étape

L’exemple suivant nécessite que vous naviguiez à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI de Junos OS.

Pour configurer l’appareil R2 :

  1. Configurez les interfaces.

  2. Configurez l’ID du routeur et le numéro du système autonome (AS).

  3. Configurez BGP.

  4. Configurez plusieurs communautés ou configurez une communauté unique avec plusieurs membres.

  5. Configurez les routes statiques.

  6. Configurez une politique de routage qui annonce les routes statiques dans BGP et ajoute la communauté BGP aux routes.

  7. Appliquez la stratégie d’exportation.

Résultats

En mode configuration, confirmez votre configuration en entrant les show interfacescommandes , show protocolsshow policy-options, , et show routing-options . Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Appareil R1

Appareil R2

Si vous avez terminé de configurer les appareils, entrez en commit mode configuration.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification des routes BGP

Objet

Assurez-vous que la table de routage sur l’appareil R1 ne contient pas de communautés BGP.

Mesures à prendre
  1. Sur l’appareil R1, exécutez la show route protocols bgp extensive commande.

  2. Sur l’appareil R1, désactivez la community remove configuration dans la stratégie d’importation.

  3. Sur l’appareil R1, exécutez la show route protocols bgp extensive commande pour afficher les communautés publiées.

Signification

La sortie montre que dans la table de routage de l’appareil R1, les communautés sont supprimées dans les routes BGP envoyées par l’équipement R2. Lorsque le paramètre de la community remove stratégie d’importation de l’appareil R1 est désactivé, les communautés ne sont plus supprimées.

Exemple : configuration d’une stratégie de routage en fonction du nombre de communautés BGP

Cet exemple montre comment créer une stratégie qui accepte les routes BGP en fonction du nombre de communautés BGP.

Exigences

Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cet exemple.

Vue d’ensemble

Cet exemple montre deux équipements de routage reliés par une connexion BGP (EBGP) externe. L’équipement R2 utilise la session BGP pour envoyer deux routes statiques à l’équipement R1. Sur l’appareil R1, une stratégie d’importation spécifie que les routes reçues par BGP peuvent contenir jusqu’à cinq communautés pour être considérées comme compatibles. Par exemple, si un itinéraire contient trois communautés, il est considéré comme une correspondance et est accepté. Si une route contient six communautés ou plus, elle est considérée comme non correspondante et est rejetée.

Il est important de se rappeler que la politique par défaut d’EBGP est d’accepter toutes les routes. Pour vous assurer que les routes sans correspondance sont rejetées, vous devez inclure une then reject action à la fin de la définition de stratégie.

Topologie

La figure 3 montre le réseau exemple.

Figure 3 : Politique BGP avec une limite sur le nombre de communautés acceptées BGP Policy with a Limit on the Number of Communities Accepted

La configuration

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans le CLI au niveau de la [edit] hiérarchie.

Appareil R1

Appareil R2

Procédure

Procédure étape par étape

L’exemple suivant nécessite que vous naviguiez à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI de Junos OS.

Pour configurer l’appareil R1 :

  1. Configurez les interfaces.

  2. Configurez BGP.

    Appliquez la stratégie d’importation à la session d’appairage BGP avec l’appareil R2.

  3. Configurez la politique de routage qui envoie des routes directes.

  4. Configurez le numéro du système autonome (AS) et l’ID du routeur.

Procédure étape par étape

L’exemple suivant nécessite que vous naviguiez à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI de Junos OS.

Pour configurer l’appareil R2 :

  1. Configurez les interfaces.

  2. Configurez l’ID du routeur et le numéro du système autonome (AS).

  3. Configurez BGP.

  4. Configurez plusieurs communautés ou configurez une communauté unique avec plusieurs membres.

  5. Configurez les routes statiques.

  6. Configurez une politique de routage qui annonce les routes statiques dans BGP et ajoute la communauté BGP aux routes.

  7. Appliquez la stratégie d’exportation.

Résultats

En mode configuration, confirmez votre configuration en entrant les show interfacescommandes , show protocolsshow policy-options, , et show routing-options . Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Appareil R1

Appareil R2

Si vous avez terminé de configurer les appareils, entrez en commit mode configuration.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification des routes BGP

Objet

Assurez-vous que la table de routage de l’équipement R1 contient les routes BGP attendues.

Mesures à prendre
  1. Sur l’appareil R1, exécutez la show route protocols bgp commande.

  2. Sur l’appareil R1, modifiez la community-count configuration dans la stratégie d’importation.

  3. Sur l’appareil R1, exécutez la show route protocols bgp commande.

  4. Sur l’appareil R1, exécutez la show route protocols bgp extensive commande pour afficher les communautés publiées.

Signification

La sortie montre que dans la table de routage de l’appareil R1, les routes BGP envoyées par l’équipement R2 sont masquées. Lorsque le paramètre de la stratégie d’importation de l’appareil community-count R1 est modifié, les routes BGP ne sont plus masquées.