BGP : comprendre le routage sur internet
Auteur : Rédaction Domeny.ForSale Publié le
En bref : BGP (Border Gateway Protocol) est le protocole qui permet aux réseaux constituant internet d’échanger des informations sur les routes disponibles vers les adresses IP. Il permet aux opérateurs de choisir les réseaux par lesquels le trafic doit passer selon leurs règles et leurs accords, et pas uniquement selon la vitesse de connexion. Une erreur dans ces informations peut rendre un site pourtant fonctionnel inaccessible à certains utilisateurs.
Quel rôle BGP joue-t-il sur internet ?
Internet se compose de nombreux réseaux interconnectés, gérés par des opérateurs de télécommunications, des hébergeurs, des universités ou des fournisseurs de cloud. L’unité de base du routage BGP est le système autonome (AS) : un réseau ou un groupe de réseaux soumis à une politique commune de sélection des routes. Il est identifié par un numéro ASN.
Le routage consiste à choisir les chemins par lesquels les paquets de données peuvent être acheminés. Les routeurs utilisant BGP s’annoncent mutuellement l’accessibilité de préfixes IP, c’est-à-dire de blocs d’adresses. Pour simplifier, une annonce signifie : « Vous pouvez atteindre cette plage d’adresses en passant par mon réseau. »
BGP ne transporte ni le contenu des sites ni les e-mails. Il fournit les informations que les routeurs utilisent pour construire leurs tables de routage, lesquelles servent à diriger les paquets. Il organise le chemin emprunté par les communications, et non le service qui se trouve à son extrémité.
Comment BGP choisit-il une route ?
Les routeurs établissent des sessions BGP, c’est-à-dire des connexions destinées à échanger des informations sur les routes. Lorsqu’une nouvelle route apparaît ou qu’une route existante devient indisponible, ils peuvent annoncer le changement ou retirer une annonce précédente. Ils n’ont pas besoin de transmettre à chaque fois l’ensemble des routes connues.
Outre le préfixe, l’annonce contient des attributs décrivant la route. L’un d’eux est AS_PATH, la liste des numéros des systèmes autonomes par lesquels l’information sur la route a été transmise. Cette liste aide notamment à détecter les boucles : un réseau peut rejeter une route s’il y trouve son propre numéro.
BGP ne cherche pas automatiquement le chemin offrant la latence la plus faible. Un opérateur peut privilégier un fournisseur en fonction du coût, d’un contrat ou de ses propres règles de gestion du trafic. Un AS_PATH plus court peut être un critère de sélection, mais ce n’est ni le seul ni toujours le plus important ; le processus exact dépend de la configuration et de l’implémentation.
On distingue deux usages de ce même protocole :
- eBGP — l’échange de routes entre différents systèmes autonomes ;
- iBGP — la transmission d’informations BGP au sein d’un même système autonome.
iBGP ne remplace pas tous les mécanismes de routage interne. Dans les réseaux étendus, il fonctionne avec des protocoles qui assurent l’accessibilité des routeurs au sein de l’infrastructure de l’opérateur.
Exemple : un hébergeur avec deux connexions internet
Supposons qu’un hébergeur dispose de son propre système autonome et soit connecté à deux opérateurs : A et B. Il annonce son bloc d’adresses IP aux deux opérateurs via BGP. Les autres réseaux peuvent ainsi connaître plusieurs chemins vers ses serveurs.
L’hébergeur peut privilégier l’opérateur A pour le trafic sortant et utiliser B comme solution de secours. Si la connexion avec A cesse de fonctionner et que les routes correspondantes sont retirées, le trafic peut passer par B. Ce basculement n’est pas nécessairement instantané : la détection de la panne et le recalcul des routes prennent du temps, et certains paquets peuvent être perdus pendant la transition.
Le chemin dans l’autre sens n’est pas nécessairement identique. Le trajet de l’utilisateur vers l’hébergeur dépend aussi d’autres réseaux, qui appliquent leurs propres règles. Deux liaisons ne garantissent donc ni une répartition équilibrée du trafic ni un contrôle total de son acheminement.
D’où viennent les pannes et les menaces liées à BGP ?
À lui seul, BGP ne permet pas de vérifier de manière fiable qu’un réseau est autorisé à annoncer un préfixe donné. Une mauvaise configuration ou une action délibérée peut donc affecter le trafic au-delà du réseau où le problème est apparu.
Le détournement de préfixe, appelé BGP hijacking, consiste à annoncer sans autorisation un espace d’adressage appartenant à autrui. Une fuite de routes, ou route leak, se produit lorsque des informations de routage sont propagées au-delà de ce que devrait autoriser la politique d’interconnexion des réseaux. Ces deux situations peuvent rendre des services indisponibles et, dans certains cas, faire passer le trafic par un réseau indésirable.
L’une des protections est RPKI, une infrastructure permettant de confirmer par des moyens cryptographiques qu’un système autonome est autorisé à annoncer un préfixe. Les opérateurs peuvent s’appuyer sur cette infrastructure pour vérifier l’origine des routes et rejeter les annonces non valides. Elle ne vérifie toutefois pas l’ensemble du chemin AS_PATH et ne protège pas contre toutes les fuites de routes ; des filtres, des contrôles de configuration et une surveillance restent également nécessaires.
Que signifie BGP pour le propriétaire d’un site ?
Si vous utilisez un hébergement classique, vous ne configurez généralement pas BGP vous-même. Cette responsabilité revient au fournisseur d’infrastructure ou à ses opérateurs. Le simple achat d’un nom de domaine, d’un certificat TLS ou d’un serveur VPS ne nécessite pas de disposer de votre propre ASN.
BGP est parfois confondu avec le DNS, le système qui traduit les noms de domaine en adresses IP. Le DNS permet de déterminer l’adresse du serveur, tandis que le routage permet de l’atteindre. Une réponse DNS correcte ne prouve donc pas que la connexion réseau fonctionne.
Si le site s’ouvre via l’internet mobile mais pas depuis votre connexion à domicile, testez-le depuis les deux réseaux et notez l’heure à laquelle le problème se produit. Transmettez les résultats à l’hébergeur et, si vous savez le faire, ajoutez un relevé traceroute ou MTR montrant le chemin emprunté par la connexion. Cette différence d’accessibilité ne prouve pas qu’il s’agit d’une panne BGP, mais elle donne aux administrateurs un point de départ concret pour vérifier le routage.
