L’abréviation BGP signifie Border Gateway Protocol. Il s’agit d’un protocole de routage dit à vecteur de chemin avec lequel les différents systèmes autonomes (AS) d’Internet peuvent être connectés les uns aux autres et les données peuvent être acheminées à travers les frontières AS.
Selon les rapports, une mise à jour du logiciel BGP s’est mal passée et a provoqué la panne de Facebook.
Le Border Gateway Protocol peut être utilisé à travers l’AS. Au sein d’un AS, il fonctionne souvent avec des protocoles de passerelle intérieure (IGP) tels que Open Shortest Path First (OSPF) ou Intermediate System to Intermediate System (IS-IS).
Le Border Gateway Protocol (BGP) est une norme de mise en réseau qui établit les chemins de connexion logiques entre les systèmes autonomes par lesquels transitent les données. Les principales fonctionnalités de BGP sont décrites dans la RFC 1163. La version actuellement utilisée est BGPv4, qui est définie dans les RFC 4271, 4760 et 4364, entre autres.
Le Border Gateway Protocol ne se limite pas au routage d’IPv4 ou d’IPv6, mais peut également être utilisé pour d’autres protocoles ou étiquettes MPLS. BGP est conçu pour évoluer et être fiable. Il s’agit d’un mécanisme de routage difficile à mettre en place et à exécuter, et il faut du temps pour que les chemins de connexion convergent.
Comment fonctionne le Border Gateway Protocol ?
Le Border Gateway Protocol fonctionne en mode vectoriel. Afin de communiquer des informations de routage, les routeurs établissent des connexions TCP sécurisées entre eux. Les messages et informations sont envoyés et reçus via ces sessions BGP. Le port utilisé pour cela est le port TCP 179. Les types de messages possibles sont :
- OPEN : pour démarrer l’échange d’informations au sein d’une session
- KEEPALIVE : pour confirmer un message OPEN et maintenir les sessions. Les sessions sont maintenues en vie avec des messages KEEPALIVE réguliers des routeurs connectés
- MISE À JOUR : pour informer des changements de chemin
- NOTIFICATION : pour terminer une connexion et supprimer des chemins, par exemple, car les messages KEEPALIVE ne sont plus reçus
Les messages UPDATE jouent un rôle central dans le Border Gateway Protocol. Les routeurs utilisent ces notifications pour découvrir de nouvelles routes ou pour être informés lorsque des routes existantes ont disparu. Le routeur peut créer un graphique qui décrit la mise en réseau de systèmes autonomes sur la base des données reçues. La procédure de génération du graphique ne tient pas compte des boucles et tient compte des caractéristiques de ces chemins qui ont été inclus dans la mise à jour. Les attributs possibles d’un itinéraire sont :
- AS_PATH : informations indiquant quel AS cible peut être atteint. Les systèmes autonomes sont représentés par des numéros AS
- Next Hop : adresse IP du prochain nœud intermédiaire sur le chemin d’un préfixe
- Métrique IGP : Informations sur les coûts via le propre réseau
- Discriminateur multi-sorties (MED) : pour prioriser les connexions parallèles
- Balises ou communautés de routage : valeurs longues de 32 bits avec lesquelles les préfixes peuvent être marqués à des fins de filtrage
- Préférence locale : pour sélectionner un chemin au sein d’un AS
- Origine : source d’un préfixe. Les valeurs possibles sont internes, externes ou incomplètes
Différenciation entre EBGP et IBGP
Non seulement différents systèmes autonomes peuvent être connectés avec le Border Gateway Protocol. Le protocole de routage peut également être utilisé pour interconnecter des routeurs au sein d’un AS. Selon l’utilisation, on parle de BGP externe ou interne (EBGP ou IBGP).
Les données sont acheminées à travers un système autonome via les routeurs d’un AS connecté à IBGP. Pour cela, les routeurs propagent les routes apprises via EBGP au sein de leur propre AS. Cela permet de transmettre les attributs spécifiques à BGP des préfixes. Les sessions BGP doivent être établies entre tous les routeurs qui utilisent le Border Gateway Protocol pour communiquer.
Un protocole de passerelle intérieure (IGP) tel que OSPF (Open Shortest Path First) ou IS-IS est généralement requis pour la connexion réelle entre les routeurs. Les réflecteurs de route sont une méthode utilisée pour éviter les difficultés de mise à l’échelle résultant d’un maillage complet dans les grands réseaux. Chaque routeur BGP n’a besoin que d’une connexion au réflecteur de route, qui garde une trace de toutes les routes reçues via EBGP et les distribue à tous les routeurs de l’AS via IBGP.