Comprendre les communautés BGP, les communautés étendues et les grandes communautés en fonction des conditions de correspondance des stratégies de routage
Une communauté BGP est un groupe de destinations qui partagent une propriété commune. Les informations sur 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 de communauté et de communautés étendues 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 via la configuration (pour les routes statiques, agrégées ou générées) ou une stratégie de routage d’importation. Ces balises peuvent ensuite être mises en correspondance lorsque BGP exporte les routes.
Une valeur de communauté est un champ 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 dans l’Internet. Junos OS utilise la notation 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 de la communauté à l’intérieur de ces nombres AS. Chaque communauté, ou ensemble de communautés, se voit attribuer un nom dans la hiérarchie de configuration [edit policy-options]
. Le nom de la communauté l’identifie de manière unique à l’équipement de routage et sert de méthode par laquelle les routes sont catégorisées. Par exemple, une route dont la valeur de communauté est 64510:1111 peut appartenir à la communauté nommée AS64510-routes
. Le nom de communauté est également utilisé dans une stratégie de routage comme critère de correspondance ou comme action. La syntaxe de commande pour créer une communauté est la suivante : options community name members [community-ids]
de politique . 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 l’interprète 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 standard community est de quatre octets. Les améliorations apportées à la mise en réseau, telles que les VPN, ont des exigences fonctionnelles qui peuvent être satisfaites par un attribut tel qu’une communauté. Cependant, la valeur communautaire de 4 octets n’offre pas suffisamment d’expansion 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é codent un champ de type tandis que les 6 derniers octets contiennent un ensemble unique de données dans un format défini par le champ de type. Les communautés étendues offrent un plus grand éventail de possibilités de regroupement ou de catégorisation des communautés.
Le format d’attribut des communautés étendues BGP comporte trois champs : type:administrator:assigned-number
. Le périphérique de routage s’attend à ce que vous utilisiez les mots target
ou origin
que vous représentiez le champ de type. Le champ administrateur utilise un nombre décimal pour l’adresse AS ou IPv4, tandis que le champ numérique 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 étendue, 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 constitué d’un ensemble d’une ou plusieurs valeurs de 4 octets divisé en valeurs de 16 bits. Le mot le plus significatif est interprété comme un nombre AS et le mot le moins significatif est une valeur définie localement attribuée par l’opérateur du AS. Depuis l’adoption des ASN sur 4 octets, la communauté BGP standard sur 4 octets et la communauté BGP étendue sur 6 octets ne peuvent plus prendre en charge les attributs de communauté BGP. Les opérateurs encodent souvent le numéro AS dans la partie locale de la communauté BGP, ce qui signifie que le format de la communauté est parfois 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 de communauté étendu de 6 octets n’est pas non plus approprié. 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 de 4 octets la plus significative pour coder le numéro de système autonome en tant qu’administrateur global et les deux autres numéros attribués sur 4 octets pour coder les valeurs locales telles que définies dans le RFC 8092. Vous pouvez configurer BGP grande communauté au niveau de la [edit policy-options community community-name members]
hiérarchie et [edit routing-options static route ip-address community]
. Le format des attributs de grande communauté BGP comporte quatre champs : large
:global administrator:assigned number:assigned number
.
La communauté étendue spécifique à l’adresse unicast IPv6 BGP 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 encodent la valeur Type et Sous-type (valeur élevée (octet le plus significatif) et valeur faible (deuxième octet le plus significatif)).
-
Les 16 octets suivants codent l’adresse unicast IPv6. Il est l’administrateur général de la RFC IETF.
-
Les 2 derniers octets codent les valeurs locales définies par l’opérateur. Il est administrateur local dans la RFC de l’IETF.
Les attributs de la communauté étendue BGP spécifiques à l’adresse unicast IPv6 sont représentés par un mot-clé ipv6-target
, ipv6-origin
ou ipv6-extended
suivi d’IPv6 et d’un administrateur local séparés par <, > et :.
La longueur de la valeur de l’attribut des grandes communautés BGP doit être un multiple différent de zéro de 12.