Le routage à vecteur de distance (RIP)
Le routage dynamique par vecteur de distance RIP repose sur l’algorithme de Bellman-Ford qui met à jour les tables de routage en partageant les informations entre les routeurs voisins. Cette méthode, bien que plus ancienne que d’autres protocoles de routage dynamique, trouve toujours son utilité dans certaines configurations de réseau, particulièrement dans des environnements où la complexité des protocoles plus avancés n’est pas requise.
L’un des avantages de RIP est sa facilité de configuration. Sa simplicité rend son déploiement rapide, même dans des réseaux de petite et moyenne envergure. Cette facilité s’étend aussi à la maintenance, où les ajustements et dépannages se font avec moins de complexité comparativement à d’autres protocoles plus sophistiqués comme OSPF ou EIGRP.
En termes de performance, RIP excelle par sa capacité à recalculer rapidement les meilleurs chemins à travers le réseau. RIP montre une grande efficacité lorsqu’il s’agit de détecter des changements favorables dans le réseau, tels que de détecter itinéraires plus courts. Sa conception lui permet de réagir instantanément, assurant ainsi que les chemins empruntés par les paquets soient constamment optimisés en termes de distance ou de congestion. Cela se traduit par une meilleure utilisation des ressources du réseau et une réduction des délais de transmission.
En revanche, RIP présente certaines limites significatives. La plus notable est sa restriction sur le nombre de sauts, limité à 15, ce qui le rend inadapté pour les réseaux de grande taille. De plus, RIP évalue les chemins uniquement sur la base du nombre de sauts, sans tenir compte de la bande passante ou de la vitesse des liens. Cette approche peut conduire à des choix de routage sous-optimaux, où des chemins avec plus de sauts, mais potentiellement plus rapides ou plus stables sont ignorés au profit de chemins plus courts en termes de sauts, mais moins efficaces.
Par ailleurs, RIP peut se révéler inefficace pour détecter rapidement les liens défaillants. Le protocole peut mettre un temps considérable pour converger vers une nouvelle configuration en cas de déconnexion de lien. Cette lenteur de convergence peut entraîner des chemins de routage erronés et des boucles de routage. Le problème s’aggrave dans des scénarios où la mise à jour des informations de routage s’étend sur une période prolongée, conduisant à une instabilité du réseau et à une diminution de la performance globale.
Le schéma illustre un problème classique de convergence dans un réseau utilisant le protocole RIP. Le réseau A a subi une panne, mais à cause de la façon dont RIP propage l’information, les routeurs B et E continuent de croire qu’ils peuvent atteindre le réseau A à travers l’autre routeur, créant ainsi une boucle de routage. Les tables de routage sur les routeurs B et E indiquent qu’ils peuvent atteindre le réseau A par un chemin alternatif via l’autre routeur. Cependant, ce chemin n’est pas valable, car le réseau A n’est plus accessible.
Ce comportement est dû à la métrique de distance de RIP qui compte le nombre de sauts. Quand A tombe en panne, B et E ne sont pas immédiatement conscients de cette panne et annoncent à leur voisin le chemin vers A avec un coût incrémenté de 1. Comme les deux routeurs ne sont pas conscients de la panne de A, ils se basent sur l’information reçue de l’autre pour actualiser leurs tables de routage, créant ainsi une boucle.
Le problème, c’est que RIP doit attendre plusieurs cycles de mise à jour pour déclarer un réseau comme étant hors de portée. En réalité, à chaque mise à jour, il augmente graduellement la métrique de distance jusqu’à l’infini. Dans le cas de RIP, la métrique est augmentée jusqu’à cette fameuse limite de 16 (considérée comme une distance infinie). Cette lenteur dans la convergence peut causer des périodes prolongées pendant lesquelles les paquets sont envoyés dans une boucle sans fin, avant que le réseau ne converge vers un état stable où la panne est reconnue par tous les routeurs.
À cause de cette boucle de routage, les routeurs concernés dans la boucle peuvent s’engager dans un échange incessant d’informations de routage qui consomme inutilement de la bande passante et des ressources de traitement. Cet état peut conduire à une saturation des routeurs, car ils tentent continuellement de recalculer les tables de routage et de transmettre des paquets dans un réseau déjà défaillant. Cette surcharge peut augmenter la latence, provoquer une perte de paquets, et, dans les cas les plus sévères, entraîner une panne généralisée du réseau, parce que les routeurs ne parviennent pas à gérer efficacement le trafic. Ainsi, ce qui a commencé comme une défaillance isolée peut se propager et impacter de manière significative la performance et la stabilité de l’ensemble du réseau.
Pour configurer RIP:
Router(config)# router rip
Router(config-router)# router rip
Router(config-router)# version [1|2]
Router(config-router)# network [ip.ip.ip.ip]
Pour utiliser cette commande :
- Entrez dans le menu de configuration général
- Tapez
router rip
pour entrer dans la configuration du protocole RIP - Tapez
version 2
pour dire à RIP d'utiliser les CIDR au lieu des classes d'adresses. - Tapez
network [ip.ip.ip.ip]
pour ajouter un réseau dans le système de routage automatique.
Exemple d’utilisation :
Router(config)# router rip
Router(config-router)# router rip
Router(config-router)# version 2
Router(config-router)# network 10.0.0.0
Le système de nettoyage des tables de routage
Le protocole RIP intègre un mécanisme de gestion des états des routes pour améliorer sa capacité à réagir aux changements dans le réseau, notamment la panne de liens. Ce système permet de mieux contrôler la période pendant laquelle une route est considérée comme valide, ainsi que la manière dont les informations obsolètes sont gérées et éventuellement supprimées de la table de routage.
- UPDATE correspond aux intervalles réguliers auxquels un routeur diffuse la totalité de sa table de routage à ses voisins immédiats. C’est par ces mises à jour périodiques que les routeurs échangent des informations sur les réseaux qu’ils peuvent atteindre, ce qui permet de maintenir des informations de routage à jour.
- INVALID intervient quand une route n’a pas été mise à jour dans un délai spécifique, souvent plusieurs fois le cycle de mise à jour. Cela signale que le chemin peut ne plus être fiable, et bien que la route soit toujours présente dans la table, elle est marquée comme potentiellement invalide.
- FLUSH est la phase où la route est considérée comme définitivement invalide et prête à être effacée de la table de routage. Cela se produit après un délai supplémentaire suivant la marque d’invalidité, assurant qu’aucun routeur ne continue de diffuser d’informations obsolètes sur cette route.
- HOLD est appliqué après l’envoi d’une mise à jour où une route a été modifiée. Pendant le temps de maintien, les modifications supplémentaires pour cette route sont suspendues. Cela empêche la propagation immédiate d’informations potentiellement incorrectes dues à des changements transitoires du réseau, contribuant à une stabilisation globale des annonces de routage.
Dans le schéma, le réseau A est tombé en panne, ce qui affecte le routeur B. Les états RIP, illustrés par des flèches colorées, représentent la progression temporelle des réponses du protocole à cette panne. L’état UPDATE montre les moments où les routeurs envoient leurs tables de routage complètes à leurs voisins. Pendant ces mises à jour régulières, ils communiquent leur capacité à atteindre les réseaux connus.
Après la panne, une fois que le routeur B ne reçoit plus de réponse du réseau A, il commencera le compte à rebours vers l’état INVALID. Pendant cette période en jaune, le routeur B marque la route vers A comme douteuse, car il n’a pas reçu de mise à jour dans le délai prévu. Si le réseau A reste inaccessible et aucune mise à jour n’a confirmé sa disponibilité, la route vers A passera à l’état FLUSH. À ce stade, B prépare à supprimer la route de sa table et informe ses voisins que la route vers A doit être retirée.
Finalement, après que la route vers A a été retirée, l’état HOLD, symbolisé par la flèche rouge, empêche immédiatement toute nouvelle mise à jour de la route vers A pour une période donnée. Cela assure qu’aucune information contradictoire ne sera diffusée, permettant au réseau de stabiliser la nouvelle information de routage sans A.
L’évolution de RIP
RIPv1 est la première version du protocole de routage par vecteur de distance qui utilisait un mécanisme simple pour le partage d’informations de routage entre routeurs. Ce protocole est classful, c’est-à-dire qu’il ne prend pas en compte les informations de masque de sous-réseau dans ses mises à jour. Cela implique que toutes les adresses IP sont supposées appartenir à leur classe d’adresse réseau spécifique (A, B ou C), ce qui limite la flexibilité de conception du réseau et ne permet pas l’utilisation efficace de l’espace d’adressage IP. De plus, RIPv1 ne prend pas en charge l’authentification des mises à jour de routage, ce qui pose des problèmes de sécurité.
RIPv2 a été introduit pour pallier les limitations de RIPv1. Il est classless, ce qui signifie qu’il prend en charge l’envoi d’informations de masque de sous-réseau avec les mises à jour de routage, permettant une utilisation plus efficace de l’espace d’adressage IP grâce au CIDR. Cela permet également de concevoir des réseaux de tailles variées qui ne correspondent pas strictement aux limites des classes d’adresses. RIPv2 introduit également l’authentification des mises à jour de routage, ce qui renforce la sécurité du processus de routage. De plus, RIPv2 supporte le multicast, ce qui réduit la charge sur les routeurs qui ne sont pas configurés pour RIP et diminue le trafic réseau global comparé aux mises à jour broadcast de RIPv1. Ces améliorations rendent RIPv2 plus flexible et sécurisé par rapport à son prédécesseur.
RIPng (next generation) est une évolution de RIPv2 conçue pour supporter l’adressage IPv6, répondant aux besoins des réseaux modernes et à l’expansion de l’espace d’adressage IP. Tout comme RIPv2, RIPng est un protocole classless et supporte donc l’allocation d’adresses IP sans les contraintes des classes traditionnelles. RIPng conserve la simplicité et les mécanismes de base de RIP, tout en étendant la compatibilité au protocole IPv6, incluant la prise en charge des adresses de plus grande taille et la gestion des préfixes associés. L’authentification n’est pas incluse dans la spécification de base de RIPng, mais peut être implémentée avec des mécanismes de sécurité IPv6 tels que IPsec.