Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
I. Généralités
Développé par Kunihiro Ishiguro, Quagga est un programme extérieur sur Unix qui regroupe un
ensemble de systèmes de gestion de protocoles de routage. Il offre via un système unique la possibilité
de gérer les protocoles tel que RIP, OSPF, BGP… Il est le digne successeur du programme Zebra, car il
provient d’un fork () de celui-ci. De ce fait, ils possèdent les mêmes caractéristiques. Le développement
de Zebra s’est plus ou moins arrêté depuis novembre 2003, qui était le mois de la sortie de la dernière
version de celui-ci. Ayant hérité des mêmes traits que Zebra, Quagga est plus ouvert et actif que son
prédécesseur se fait partie de ces propres forces.
Ces deux logicielles utilisent des protocoles de routage mais qu’est-ce qu’un protocole de routage en
fait ? Qu’est-ce qu’un routage même de base ?
1. Le routage
En fait, le routage est le mécanisme par lequel des chemins sont sélectionnés dans un réseau pour
acheminer les données d'un expéditeur jusqu'à un ou plusieurs destinataires. Le routage est une tâche
exécutée dans de nombreux réseaux, tels que le réseau téléphonique, les réseaux de données
électroniques comme Internet, et les réseaux de transports. Sa performance est importante dans les
réseaux décentralisés, c'est-à-dire où l'information n'est pas distribuée par une seule source, mais
échangée entre des agents indépendants. C’est grâce à ça que par exemple les mails sont envoyés aux
bons destinataires.
Le routage est un processus décentralisé, c'est-à-dire que chaque routeur possède des informations sur
son voisinage. Chaque routeur maintient une liste des réseaux connus, chacun de ces réseaux étant
associé à un ou plusieurs routeurs voisins à qui le message peut être passé. Cette liste s'appelle la table
de routage, et contient trois types de routes :
Les routes correspondant à des réseaux directement connectés : pour ces réseaux, le routeur
peut acheminer le paquet directement à la destination finale en faisant appel au protocole de
niveau 2 (Ethernet par exemple).
Les routes statiques, configurées en dur sur le routeur par l'administrateur du réseau,
Les routes dynamiques, apprises d'un protocole de routage dynamique dont le rôle est de
diffuser les informations concernant les réseaux disponibles.
Pour permettre à ce que les routeurs aient une idée de la topologie du réseau, et puissent ainsi employer
des algorithmes de routage efficaces, il faut que les routeurs diffusent leurs informations. Cette diffusion
s'effectue par le biais des protocoles de routage, spécifiant la façon dont les informations sont échangées
entre les routeurs.
2. Protocole de routage
Un protocole de routage est le système par lequel un routeur va pouvoir acheminer un paquet vers un
autre réseau.
Découvrir dynamiquement les routes vers les sous réseaux d'un réseau et les inscrire dans une
table de routage ;
Choisir la meilleure route c’est-à-dire la plus coute, s'il existe plusieurs routes vers un sous
réseau ;
Détecter les routes qui ne sont plus valides et les supprimer de la table ; si le réseau dont le
chemin est supprimé peut-être accédé par le biais d'un autre routeur, inscrire ce nouveau
chemin dans la table en remplacement du chemin supprimé ;
Ajouter le plus rapidement possible de nouvelles routes, ou mettre à jour le plus vite possible les
routes considérées comme meilleures : le temps qui s'écoule entre la perte d'une route et la
découverte d'une autre route s'appelle le temps de convergence ;
a) Externe
Ils sont conçus pour assurer la communication entre deux réseaux différents contrôlés par deux
organisations différentes. Le protocole externe le plus répandue est le protocole BGP (Border Gateway
Protocol), est un protocole d'échange de route externe (une EGP), utilisé notamment sur le réseau
Internet. Son objectif principal est d'échanger des informations de routage et d'accessibilité de réseaux
entre les Systèmes Autonomes. Comme il circule sur TCP, il est considéré comme appartenant à la
couche application du modèle OSI1.
Contrairement aux protocoles de routage interne, BGP n'utilise pas de métrique classique mais fonde les
décisions de routage sur les chemins parcourus, les attributs des préfixes et un ensemble de règles de
sélection définies par l'administrateur de l'AS. On le qualifie de protocole à vecteur de chemins (path
vector protocol).
b) Interne
Ils sont destinés à assurer la communication entre les différentes parties d'un réseau contrôlé par la
même organisation. Au sein de ces protocoles on remarque une division au niveau de la communication
entre les routeurs, le changement de réseau et les routes qui se trouvent dans un réseau. Donc on peut
dire qu’ils se subdivisent en 2 catégories :
Nous venons donc de définir de façon générale le routage, un protocole de routage et ces architectures.
Rappelons que la fonction de routage peut être décomposée en deux temps : le routage effectif des
paquets (forwarding) et la construction des tables de routage (routing). Tout routeur IP fait du
forwarding mais le routage pouvant être statique, tous ne font pas du routing. Ces deux fonctions sont
typiquement mises en oeuvre par des parties très distinctes du routeur.
Sur Unix, le noyau effectue le forwarding, alors que le routing est confié à un programme extérieur
comme Zebra\Quagga, outil qui regroupe un ensemble de systèmes de gestion de protocoles de routage.
Ils offrent via un système unique la possibilité de gérer RIP, OSPF, BGP... En pratique, Zebra\Quagga se
chargent de mettre à jour les tables de routage de la machine, sous les ordres des démons de routage
utilisés.
Les démons que sont Zebra\Quagga sont donc des intermédiaires entre le noyau de Linux et les démons
de routage dynamique. Pour autant, ils peuvent récupérer les routes statiques définies directement sous
Linux afin de les diffuser via le routage dynamique. Ils permettent eux-mêmes de définir des routes
statiques. Les routages statique et dynamique peuvent donc cohabiter sans problème avec
Zebra\Quagga.
L'un des intérêts de tels programmes est qu'ils offrent un ensemble d'outils permettant d'inspecter à
distance d'autres machines sous Zebra\Quagga et d'étudier les actions en cours et les tables de routage.
Ils permettent également de définir des routes statiques, des règles de filtrage ou encore le contrôle des
échanges entre protocoles différents.
Comme on l’a dit précédemment, le développement de Zebra est plus ou moins arrêté depuis novembre
2003, mois de sortie de la dernière version de ce logiciel. Il reste néanmoins que c'est un système
pratique, car il regroupe, sous un même principe, un grand nombre de méthodes de routage
dynamique ; c'est pourquoi il demeure un outil important pour la gestion de routage dynamique dans
des réseaux de type moyen-grand sous Linux.
Quagga est le digne successeur du programme Zebra. Il se veut plus ouvert, et surtout plus actif que son
prédécesseur. Il est composé, tout comme Zebra, de plusieurs démons qui acceptent chacun des
connexions TCP. Il semble donc facile d'effectuer la configuration de chaque démon via une connexion
telnet. Programme encore en cours d'évolution, Quagga permet la gestion de systèmes de routage
comme RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4...
2) Implémentation
3) Avantages et inconvénients