Protocole de routage dynamique RIP

Le premier protocole de routage que nous allons voir, est le protocole RIP (Routing Information Protocol). Le protocole RIP est un protocole de routage dynamique qui a l’avantage d’être standard (RFC 1058). Pour la convergence des routes, il utilise comme métrique le nombre de saut, il est limité à 15 sauts. C’est-à-dire qu’entre l’émetteur et le récepteur, il ne peut pas avoir plus de 15 routeurs. C’est donc un protocole de routage à vecteur de distance.
De plus la durée de convergences des tables varie de 25 à 30 secondes, ce qui est très lents et peut provoquer des boucles. Ses limites ont poussé les administrateur réseau à lui préférer d’autre protocoles de routages dynamiques comme l’OSPF ou l’EIGRP.

Il existe 3 versions du protocole RIP :

  • RIPv1 : Ne prends pas en charge le VLSM, c’est-à-dire es sous-réseau. Il se basera sur les classes d’adresse. On dira alors que c’est un protocole « fullclass »
  • RIPv2 : Prends en charge le VLSM mais pas l’IPv6
  • RIPng : Prends en charge l’IPv6
Une image contenant texte, capture d’écran, Police, ligne

Description générée automatiquement

Mise en place d’un protocole de routage RIP

Pour notre Lab, nous partirons d’une infrastructure simple à 3 routeurs.

Une image contenant trépied

Description générée automatiquement

Avant de rentrer dans vif du sujet à savoir la configuration du protocole RIP, nous allons attribuer un noms et des adresses IP à nos interfaces.

Pour R1

Router#enable 
Router#configure terminal 
Router(config)#hostname R1 R1(config)#interface gig 0/0 
R1(config-if)#ip address 10.0.0.5 255.255.255.252 
R1(config-if)#no shutdown
R1(config-if)#interface gig 0/1 
R1(config-if)#ip address 10.0.0.9 255.255.255.252 
R1(config-if)#no shutdown 

A l’aide de la commande « show ip interface brief », nous pouvons voir que la configuration de nos interfaces est bien fonctionnelle.

Pour R2

Router#enable 
Router#configure terminal 
Router(config)#hostname R2 
R2(config)#interface gig 0/0
R2(config-if)#ip address 192.168.0.254 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface gig 0/1
R2(config-if)#ip address 10.0.0.1 255.255.255.252 R2(config-if)#no shutdown
R2(config-if)#interface gig 0/2
R2(config-if)#ip address 10.0.0.6 255.255.255.252
R2(config-if)#no shutdown	

Nous vérifions que notre configuration a bien été prise en compte.

Nous pouvons également tester la communication entre R1 et R2 via le réseau 10.0.0.4/30.

Pour R3

Router#enable 
Router#configure terminal 
Router(config)#hostname R3 
R3(config)#interface gig 0/0
R3(config-if)#ip address 192.168.1.254 255.255.255.0 
R3(config-if)#no shutdown
R3(config-if)#interface gig 0/1
R3(config-if)#ip address 10.0.0.2 255.255.255.252 
R3(config-if)#no shutdown
R3(config-if)#interface gig 0/2
R3(config-if)#ip address 10.0.0.10 255.255.255.252
R3(config-if)#no shutdown

Nous vérifions que la configuration a bien été pris en charge.

Nous pouvons aussi tester la communication entre R1-R2 et R2-R3

A ce stade, les tables de routages ne connaissent que les réseaux qui sont directement connecté aux routeurs.

Table de routage R1

Table de routage R2

Table de routage R3

En nous appuyant sur ses différentes tables de routage nous pouvons en conclure que le PC1, ne pourra pas connecter avec PC2. En effet le routeur R2 qui héberge la passerelle par défaut du réseau 192.168.0.0/24 sur lequel PC1 est connecté, ne connait pas le réseau 192.168.1.0/24 sur lequel PC2 est connecté.

Nous allons faire converger ses 3 tables de routage, ainsi R2 communiquera la route pour accéder au réseau 192.168.0.0/24 et R3 communiquera la route pour se rendre sur le réseau 192.168.1.0/24.

Dans cette topologie, nous avons utilisé du VLSM (les réseaux en /30 ) et de l’IPv4, donc nous utiliserons la version 2 du protocole RIP. Nous commencerons par le routeur R1.

Sur R1

Nous allons activer le protocole de routage RIP et nous configurons la version

R1(config)# router rip 
R1(config-router)# version 2 

Ensuite nous devons indiquer les réseaux dont les routes vont être propagés via le protocole RIP et que le routeur connait, c’est-à-dire ses routes adjacentes.

R1(config-router)# network 10.0.0.0
R1(config-router)# network 10.0.0.4

Nous ferons de même pour R2 et R3

Sur R2

R2(config)#router rip R2(config-router)#version 2

R2(config-router)#network 10.0.0.4 
R2(config-router)#network 10.0.0.0
R2(config-router)#network 192.168.0.0

Sur R3

R3(config)#router rip 
R3(config-router)#version 2
R3(config-router)#network 10.0.0.8
R3(config-router)#network 10.0.0.0
R3(config-router)#network 192.168.1.0

Regardons maintenant ce qu’il s’est passé au niveau de nos tables de routages. Sur la table de routage de R1.

Une image contenant texte, capture d’écran, Police

Description générée automatiquement

Nous voyons de nouvelle route précédée du code « R », ce code indique que la route a été apprise via le protocole RIP. Après l’adresse réseau vous retrouvé sa valeur de la distance administrative est 120 et que ça métrique est de 1. Pour rappel, plus la valeur de la distance administrative sera faible, plus elle sera considérée fiable, en cas d’égalité c’est la métrique qui sera utilisé qui observera la même logique. Plus c’est faible, plus c’est fiable.

Nous pouvons maintenant tester que PC1(192.168.0.1/24) communique bien avec PC2 (192.168.1.1/24)

SI nous voulons voir la route qui a été prise par le paquet émis par PC1 pour arriver sur PC2, nous pouvons nous rendre sur R2 et afficher la table de routage.

Le paquet est passé par Gig 0/1 soit le chemin bleu dans l’illustration ci-dessous

Une image contenant trépied, conception

Description générée automatiquement

Si nous désactivons l’inter Gig0/1, pour simuler une panne il devra donc redéfinir une nouvelle route et ainsi faire passer les paquets sur Gig0/2 sur R2. Nous allons donc faire ce test et pour voir s’il y a une interruption, nous effectuerons un ping en continu (avec l’option -t) entre PC1 et PC2 avant d’éteindre l’interface Gig0/1.

Ping en continu sur un PC1

Désactivation de l’interface Gig0/1sur R2

R2(config)#interface gig 0/1 
R2(config-if)#shutdown 

La communication est interrompue jusqu’à ‘ à la nouvelle mise à jour de la table de routage, qui prendra au maximum 30 secondes.

L’avantage ici est qu’il n’y a pas eu besoin d’intervention humaine pour que la redéfinir, ce qui aurait été le cas si nous avions déployer une route statique. L’inconvénient en revanche c’est le délai de rétablissement

qui est long. Imaginons un site comme www.amazon.fr qui serait indisponible 30 secondes ; Cette latence est liée au fonctionnement même du protocole. En effet, le RIP ne m’est pas à jour les tables de routage comme pourrait le faire le protocole OSPF ou EIGRP, il envoie l’intégralité de la table de routage.

Dans la table de routage, nous pouvons également constater que la route a été modifié.

Une image contenant texte, Appareils électroniques, capture d’écran, affichage

Description générée automatiquement

Nous voyons également que la métrique a été changer. En effet, pour passer de PC1 à PC2, nous faisons 2 sauts.

Une image contenant texte, diagramme, conception

Description générée automatiquement

Analysons plus en détails ce qu’il se passe sur les routeurs, pour cela nous allons nous rendre sur le routeur R1 est exécuter la commande suivante :


  R1# debug ip rip	

Nous constatons que tous les 25 à 30 secondes des paquets de mise à jour avec tout le contenu de la table est envoyé même si la topologie n’a pas eu de modification.

Pour désactiver le mode debugage du protocole RIP exécuter la négation de la commande précédente.


  R1#no debug ip rip	

La commande « debug » est à utiliser avec parcimonie, elle peut s’avérer très consommatrice en ressource et rendre votre équipement réseau inutilisable provoquant un déni de service, elle est a utiliser en dernier recours.

Nous aurons plus d’information quant à la configuration du protocole dans la section à l’aide de la commande

« show ip protocole » et nous filtrerons la section concernant le protocole RIP.


  R1#show ip protocols | s Routing Protocol is "rip"	

Nous avons ici toutes les informations qui seront nécessaire pour le dépannage.

La mise à jour se fait toutes les 30 secondes, la route est considérée comme invalide après 180 secondes de dysfonctionnement où elle passera en down. La route sera effacée de la table de routage après 240 secondes. Le protocoles RIP envoie et reçois des informations via l’interface gig 0/0 et gig0/1.

En exécutant la même commande sur R2, on voit que Gig 0/0 envoie et reçois des paquets des MàJ RIP, or les machines hébergées dans le réseau 192.168.0.0 n’ont pas besoin de recevoir les informations de mise à jour.

Pour une question d’optimisation, il serait intéressant d’exclure l’interface gig 0/0 des MàJ du RIP. Pour ce faire, il nous faudra rendre notre interface passive au paquet RIP.

R2(config)#router rip
 R2(config-router)#passive-interface gigabitEthernet 0/0

Nous pouvons vérifier que la commande a bien été prise en compte en exécutant la commande « show ip protocols » et en filtrant la section qui nous intéresse


  R2#show ip protocols | s Routing Protocol is "rip"	

Ainsi notre routeur ne consommera pas de la ressource inutilement.

Une image contenant texte, graphiques vectoriels Description générée automatiquement

La commande auto-summary permet de regrouper les réseaux d’une même classe en une seule entrée pour réduire la taille de la table. Par défaut cette option est activée. En RIPv2, il est possible de la désactivé en exécutant le commande « no auto-summary », ce qu’il sera nécessaire, si vous avez des réseaux avec des adresses IP discontinu