OSPF vs BGP : IGP et EGP, choix des routes, relations entre routeurs, échelle

Internet est constitué d’AS (systèmes autonomes) interconnectés, des réseaux gérés par des organisations comme les fournisseurs d’accès, les universités et les entreprises. Un protocole qui échange des routes au sein d’un AS est appelé IGP, et un protocole qui échange des routes entre AS est appelé EGP ; OSPF est l’IGP typique et BGP l’EGP typique. OSPF trouve automatiquement la route la plus courte d’après les coûts des liens au sein d’un AS et vise à basculer rapidement après une panne. BGP choisit les routes entre AS d’après des attributs comme la suite des AS traversés (AS_PATH) et d’après la politique de chaque organisation, par exemple le voisin à privilégier. Comme il traite les routes de tout Internet, il est conçu pour la stabilité et le contrôle plutôt que pour la vitesse.

CritèreOSPFBGP
Classification et périmètreIGP ; au sein d’un AS (organisation)EGP ; entre AS ; aussi utilisé entre routeurs BGP d’un même AS (iBGP)
Type de protocoleÉtat de liensVecteur de chemins (path vector)
Choix des routesTrouve la route au coût total de liens le plus faible avec l’algorithme de DijkstraCompare dans un ordre fixe des attributs comme LOCAL_PREF, la longueur de l’AS_PATH et le MED ; les attributs peuvent être réglés pour appliquer la politique de l’organisation
Prévention des bouclesTous les routeurs d’une zone calculent les plus courts chemins à partir de la même carteRejette une route reçue dont l’AS_PATH contient son propre numéro d’AS
Connexion des voisinsFonctionne directement sur IP (numéro de protocole 89) ; envoie des Hello en multicast et découvre automatiquement les voisinsSe connecte sur le port TCP 179 ; chaque pair est configuré un par un par l’administrateur
Envoi des mises à jourEn cas de changement, les LSA sont propagées dans la zone ; des Hello vérifient que les voisins sont actifs (toutes les 10 secondes dans l’exemple de la RFC 2328)Envoie d’abord l’ensemble complet des routes, puis seulement les changements dans des messages UPDATE ; les routes ne sont pas renvoyées périodiquement, et des KEEPALIVE maintiennent la session
Vitesse de convergenceEn général rapide ; recalcule aussitôt dès qu’il détecte une panne de lienEn général plus lente ; détecter une panne peut obliger à attendre le hold time (90 secondes suggérées dans la RFC 4271), et les routes sont bien plus nombreuses
Nombre de routes et échelleRoutes internes à l’organisation ; les grands réseaux sont découpés en zones pour limiter le calcul et les informationsPeut gérer le très grand nombre de routes de tout Internet ; utilisé entre fournisseurs et par les organisations reliées à plusieurs fournisseurs

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

OSPF
Au sein du réseau d’une organisation, lorsque la route la plus courte doit être choisie automatiquement parmi des chemins redondants et basculer rapidement après une panne. Il convient au routage au sein des sites et des centres de données.
BGP
Pour se raccorder à plusieurs fournisseurs (multihoming) en choisissant la liaison à privilégier, ou pour échanger des routes avec d’autres AS en tant que fournisseur. Il permet de contrôler finement, par politique, les routes annoncées hors de l’organisation et celles qui sont acceptées.

Questions fréquentes

Pourquoi utilise-t-on OSPF au sein d’une organisation et BGP entre organisations ?

Parce que les objectifs diffèrent. Au sein d’une organisation, tout le réseau est géré par les mêmes administrateurs : ce qui compte, c’est de choisir automatiquement la meilleure route et de basculer vite après une panne. Entre organisations, chaque voisin a sa propre politique et ne révèle pas sa structure interne. Le choix du voisin dont on privilégie les routes et des routes à annoncer doit être décidé par des contrats et des politiques, et BGP est conçu pour exprimer cela par des attributs et des filtres.

Quelle est la différence entre iBGP et eBGP ?

eBGP est une session BGP entre routeurs d’AS différents ; iBGP une session entre routeurs d’un même AS. En annonçant une route à un autre AS par eBGP, un routeur ajoute son propre numéro d’AS à l’AS_PATH. En iBGP, au sein du même AS, le numéro d’AS n’est pas ajouté : pour éviter les boucles, une route apprise par iBGP n’est donc pas transmise aux autres pairs iBGP. Les routeurs iBGP sont donc soit tous reliés entre eux (maillage complet), soit utilisent des réflecteurs de routes.

OSPF et BGP sont-ils parfois utilisés ensemble ?

Oui. Chez les fournisseurs et dans les grandes organisations, une conception courante utilise un IGP comme OSPF pour trouver les routes vers les adresses des équipements internes à l’AS, fait fonctionner des sessions BGP par-dessus et transporte les routes externes dans BGP. L’IGP indique aux routeurs comment joindre le prochain saut (NEXT_HOP) des routes BGP. Certains grands centres de données échangent au contraire leurs routes uniquement avec BGP, sans IGP (RFC 7938).

Existe-t-il aussi un protocole appelé EGP ?

Oui. EGP (Exterior Gateway Protocol) est aussi le nom d’un ancien protocole utilisé entre AS avant BGP. Il n’est plus utilisé, et « EGP » désigne désormais la catégorie des protocoles qui échangent des routes entre AS, dont BGP est l’exemple typique.

Vérifier vos connaissances

Sur Internet, quel protocole échange des informations sur les routes entre les réseaux gérés par des organisations comme les fournisseurs d'accès (AS, systèmes autonomes) et choisit les routes en fonction d'attributs comme la suite d'AS traversés par une route (AS_PATH) et de la politique de chaque organisation ?

  1. AOSPF
  2. BBGP
  3. CRIP
Afficher la réponse et l'explication

Réponse : B. BGP

BGP (Border Gateway Protocol) est le protocole qu'utilisent les organisations identifiées par un numéro d'AS pour échanger des routes, et les routes d'Internet sont en principe échangées avec BGP. Les routes portent des attributs comme la suite d'AS qu'elles ont traversés (AS_PATH) et le prochain saut (NEXT_HOP), et les boucles sont évitées en rejetant les routes qui contiennent son propre numéro d'AS. Le choix d'une route ne se résume pas à l'AS_PATH le plus court : la politique d'une organisation, par exemple le voisin à privilégier, peut être exprimée dans des attributs et appliquée. OSPF et RIP sont des protocoles de choix des routes utilisés à l'intérieur d'une seule organisation (IGP).

En OSPF, le routeur R1 dispose de 3 chemins vers un réseau situé au-delà de R4. Le chemin A emprunte une liaison de 10 Gbit/s R1–R5 et une liaison de 1 Gbit/s R5–R4 ; le chemin B est une liaison directe de 100 Mbit/s R1–R4 ; le chemin C emprunte des liaisons de 1 Gbit/s R1–R2, R2–R3 et R3–R4. Le coût de chaque liaison est « bande passante de référence de 10 Gbit/s ÷ bande passante de la liaison », et le coût au-delà de R4 est le même pour tous les chemins. Quel chemin R1 choisit-il ?

  1. ALe chemin A
  2. BLe chemin B
  3. CLe chemin C
Afficher la réponse et l'explication

Réponse : A. Le chemin A

Les coûts valent 10 ÷ 10 = 1 pour une liaison de 10 Gbit/s, 10 ÷ 1 = 10 pour 1 Gbit/s et 10 ÷ 0,1 = 100 pour 100 Mbit/s. Le chemin A coûte 1 + 10 = 11, le chemin B 100 et le chemin C 10 × 3 = 30 : c'est donc le chemin A, au coût total le plus faible, qui est choisi. Si la bande passante de référence reste à 100 Mbit/s, longtemps la valeur par défaut de nombreux équipements, toute liaison de 100 Mbit/s ou plus coûte 1, ce qui donne 2 au chemin A, 1 au chemin B et 3 au chemin C, et c'est le chemin le plus lent, B, qui est choisi. Les réseaux à liaisons rapides règlent donc la bande passante de référence sur une valeur plus grande, la même sur tous les routeurs.

Quelle description d'un protocole à état de liens est correcte ?

  1. AChaque routeur construit sa table de routage uniquement à partir des destinations et des distances (comme le nombre de sauts) qu'il reçoit des routeurs voisins
  2. BChaque routeur diffuse l'état de ses propres liens pour que tous les routeurs partagent la topologie de l'ensemble du réseau, et chaque routeur calcule les plus courts chemins avec l'algorithme de Dijkstra
  3. CUn administrateur configure les routes à la main sur chaque routeur, et les routeurs n'échangent aucune information de routage
Afficher la réponse et l'explication

Réponse : B. Chaque routeur diffuse l'état de ses propres liens pour que tous les routeurs partagent la topologie de l'ensemble du réseau, et chaque routeur calcule les plus courts chemins avec l'algorithme de Dijkstra

Dans un protocole à état de liens (comme OSPF ou IS-IS), chaque routeur annonce l'état de ses liens (ses voisins et le coût pour les atteindre), et tous les routeurs d'une même zone disposent de la même carte. À partir de cette carte, chaque routeur calcule avec l'algorithme de Dijkstra un arbre des plus courts chemins dont il est lui-même la racine. Un protocole à vecteur de distance (comme RIP) choisit les routes en ajoutant sa propre distance à la « distance jusqu'à chaque destination » apprise de ses voisins ; c'est simple, mais les routeurs ne connaissent pas la topologie de l'ensemble du réseau et les routes peuvent mettre du temps à se stabiliser après une panne. Les protocoles à état de liens demandent plus de calcul et de mémoire, mais réagissent vite aux changements.

  1. Quelle description du routage dynamique est correcte ?

Questions d'entraînement sur Conception et exploitation des réseaux

Termes clés expliqués

OSPF (Open Shortest Path First)
Protocole de routage à état de liens utilisé au sein d'une organisation. Chaque routeur diffuse l'état de ses propres liens pour que tous les routeurs partagent la topologie du réseau, et calcule avec l'algorithme de Dijkstra le chemin dont le coût total est le plus faible. Les coûts sont généralement déduits de la bande passante des liaisons, et la division du réseau en plusieurs zones (areas) lui permet de s'adapter aux grands réseaux.
BGP (Border Gateway Protocol)
Protocole de routage qui échange des informations de routage entre AS (systèmes autonomes, unités de réseau gérées par des organisations comme les fournisseurs d'accès) sur Internet. Il choisit les routes en fonction des attributs qui leur sont attachés, comme la suite d'AS qu'elles ont traversés (AS_PATH), et de la politique de chaque organisation. Les routeurs se connectent entre eux sur le port TCP 179 pour échanger les informations.
Routage (routage IP)
Choix du chemin que suivent les paquets pour atteindre leur destination sur un réseau IP. Chaque routeur possède une table de routage, choisit la route dont le préfixe correspond le plus longuement à l'adresse IP de destination (correspondance du plus long préfixe) et transmet le paquet au routeur suivant. La table est construite par routage statique, configuré à la main, ou par routage dynamique, construit automatiquement par des protocoles de routage comme OSPF, RIP et BGP.
Routeur
Équipement de la couche réseau (couche 3) qui achemine les paquets entre réseaux différents. Il compare l'adresse IP de destination de chaque paquet à sa table de routage, choisit le routeur suivant (prochain saut) et l'interface de sortie, puis réexpédie le paquet. Les routeurs domestiques intègrent aussi la NAPT, un serveur DHCP et un pare-feu.
Algorithme de Dijkstra
Algorithme qui trouve les plus courts chemins d'un sommet de départ vers tous les sommets d'un graphe dont les poids des arêtes sont supérieurs ou égaux à 0. Il fixe de façon répétée le sommet le plus proche dont la distance n'est pas encore définitive et met à jour les distances de ses voisins. Il ne fonctionne pas correctement avec des poids d'arêtes négatifs.
TCP (Transmission Control Protocol)
Protocole de la couche transport orienté connexion. Il établit une connexion par un three-way handshake et utilise des numéros de séquence, des accusés de réception (ACK) et la retransmission pour livrer les données dans l'ordre, sans trou ni doublon. Le contrôle de flux et le contrôle de congestion règlent la quantité envoyée. Il transporte notamment le trafic web en HTTP/1.1 et HTTP/2, le courrier électronique et SSH.

Comparatifs associés