L’objectif d’un routeur est de toujours disposer de la route optimale pour aller d’un endroit à l’autre. Pour cela il y a deux solutions :
Pour rappel, le routage consiste en la signalisation des directions pour aiguiller les datagrammes de réseau en réseau. Tous les protocole de routage ont un seul objectif : chercher à minimiser une métrique. Cette métrique représente le « coût » pour aller d’un endroit à un autre du réseau.
Vous trouverez ci-dessous la liste des composants d’une métrique :
Les protocoles de routage doivent converger le plus rapidement possible, ce qui explique leurs propriétés :
Dans les LAN, les protocoles de routages sont regroupés en deux familles : vecteurs de distance (RIP et IGRP) et à états de liens (OSPF). Nous allons étudier ces deux familles dans la suite de cet article.
Le forwarding consiste à déterminer le prochain saut pour un datagramme vers la destination indiquée dans son adresse de destination et à commuter le datagramme d’une interface d’entrée vers une interface de sortie.
Le routing consiste à échanger le contenu de sa table de routage avec ses voisins pour déterminer les chemins dans une architecture multi-réseaux. Pour ce faire, un protocole de routage est utilisé.
Sous Linux, le forwarding est réalisé par le noyau alors que le routing est réalisé par un programme (daemon).
Ce type de protocole détermine la direction (le prochain saut) et la distance (le nombre de sauts) vers n’importe quel réseau de l’inter-réseau. Il envoie périodiquement tout ou partie de sa table de routage aux routeurs voisins. À la réception d’une mise à jour de routage, une vérification de tous les chemins connus est faite et des modifications sont apportées si nécessaire.
Le protocole RIP v1 (Routing Information Protocol) a été conçu en 1988.
Il utilise le protocole UDP en broadcast (255.255.255.255
) pour échanger les informations de routage. La gestion des routes se fait via l’utilisation de timer :
Voici les caractéristiques principales de RIP v1 :
Des faiblesses de RIP v1 (coût de la diffusion par broadcast, pas adapté aux masques à longueur variable) est né RIP v2 en 1993. Contrairement à la première version, RIP v2 utilise le multicast (224.0.0.9
) pour envoyer les informations de routage.
Voici les caractéristiques principales de RIP v2 :
Le protocole IGRP (Interior Gateway Routing Protocol) a été développé par Cisco en partie pour remédier aux limitations de RIP. Les mises à jour sont transmises immédiatement à chaque changement. Contrairement à RIP qui transmet la table de routage complète, IGRP n’envoie que la ligne qui subit une modification.
Voici les caractéristiques principales d’IGRP :
Deux fonctions permettent d’empêcher ou de réduire pour certains cas les boucles de routage et d’optimiser le reroutage des flux en cas de tombé d’un lien. Les voici :
Les protocoles de routage par état de liens ont été conçu principalement pour pallier les limitations des protocoles de routage à vecteur de distance (notamment en terme de taille). Ils gèrent une base de données d’informations topologiques sur laquelle ils appliquent un algorithme de calcul du plus court chemin d’abord (Shortest Path First (SPF) ou algorithme de Dijkstra).
Le fonctionnement du routage par état de liens est le suivant : 1️⃣ Echange de paquets LSA (Link State Advertisement) qui permettent 2️⃣ de construire la base de données topologique sur laquelle 3️⃣ nous appliquons l’algorithme SPF qui permet de 4️⃣ construire l’arbre de plus court chemin dont la racine est le routeur. De cet arbre 5️⃣, la table de routage est tirée.
L’envoie des mises à jour est réalisé à des intervalles moins fréquents que pour le routage par vecteur de distance (toutes les 30 minutes par exemple). Le plus important est d’avoir une base de données topologique à jour et identique sur tous les routeurs.
Les principaux protocoles à états de liens sont OSPF et IS-IS.