Aller au contenu

Protocole RIP

I. Protocole RIP à vecteur de distance⚓︎

RIP

RIP : Routing Information Protocol

Auteur

Le document qui suit sur le protocole RIP a été réalisé d'après le site réalisé par Olivier LECLUSE

Vecteur de distance

Le protocole RIP rentre dans la catégorie des protocoles à vecteur de distance. Un vecteur de distance est un couple (adresse, distance).

Le principe simplifié de ce protocole est de chercher à minimiser le nombre de routeurs à traverser pour atteindre la destination (on minimise le nombre de sauts)

Principe général de l'algorithme

🏃‍♀️ Chaque routeur reçoit en permanence (toutes les 30 secondes environ) de ses voisins les informations de routage qu'ils possèdent. Il va alors exploiter ces informations pour se construire lui-mĂŞme sa table de routage en ne retenant que les informations les plus pertinentes : une simple comparaison permet de ne garder que le chemin le plus avantageux. Il transmettra a son tour ces informations Ă  ses voisins et ainsi de suite.

C'est l'algorithme de Belman-Ford : un des algorithmes de recherche de plus court chemin dans un graphe.

🏃‍♀️ A l'issue de quelques Ă©tapes, les tables se stabilisent et le routage est pleinement opĂ©rationnel. Le temps nĂ©cessaire Ă  la stabilisation des tables est proportionnel au diamètre du graphe modĂ©lisant le rĂ©seau (c'est Ă  dire au nombre maximal d'Ă©tapes nĂ©cessaires pour relier deux points quelconques du rĂ©seau).

👓 Regardez cette vidĂ©o de Claude Chaudet (Institut Mines-TĂ©lĂ©com) qui expose le principe du routage Ă  vecteur de distance.

Quand un routeur ne répond plus

Quand un routeur ne répond plus, il n’est pas supprimé de la table, quelle qu’en soit la raison (routeur défectueux, câble coupé, carte ethernet HS, etc.).

Avec le protocole RIP, le nombre de saut dans la table passe juste Ă  16.

II. Exemple:⚓︎

Considérons le réseau suivant qui relie deux réseaux d'une entreprise :

  • le rĂ©seau 1 contient des postes de travail dans un bureau.
  • le rĂ©seau 2 contient un serveur dans un centre de donnĂ©es.

Les routeurs R1 et R6 permettent d'accéder au réseau de l'entreprise, R2, R3, R4 et R5, des routeurs internes au réseau.

schéma du réseau

Nous allons nous intéresser à l'évolution des tables de routage des routeurs R1 et R3 sur lesquels on a activé le protocole RIP

Vous pouvez télécharger l'image de ce réseau ici : "Clic droit", puis "Enregistrer la cible du lien sous"

Étape 0⚓︎

Au démarrage, les routeurs R1 et R3 ne connaissent que leurs voisins proches. Leurs tables peuvent donc ressembler à ceci :

Routeur R1

destination passerelle interface Nb sauts remarques
192.168.1.0 wifi0 1 ==> vers les postes de travail
172.16.0.0 eth0 1 ==> vers R3

Au départ, R1 ne peut atteindre que ses voisins immédiats (nb Sauts vaut 1). Aucune passerelle n'est nécessaire puisque la communication est directe. Chaque sous réseau utilise une interface spécifique. Le réseau local 1 contenant les postes de travail est accessible en wifi.


Routeur R3

En ce qui concerne le routeur 3, celui-ci possède 4 interfaces réseau filaires, que nous nommerons eth0-3 qui permettent d'atteindre les routeurs immédiats (R1, R2, R4 et R5). Voici à quoi peut ressembler sa table de routage au démarrage :

destination passerelle interface Nb sauts remarques
172.16.0.0 eth0 1 ==> vers R1
172.16.1.0 eth1 1 ==> vers R2
172.16.6.0 eth2 1 ==> vers R5
172.16.3.0 eth3 1 ==> vers R4

Étape 1⚓︎

Au bout de 30 secondes, un premier échange intervient avec les voisins immédiats de chacun des routeurs.

Le principe de l'algorithme

Lorsqu'un routeur reçoit une nouvelle route de la part d'un voisin, 4 cas sont envisageables :

  • Il dĂ©couvre une route vers un nouveau rĂ©seau inconnu
    👉 Il l'ajoute à sa table.
  • Il dĂ©couvre une route vers un rĂ©seau connu, plus courte que celle qu'il possède dans sa table
    👉 Il actualise sa table.
  • Il dĂ©couvre une route vers un rĂ©seau connu plus longue que celle qu'il possède dans sa table
    👉 Il ignore cette route.
  • Il reçoit une route vers un rĂ©seau connu en provenance d'un routeur dĂ©jĂ  existant dans sa table
    👉 Il met à jour sa table car la topologie du réseau a été modifiée.

En appliquant ces règles, voici la table de routage de R1 après une étape :

Routeur R1

destination passerelle interface Nb sauts remarques
192.168.1.0 wifi0 1 ==> vers les postes de travail
172.16.0.0 eth0 1 ==> vers R3
172.16.1.0 172.16.0.3 eth0 2 Ces 3 routes
172.16.6.0 172.16.0.3 eth0 2 proviennent
172.16.3.0 172.16.0.3 eth0 2 de R3


172.16.0.3 est l'adresse IP du routeur R3.
On ajoute à la table précédente les réseaux atteignables par R3. On pense cependant à ajouter 1 au nombre de sauts !
Si R1 veut atteindre le réseau 172.16.3.0, il s'adressera à R3 et atteindra le réseau cible en 2 sauts.

Voici la table de R3 qui s'enrichit des informations envoyées par R1 afin d'atteindre le réseau local, mais aussi des informations en provenance de R2, R4 et R5. Il découvre ainsi 4 nouveaux réseaux.

Routeur R3

destination passerelle interface Nb sauts remarques
172.16.0.0 eth0 1
172.16.1.0 eth1 1
172.16.6.0 eth2 1
172.16.3.0 eth3 1
192.168.1.0 172.16.0.1 eth0 2 reçu de R1
172.16.2.0 172.16.1.2 eth1 2 reçu de R2
172.16.5.0 172.16.6.5 eth2 2 reçu de R5
172.16.4.0 172.16.3.4 eth3 2 reçu de R4

Dernière étape⚓︎

Comme vous le voyez, les tables deviennent vite longues et énumérer dans le détail chacune d'elle est trop long.
💨 On va donc passer directement Ă  l'Ă©tape finale . Voici ce que contient la table de routage de R1 :

Routeur R1

destination passerelle interface Nb sauts remarques
192.168.1.0 wifi0 1 ==> vers les postes de travail
172.16.0.0 eth0 1 ==> vers R3
172.16.1.0 172.16.0.3 eth0 2
172.16.6.0 172.16.0.3 eth0 2
172.16.3.0 172.16.0.3 eth0 2
172.16.2.0 172.16.0.3 eth0 3
172.16.4.0 172.16.0.3 eth0 3
172.16.5.0 172.16.0.3 eth0 3 obtenu Ă  l'Ă©tape 2
192.168.2.0 172.16.0.3 eth0 4 obtenu Ă  l'Ă©tape 3

Comme vous le voyez, le routeur R1 est à présent en capacité d'acheminer un paquet du poste de travail du réseau 1 vers le serveur se trouvant dans le réseau 2.

III. Fonctionnement⚓︎

Détection des pannes⚓︎

DĂ©tection des pannes

Le protocole RIP est en mesure de détecter des pannes : Si un routeur ne reçoit pas d'information de la part d'un de ses voisins au bout d'un temps de l'ordre de 3 minutes (configurable) il va considérer que ce lien est mort et en informer ses voisins en indiquant un nombre de sauts égal à 16. Puisque RIP ne gère que 15 sauts au maximum, 16 peut être considéré comme une distance infinie.

De cette manière, les voisins vont pouvoir recalculer leurs routes en conséquence en évitant le lien qui est tombé.

Détection des boucles⚓︎

DĂ©tection des boucles

RIP implémente d'autres mécanismes pour empêcher que se forment des boucles de routage **.
Une boucle est par exemple une route du type : R2 -> R3 -> R5 -> R2. Des exemples de tels mécanismes sont :

  • une durĂ©e de vie limitĂ©e sur les paquets (TTL) afin qu'un paquet qui tourne en rond soit dĂ©truit
  • ne pas renvoyer une information vers un routeur si celle-ci est dĂ©jĂ  passĂ©e par ce routeur

Licence Creative Commons BY-SA 4.0 - Olivier Lecluse

Distance maximale⚓︎

Distance maximale

Il serait très couteux de propager les tables de routages à tous les voisins d'un très grand réseau. Dans le protocole RIP, chaque routeur ne tient compte que des routes dont la distance est inférieure à 16.

Délai de convergence⚓︎

DĂ©lai de convergence

On appelle temps de convergence, le temps au bout duquel tous les routeurs disposent des informations de routage vers toutes les destinations.

Il est difficile d'estimer le temps de convergence, qui dépend de la taille du réseau. La limitation à 15 sauts permet de maintenir ce temps raisonnable. Cette limitation rend le protocole RIP peu efficace pour les grands réseaux.

Les champs TTL

Les champs TTL : malgré les précautions énoncées ci-dessus, il peut arriver que des boucles de routage se forment.
L'une des raisons est que tous les réseaux n'utilisent pas des protocoles comme RIP ou OSPF qui empêchent la formation de telles boucles.
C'est notamment le cas dans les réseaux où les tables sont tenues à jour manuellement (on parle de routage statique). Les paquets qui tournent en rond risquent alors de saturer le réseau.

Pour détecter cela, les protocoles de communication, comme IP ont prévu un champ nommé TTL : Time to Live qui indique combien de routeurs un paquet peut encore traverser. Chaque routeur qui reçoit un paquet décrémente la valeur de TTL, et si cette valeur tombe à 0, le paquet est tout simplement détruit.

IV. Exercice⚓︎

✏️ Protocole RIP : Ă  vous de jouer

On donne le schéma suivant :
Source : J.L. Thirot


schéma du réseau

Vous pouvez télécharger l'image de ce réseau ici : "Clic droit", puis "Enregistrer la cible du lien sous"

  1. 😢Le routeur R4 est tombĂ© en panne .
    Le réseau 172.16.3.0/24 reste quand même connecté à R3, et le réseau 172.16.4.0/24 reste aussi connecté à R5.
    Grâce au protocole RIP, les tables de routages se mettent à jour.
    Donner la table de routage du routeur R3, une fois que tout le processus est stabilisé.
Solution : à ne regarder qu'après avoir réellement écrit votre table de routage ...

Routeur R3 :

destination passerelle interface Nb sauts
192.168.1.0/24 172.16.0.1 eth0 2
172.16.0.0/24 eth0 1
172.16.1.0/24 eth1 1
172.16.6.0/24 eth2 1
172.16.3.0/24 eth3 1
172.16.2.0/24 172.16.1.2 eth1 2
172.16.4.0/24 172.16.6.5 eth2 2
172.16.5.0/24 172.16.6.5 eth2 2
192.168.2.0/24 172.16.6.5 eth2 3
172.16.7.0/24 172.16.6.5 eth3 16

Il y a une autre possibilité de réponse pour la destination 172.16.2.0/24 :

destination passerelle interface Nb sauts
172.16.2.0/24 172.16.6.5 eth2 2

  1. 😀😢 Le routeur R4 est rĂ©parĂ©, mais maintenant c'est la liaison reliant R3 Ă  R4 qui a Ă©tĂ© rompue : le câble eth3 sortant de R3 a Ă©tĂ© coupĂ© pour une raison inconnue.
    Que faut-il changer, une fois tout le processus du protocole RIP stabilisé, à la table de routage de R3 ?
Solution

Il faut modifier les deux lignes pour les destinations 172.16.3.0/24 et 172.16.7.0/24

destination passerelle interface Nb sauts
172.16.3.0/24 172.16.6.5 eth2 3
172.16.7.0/24 172.16.6.5 eth2 3

V. Autre représentation des réseaux⚓︎

🌵🌵Dans la pratique, les rĂ©seaux entre les routeurs ne sont pas reprĂ©sentĂ©s.

On aurait pu tout simplement vous donner la représentation ci-dessous, cela revenait au même.

figure simplifiée