RIP (Routing Information Protocol) est l'un des plus anciens protocoles de routage dynamique. Il appartient à la famille des protocoles à vecteur de distance (Distance Vector), qui calculent la meilleure route en fonction du nombre de sauts (hops) vers la destination.
RIP mesure la distance en hops. Chaque routeur traversé = 1 hop. Maximum : 15 hops. Une route avec 16 hops est considérée inaccessible.
Update : 30s — envoi périodique des tables.
Invalid : 180s — route marquée invalide.
Holddown : 180s — route en attente.
Flush : 240s — suppression de la route.
RIP utilise l'algorithme de Bellman-Ford pour calculer les routes. Chaque routeur reçoit les annonces de ses voisins et propage ses propres routes avec une métrique incrémentée de 1.
Split Horizon : ne pas renvoyer une route vers l'interface par laquelle elle a été apprise.
Poison Reverse : envoyer la route avec métrique 16 pour la supprimer explicitement.
La topologie de ce TP connecte 3 routeurs (R1, R2, R3) via des liaisons série (WAN), avec des réseaux LAN attachés à chaque routeur. R3 possède en plus des interfaces loopback simulant des réseaux distants.
Voici le plan d'adressage complet du TP :
| Routeur | Interface | Adresse IP | Masque / Préfixe | Type | Description |
|---|---|---|---|---|---|
| R1 | Fa0/0 | 172.30.1.1 | 255.255.255.0 /24 | FastEthernet | Passerelle LAN R1 |
| R1 | S0/0/0 | 10.0.0.1 | 255.255.255.252 /30 | Serial (DTE) | Lien WAN R1↔R2 |
| R2 | S0/0/0 | 10.0.0.2 | 255.255.255.252 /30 | Serial (DCE) | Lien WAN R1↔R2 |
| R2 | S0/0/1 | 10.0.0.5 | 255.255.255.252 /30 | Serial (DTE) | Lien WAN R2↔R3 |
| R3 | S0/0/0 | 10.0.0.6 | 255.255.255.252 /30 | Serial (DCE) | Lien WAN R2↔R3 |
| R3 | Fa0/0 | 172.30.1.254 | 255.255.255.0 /24 | FastEthernet | Passerelle LAN R3 + DHCP |
| R3 | Lo0 | 192.168.1.1 | 255.255.255.0 /24 | Loopback | Réseau simulé 1 |
| R3 | Lo1 | 192.168.2.1 | 255.255.255.0 /24 | Loopback | Réseau simulé 2 |
| R3 | Lo2 | 192.168.3.1 | 255.255.255.0 /24 | Loopback | Réseau simulé 3 |
/30 (255.255.255.252) pour les liaisons point-à-point série, ce qui donne exactement 2 adresses utilisables. C'est une bonne pratique VLSM pour économiser les adresses sur les liens WAN.La première étape de configuration de tout routeur Cisco est son identification (hostname) et sa sécurisation. On configure trois niveaux de protection :
Protège l'accès au mode privilégié (EXEC). Utilise un hashage MD5 — préférer ceci à enable password.
Protège l'accès physique au routeur via le port console (câble RJ45 bleu). Indispensable en salle machine.
Protège l'accès SSH/Telnet à distance. Les lignes 0 à 4 représentent 5 sessions VTY simultanées.
! ── Entrée en mode privilégié ────────────────────────────── Router> enable Router# configure terminal ! ── Nommage du routeur ───────────────────────────────────── Router(config)# hostname R1 ! ── Protection du mode EXEC privilégié (hashé MD5) ───────── R1(config)# enable secret cisco123 ! ── Sécurisation de la console physique ──────────────────── R1(config)# line console 0 R1(config-line)# password cisco R1(config-line)# login R1(config-line)# exit ! ── Sécurisation des lignes VTY (accès Telnet/SSH) ───────── R1(config)# line vty 0 4 R1(config-line)# password cisco R1(config-line)# login R1(config-line)# exit ! ── Chiffrer tous les mots de passe en clair dans la config ─ R1(config)# service password-encryption ! ── Message de bannière (optionnel mais professionnel) ────── R1(config)# banner motd #Acces Autorise Uniquement - R1# ! ── Sauvegarder la configuration ─────────────────────────── R1(config)# end R1# write memory
enable secret plutôt que enable password. Le premier utilise MD5 (stocké haché), le second stocke le mot de passe en clair dans la configuration (même avec service password-encryption, il utilise un chiffrement faible type 7).Sur Cisco IOS, toutes les interfaces sont désactivées par défaut. Il faut explicitement les configurer et les activer avec no shutdown. Les interfaces série nécessitent une configuration supplémentaire selon leur rôle DCE/DTE.
clock rate). Dans Cisco Packet Tracer, on vérifie avec show controllers serial 0/0/0. L'extrémité avec un câble « horloge » est le DCE.R1(config)# interface FastEthernet0/0 R1(config-if)# ip address 172.30.1.1 255.255.255.0 R1(config-if)# description LAN R1 - Reseau local R1(config-if)# no shutdown R1(config-if)# exit R1(config)# interface Serial0/0/0 R1(config-if)# ip address 10.0.0.1 255.255.255.252 R1(config-if)# description Lien WAN vers R2 ! Si R1 est DTE, pas besoin de clock rate ! Si R1 est DCE : clock rate 64000 R1(config-if)# no shutdown R1(config-if)# exit
R2(config)# interface Serial0/0/0 R2(config-if)# ip address 10.0.0.2 255.255.255.252 R2(config-if)# description Lien WAN vers R1 (DCE) R2(config-if)# clock rate 64000 ! R2 est DCE sur ce lien R2(config-if)# no shutdown R2(config-if)# exit R2(config)# interface Serial0/0/1 R2(config-if)# ip address 10.0.0.5 255.255.255.252 R2(config-if)# description Lien WAN vers R3 R2(config-if)# no shutdown R2(config-if)# exit
R3(config)# interface Serial0/0/0 R3(config-if)# ip address 10.0.0.6 255.255.255.252 R3(config-if)# description Lien WAN vers R2 (DCE) R3(config-if)# clock rate 64000 ! R3 est DCE sur ce lien R3(config-if)# no shutdown R3(config-if)# exit R3(config)# interface FastEthernet0/0 R3(config-if)# ip address 172.30.1.254 255.255.255.0 R3(config-if)# description LAN R3 - Reseau DHCP R3(config-if)# no shutdown R3(config-if)# exit
show controllers serial 0/0/0. Si la sortie indique "DCE cable", vous devez configurer clock rate. Sans horloge sur le DCE, la ligne reste en état down.Une interface loopback est une interface virtuelle toujours active (up/up) tant que le routeur fonctionne. Elle n'est connectée à aucun câble physique. Elle sert à :
! Les loopbacks sont créées automatiquement à la première configuration R3(config)# interface Loopback0 R3(config-if)# ip address 192.168.1.1 255.255.255.0 R3(config-if)# description Reseau simule Lo0 R3(config-if)# exit R3(config)# interface Loopback1 R3(config-if)# ip address 192.168.2.1 255.255.255.0 R3(config-if)# description Reseau simule Lo1 R3(config-if)# exit R3(config)# interface Loopback2 R3(config-if)# ip address 192.168.3.1 255.255.255.0 R3(config-if)# description Reseau simule Lo2 R3(config-if)# exit
192.168.1.0/24, 192.168.2.0/24 et 192.168.3.0/24 appartiennent toutes au super-réseau 192.168.0.0/16. C'est pourquoi R2 configure une route statique de résumé vers ce super-réseau (étape suivante).R2 doit connaître une route vers le super-réseau 192.168.0.0/16 pour annoncer un résumé à R1 via RIPv2. Sans cette route, R2 ne peut pas injecter un résumé dans RIP. La route est dirigée vers null0 — une interface poubelle qui absorbe le trafic sans le transmettre.
null0 crée une entrée dans la table de routage de R2 sans envoyer réellement du trafic nulle part. Elle sert uniquement à permettre à RIPv2 d'annoncer le résumé 192.168.0.0/16 vers R1. Si un paquet arrive à R2 pour une adresse 192.168.x.x qui n'existe pas, il sera silencieusement éliminé (évite les boucles).! Route statique vers le super-réseau 192.168.0.0/16 ! Dirigée vers null0 (interface "poubelle") R2(config)# ip route 192.168.0.0 255.255.0.0 null0 ! Vérification immédiate R2# show ip route static ! Résultat attendu : S 192.168.0.0/16 is directly connected, Null0
redistribute static ou directement annoncée si on la déclare dans le process RIP. Dans ce TP, on va utiliser ip summary-address rip sur l'interface de R2 pour résumer les routes 192.168.x.x avant de les annoncer à R1.R3 va jouer le rôle de serveur DHCP pour le réseau 172.30.1.0/24. DHCP (Dynamic Host Configuration Protocol) attribue automatiquement aux stations :
! ── Exclure les adresses réservées (ne pas attribuer) ─────── ! On exclut les adresses des routeurs et équipements fixes R3(config)# ip dhcp excluded-address 172.30.1.1 172.30.1.10 R3(config)# ip dhcp excluded-address 172.30.1.254 ! ── Création du pool DHCP ─────────────────────────────────── R3(config)# ip dhcp pool LAN_POOL R3(dhcp-config)# network 172.30.1.0 255.255.255.0 R3(dhcp-config)# default-router 172.30.1.254 R3(dhcp-config)# dns-server 8.8.8.8 R3(dhcp-config)# lease 7 ! Durée du bail : 7 jours R3(dhcp-config)# exit ! ── Vérifications DHCP ────────────────────────────────────── R3# show ip dhcp pool R3# show ip dhcp binding ! Voir les adresses attribuées R3# show ip dhcp conflict ! Conflits éventuels
ip dhcp excluded-address avant de créer le pool. Cela évite les conflits d'adresses.Les PCs connectés au réseau 172.30.1.0/24 (côté R3) utilisent DHCP automatique. Les PCs des autres réseaux sont configurés manuellement (statiquement).
| Station | Réseau | IP | Masque | Passerelle | Mode |
|---|---|---|---|---|---|
| PC-R1 | 172.30.1.0/24 | 172.30.1.2 | 255.255.255.0 | 172.30.1.1 | Statique |
| PC-R3 | 172.30.1.0/24 | Auto (DHCP) | Auto | 172.30.1.254 | DHCP |
PC-R1 : IP Address : 172.30.1.2 Subnet Mask : 255.255.255.0 Default Gateway : 172.30.1.1 DNS Server : 8.8.8.8 PC-R3 (DHCP) : → Sélectionner "DHCP" dans IP Configuration → Vérifier que l'adresse est attribuée automatiquement → La passerelle doit être 172.30.1.254
C'est le cœur du TP. On configure le processus RIP sur chaque routeur en lui indiquant quels réseaux il doit annoncer. La commande network dans RIP désigne les réseaux directement connectés que ce routeur doit annoncer et sur lesquels il doit écouter les mises à jour RIP.
network dans RIP a deux effets :
no auto-summary, on peut utiliser les adresses exactes avec masque.
R1(config)# router rip R1(config-router)# version 2 R1(config-router)# no auto-summary ! CRUCIAL : désactive le résumé automatique classful R1(config-router)# network 172.30.1.0 ! Annonce le LAN R1(config-router)# network 10.0.0.0 ! Annonce le lien série vers R2 R1(config-router)# exit
R2(config)# router rip R2(config-router)# version 2 R2(config-router)# no auto-summary R2(config-router)# network 10.0.0.0 ! Les deux liens série R2(config-router)# redistribute static ! Redistribue la route statique 192.168.0.0/16 R2(config-router)# exit ! ── Résumé sortant sur l'interface vers R1 ─────────────── ! Annonce 192.168.0.0/16 (au lieu de /24 individuels) vers R1 R2(config)# interface Serial0/0/0 R2(config-if)# ip summary-address rip 192.168.0.0 255.255.0.0 R2(config-if)# exit
R3(config)# router rip R3(config-router)# version 2 R3(config-router)# no auto-summary R3(config-router)# network 10.0.0.0 ! Lien série vers R2 R3(config-router)# network 172.30.1.0 ! LAN local R3(config-router)# network 192.168.1.0 ! Loopback Lo0 R3(config-router)# network 192.168.2.0 ! Loopback Lo1 R3(config-router)# network 192.168.3.0 ! Loopback Lo2 R3(config-router)# exit
no auto-summary est OBLIGATOIRE !192.168.1.0/24, 192.168.2.0/24 et 192.168.3.0/24 seraient toutes résumées en 192.168.0.0/24 (résumé classful de classe C), ce qui est incorrect. Avec no auto-summary, chaque réseau est annoncé avec son masque exact (VLSM).Après convergence (~30 secondes), vérifier chaque table de routage avec show ip route. Voici les sorties attendues pour chaque routeur :
R1# show ip route Codes: C - connected, S - static, R - RIP, ... C 10.0.0.0/30 is directly connected, Serial0/0/0 C 172.30.1.0/24 is directly connected, FastEthernet0/0 R 10.0.0.4/30 [120/1] via 10.0.0.2, 00:00:XX, Serial0/0/0 R 172.30.1.0/24 [120/2] via 10.0.0.2, 00:00:XX, Serial0/0/0 R 192.168.0.0/16 [120/1] via 10.0.0.2, 00:00:XX, Serial0/0/0 ! ↑ Super-réseau résumé envoyé par R2 via ip summary-address
R2# show ip route C 10.0.0.0/30 is directly connected, Serial0/0/0 C 10.0.0.4/30 is directly connected, Serial0/0/1 R 172.30.1.0/24 [120/1] via 10.0.0.1, 00:00:XX, Serial0/0/0 R 172.30.1.0/24 [120/1] via 10.0.0.6, 00:00:XX, Serial0/0/1 R 192.168.1.0/24 [120/1] via 10.0.0.6, 00:00:XX, Serial0/0/1 R 192.168.2.0/24 [120/1] via 10.0.0.6, 00:00:XX, Serial0/0/1 R 192.168.3.0/24 [120/1] via 10.0.0.6, 00:00:XX, Serial0/0/1 S 192.168.0.0/16 is directly connected, Null0
R3# show ip route C 10.0.0.4/30 is directly connected, Serial0/0/0 C 172.30.1.0/24 is directly connected, FastEthernet0/0 C 192.168.1.0/24 is directly connected, Loopback0 C 192.168.2.0/24 is directly connected, Loopback1 C 192.168.3.0/24 is directly connected, Loopback2 R 10.0.0.0/30 [120/1] via 10.0.0.5, 00:00:XX, Serial0/0/0 R 172.30.1.0/24 [120/2] via 10.0.0.5, 00:00:XX, Serial0/0/0
R 192.168.1.0/24 [120/1] via 10.0.0.6R1# show ip protocols Routing Protocol is "rip" Sending updates every 30 seconds, next due in XX seconds Invalid after 180 seconds, hold down 180, flushed after 240 Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Redistributing: rip Default version control: send version 2, receive version 2 Interface Send Recv Triggered RIP Key-chain FastEthernet0/0 2 2 Serial0/0/0 2 2 Automatic network summarization is not in effect ← Confirme no auto-summary Maximum path: 4 Routing for Networks: 10.0.0.0 172.30.1.0 Routing Information Sources: Gateway Distance Last Update 10.0.0.2 120 00:00:XX Distance: (default is 120)
R1# debug ip rip RIP protocol debugging is on ! Exemple de sortie : RIP: sending v2 update to 224.0.0.9 via Serial0/0/0 (10.0.0.1) RIP: build update entries 172.30.1.0/24 via 0.0.0.0, metric 1, tag 0 RIP: received v2 update from 10.0.0.2 on Serial0/0/0 10.0.0.4/30 via 0.0.0.0 in 1 hops 192.168.0.0/16 via 0.0.0.0 in 1 hops ! IMPORTANT : Désactiver après utilisation pour ne pas surcharger le CPU ! R1# no debug all ! ou : R1# undebug all
R3# show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 172.30.1.254 YES manual up up Serial0/0/0 10.0.0.6 YES manual up up Loopback0 192.168.1.1 YES manual up up Loopback1 192.168.2.1 YES manual up up Loopback2 192.168.3.1 YES manual up up Vlan1 unassigned YES unset administratively down down ! Status = up/up → Interface opérationnelle ! Status = administratively down → shutdown appliqué ! Status = down/down → Problème physique ou clock rate manquant
Par défaut, RIP envoie des mises à jour sur toutes les interfaces déclarées avec la commande network. Cela inclut les interfaces LAN (FastEthernet) où il n'y a aucun routeur voisin — ce qui est inutile et consomme de la bande passante.
La commande passive-interface empêche l'envoi de mises à jour RIP sur une interface, tout en continuant à recevoir et à annoncer les réseaux de cette interface.
! ── R1 : Désactiver les envois RIP vers le LAN ───────────── R1(config)# router rip R1(config-router)# passive-interface FastEthernet0/0 R1(config-router)# exit ! ── R3 : Même chose sur Fa0/0 et les loopbacks ───────────── R3(config)# router rip R3(config-router)# passive-interface FastEthernet0/0 R3(config-router)# passive-interface Loopback0 R3(config-router)# passive-interface Loopback1 R3(config-router)# passive-interface Loopback2 R3(config-router)# exit ! Alternative : passive par défaut, activer seulement sur Serial R3(config)# router rip R3(config-router)# passive-interface default R3(config-router)# no passive-interface Serial0/0/0 R3(config-router)# exit
passive-interface sur les interfaces sans voisins RIP, on réduit le trafic inutile et on évite que les switches/PCs reçoivent des broadcasts/multicasts de routage. La convergence est plus rapide car les timers ne sont pas perturbés par des mises à jour vers des interfaces aveugles.L'authentification permet de s'assurer que les mises à jour RIP proviennent bien de routeurs légitimes. Un attaquant sur le réseau ne pourra pas injecter de fausses routes. RIPv2 supporte l'authentification MD5 via des key chains.
! ── Étape 1 : Créer la chaîne de clés (key chain) ────────── R1(config)# key chain RIP_AUTH R1(config-keychain)# key 1 R1(config-keychain-key)# key-string MotDePasseRIP R1(config-keychain-key)# exit R1(config-keychain)# exit ! ── Étape 2 : Appliquer sur l'interface Serial vers R2 ────── R1(config)# interface Serial0/0/0 R1(config-if)# ip rip authentication mode md5 R1(config-if)# ip rip authentication key-chain RIP_AUTH R1(config-if)# exit ! ─── RÉPÉTER LA MÊME CONFIGURATION SUR R2 ────────────────── ! La clé doit être IDENTIQUE des deux côtés, sinon le lien tombe R2(config)# key chain RIP_AUTH R2(config-keychain)# key 1 R2(config-keychain-key)# key-string MotDePasseRIP R2(config-keychain-key)# exit R2(config-keychain)# exit R2(config)# interface Serial0/0/0 R2(config-if)# ip rip authentication mode md5 R2(config-if)# ip rip authentication key-chain RIP_AUTH R2(config-if)# exit ! Répéter pour le lien R2 ↔ R3 (S0/0/1 sur R2, S0/0/0 sur R3)
key-string) doit être identique sur les deux routeurs partageant le même lien. Si elles diffèrent, les mises à jour RIP seront rejetées et les routes disparaîtront après le timer flush (240s). Le lien ne tombe pas au niveau IP mais les routes RIP ne seront plus échangées.| Commande | Mode | Description |
|---|---|---|
| show ip route | EXEC | Afficher la table de routage complète |
| show ip protocols | EXEC | Paramètres du protocole de routage actif |
| show ip interface brief | EXEC | Résumé de l'état de toutes les interfaces |
| show ip dhcp binding | EXEC | Baux DHCP attribués |
| show ip dhcp pool | EXEC | Statistiques du pool DHCP |
| debug ip rip | EXEC | Affichage temps réel des updates RIP |
| no debug all | EXEC | Désactiver tous les debugs |
| show controllers serial 0/0/0 | EXEC | Identifier DCE/DTE |
| show running-config | EXEC privil. | Configuration active en mémoire |
| write memory / copy run start | EXEC privil. | Sauvegarder la configuration |
| ping [adresse] | EXEC | Tester la connectivité IP |
| traceroute [adresse] | EXEC | Tracer le chemin IP |