Communautés BGP

Dernière mise à jour : (UTC)

Le but principal des routeurs activés par BGP est d’annoncer des préfixes à d’autres routeurs. Ces préfixes peuvent provenir de plusieurs familles d’adresses différentes, telles que IPv4 et VPNv4. Lors de la publicité d’un préfixe, BGP attache des informations supplémentaires, appelées attributs. BGP utilise ces attributs pour sélectionner le meilleur chemin.

BGP peut inclure plus d’informations avec chaque préfixe, sous la forme de chaînes communautaires. Une chaîne de communauté est une valeur numérique que le pair utilise comme une balise.

Les communautés créent des stratégies de routage entre pairs. En étiquetant les préfixes avec des communautés, nous disons au pair de gérer les préfixes d’une manière spéciale.

À titre d’exemple, disons qu’un groupe spécifique de préfixes doit avoir son poids défini sur 10 par un routeur homologue. Nous pouvons choisir un numéro de communauté à utiliser et marquer les préfixes avec. S’il voit un préfixe de notre part étiqueté avec cette communauté, il fixera le poids à 10.

Nous devons nous entendre avec nos pairs sur les communautés à utiliser. D’un point de vue technique, c’est à eux de décider comment ils vont gérer n’importe quelle chaîne de la communauté. Ils pourraient choisir de les ignorer complètement s’ils le souhaitent.

Les fournisseurs peuvent avoir une liste des communautés prédéfinies qu’ils utilisent et des actions qu’ils prennent. En tant que client, nous pouvons configurer nos communautés pour qu’elles correspondent à leurs politiques, pour ajuster la façon dont elles gèrent nos préfixes.

Les communautés sont facultatives et transitives. Ils sont transitifs afin qu’un pair puisse les transmettre au pair suivant.

Chaque communauté standard est une valeur de 32 bits. Ils sont souvent divisés en deux valeurs de 16 bits, pour les rendre plus faciles à lire. Par exemple, la communauté 4259840100 est la même chose que 65000: 100. Souvent, les 16 premiers bits représentent l’AS et les 16 deuxièmes bits sont une valeur personnalisée.

Il existe également des communautés étendues, qui sont à des fins spéciales, telles que les VPN MPLS. Ce sont des valeurs 64 bits. Ils comprennent une valeur de type 16 bits, une valeur AS ou IP de 16 bits et 32 bits pour la valeur de communauté personnalisée.

Certaines communautés sont réservées:

  • 0:0 – 0:65535
  • 65535:0 – 65535:63335

Configuration

Examinons cela pour voir comment cela fonctionne. Veuillez noter que ce n’est pas un scénario réel.

Pour ce laboratoire, nous utiliserons deux routeurs avec des ASN différents. R1 a plusieurs réseaux qu’il veut annoncer à R2.

R2 attribue des poids aux préfixes, en fonction des communautés attachées:

  • Si la communauté est définie sur 10:100, le poids sera défini sur 100
  • Si la communauté est définie sur 10:200, il réglera le poids à 10

Téléchargez le laboratoire de communautés BGP

R1 – Attribuer des communautés

Les listes de préfixes identifient les routes auxquelles attribuer des communautés. Dans ce cas, 172.16.0.0 et 172.16.10.0 sont dans le Groupe1, et 172.16.20.0 est dans le Groupe2.

Route – les cartes correspondent aux listes de préfixes, puis définissent la communauté sur la route. Le groupe 1 reçoit la communauté 100 et le groupe 2 la communauté 200.

Par défaut, les communautés sont un grand nombre, ce qui est difficile à lire. La commande ip bgp-community new-format change cette valeur en format ASN:Community. Cela facilite la vérification plus tard.

Par défaut, les routeurs Cisco n’envoient pas de communautés. Activez ceci par voisin avec les commandes étendues send-community et send-community.

Enfin, la carte d’itinéraire est appliquée au voisin sortant. Lors de l’envoi de routes au voisin, les communautés sont attachées.

R1 – Attribuer des communautés
! Identify networks with prefix listsip prefix-list Group1 seq 5 permit 172.16.0.0/24ip prefix-list Group1 seq 10 permit 172.16.10.0/24ip prefix-list Group2 seq 5 permit 172.16.20.0/24! Match networks, and set community valuesroute-map R2_Peer permit 10 match ip address prefix-list Group1 set community 10:100route-map R2_Peer permit 20 match ip address prefix-list Group2 set community 10:200! Enable the new community formatip bgp-community new-formatrouter bgp 10 ! Enable sending communities neighbor 10.10.10.2 send-community neighbor 10.10.10.2 send-community extended ! Apply the route map to this neighbour neighbor 10.10.10.2 route-map R2_Peer out

Vérifier les communautés

Ici, nous pouvons voir que les communautés sont définies sur les routes que R2 reçoit.

Vérification R2
! Enable the new community formatip bgp-community new-format! Verify that the community is setR2#show ip bgp 172.16.0.0BGP routing table entry for 172.16.0.0/24, version 2Paths: (1 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 10 10.10.10.1 from 10.10.10.1 (172.16.20.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 10:100 rx pathid: 0, tx pathid: 0x0R2#show ip bgp 172.16.20.0BGP routing table entry for 172.16.20.0/24, version 4Paths: (1 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 10 10.10.10.1 from 10.10.10.1 (172.16.20.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 10:200 rx pathid: 0, tx pathid: 0x0

Définir des stratégies

Maintenant que R2 reçoit des routes avec des communautés, il peut leur appliquer des stratégies.

Tout d’abord, nous créons une liste de communautés pour identifier des communautés spécifiques. Ce sont comme l’utilisation d’ACL ou de listes de préfixes pour identifier les adresses IP. Dans cet exemple, nous utilisons une liste de communautés nommée. Contrairement aux listes communautaires numérotées, elles prennent en charge les expressions régulières et peuvent avoir des entrées illimitées. Les listes numérotées ont une limite de 100 entrées.

Les cartes de route correspondent à la communauté et définissent le poids.

La carte de route est appliquée au voisin pour les préfixes entrants.

R2 – Définir les stratégies
! Create a named community list to identify the communitiesip community-list expanded High_Weight permit 10:100ip community-list expanded Low_Weight permit 10:200! Create a route-map to match the communities, and set the weightroute-map R1_Peer permit 10 match community High_Weight set weight 100route-map R1_Peer permit 20 match community Low_Weight set weight 10 ! Apply the route map to the neighbourrouter bgp 20 neighbor 10.10.10.1 route-map R1_Peer in

Ces modifications n’auront pas lieu pour les routes déjà dans votre table de routage. Le moyen le plus simple de forcer cela à s’appliquer est de réinitialiser la relation de voisinage. Gardez à l’esprit que cela est perturbateur, alors ne le faites pas dans un réseau de production.

Vérifiez les stratégies

Si vous regardez la table BGP sur R2, vous pouvez voir que les poids ont été définis comme prévu.

R2– Vérification
! Verify that the weights are setR2#show ip bgpBGP table version is 4, local router ID is 10.10.10.2Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incompleteRPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 172.16.0.0/24 10.10.10.1 0 100 10 i *> 172.16.10.0/24 10.10.10.1 0 100 10 i *> 172.16.20.0/24 10.10.10.1 0 10 10 i

Communautés bien connues

Il existe plusieurs communautés prédéfinies, appelées Communautés bien connues. Ces communautés ont des significations prédéfinies spéciales que tous les haut-parleurs BGP prennent en charge.

Les plus courants incluent :

Internet – Une communauté propriétaire Cisco. Ceci permet au routeur d’annoncer le préfixe à tous les voisins. Il s’agit d’une communauté « fourre-tout » à la fin d’une liste de communautés. C’est une exception, car tous les fournisseurs ne le supporteront pas.

No-Export – Empêche la publicité du préfixe aux voisins eBGP. Cela conserve un préfixe dans l’AS.

No-Advertise – Cela empêche la publicité du préfixe à tous les voisins.

Local-AS – Utilisé avec les confédérations pour conserver le préfixe dans le local AS. Permet le partage de préfixes avec les voisins eBGP au sein de la confédération.

Concevoir pour les communautés

Lors de la conception de communautés, tenez compte de ces étapes de base:

  1. Définir la stratégie administrative de routage
    • Décider quoi filtrer et où filtrer
    • Décider quels attributs modifier pour influencer le flux de trafic
  2. Concevoir le schéma communautaire
    • , c’est-à-dire décider des valeurs à utiliser, en fonction de la politique
  3. Déployez le schéma à l’aide de cartes d’itinéraires
  4. Créer de la documentation

Lorsque vous recevez des itinéraires à partir d’une source externe, envisagez de les étiqueter en fonction du site sur lequel ils ont été reçus. De même, lors de l’origine des routes, envisagez de les étiqueter avec un identifiant pour le site qui les a créées.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.