2.3.
FONCTIONNEMENT DE BGP
Pour un bon fonctionnement, BGP maintient des tables de
routage, transmet des mises à jour de routage et base ses
décisions de routage sur des mesures. La première fonction du BGP
est d'échanger des informations sur ce qui est atteignable, des
informations à propos de listes de chemins de systèmes autonomes
avec les autres BGP (Figure 15). Cette information peut être
utilisée pour construire un graphe des connexions de systèmes
autonomes qui servira à briser les boucles de routages et renforcer la
prise de décisions.
Figure 15: Illustration du fonctionnement du BGP
(source [14])
La table de routage maintenue par le routeur BGP comprend des
listes de tous les chemins possibles vers un réseau particulier. Ces
routeurs ne rafraîchissent pas leur table. Les informations restent dans
la table, jusqu'à ce qu'une mise à jour soit reçue ou
effectuée.
Lorsqu'un routeur se connecte pour la première fois sur
le réseau, les routeurs BGP s'échangent entièrement leur
table de routage BGP. Lorsque la table de routage change, le routeur BGP
n'envoie que la portion qui a été modifiée. Les routeurs
BGP n'envoient pas de messages de mise à jour périodique de
routage et BGP envoie seulement dans ses messages de mise à jour le
meilleur chemin.
BGP utilise seulement une métrique pour
déterminer quel est le meilleur chemin vers un réseau. Cette
métrique est faite d'un nombre arbitraire qui spécifie le
degré de préférence d'un lien. La mesure est normalement
assignée à chaque lien par un administrateur réseau. La
valeur assignée à un lien peut être basée sur
n'importe quel nombre de caractéristiques, y compris le nombre de
systèmes autonomes qui passent par le chemin, la stabilité, la
vitesse, les délais et le coût.
Les routeurs BGP échangent des informations quant
à la manière de joindre des réseaux (liste de l'ensemble
des chemins, ou « AS-paths », pouvant être empruntés
dans le but d'atteindre une destination donnée).Il est bien sûr
possible de laisser le protocole BGP choisir systématiquement les
chemins considérés comme les meilleurs, mais il est
également possible d'intervenir sur la politique de routage, de filtrer
des réseaux ou des « AS-paths », d'appliquer des
priorités sur certains « AS-paths ».
BGP utilise TCP (Transfer Control Protocol) comme protocole de
transport (port 179).Deux routeurs BGP établissent une connexion TCP
entre eux et échangent des messages pour ouvrir et confirmer la
connexion. Ces routeurs sont alors appelés routeurs de peering («
peers ») ou voisins (« neighbors »). Les messages transmis lors
de l'ouverture de la session sont, entre autres, le numéro d'AS, la
version de BGP, le routeur ID, la valeur de « keepalive »,
dès acceptation par le voisin BGP de ces données, la session BGP
est établie.
Il est à noter que le routeur BGP conserve en
mémoire un numéro de version de la table BGP, numéro
identique pour tous les voisins BGP. Le numéro de version change
à chaque modification de la table de routage.Des paquets «
keepalive» sont envoyés pour vérifier que la connexion est
toujours bien établie entre les voisins BGP.Des paquets de notification
sont envoyés en réponse à des erreurs ou conditions
spéciales (ou lors des changements dans les tables de routage).
Le routage avec BGP se fait de l'une des trois façons
suivantes:
· Extra-autonomous system routing : se produit lorsqu'il
y a plusieurs routeurs BGP dans de différents systèmes autonomes.
Les communications entre les BGP voisins doivent être sur un même
réseau entre deux systèmes BGP. Internet est un exemple concret
de ce fait.
· Intra-autonomous system routing : se produit lorsqu'il
y a plusieurs routeurs BGP localisés dans un même système
autonome. BGP est utilisé pour déterminer lequel des routeurs
seront le point de connexion pour un système externe autonome.
· Pass-throughautonomous system routing : Se produit
lorsque plusieurs routeurs EGP s'échangent des données au travers
d'un système autonome. Le trafic dans ce système autonome peut
alors ne pas provenir de leur propre système.
|