Qu’est-ce que BGP et pourquoi est-il utilisé ?
BGP, ou Border Gateway Protocol, est le protocole de routage utilisé pour échanger des informations de routage entre des systèmes autonomes (AS) sur Internet. C’est le protocole qui permet aux différents réseaux appartenant à des entreprises, fournisseurs d’accès Internet (FAI), institutions, et autres entités, de communiquer entre eux afin que les données puissent circuler efficacement d’un point à un autre, même à travers des centaines de réseaux distincts.
BGP est souvent appelé le « colonne vertébrale » d’Internet car sans lui, il serait impossible de maintenir une table de routage globale cohérente. Contrairement aux protocoles de routage internes comme OSPF ou RIP, BGP est un protocole de routage externe qui fonctionne entre les organisations. Il est défini par la norme RFC 4271 pour sa version la plus utilisée, BGP-4.
Pourquoi BGP est-il utilisé ?
Le rôle principal de BGP est de choisir le meilleur chemin pour transmettre les données à travers Internet. Chaque réseau connecté à Internet possède un identifiant unique appelé Autonomous System Number (ASN). BGP permet à ces réseaux d’échanger des routes et d’établir des politiques de routage.
- Permet la connectivité mondiale entre des milliers de réseaux indépendants
- Offre des mécanismes de contrôle pour la sélection des chemins
- Permet la redondance et la tolérance aux pannes grâce à plusieurs routes
- Gère le routage interdomaines (entre différents fournisseurs ou entreprises)
- Supporte le routage de politiques complexes basées sur des critères de performance ou de sécurité
Sans BGP, chaque réseau ne pourrait voir que ses voisins immédiats. Ce protocole permet de construire une carte globale des routes IP disponibles à travers Internet.
Fonctionnement général de BGP
BGP repose sur une relation entre pairs, appelée peering, où deux routeurs BGP échangent des routes. Ces pairs sont appelés BGP neighbors ou peers. Une fois la connexion établie, chaque pair BGP annonce les routes dont il a connaissance.
Le protocole utilise TCP (port 179) pour établir une connexion fiable. Une fois la session BGP montée, les mises à jour sont envoyées uniquement lorsqu’il y a un changement. BGP n’envoie pas la table complète à chaque fois, ce qui le rend très efficace.
BGP utilise plusieurs attributs pour choisir le meilleur chemin :
- AS-Path : Liste des ASN traversés pour atteindre une destination
- Next-Hop : Adresse IP du prochain routeur
- Local Preference : Préférence interne d’un chemin au sein d’un AS
- MED (Multi Exit Discriminator) : Indique la préférence d’un point de sortie
- Community : Permet de taguer les routes pour appliquer des politiques personnalisées
Différence entre BGP interne et externe
BGP peut fonctionner de deux façons selon le type de relation entre les routeurs :
Type | Description | Utilisation |
---|---|---|
eBGP (External BGP) | Échange de routes entre deux AS différents | Entre deux FAI, ou entre un FAI et une entreprise cliente |
iBGP (Internal BGP) | Échange de routes à l’intérieur d’un même AS | Entre plusieurs routeurs d’un même réseau |
Dans une organisation disposant de plusieurs routeurs, iBGP permet de propager les routes externes dans tout l’AS sans annoncer les routes internes à l’extérieur.
Limitations et défis liés à BGP
Bien que BGP soit très puissant, il présente aussi des faiblesses. Le protocole n’intègre pas de mécanismes de sécurité natifs, ce qui peut entraîner des problèmes graves comme le prefix hijacking (usurpation d’un bloc d’adresses IP).
- Peu résistant aux erreurs humaines (mauvaises annonces de route)
- Complexité de configuration et de maintenance
- Peu adapté aux réseaux de petite taille ou simples
- Vulnérabilité aux attaques BGP sans outils supplémentaires (comme RPKI)
Des initiatives comme le déploiement de RPKI (Resource Public Key Infrastructure) et de BGP monitoring cherchent à renforcer la fiabilité du routage BGP.
Thèmes connexes pour aller plus loin
- AS (Autonomous System) : Ensemble de routeurs sous une seule entité administrative.
- RPKI : Infrastructure cryptographique permettant de valider les annonces BGP.
- Peering et Transit : Deux modèles économiques du routage BGP.
- BGP Flap : Instabilité dans l’annonce des routes, causant des problèmes de performance.
- BGP Communities : Étiquetage logique des routes pour l’automatisation des politiques.
- BGP Route Reflector : Permet de réduire la complexité dans les topologies iBGP complètes.
BGP est donc un protocole fondamental pour Internet, permettant une grande flexibilité dans la gestion du trafic interdomaines tout en nécessitant une expertise réseau avancée pour sa configuration sécurisée et performante.