Groupe de travail Réseau	R. Chandra	
Request for Comments : 1997	P. Traina	
Catégorie : En cours de normalisation 	cisco Systems	
	T. Li	
Traduction Claude Brière de L'Isle	août 1996	

Attribut Communauté de BGP

Statut du présent mémoire
Le présent document spécifie un protocole en cours de normalisation de l’Internet pour la communauté de l’Internet, et appelle à des discussions et suggestions pour son amélioration. Prière de se référer à l’édition en cours des "Normes officielles des protocoles de l’Internet" (STD 1) pour connaître l’état de la normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.

Résumé
Le protocole de routeur frontière (BGP, Border Gateway Protocol) [RFC1771] est un protocole d'acheminement inter systèmes autonomes conçu pour les internets TCP/IP.

Le présent document décrit une extension à BGP qui peut être utilisée pour passer des informations supplémentaires aux homologues BGP aussi bien voisins que distants.

L'intention de la technique proposée est d'aider à l'administration de politique et à réduire la complexité de gestion de la maintenance de l'Internet.

Introduction

BGP prend en charge des politiques de transit via la distribution contrôlée des informations d'acheminement. Les mécanismes pour ce faire sont décrits dans la [RFC1771] et ont été utilisés avec succès par les fournisseurs de service de transit. Cependant, le contrôle sur la distribution des informations d'acheminement est actuellement fondé soit sur les préfixes d'adresse IP, soit sur la valeur de l'attribut AS_PATH (ou une partie de cet attribut).

Pour faciliter et simplifier le contrôle des informations d'acheminement, le présent document suggère de grouper les destinations de telle sorte que la décision d'acheminement puisse aussi se fonder sur l'identité d'un groupe. On s'attend à ce qu'un tel schéma simplifie de façon significative la configuration d'un locuteur BGP qui contrôle la distribution des informations d'acheminement.

Termes et définitions

Communauté
Une communauté est un groupe de destinations qui partagent une propriété commune.

Chaque administrateur de système autonome peut définir à quelle communautés appartient une destination. Par défaut, toutes les destinations appartiennent à la communauté générale de l'Internet.

Exemples :
Une propriété telle que "AUP soutenue par NSFNET" pourrait être ajoutée aux destinations conformes à AUP annoncées dans le réseau NSFNET. Les opérateurs de NSFNET pourraient définir une politique qui annoncerait tous les chemins, étiquetés ou non, pour les consommateurs conformes à AUP directement connectés et seulement les chemins étiquetés pour les sites commerciaux ou externes. Cela assurerait qu'au moins un côté d'une certaine connexion est conforme à AUP comme moyen de mise en application des lignes directrices de la politique de transit de NSF.

Dans cet exemple, nous avons juste éliminé la principale motivation d'une base de données complexe de politiques d'acheminement qui est utilisée pour générer d'énormes règles de filtrage fondées sur les préfixes et le chemin d'AS. Nous avons aussi éliminé les délais causés par la maintenance hors bande de cette base de données (les envois de messages dans les NACR, les sessions hebdomadaires de configuration, etc.)

Un second exemple est tiré de l'expérience de l'agrégation. Il est souvent utile d'annoncer à la fois un préfixe agrégé et les préfixes plus spécifiques de composant qui ont été utilisés pour former l'agrégation pour optimiser l'acheminement du "prochain bond". Ces préfixes de composant ne sont utiles que pour l'homologue BGP du voisinage ou peut-être pour le système autonome de l'homologue BGP du voisinage, de sorte qu'il est souhaitable de filtrer ces informations. En spécifiant une valeur de communauté à laquelle vont se confronter le ou les homologues voisins et sur laquelle ils vont faire le filtrage, ces chemins plus spécifiques peuvent être annoncés avec l'assurance qu'ils ne vont pas se propager au delà de leur portée désirée.

Attribut COMMUNITIES
Le présent document crée l'attribut de chemin COMMUNITIES qui est un attribut transitoire facultatif de longueur variable. L'attribut consiste en un ensemble de valeurs de quatre octets, dont chacune spécifie une communauté. Tous les chemins qui ont cet attribut apparteinnent aux communautés énumérées dans l'attribut.

L'attribut COMMUNITIES a le code de type 8.

Les communautés sont traitées comme des valeurs de 32 bits , cependant, pour les allocations administratives, les hypothèses suivantes peuvent être faites :

Les valeurs d'attribut de communauté qui vont de 0x0000000 à 0x0000FFFF et de 0xFFFF0000 à 0xFFFFFFFF sont réservées.

Le reste des valeurs d'attribut de communauté devra être codé en utilisant un numéro de système autonome dans les deux premiers octets. La sémantiques des deux octets finaux peut être définie par le système autonome (par exemple, l'AS 690 peut définir des valeurs de commuautés de la recherche, de l'éducation et du commerce qui peuvent être utilisées pour une politique d'acheminement définie par les opérateurs de cette AS en utilisant les valeurs d'attribut de communauté de 0x02B20000 à 0x02B2FFFF).

Communautés bien connues

Les communautés suivantes ont une signification mondiale et leur fonctionnement devra être mis en œuvre dans tout locuteur BGP qui a la capacité de traiter l'attribut de communauté.

NO_EXPORT (0xFFFFFF01)
Tous les chemins reçus qui portent un attribut de communauté qui contient cette valeur NE DOIVENT PAS être annoncés en dehors des frontières d'une confédération BGP ( un système autonome qui ne fait pas partie d'une confédération devrait être considéré comme une  confédération à lui tout seul).

NO_ADVERTISE (0xFFFFFF02)
Tous les chemins reçus qui portent un attribut de communautés qui contient cette valeur NE DOIVENT PAS être annoncé aux autres homologuesr BGP.

NO_EXPORT_SUBCONFED (0xFFFFFF03)
Tous les chemins reçus qui portent un attribut de communauté qui contient cette valeur NE DOIVENT PAS être annoncés aux homologues BGP externes (cela inclut les homologues dans les autres systèmes autonomes membres à l'intérieur d'une confédération BGP).

Fonctionnement

Un locuteur BGP peut utiliser cet attribut pour controler les informations d'acheminement qu'il accepte, préfère ou distribue aux autres voisins.

Un locuteur BGP qui reçoit un chemin qui ne porte pas l'attribut de chemin COMMUNITIES peut ajouter cet attribut au chemin lorsque il le diffuse à ses homologues.

Un locuteur BGP qui reçoit un chemin avec l'attribut de chemin COMMUNITIES peut modifier cet attribut conformément ) la politique locale.

Agrégation

Si une gamme de chemins doit être agrégée et si la section attribut d''agrégat ne porte pas l'attribut ATOMIC_AGGREGATE, l'agrégat résultant devrait alors avoir un attribut de chemin COMMUNITIES contenant toutes les communautés à partir des chemins agrégés.

Applicabilité

L'attribut de chemin COMMUNITIES peut être utilisé avec BGP version 2 et toutes les versions postérieures de BGP sauf mention spécifique contraire.

Considérations pour la sécurité

Les questions de sécurité ne sont pas abordées dans le présent mémoire.

Remerciements

Nous tenons à remercier Vince Fuller, Sean Doran, et Andrew Partan pour avoir attiré notre attention sur les problèmes dont nous espérons que l'attribut communautés de BGP va être la solution. Nous tenons aussi à remercier Yakov Rekhter de la relecture de ce document ainsi que de ses précieux commentaires constructifs.

Adresse des auteurs

Paul Traina
cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
USA
mél : pst@cisco.com

Ravishanker Chandrasekeran
(Ravi Chandra)
cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
USA
mél : rchandra@cisco.com

Tony Li
EMail: tli@skat.usc.edu

Références

[RFC1771]	Y. Rekhter, T. Li , "Protocole de routeur frontière v. 4 (BGP-4)", mars 1995. (Obsolète, voir RFC4271) (D.S.)

[RFC1965]	P. Traina, "Confédérations de systèmes autonomes pour BGP", juin 1996. (Obsolète, voir RFC3065) (Expérimentale)