Home » Comment ça marche, Internet

Comment c’est dedans BGP (3)

6 décembre 2010 1 086 vues aucun commentaire
tags : ,
Download PDF

Crédit photo : LeSimonPix

Pendant que vous êtes tous occupés à faire des miroirs de Wikileaks, il faut bien avancer cette histoire de BGP. Dans le dernier article, je vous parlais de la précision des routes et des localprefs.

Notre exemple ne comptait jusqu’à présent qu’un seul routeur. Il est temps d’étoffer un peu notre petit réseau, ne serait-ce que pour la redondance.

Ajoutons donc un routeur. On reprend le même cirque que le premier billet en y ajoutant par exemple un fournisseur de transit et un lien vers notre client BGP pour qu’il profite de notre redondance fraîchement acquise.

Oui mais… entre nos deux routeurs BGP, on fait quoi ? Une session BGP bien entendu ! C’est à partir de ce moment là qu’on commence à distinguer deux types de session BGP … les eBGP et les iBGP. E et I comme External et Internal.

Une session BGP entre deux routeurs du même réseau sera une session iBGP. A quoi ça sert de faire ça ? Bêtement à ce que le trafic qui, arrivant sur le routeur A, aurait plus d’intérêt à sortir par un lien du routeur B, et puisse y aller sans avoir à faire le grand tour.

Imaginez maintenant la même situation avec 3 routeurs BGP branchés en ligne : A-B-C. Vous êtes bien accroché à votre pinceau ? J’enlève l’échelle :

  • A connaît une bonne route pour aller vers votre destination favorite et C en connaît une autre mais considérée par BGP comme moins bonne.
  • Un paquet souhaitant s’y rendre arrive sur C.
  • Vous avez bien pris soin de faire une session iBGP entre A et C, C va donc envoyer le paquet à B, pensant naïvement que B l’enverra à A.
  • Vous avez juste oublié de faire une session iBGP entre B et A, par contre, il y en a une entre B et C.
  • B n’a donc aucune connaissance de la meilleure route en passant par A et considère que la seule et unique route valable passe par C. Il va donc renvoyer votre paquet à C.
  • C va refaire la même chose que 3 lignes plus haut et le renvoyer à B.
  • Et voilà une belle boucle dans votre réseau.

Vous me direz « rien de grave, ça va vite se voir et on va corriger ». Que néni, puisque l’exemple pris ci-dessous suppose que le paquet arrive sur C, et que la meilleure route pour la destination est sur A, ce qui ne sera probablement pas le cas tout le temps. Pas de coupure franche de trafic donc, puisque le problème ne se pose que dans quelques cas.

D’où l’importance, lorsqu’on maintient un réseau BGP, de s’assurer que tous les routeurs ont une session iBGP avec leurs petits camarades.

Quand il y a 3 routeurs, c’est facile. Quand il y en a 120, c’est plus chiant. Mais vous verrez qu’on a des solutions rigolotes pour éviter d’avoir à configurer trop de sessions BGP dans un gros réseau.

Pour la suite, je vous ferai un petit speech sur les interactions entre BGP et OSPF.

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.


6 − = quatre