- Border Gateway Protocol
-
Pour les articles homonymes, voir BGP.
Pile de protocoles 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Modèle Internet
Modèle OSIBorder Gateway Protocol (BGP) est un protocole d'échange de route utilisé notamment sur le réseau Internet. Son objectif est d'échanger des informations d'accessibilité de réseaux (appelés préfixes) entre Autonomous Systems (AS) car il a été conçu pour prendre en charge de très grands volumes de données et dispose de possibilités étendues de choix de la meilleure route.
Contrairement aux protocoles de routage interne, BGP n'utilise pas de métrique classique mais fonde les décisions de routage sur les chemins parcourus, les attributs des préfixes et un ensemble de règles de sélection définies par l'administrateur de l'AS. On le qualifie de protocole à vecteur de chemins (path vector protocol).
BGP prend en charge le routage sans classe et utilise l'agrégation de routes afin de limiter la taille de la table de routage. Depuis 1994, la version 4 du protocole est utilisée sur Internet, les précédentes étant considérées comme obsolètes. Ses spécifications sont décrites dans la RFC 4271 A Border Gateway Protocol 4 (BGP-4).
BGP a remplacé Exterior Gateway Protocol (EGP) qui était utilisé dans la dorsale ARPANET et a permis la décentralisation du routage sur Internet.
Certaines extensions de BGP permettent l'échange de routes IPv6 (RFC 2545) et l'extension multi-protocole (MP-BGP, RFC 2858) qui permet d'utiliser BGP dans un réseau MPLS.
Sommaire
Fonctionnement
Les connexions entre deux voisins BGP (neighbours ou peers) sont configurées explicitement entre deux routeurs. Ils communiquent alors entre eux via une session TCP sur le port 179 initiée par l'un des deux routeurs. BGP est le seul protocole de routage à utiliser TCP comme protocole de transport.
Il existe deux versions de BGP : Interior BGP (iBGP) et Exterior BGP (eBGP). iBGP est utilisé à l'intérieur d'un Autonomous System alors que eBGP est utilisé entre deux AS.
En général, les connexions eBGP sont établies sur des connexions point-à-point ou sur des réseaux locaux (un Internet Exchange Point par exemple), le TTL des paquets de la session BGP est alors fixé à 1. Si la liaison physique est rompue, la session eBGP l'est également, et tous les préfixes appris par celle-ci sont annoncés comme supprimés et retirés de la table de routage.
À l'inverse, les connexions iBGP sont généralement établies entre des adresses logiques, non associées à une interface physique particulière. Ceci permet, en cas de rupture d'un lien physique, de conserver la session iBGP active si un lien alternatif existe et si un protocole de routage interne dynamique (IGP) est employé (par exemple OSPF).
Une fois la connexion entre deux routeurs établie, ceux-ci s'échangent des informations sur les réseaux qu'ils connaissent et pour lesquels ils proposent du transit, ainsi qu'un certain nombre d'attributs associés à ces réseaux qui vont permettre d'éviter des boucles (comme AS Path) et de choisir avec finesse la meilleure route.
Messages du protocole BGP
- OPEN
- ce message est utilisé dès que la connexion TCP est établie entre les voisins BGP, il permet d'échanger des informations telles que les numéros d'AS respectifs et de négocier les capacités de chacun des pairs ;
- KEEPALIVE
- maintient la session ouverte. Par défaut le message KEEPALIVE est envoyé toutes les 30 secondes, et un délai de 90 secondes sans message UPDATE ni KEEPALIVE reçu entraîne la fermeture de la session[1] ;
- UPDATE
- ce message permet l'annonce de nouvelles routes ou le retrait de routes ;
- NOTIFICATION
- message de fin de session BGP suite à une erreur.
- ROUTE-REFRESH
- définie dans la RFC 2918, la capacité de rafraîchissement des routes est négociée dans le message OPEN et permet de demander de réannoncer certains préfixes après une modification de la politique de filtrage.
Machine à états finis de BGP
Le logiciel permettant de gérer les échanges de route doit implémenter un automate fini constitués de six états liés par treize événements. Les automates dialoguent entre eux par des messages (OPEN, KEEPALIVE, UPDATE, NOTIFICATION).
Les états sont :
- Idle
- Connect
- Active
- OpenSent
- OpenConfirm
- Established
Les changements d'états et le comportement attendus sont les suivants :
- Idle
- Dans cet état, le processus refuse les connexions et n'alloue aucune ressource. Quand l'événement de démarrage (manuel ou automatique) est reçu, le processus initie les ressources et une connexion avec les voisins configurés, et écoute les connexions entrantes sur le port TCP 179 et bascule dans l'état Connect. En cas d'erreur, la connexion est coupée et le processus retourne dans l'état Idle ;
- Connect
- attend que la connexion TCP soit établie, puis envoie le message OPEN et bascule dans l'état OpenSent. En cas d'erreur, attend un délai prédéfini et continue à écouter sur le port 179 puis bascule dans l'état Active ;
- Active
- Tente d'établir une connexion TCP avec le voisin. En cas de réussite, envoie le message OPEN et bascule dans l'état Connect, tout autre événement provoque le retour dans l'état Idle ;
- OpenSent
- le message OPEN a été envoyé, attend le message OPEN en retour et s'il ne se produit pas d'erreur, envoie un KEEPALIVE et bascule dans OpenConfirm, dans les autres cas, envoie un message NOTIFICATION et retourne dans l'état Idle ;
- OpenConfirm
- attend un message KEEPALIVE et bascule alors en Established, ou bien un message NOTIFICATION et retourne dans l'état Idle ;
- Established
- la connexion BGP est établie, les messages UPDATE et KEEPALIVE peuvent être échangés, un message NOTIFICATION cause le retour dans l'état Idle.
Attributs
Chaque préfixe dans BGP est associée à un certain nombre d'attributs. Ces attributs sont classés en quatre types différents :
- Well-Known Mandatory (WM) : ces attributs doivent être pris en charge et propagés ;
- Well-Known Discretionary (WD) : doivent être pris en charge, la propagation est optionnelle ;
- Optional Transitive (OT) : pas nécessairement pris en charge mais propagés ;
- Optional Nontransitive (ON) : pas nécessairement pris en charge ni propagés, peuvent être complètement ignorés s'ils ne sont pas pris en charge.
Voici quelques attributs avec leurs types :
Attribut Type Description Aggregator OT Identificateur et AS du routeur qui a réalisé l'agrégation AS Path WM Liste ordonnée des systèmes autonomes traversés Atomic Aggregate WD Liste des AS supprimés après une agrégation Cluster ID ON Cluster d'origine Community OT Marquage de route Local Preference WD Métrique destinée aux routeurs internes en vue de préférer certaines routes externes Multiple Exit Discriminator (MED) ON Métrique destinée aux routeurs externes en vue de préférer certaines routes internes Next Hop WM Adresse IP du voisin eBGP Origin WM Origine de la route (IGP, EGP ou Incomplete) Originator ID ON Identificateur du route reflector Weight O(N) Extension Cisco en vue de préférer localement certains voisins, n'est jamais transmise aux voisins AS Path
L'attribut AS Path permet d'éviter les boucles. Si une route est reçue d'un voisin eBGP avec son propre AS dans l'AS Path, alors la route est rejetée.
MED
L'attribut Multi-Exit Discriminator permet à un AS d'indiquer un lien à préférer. Le MED est un coût numérique codé sur 32 bits, il peut provenir d'un protocole de routage interne.
L'attribut MED n'est comparé que si l'AS voisin est identique. Certaines implémentations permettent cependant de comparer les MED même entre AS voisins différents. En présence de plus de deux chemins possibles en provenance d'au moins deux AS voisins, la sélection de la meilleure route peut dépendre de l'ordre dans lequel les comparaisons sont effectuées[2].
Community
Une route peut disposer d'une liste d'attributs community. Chaque community est un nombre de 32 bits généralement représenté sur la forme x:y où x est un numéro d'AS et y un nombre dont la signification est propre à l'AS. Par exemple, l'AS 100 peut avoir pour politique d'attribuer une Local Preference 200 en présence de la community 100:200, ceci permet à un AS d'influencer le routage à l'intérieur d'autres AS.
Extended community
La RFC 4360 généralise le concept des communities avec cet attribut OT. L'extended community est composée d'un ou deux octets pour le type, et de 6 ou 7 octets pour la valeur. L'IANA maintient un registre des valeurs type réservées[3].
Next Hop
Quand un préfixe est annoncé à un voisin eBGP, l'attribut Next Hop représente l'adresse IP de sortie vers ce voisin. Cet attribut n'est pas altéré quand il est transmis aux voisins iBGP, ceci implique que la route vers l'adresse IP du voisin eBGP est connue via un IGP. Si ce n'est pas le cas, la route BGP est marquée comme inutilisable.
Processus de décision
Les routes annoncées par les voisins BGP sont filtrées et éventuellement rejetées ou marquées en altérant les attributs de ces routes. La table BGP est construite en comparant les routes reçues pour chaque préfixe en en choisissant la meilleure route. Seule la meilleure route sera utilisée dans la table de routage et annoncée aux voisins pour autant que le filtre de sortie le permette.
Choix de la meilleure route
Quand plusieurs routes sont possibles vers un même réseau (ce qui implique un masque de réseau identique), BGP préfère une des routes selon les critères suivants. Seule la meilleure route sera utilisée et annoncée aux voisins.
Ordre Nom Description Préférence 1 Weight[4] Préférence administrative locale la plus élevée 2 Local Preference Préférence à l'intérieur d'un AS la plus élevée 3 Self-Originated Préférence des réseaux dont l'origine est ce routeur vrai > faux 4 AS Path Préférence du chemin avec les moins d'AS traversés le plus court 5 Origin Préférence du chemin en fonction de la façon dont ils sont connus par le routeur d'origine IGP > EGP > Incomplete 6 MED Préférence en fonction de la métrique annoncée par l'AS d'origine la plus faible 7 External Préférence des routes eBGP sur les routes iBGP eBGP > iBGP 8 IGP Cost Métrique du Next-Hop dans l'IGP la plus faible 9 eBGP Peering Préfère les routes les plus stables la plus ancienne 10 Router ID Départage en fonction de l'ID du routeur la plus faible Si l'option BGP Multipath est active, les routes semblables après l'étape numéro 8 sont acceptées.
Synchronisation
Dans certaines topologies où il est fait usage de redistribution de BGP dans un IGP, il peut être nécessaire d'attendre que la route soit présente dans l'IGP avant qu'elle soit utilisable dans BGP.
Si tous les routeurs de transit d'un AS utilisent BGP entre eux, cette contrainte de synchronisation peut être levée, c'est le cas le plus fréquent.
Route reflectors et Confederations
Contenu soumis à la licence CC-BY-SA. Source : Article Border Gateway Protocol de Wikipédia en français (auteurs)
Regardez d'autres dictionnaires:
Border gateway protocol — Pour les articles homonymes, voir BGP. Pile de protocoles 7 • Application 6 • … Wikipédia en Français
Border Gateway Protocol — Saltar a navegación, búsqueda El BGP o Border Gateway Protocol es un protocolo mediante el cual se intercambia información de encaminamiento entre sistemas autónomos. Por ejemplo, los ISP registrados en Internet suelen componerse de varios… … Wikipedia Español
Border Gateway Protocol — BGP redirects here. For the Formula One Team, see Brawn GP. The Border Gateway Protocol (BGP) is the protocol backing the core routing decisions on the Internet. It maintains a table of IP networks or prefixes which designate network reachability … Wikipedia
Border Gateway Protocol — BGP Название: Border Gateway Protocol Семейство: TCP/IP Порт/ID: 179/TCP Назначение протокола: Протокол динамической маршрутизации Спецификация: RFC 4271 Основные реализации (клиенты) … Википедия
Border Gateway Protocol — BGP im TCP/IP‑Protokollstapel: Anwendung BGP Transport TCP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token … Deutsch Wikipedia
Border Gateway Protocol — El BGP o Border Gateway Protocol es un protocolo mediante el cual se intercambian prefijos los ISP registrados en Internet. Actualmente la totalidad de los ISP intercambian sus tablas de rutas a través del protocolo BGP. Este protocolo requiere… … Enciclopedia Universal
Border Gateway Protocol — Abbreviated BGP. A routing protocol designed to replace EGP (External Gateway Protocol) and interconnect organizational networks. BGP, unlike EGP, evaluates each of the possible routes for the best one … Dictionary of networking
Border Gateway Protocol — (Computers) protocol used for exchanging routing information between gateway hosts on large networks (such as the Internet), BGP … English contemporary dictionary
Exterior Gateway Protocol — The Exterior Gateway Protocol (EGP) is a now obsolete routing protocol for the Internet originally specified in 1982 by Eric C. Rosen of Bolt, Beranek and Newman, and David L. Mills. It was first described in RFC 827 and formally specified in RFC … Wikipedia
Interior Gateway Protocol — Abbreviated IGP. The protocol used on the Internet to exchange routing information between routers within the same domain. See also Border Gateway Protocol; External Gateway Protocol … Dictionary of networking