Qu'est-ce que le BGP ? | Explication du routage de BGP

Border Gateway Protocol (BGP) est le protocole de routage pour l'Internet. Un peu comme la poste qui traite le courrier, BGP choisit les voies les plus efficaces pour acheminer le trafic Internet.

Share facebook icon linkedin icon twitter icon email icon

BGP

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Définition du routage BGP
  • Examen de la relation entre les systèmes autonomes
  • Explication de l'impact du BGP sur les fonctionnalités de l'Internet

Qu’est ce que le BGP ?

Le Border Gateway Protocol (BGP) est le service postal de l'Internet. Lorsqu'une personne dépose une lettre dans une boîte aux lettres, le service postal traite ce courrier et choisit un itinéraire rapide et efficace pour l'acheminer à son destinataire. De même, lorsque quelqu'un soumet des données sur Internet, le BGP est chargé d'examiner tous les chemins disponibles que les données pourraient emprunter et de choisir le meilleur itinéraire, ce qui implique généralement de sauter un système autonome après l'autre.

BGP est le protocole qui fait fonctionner l'Internet. Il le fait en permettant l'acheminement des données sur Internet. Lorsqu'un utilisateur à Singapour charge un site web ayant des serveurs d'origine en Argentine, BGP est le protocole qui permet à cette communication de se faire rapidement et efficacement.

Qu'est-ce qu'un système autonome ?

L'Internet est un réseau de réseaux ; il est divisé en centaines de milliers de petits réseaux appelés systèmes autonomes (SA). Chacun de ces réseaux est essentiellement un vaste ensemble de routeurs gérés par une seule organisation.

Internet topography

Si nous continuons à considérer le BGP comme le service postal de l'Internet, les AS sont comme des agences postales individuelles. Une ville peut avoir des centaines de boîtes aux lettres, mais le courrier qui s'y trouve doit passer par l'agence postale locale avant d'être acheminé vers une autre destination. Les routeurs internes d'un AS sont comme des boîtes aux lettres, ils transmettent leurs flux sortants au AS, qui utilise alors le routage BGP pour acheminer ces flux vers leur destination.

BGP Simplified

Le diagramme ci-dessus illustre une version simplifiée de BGP. Dans cette version, il n'y a que 6 systèmes autonomes sur Internet. Si AS1 doit acheminer un paquet vers AS3, il dispose de deux options différentes.

Sauter à AS2 puis à AS3.

AS2 → AS3

Ou en sautant à AS6, puis à AS5, AS4, et enfin à AS3.

AS6 → AS5 → AS4 → AS3

Dans ce modèle simplifié, la décision semble simple. L'itinéraire AS2 nécessite moins de sauts que l'itinéraire AS6, et c'est donc l'itinéraire le plus rapide et le plus efficace. Imaginez maintenant qu'il existe des centaines de milliers de AS et que le nombre de sauts n'est qu'une partie d'un algorithme complexe de sélection de route. C'est la réalité du routage BGP sur Internet.

La structure de l'internet est en constante évolution, de nouveaux systèmes apparaissent et les systèmes existants deviennent indisponibles. Pour cette raison, chaque AS doit être tenu à jour avec des informations concernant les nouveaux itinéraires ainsi que les itinéraires obsolètes. Cela se fait par le biais de sessions d'homologues où chaque AS se connecte aux AS voisins avec une connexion TCP/IP dans le but de partager les informations de routage. Grâce à ces informations, chaque AS est équipé pour acheminer correctement les transmissions de données sortantes provenant de l'intérieur.

C'est là qu'une partie de notre analogie s'effondre : Contrairement aux agences postales, les systèmes autonomes ne font pas tous partie de la même organisation. En tant que tels, ils n'ont aucune raison d'être amicaux les uns envers les autres et sont souvent des concurrents en affaires ! C'est pourquoi les circuits BGP tiennent parfois compte de considérations mercantiles. Les systèmes autonomes se font souvent payer les uns les autres pour acheminer le trafic sur leurs réseaux, et le prix de l'accès peut être pris en compte dans le choix final de l'itinéraire.

Qui gère les systèmes BGP autonomes ?

Les systèmes autonomes appartiennent généralement aux FAI ou à d'autres grandes organisations de haute technologie, telles que les sociétés de technologie, les universités, les agences gouvernementales et les institutions scientifiques. Chaque système autonome souhaitant échanger des informations de routage doit disposer d'un numéro de système autonome enregistré (ASN). L'IANA (Internet Assigned Numbers Authority) attribue les ASN aux registres Internet régionaux (RIR), qui les attribuent ensuite aux fournisseurs d'accès Internet et aux réseaux. Les ASN sont des numéros de 16 bits compris entre 1 et 65534 et des numéros de 32 bits compris entre 131072 et 4294967294. En 2018, il y a environ 64 000 ASN en service dans le monde. Ces ASN ne sont nécessaires que pour les BGP externes.

Quelle est la différence entre le BGP externe et le BGP interne ?

Les itinéraires sont échangés et le trafic est transmis sur l'internet en utilisant des BGP ou eBGP externes. Les systèmes autonomes peuvent également utiliser une version interne de BGP pour acheminer le trafic sur leurs réseaux internes, ce qui est connu sous le nom de BGP interne, ou iBGP en abrégé. Il convient de noter que l'utilisation de BGP interne n'est PAS un préalable à l'utilisation de BGP externe. Les systèmes autonomes peuvent choisir parmi un certain nombre de protocoles internes pour connecter les routeurs de leur réseau interne.

Le BGP externe est comme le courrier international ; il y a certaines normes et directives à suivre lors de l'expédition d'un courrier international. Une fois que ce courrier atteint son pays de destination, il doit passer par le service postal local du pays de destination pour atteindre sa destination finale. Chaque pays a son propre service postal interne qui ne suit pas nécessairement les mêmes directives que celles des autres pays. De même, chaque système autonome peut avoir son propre protocole de routage interne pour l'acheminement des données au sein de son propre réseau.

Comment BGP peut casser l'Internet

En 2004, un fournisseur d'accès à Internet (FAI) turc appelé TTNet a accidentellement annoncé de mauvaises routes BGP vers ses voisins. Ces routes prétendaient que TTNet était la meilleure destination pour tout le trafic sur Internet. Au fur et à mesure que ces routes s'étendaient de plus en plus vers d'avantage de systèmes autonomes, une perturbation massive s'est produite, créant une crise d'un jour où de nombreuses personnes à travers le monde n'ont pas pu accéder à tout ou partie de l'Internet.

De même, en 2008, un FAI pakistanais a tenté d'utiliser une route BGP pour empêcher les utilisateurs pakistanais de visiter YouTube. Le FAI a alors accidentellement annoncé ces itinéraires auprès de ses AS voisins et l'itinéraire s'est rapidement répandu sur le réseau BGP d'Internet. Cet itinéraire a conduit les utilisateurs qui tentaient d'accéder à YouTube dans une impasse, ce qui a eu pour conséquence que YouTube est resté inaccessible pendant plusieurs heures.

Ce sont des exemples d'une pratique appelée détournement de BGP, et celui-ci n'est pas toujours accidentel. En avril 2018, des pirates ont délibérément créé de mauvaises routes BGP pour rediriger le trafic destiné au service DNS d'Amazon. Ces pirates ont pu voler plus de 100 000 dollars de cryptomonnaie en redirigeant ce trafic vers eux.

De tels incidents peuvent se produire parce que la fonction de partage des routes de BGP repose sur la confiance, et les systèmes autonomes font implicitement confiance aux routes qui sont partagées avec eux. Bien qu'il y ait eu un certain nombre de propositions ambitieuses visant à rendre BGP plus sûr, celles-ci sont difficiles à mettre en œuvre car elles exigeraient que chaque système autonome mette simultanément à jour son comportement. Étant donné que cela nécessiterait la coordination de centaines de milliers d'organisations et pourrait entraîner un démantèlement temporaire de l'ensemble de l'Internet, il semble peu probable qu'une de ces propositions majeures soit mise en place de sitôt.