3. Summary of Operation (Résumé des Opérations)
3. Summary of Operation (Résumé des Opérations)
Le protocole de passerelle frontière (Border Gateway Protocol, BGP) est un protocole de routage inter-systèmes autonomes (inter-Autonomous System). Il est construit sur l'expérience acquise avec EGP (tel que défini dans [RFC904]) et l'utilisation d'EGP dans la dorsale NSFNET (telle que décrite dans [RFC1092] et [RFC1093]). Pour plus d'informations relatives à BGP, voir [RFC1772], [RFC1930], [RFC1997] et [RFC2858].
La fonction principale d'un système parlant BGP est d'échanger des informations d'accessibilité réseau avec d'autres systèmes BGP. Ces informations d'accessibilité réseau comprennent des informations sur la liste des systèmes autonomes (AS) que traversent les informations d'accessibilité. Ces informations sont suffisantes pour construire un graphe de connectivité des AS pour cette accessibilité, à partir duquel les boucles de routage peuvent être élaguées et, au niveau de l'AS, certaines décisions de politique peuvent être appliquées.
Dans le contexte de ce document, nous supposons qu'un locuteur BGP n'annonce à ses pairs que les routes qu'il utilise lui-même (dans ce contexte, un locuteur BGP est dit "utiliser" une route BGP s'il s'agit de la route BGP la plus préférée et qu'elle est utilisée pour le transfert). Tous les autres cas sortent du cadre de ce document.
Dans le contexte de ce document, le terme "adresse IP" fait référence à une adresse IP version 4 [RFC791].
Les informations de routage échangées via BGP ne prennent en charge que le paradigme de transfert basé sur la destination, qui suppose qu'un routeur transmet un paquet uniquement sur la base de l'adresse de destination transportée dans l'en-tête IP du paquet. Ceci, à son tour, reflète l'ensemble des décisions de politique qui peuvent (et ne peuvent pas) être appliquées en utilisant BGP. Notez que certaines politiques ne peuvent pas être prises en charge par le paradigme de transfert basé sur la destination et nécessitent donc l'application de techniques telles que le routage à la source (alias routage explicite). De telles politiques ne peuvent pas non plus être appliquées en utilisant BGP. Par exemple, BGP ne permet pas à un AS d'envoyer du trafic à un AS voisin pour le transférer vers une destination (accessible via mais) au-delà de cet AS voisin, avec l'intention que le trafic emprunte une route différente de celle empruntée par le trafic provenant de l'AS voisin (pour cette même destination). D'autre part, BGP peut prendre en charge toute politique conforme au paradigme de transfert basé sur la destination.
BGP-4 fournit un nouvel ensemble de mécanismes pour prendre en charge le routage inter-domaine sans classe (Classless Inter-Domain Routing, CIDR) [RFC1518, RFC1519]. Ces mécanismes incluent la prise en charge de l'annonce d'un ensemble de destinations sous forme de préfixe IP et l'élimination du concept de "classe" de réseau au sein de BGP. BGP-4 introduit également des mécanismes permettant l'agrégation de routes, y compris l'agrégation de chemins d'AS.
Ce document utilise le terme "Système Autonome" (Autonomous System, AS) partout. La définition classique d'un Système Autonome est un ensemble de routeurs sous une seule administration technique, utilisant un protocole de passerelle intérieure (IGP) et des métriques communes pour déterminer comment acheminer les paquets au sein de l'AS, et utilisant un protocole de routage inter-AS pour déterminer comment acheminer les paquets vers d'autres AS. Depuis l'élaboration de cette définition classique, il est devenu courant qu'un seul AS utilise plusieurs IGP et, parfois, plusieurs ensembles de métriques au sein d'un AS. L'utilisation du terme Système Autonome souligne le fait que, même lorsque plusieurs IGP et métriques sont utilisés, l'administration d'un AS apparaît aux autres AS comme ayant un plan de routage intérieur cohérent unique et présente une image cohérente des destinations accessibles à travers lui.
BGP utilise TCP [RFC793] comme protocole de transport. Cela élimine le besoin de mettre en œuvre une fragmentation explicite des mises à jour, une retransmission, un accusé de réception et un séquencement. BGP écoute sur le port TCP 179. Le mécanisme de notification d'erreur utilisé dans BGP suppose que TCP prend en charge une fermeture "gracieuse" (c'est-à-dire que toutes les données en attente seront livrées avant la fermeture de la connexion).
Une connexion TCP est établie entre deux systèmes. Ils échangent des messages pour ouvrir et confirmer les paramètres de connexion.
Le flux de données initial est la partie de la table de routage BGP qui est autorisée par la politique d'exportation, appelée Adj-Ribs-Out (voir 3.2). Des mises à jour incrémentielles sont envoyées à mesure que les tables de routage changent. BGP ne nécessite pas de rafraîchissement périodique de la table de routage. Pour permettre aux modifications de politique locale d'avoir l'effet correct sans réinitialiser aucune connexion BGP, un locuteur BGP DEVRAIT soit (a) conserver la version actuelle des routes qui lui sont annoncées par tous ses pairs pour la durée de la connexion, soit (b) utiliser l'extension Route Refresh [RFC2918].
Des messages KEEPALIVE peuvent être envoyés périodiquement pour s'assurer que la connexion est active. Des messages NOTIFICATION sont envoyés en réponse à des erreurs ou à des conditions spéciales. Si une connexion rencontre une condition d'erreur, un message NOTIFICATION est envoyé et la connexion est fermée.
Un pair dans un AS différent est appelé pair externe (external peer), tandis qu'un pair dans le même AS est appelé pair interne (internal peer). BGP interne et BGP externe sont communément abrégés en IBGP et EBGP.
Si un AS particulier possède plusieurs locuteurs BGP et fournit un service de transit pour d'autres AS, il faut alors veiller à assurer une vue cohérente du routage au sein de l'AS. Une vue cohérente des routes intérieures de l'AS est fournie par l'IGP utilisé au sein de l'AS. Aux fins de ce document, il est supposé qu'une vue cohérente des routes extérieures à l'AS est fournie en faisant en sorte que tous les locuteurs BGP au sein de l'AS maintiennent l'IBGP entre eux.
Ce document spécifie le comportement de base du protocole BGP. Ce comportement peut être, et est, modifié par des spécifications d'extension. Lorsque le protocole est étendu, le nouveau comportement est entièrement documenté dans les spécifications d'extension.