Les 8 Communautés BGP les plus courantes
Qu’est-Ce qu’une Communauté BGP ?
Une communauté BGP est un attribut BGP transitif facultatif qui est reconnu et transmis à d’autres pairs BGP. Vous pouvez voir une communauté BGP comme balise attachée aux routes BGP échangées entre deux pairs BGP.
Pour commencer, regardons à quoi ressemble une communauté BGP définie sur une route dans un message de mise à jour. Considérez ce réseau simple, où R111 annonce la route 10.10.10.0/24 au pair BGP AS 11. R111 définit la communauté 1:110 sur les routes qu’elle annonce à R11.
En regardant le message de mise à jour BGP de R111 (1.1.3.2) vers R11 (1.1.3.1), nous pouvons voir plusieurs attributs BGP avec leur valeur. L’un de ces attributs BGP est la communauté. N’oubliez pas que cet attribut est facultatif et qu’il apparaît car il a été défini sur l’itinéraire avant d’être annoncé:
Lorsque nous vérifions la route sur R11 (car R11 a accepté la route et n’exécute aucune opération sur la communauté), nous pouvons voir la route ayant la communauté 1:110:
R11#show ip bg 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 2Paths: (1 available, best #1, table default) Advertised to update-groups: 1 Refresh Epoch 1 111 1.1.3.2 from 1.1.3.2 (10.10.10.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 1:110 rx pathid: 0, tx pathid: 0x0R11#
Maintenant que vous avez vu à quoi ressemble une communauté BGP dans un message de mise à jour, commençons à explorer les concepts plus avancés entourant cet attribut.
Concepts avancés de communauté BGP
Une communauté est une valeur de 32 bits divisée en deux sections de 16 bits. Les 16 premiers bits codent le numéro d’AS à l’origine de la communauté et les 16 derniers bits représentent un numéro unique attribué par l’AS. Parce que chaque numéro AS est unique, chaque communauté est également unique sur Internet. Cela signifie qu’un AS avec l’ASN 9999 (qui en hexadécimal est 0x270F) peut avoir des communautés dans la plage 0x270F0000-0x270FFFFF.
Communautés BGP bien connues
Voici quelques communautés bien connues qui doivent être reconnues par toutes les implémentations BGP sensibles à la communauté.
Communauté sans publicité
Lorsqu’une communauté sans publicité est attachée à une route, le haut-parleur BGP n’annoncera la route à aucun homologue BGP interne ou externe.
L’exemple suivant montre une route sans publicité (10.10.10.0/24) qui n’est pas annoncée par R1 aux pairs R11, R12, R111.
Communauté sans exportation
Lorsqu’une communauté sans exportation est attachée à une route, le routeur n’annoncera pas la route aux pairs externesonly seulement aux pairs internes.
L’exemple suivant montre qu’une route sans exportation (10.10.10.0/24) n’est pas annoncée par R1, R11 ou R12 à leur homologue externe, R111.
Dans ce cas spécifique, R1 n’annoncera pas la route vers R111, seulement vers R11 et R12, car ces deux sont des pairs BGP internes. Par la suite, R11 et R12 n’annonceront aucune route vers R111 car il s’agit d’un homologue BGP externe.
Local EN tant que Communauté
Pour éviter toute boucle de routage BGP, il existe une règle importante concernant les voisins BGP internes : un voisin IBGP ne peut pas annoncer une route à un voisin IBGP s’il a reçu cette route d’un autre voisin IBGP.
L’exemple suivant montre qu’une route AS locale (10.10.10.0/24) n’est pas annoncée entre les voisins IBGP (R11 et R111) dans l’AS locale.
Plus exactement, R11 annonce l’itinéraire vers R22, mais R22 n’annonce pas l’itinéraire vers R111, sur la base de la règle mentionnée ci-dessus. Pour que R111 ait la route, il existe plusieurs solutions telles que la création d’un maillage complet de sessions IBGP entre les routeurs d’AS11, ou la rupture de l’AS 11 en sous-AS à l’intérieur d’une confédération.
Le monde extérieur de AS11 ignore AS 1000 et AS1001. Ceci permet à R111 de recevoir la route 10.10.10.0/24 sans avoir un peering BGP à maillage complet. La communauté locale-AS n’annonce pas d’itinéraires en dehors de la sous-AS.
Communauté d’arrêt gracieux
La communauté Graceful_SHUTDOWN(65535:0) est utilisée pour arrêter en douceur les chemins qu’un routeur peut utiliser lorsque son routeur homologue est sur le point d’être arrêté intentionnellement. À titre d’illustration, supposons que R111 utilise R11 pour atteindre le sous-réseau 10.10.10.0/24, mais que R11 tombe en panne pour qu’un redémarrage soit mis à niveau:
Une fois que R11 annonce cette communauté, R111 répond en basculant le trafic vers R12 avec un impact minimal:
Communauté étendue
Une communauté étendue est une valeur de 8 octets divisée en deux sections principales:
- Les 2 premiers octets : Spécifie le type de communauté
- Les 6 derniers octets: Fournit des informations uniques spécifiques au type de communauté
Une communauté étendue a trois champs : type, administrateur, numéro attribué (type : administrateur : numéro attribué). En fonction de la valeur de l’octet d’ordre élevé dans le champ Type, le champ administrateur peut être une adresse AS ou une adresse IP.
L’application la plus connue pour les communautés étendues est MPLS-VPN qui utilise deux communautés étendues:
- Communauté cible d’itinéraires : Identifie les routeurs pouvant recevoir un ensemble spécifique d’itinéraires.
- Communauté d’origine de la route: Identifie les routeurs qui injectent un ensemble spécifique de routes dans BGP.
Un routage et transfert virtuel (VRF) est une table de routage virtuelle qui peut avoir ses propres stratégies de routage distinctes de la table de routage globale ou d’autres VRF. Fondamentalement, vous pouvez connecter plusieurs sites d’un client et disposer d’une table de routage (VRF) distincte sur l’ensemble du réseau uniquement pour ce client et implémenter des stratégies de routage différentes des stratégies de routage d’un autre client.
Cette séparation est possible grâce aux extensions BGP et MPLS multiprotocoles.
Communauté cible de routage
La communauté cible de routage est utilisée dans les environnements VPN MPLS pour séparer deux tables de routage clients, comme indiqué dans le diagramme suivant:
Dans ce cas spécifique, le ROUGE client VRF est présent uniquement sur R1 et R12 et le BLEU client VRF est présent uniquement sur R11 et R22, mais ils auraient pu être présents sur les quatre routeurs.
Lorsqu’une route est exportée via BGP à partir du rouge VRF, la cible de route 100:100 est affectée à la route via l’exportation. Lorsque la route atteint R12, elle importe la route de R1 afin que les sites connectés à R1 et R12 puissent communiquer.
Communauté d’origine de la route
Dans un environnement VPN MPLS, la communauté d’origine de la route est utilisée pour identifier d’où proviennent les routes, de sorte que la readvertisation vers ce site est évitée.
Dans ce cas, lorsque PE1 reçoit la route de CE1, outre la cible de route qui est attachée à la route (en utilisant l’exportation), elle attache également la communauté d’origine de la route.
L’itinéraire atteint PE2, mais PE2 ne l’annonce pas à CE2, car il sait qu’il provient du site.
Grandes communautés
Une grande communauté est une communauté BGP de 12 octets qui a été développée lorsque l’AS de 4 octets a commencé à être alloué. Étant donné que chacune des communautés standard ou étendues utilise des valeurs de 2 octets pour l’AS, une AS de 4 octets ne rentrerait pas dans la valeur standard de 2 octets.
The Large community is displayed as follows:
32-bit-ASN:32-bit-value:32-bit-value.
Algorithme de sélection du meilleur chemin BGP
Comme vous l’avez vu, les communautés BGP ont plusieurs applications. Ils sont importants pour le marquage des routes, la manipulation du trafic et l’exécution de diverses actions sur les attributs BGP des routes correspondant à des communautés spécifiques.
Chaque fois qu’un routeur doit déterminer le chemin de plusieurs à emprunter vers une destination donnée, il doit suivre l’algorithme de sélection du meilleur chemin BGP, qui évalue les attributs BGP. Vous pouvez en savoir plus sur l’algorithme de sélection du meilleur chemin BGP dans notre article précédent, Attributs BGP.
Exemples de communauté BGP
Cette section montre comment une communauté BGP attachée à une route peut influencer le trafic de téléchargement vers et depuis les hôtes à partir de ce préfixe.
Télécharger
Il existe plusieurs façons d’influencer le chemin de trafic de téléchargement, mais la plus courante consiste à utiliser la préférence locale.
Comme vous l’avez vu dans l’article Attributs BGP, plus la valeur de la préférence locale pour une route est élevée, plus ce chemin est probablement choisi par l’algorithme de sélection du meilleur chemin BGP.
Dans l’illustration suivante, R11 et R12 sont configurés pour:
- Définissez la préférence locale sur 205 s’ils reçoivent un itinéraire avec la communauté 1:205.
- Définissez la préférence locale sur 210 s’ils reçoivent un itinéraire avec la communauté 1:210.
Ces deux routeurs annoncent les routes vers R1, qui doit décider du chemin à utiliser. Dans ce cas, R1 utilise le chemin de R11, ce qui signifie que le trafic se déroulera comme ceci:
Sortie de routeur de téléchargement
R1#sh ip bgp 10.10.10.0BGP routing table entry for 10.10.10.0/24, version 2Paths: (2 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 111 1.1.3.2 (metric 20) from 1.1.1.2 (1.1.100.11) Origin IGP, metric 0, localpref 210, valid, internal, best Community: 1:210 rx pathid: 0, tx pathid: 0x0 Refresh Epoch 1 111 1.1.4.2 (metric 20) from 1.1.2.2 (1.1.100.12) Origin IGP, metric 0, localpref 205, valid, internal Community: 1:205 rx pathid: 0, tx pathid: 0R1#
Download
Un moyen courant d’influencer votre chemin de trafic de téléchargement (ou la façon dont les autres envoient du trafic à votre SA) consiste à effectuer un préfixe AS_PATH pour votre SA. Plus le CHEMIN AS_PATH est long, moins il est probable que ce chemin soit sélectionné par le meilleur algorithme de sélection de chemin.
Dans l’illustration suivante, AS 1 préfère que le trafic transmis de AS 111 soit envoyé de R12.
AS 111 (à cause de R111) a une politique indiquant que si AS 1 annonce un préfixe avec la communauté 1:1, effectuez un préfixe AS_PATH. Par conséquent, R111 définit le CHEMIN AS de la route comme. Si la route arrive avec la communauté de 1:3, effectuez trois préfixes AS_PATH().
R111 reçoit les deux chemins et doit agir en fonction de la communauté attachée à ces chemins. Comme il préfère l’itinéraire de R12, le trafic se déroule comme ceci:
Télécharger la Sortie du Routeur
R111#sh ip bgp 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 4Paths: (2 available, best #2, table default) Advertised to update-groups: 6 Refresh Epoch 2 1 1 1 1 1.1.3.1 from 1.1.3.1 (1.1.100.11) Origin IGP, metric 100, localpref 100, valid, external Community: 1:3 rx pathid: 0, tx pathid: 0 Refresh Epoch 2 1 1 1.1.4.1 from 1.1.4.1 (1.1.100.12) Origin IGP, localpref 100, valid, external, best Community: 1:1 rx pathid: 0, tx pathid: 0x0R111#
Résumé
Dans cet article, nous avons discuté des communautés BGP les plus courantes disponibles pour l’attribut de communauté BGP et de la façon dont elles sont utilisées pour diriger le trafic. Bien que les communautés BGP soient des attributs facultatifs, elles sont puissantes pour le routage du trafic interne et externe. Vous pouvez même les utiliser pour préparer la redirection du trafic pour les redémarrages et les arrêts planifiés.
Pour plus d’informations sur les concepts BGP, consultez notre guide de l’administrateur réseau.
Leave a Reply