Home » Comment ça marche, Internet

Comment c’est dedans BGP (4)

14 décembre 2010 2 commentaires
tags : ,
Download PDF

Crédit photo : LeSimonPix

Vous devriez commencer à avoir une assez bonne idée de comment marche BGP. Malheureusement pour vous, comme pour tout le reste de l’informatique, il y a des choses en dessous, au dessus et à coté.

Aujourd’hui, nous allons faire une petite parenthèse pour parler d’un à coté qu’on rencontre très souvent quand on parle de BGP. Il s’agit d’un autre protocole de routage qui porte le doux nom d’OSPF pour Open Shortest Path First. Comme le nom l’indique, il permet de trouver le plus court chemin.

Quelles différences entre OSPF et BGP (attention, info simplifiée) :

  • OSPF ne comporte pas (ou très peu) de mécanismes permettant de faire de l’ingénierie fine sur les routes
  • OSPF est un protocole basé sur le multicast, les routeurs présents sur un même switch peuvent tous discuter ensemble et s’échanger des routes sans (ou avec très peu) de contrôle
  • Le temps de convergence d’OSPF est très court comparé à celui de BGP, pour peu que la table de routage ne soit pas très importante
  • L’OSPF ne connaît que des routes, il n’a aucune notion d’AS
  • L’algorithme de tri de l’OSPF est beaucoup plus gourmand en ressources que celui de BGP
  • OSPF est donc généralement utilisé à l’intérieur des réseaux contrairement à BGP qui l’est majoritairement à l’extérieur

Alors à quoi ça sert ? Imaginez une infrastructure BGP avec deux routeurs. Comme nous l’avons vu dans l’article précédent, vous allez mettre en place une session BGP de transit sur chacun de ces routeurs ainsi qu’une session iBGP entre les deux pour que le trafic puisse s’écouler dans tous les sens et pour éviter les boucles si votre réseau compte plus de 2 routeurs.

Je ne vous l’ai pas dit, mais lorsque deux routeurs d’un même réseau s’échangent leur meilleures routes, il y a deux possibilités :

  • Soit ils s’indiquent eux-mêmes à leur petit copain d’à coté comme étant le prochain saut (next-hop) à faire pour aller à la destination, auquel cas, aucun problème
  • Soit ils indiquent le premier saut en dehors du réseau, dans ce cas, il faut que le routeur sache comment y aller.

Comment le routeur B pourrait-il être au courant de l’endroit où se situe l’interconnexion avec l’opérateur de transit du routeur A ? C’est la qu’intervient OSPF. En configurant les deux routeurs pour discuter OSPF entre eux, ils vont s’échanger les informations locales au réseau. Par exemple, A va dire à B « j’ai une patte sur le réseau 194.24.56.0/30 » puis, le BGP dira « pour aller vers telle IP, le prochain saut est 194.24.56.3 ». B extrapolera de lui même qu’il faut demander à A pour joindre ce prochain saut.

Lorsque votre bordure de réseau compte 12 routeurs, c’est bien pratique. Vous configurez des liens OSPF entre tous ces routeurs et ils sauront tous immédiatement l’ensemble des interconnexions de tous leurs camarades.

Mais ce n’est pas le seul usage de l’OSPF. En effet, sous votre couche de routeurs BGP, vous aurez peut-être installé d’autres routeurs (dits de « coeur de réseau ») ou même des firewall. Chacun de ces équipements sera bien entendu relié au moins à deux routeurs BGP pour la redondance.

Il n’est pas forcément question que cette seconde couche de routeurs apprenne l’ensemble des routes d’internet, par contre, il leur faut au moins une route par défaut. Pour que la redondance soit automatique, il est exclu d’indiquer une route par défaut dans la configuration du routeur.

On utilise là aussi OSPF en disant à nos routeurs BGP de devenir l’origine de la route par défaut (default route originate) ce qui aura pour effet d’indiquer à tout routeur connecté qu’il faut remonter aux routeurs BGP pour aller plus loin.

Notez que les routeurs BGP vont mutuellement s’envoyer la route par défaut également, mais ce n’est pas grave dans la mesure où ils disposent normalement tous de routes plus précises pour joindre Internet. On prendra peut-être quand même la peine de configurer un filtre pour que les routeurs BGP n’acceptent pas, via OSPF, de route par défaut de leur petits camarades pour éviter du pingpong dans les traceroute effectués à destinations d’adresses inexistantes sur Internet.

Après un weekend de repos bien mérité, j’essaierai de vous toucher deux mots sur les communautés.

2 Comments »

  • yoshi said:

    Bonjour,

    Pour commencer, je dirais que je prends beaucoup de plaisir à lire tes articles de vulgarisation de concepts parfois très obscures pour les profanes.

    Mais celui-ci me laisse une drôle d’impression, celle très désagréable de ne pas avoir été assez attentif en cours/formation, d’avoir mal saisi ce que disait alors le prof/formateur en insistant très lourdement sur le fait qu’OSPF n’échangeait justement pas « des routes » mais des « informations de routage » (l’état de ses liens) avec ses « voisins » et que c’était à partir des « informations de routages » reçues de ces voisins que chaque routeur OSPF construisait sa propre table de routage.

    La présentation que tu en fais n’est elle donc pas « dangereusement simplificatrice » en parlant d' »échange de route » en OSPF (même en prévenant que c’est simplifié) ? (à moins bien sur, que j’ai mal compris les propos du prof/formateur).

    Quand tu dis qu’OSPF n’a aucune notion d’AS, je suppose que tu voulais dire qu’OSPF n’a pas connaissance des AS BGP, le prof/formateur nous a parlé de la notion d’Area pour OSPF.

    Je n’ai pas eu l’opportunité de « jouer » avec OSPF ou BGP pour voir comment ça marche dans la vraie vie, je n’en ai eu que des présentations théoriques (en plus de celles que tu as faites) (comprendre je crains d’écrire des bêtises).

    Encore merci pour tes articles.

    Bonne journée.

  • Bruno (author) said:

    Mmmhh … alors, « échanger des informations de routage », oui. Dit autrement, chaque routeur communique, au sein de la même Area, le listing de tous les préfixes qu’il a en lien direct.

    Dans une topologie en ligne, genre A-B-C, A enverra a B l’ensemble de ses préfixes en lien direct, B ajoutera les siens et enverra le tout a C. On peut donc bien dire qu’il y a quand même communication de routes :)

    Et il y a aussi comme tu dis la notion d’Area. Pour faire simple, il y a l’Area 0 qui est une sorte de racine de l’OSPF ou tous les routeurs connaissent toutes les routes, puis, dans chaque Area suivante (1, 2, 3 …) on ne retrouve que les route de l’Area concernée et une route par défaut vers l’Area 0. Ça évite d’avoir un trop gros paquet de routes.

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.


9 + = douze