Ce qui fait aujourd’hui qu’on arrive Ă  transmettre des paquets de donnĂ©es d’un rĂ©seau A vers un rĂ©seau B c’est ce qu’on appelle le routage IP.

Le routage s’appuie sur des protocoles pour mener Ă  bien sa mission. Mais quels sont ces protocoles et comment s’y prennent-ils pour faire transiter nos donnĂ©es ?

Et bien c’est ce qu’on va voir grñce à ce 2nd article qui va vous donner un 1er aperçu de ce qu’est le routage dynamique
 bb


Initiation au routage IP et mise en place du routage dynamique

Allez un petit rappel rapide avant cette premiĂšre initiation au routage dynamique (d’ailleurs j’espĂšre que vous ĂȘtes bien accrochĂ© parce que ça sera moins drĂŽle que le statique) ! diablo

Info ++ : J’insiste sur le terme « initiation » car tous les sujets concernant un protocole de routage ou autre ne seront pas traitĂ©s, il y a beaucoup trop Ă  dire et ce n’est pas le but de cet article qui doit rester une « dĂ©couverte » des protocoles de routage dynamique.

Le routage est un mécanisme grùce auquel le meilleur chemin sera sélectionné pour acheminer des données informatiques à travers les réseaux.

Le routage IP intervient au niveau de la couche 3 RĂ©seau du modĂšle OSI (couche Internet du modĂšle TCP/IP).

L’équipement dĂ©diĂ© Ă  l’envoi de paquets Ă  travers un rĂ©seau de donnĂ©es est le routeur. Il a pour rĂŽle d’interconnecter les rĂ©seaux entre eux en sĂ©lectionnant le meilleur chemin, la meilleure route Ă  suivre, pour qu’un paquet arrive Ă  sa destination finale.

Pour que les routeurs puissent transfĂ©rer des paquets d’un rĂ©seau Ă  un autre, il faut leur indiquer des chemins vers des destinations diverses, qu’ils vont consigner dans leur table de routage.

Dans l’article prĂ©cĂ©dent, j’ai Ă©galement Ă©voquĂ© la notion de distance administrative. Plus celle-ci est basse, plus la route sera considĂ©rĂ©e comme « fiable ». La route la plus fiable sera donc celle empruntĂ©e en prioritĂ© par le routeur pour acheminer les paquets.

Si dans un réseau vous utilisez plusieurs protocoles de routage sur vos équipements, la distance administrative du protocole qui sera la plus basse, gagnera.

Info + : Si vous ne possĂ©dez aucune connaissance en routage, je vous conseille de lire l’article prĂ©cĂ©dent avant d’aborder celui-ci. Le 1er post est disponible au lien suivant :  Introduction au routage IP statique 

Dans cet article, nous allons voir et implémenter 3 protocoles de routage dynamique : RIP, EIGRP et OSPF.

Les protocoles de routage dynamique vont mettre Ă  jour automatiquement les tables de routage des routeurs (entre autres), contrairement au routage statique qui nĂ©cessite que l’administrateur renseigne lui-mĂȘme les routes.

Avant d’aller plus loin, il faut que vous ayez quelques infos supplĂ©mentaires. 😉

Vous entendrez parler de protocoles de routage à « état de lien » ou à « vecteur de distance ».

La différence réside dans les algorithmes de routage utilisés qui vont gérer la façon dont les informations sur les réseaux seront transmises entre les routeurs.

 

Protocole de routage Ă  vecteur de distance

Un protocole dynamique Ă  vecteur de distance va s’appuyer sur les distances entre les diffĂ©rents nƓuds d’un rĂ©seau, c’est-Ă -dire le nombre de sauts qui permet d’atteindre les autres routeurs.

Un routeur qui utilise un protocole à vecteur de distance va transmettre périodiquement à tous les routeurs avec lesquels il peut communiquer, les routes dont il dispose dans sa table de routage.

Info + : Un protocole de routage dynamique à vecteur de distance utilise l’algorithme de Ford-Bellman.

La diffusion des routes est annoncĂ©e uniquement aux routeurs proches. Ce veut dire qu’au final, les routeurs utilisant un protocole de ce type n’auront jamais la vision complĂšte d’un rĂ©seau.

Le problĂšme de ce type de routage est l’apparition de boucles. Les informations de routage Ă©tant Ă©changĂ©es de façon pĂ©riodique entre les routeurs (on parle de « convergence lente »), si une route s’effondre, est modifiĂ©e, ajoutĂ©e ou autres, les autres routeurs ne seront pas avertis de suite. Des paquets peuvent donc se retrouver Ă  passer indĂ©finiment par les mĂȘmes nƓuds du rĂ©seau.

De façon plus globale, on peut dire qu’un protocole Ă  vecteur de distance nĂ©cessite plus de bande passante, converge plus lentement et est simple Ă  mettre en place. Il sera plutĂŽt utilisĂ© pour des petits rĂ©seaux.

 

Protocole de routage Ă  Ă©tat de liens

A la diffĂ©rence d’un protocole de routage Ă  vecteur de distance, un protocole Ă  Ă©tat de lien permet Ă  un ensemble de routeurs d’avoir la vision complĂšte du rĂ©seau.

Dans ce type de protocole, les routeurs vont établir une relation de voisinage entre eux en envoyant des messages (de type « hello ») aux routeurs adjacents.

Une fois cette relation Ă©tablie, ils vont synchroniser l’ensemble des informations sur l’intĂ©gralitĂ© du rĂ©seau (les messages contenant des infos sur le rĂ©seau sont appelĂ©s ici des LSA pour Link State Advertisements) pour construire leur base de donnĂ©es Ă  Ă©tat de lien commune (on parle de LSDB pour Link State Database).

Dans ce contexte, chaque routeur va transmettre Ă  ses voisins toutes les informations qu’il possĂšde ce qui fait que chaque routeur va finalement connaĂźtre la totalitĂ© du rĂ©seau et va pouvoir situer mĂȘme les routeurs qui ne lui sont pas adjacents.

Info + : Un protocole de routage dynamique Ă  Ă©tat de lien utilise l’algorithme de Dijkstra.

Avec un protocole de routage Ă  Ă©tat de lien, une mise Ă  jour de la LSDB des routeurs sera effectuĂ©e directement lorsqu’une modification apparaĂźt sur l’un des Ă©quipements.

Cela permet Ă  tous les routeurs de dĂ©tecter et/ou d’ĂȘtre alertĂ© trĂšs vite lorsqu’une dĂ©faillance se produit sur un rĂ©seau grĂące Ă  leur relation de voisinage. On parle alors de convergence rapide.

Les informations des LSDB font donc l’objet d’une nouvelle analyse afin de dĂ©terminer un autre chemin pour aller d’un nƓud Ă  un autre dans le cas oĂč la liaison initiale ne fonctionne plus.

En rĂ©sumĂ©, un protocole de routage Ă  Ă©tat de lien permet aux routeurs d’avoir une vision complĂšte du rĂ©seau ce qui Ă©vite les potentiels problĂšmes de boucle. C’est un protocole Ă©volutif utilisant une conception hiĂ©rarchique utilisĂ©e pour des grands rĂ©seaux.

Bien maintenant que vous savez tout cela, je vous propose de passer à la pratique !

 

Implémentation du routage dynamique

Nous allons reprendre la mĂȘme topologie que dans l’article prĂ©cĂ©dent car elle est simple pour un premier aperçu. A vous par la suite d’ajouter plus de rĂ©seaux et donc plus de routeurs, de couper des liens entres eux, de voir comment se mettent Ă  jour les Ă©changes etc


Nous avons dans cette topologie 6 réseaux :

Notre but ici sera que toutes les machines qui sont sur des réseaux différents puissent communiquer.

Pour rĂ©aliser cette topologie sous Cisco Packet Tracer, j’ai dĂ» ajouter des ports rĂ©seaux supplĂ©mentaires aux routeurs qui par dĂ©faut n’en possĂšde que deux.

J’ai choisi de mettre des ports de switch (illustration de gauche) mais vous pouvez tout à fait ajouter un seul port Ethernet (illustration de droite) et lui attribuer directement une adresse IP.

Info ++ : : On ne peut pas attribuer d’adresse IP Ă  des interfaces de switch. Il faut attribuer une adresse au VLAN n° 1 (rĂ©seau local virtuel), oĂč toutes les interfaces sont incluses par dĂ©faut.

Vous pouvez maintenant crĂ©er la topologie que l’on va utiliser sous Cisco Packet Tracer. Si besoin, vous verrez dans les 2 premiĂšres parties de la vidĂ©o ci-dessous, comment j’ai crĂ©Ă© l’infrastructure.

Assurez-vous bien que vos PCs pinguent leur passerelle respective avant d’aller plus loin.

Info + : N’oubliez pas de faire une copie du fichier Packet Tracer une fois votre infra de base prĂȘte (sans routage) pour pouvoir tester les diffĂ©rents protocoles de routage en repartant sur une infrastructure propre.

Une fois prĂȘt, vous pouvez passer Ă  la mise en application du routage IP dynamique !

 

1. Le protocole RIP

Commençons par le plus simple, le protocole RIP (Routing Information Protocol) que nous utiliserons en version 2.

Le protocole RIP est un protocole de routage Ă  vecteur de distance qui permet Ă  un routeur de communiquer Ă  ses voisins adjacents la mĂ©trique (distance maximale en termes de « sauts » sĂ©parant d’un rĂ©seau) qui le sĂ©pare d’un rĂ©seau x ou y.

Il se base uniquement sur le nombre de sauts sĂ©parant 2 rĂ©seaux et ne tient pas compte de l’engorgement du rĂ©seau ou de la vitesse de communication d’un lien, il utilisera simplement la route la plus courte.

Info + : Pour une route utilisant le protocole RIP, la distance administrative sera de 120.

Des routeurs utilisant le RIP transmettront la totalité de leur table de routage à leurs voisins toutes les 30 secondes.

Il faut savoir que le RIP limite le nombre de saut à 15 pour éviter de créer des boucles. Au-delà de 15 sauts, un paquet sera abandonné. Pour cela, ce protocole convient au réseau comprenant moins de 15 routeurs.

La mise en place du RIP est assez simple Ă  mettre en Ɠuvre. Il suffit de dĂ©clarer dans un routeur seulement les adresses des rĂ©seaux qu’il forme avec d’autres routeurs.

Je m’explique : sur notre schĂ©ma topologique, regardons seulement nos rĂ©seaux de routeurs :

Nous voyons que :

  • R1 forme un rĂ©seau (A) avec R2 et un rĂ©seau (B) avec R3
  • R2 forme un rĂ©seau (A) avec R1 et un rĂ©seau (C) avec R3
  • R3 forme un rĂ©seau (B) avec R1 et un rĂ©seau (C) avec R2

Quand nous allons mettre en place le routage RIP sur l’un de nos routeurs, il faudra donc lui dĂ©clarer ces rĂ©seaux.

Commençons par le routeur R1 ! Activez le routage RIP en version 2 avec les commandes suivantes en mode de configuration (commandes « en » et « conf t » préalables) :

router rip
version 2

Maintenant, nous aller déclarer les réseaux que R1 forme avec R2 et R3. La commande a la forme suivante :

network [ip_réseau] 

Pour R1, vous pouvez donc saisir les 2 commandes suivantes :

network 192.168.1.0
network 192.168.2.0

Vous devriez vous demander « et pourquoi on ne dĂ©clare pas aussi le rĂ©seau D vu qu’il est aussi connectĂ© au routeur ? » unknw

TrĂšs bonne question merci de l’avoir posĂ©e !

En effet, actuellement, le rĂ©seau D n’est pas accessible. Vous pouvez tout Ă  fait le dĂ©clarer comme les 2 autres en rĂ©alitĂ©, cela va fonctionner !

L’idĂ©e, c’est d’imaginer que le R1 est connectĂ© Ă  2, 5, 12 autres rĂ©seaux
 Cela signifie que je vais devoir rentrer la commande « network
.. » pour chaque rĂ©seau ! Et comme je suis une bonne informaticienne, j’ai grave la flemme


Du coup, on va rajouter un paramétrage supplémentaire au protocole RIP qui va permettre à mon routeur R1 de redistribuer à ses voisins, la liste de tous les réseaux qui lui sont connectés, sans avoir besoin de les déclarer un par un !

La commande à saisir pour ceci est la suivante :

redistribute connected

Voilà, désormais mon routeur R1 est officiellement configuré pour faire du routage RIPv2 !

Maintenant, on s’attaque à R2 ! Voici les commandes à saisir pour le configurer :

router rip
version 2
network 192.168.1.0
network 192.168.3.0
redistribute connected

R2, ça s’est fait ! Pour R3, je vous laisse faire seul ! 😉

Une fois vos 3 routeurs configurĂ©s, lancez des tests de ping depuis les PC dans toutes les directions pour vĂ©rifier que tout le monde communique bien. Vous pouvez Ă©galement utiliser la commande tracert pour voir par quel nƓud (routeur) passe vos paquets.

Info + : La 4Ăšme partie de la vidĂ©o (dispo ICI) montre la configuration du routage RIP qui vient d’ĂȘtre effectuĂ©e.

Pour visualiser la table de routage de R1, utiliser la commande suivante :

show ip route

Et pour visualiser la base de données du protocole RIP, voici la commande :

show ip rip database

 

2. Le protocole OSPF

Nous allons maintenant voir un protocole standard ouvert à état de liens appelé OSPF (Open Shortest Path First).

Avec le protocole OSPF, chaque routeur établit des relations de voisinage en envoyant réguliÚrement des messages de type « hello » dans une zone spécifique appelé systÚme autonome.

Un systĂšme autonome c’est justement un ensemble de rĂ©seaux qui seront gĂ©rĂ©s par des groupes de routeurs qui s’échangent des informations en utilisant le mĂȘme protocole de routage.

Chaque routeur de la zone qui rĂ©pond va alors transfĂ©rer la liste des rĂ©seaux auxquels il est connectĂ© (message LSA) qui seront propagĂ©s de routeur Ă  routeur pour former au final la base de donnĂ©es Ă  Ă©tat de liens (LSDB). L’algorithme du protocole sera ensuite en charge de dĂ©terminer la meilleure route Ă  emprunter pour rejoindre chacun des rĂ©seaux inscrits dans la LSDB.

AprĂšs avoir recueilli toutes les informations, le routeur connaĂźtra alors l’ensemble de la topologie du rĂ©seau.

Info + : Pour une route utilisant le protocole OSPF, la distance administrative sera de 110.

Contrairement au RIP, OSPF ne se base pas sur le nombre de saut pour déterminer la meilleure route à suivre mais sur son « coût » (et je ne parle pas de $$$).

Le coĂ»t d’une route est en fait la mĂ©trique du protocole OSPF et se base sur la bande passante de l’interface rĂ©seau.

Pour calculer le coĂ»t d’une interface, c’est plutĂŽt simple. Il faut diviser une bande passante dite « de rĂ©fĂ©rence » qui vaut 100 000 000 bits/s (soit 10^8) par la bande passante de l’interface rĂ©seau transcrite en bits par seconde.

Voici un tableau pour mieux vous représenter cette notion de coût :

Plus le coût est faible, meilleure sera la route pour OSPF car il considÚre que la route sera celle supposément la plus rapide à la vue de son débit théorique.

Info ++ : Dans notre topologie de test, nous utilisons une topologie Point-Ă -point entre nos routeurs. En revanche, dans le cas d’une topologie « Broadcast multi-accĂšs » (telle qu’Ethernet avec des switchs), OSPF risque d’inonder le rĂ©seau de messages inutiles. Pour pallier Ă  ceci, les routeurs vont devoir Ă©lire un « Designated Router » (DR) qui sera le « chef » et qui lui seul transmettra les informations Ă  tous les autres routeurs, et un « Backup Designated Routeur » (BDR) qui prendra la place du DR en cas d’indisponibilitĂ© de ce dernier. Plus d’infos sur cet article qui explique de façon simple ce processus : OSPF DR & BDR

Bon assez de blabla, on passe à la pratique !

Reprenez une topologie sous Cisco Packet Tracer toute prĂȘte, sans routage bien sĂ»r, et commençons par R1.

Activez le routage OSPF sur R1 avec la commande suivante en mode de configuration (commandes « en » et « conf t » préalables) :

router ospf 1

Le 1 ici reprĂ©sente l’ID de processus OSPF. C’est une valeur locale propre au routeur. Ce n’est pas obligatoire d’avoir la mĂȘme sur tous les autres routeurs mais dans le cadre de ce tuto, on gardera la mĂȘme.

Ensuite, nous allons déclarer les réseaux de routeurs connus par R1, soit le réseau A et le réseau B. La commande prend la forme suivante :

network [ip_réseau] [masque_inversé] area [ID_zone]

Je vous rappelle que OSPF fonctionne par zone (area), la zone dĂ©clarĂ©e ici devra donc ĂȘtre la mĂȘme sur tous les routeurs de notre topologie.

Le « masque inversé », ou « wildcard mask » est utilisĂ© par le protocole OSPF et lui sert Ă  identifier les rĂ©seaux et sous-rĂ©seaux, comme un masque normal Ă  la diffĂ©rence qu’il s’écrit
 Ă  l’inverse !

Voici un exemple :

Un masque en 255.255.255.0 implique que les 24 premiers bits sont Ă  1 et les 8 derniers Ă  0, c’est-Ă -dire qu’on peut l’écrire en binaire de cette façon 11111111.11111111.11111111.00000000.

Pour un masque inversĂ©, les bits Ă  1 passent Ă  0 et les bits Ă  0 passent Ă  1. Ce qui veut dire qu’en binaire on Ă©crira 00000000.00000000.00000000.11111111 soit 0.0.0.255 en dĂ©cimal. Le wildcard masque du masque 255.255.255.0 sera donc 0.0.0.255.

L’ID de la zone (area) est le numĂ©ro de la zone dans laquelle nous voulons placer l’interface pour qu’elle Ă©change avec les autres routeurs. Cette area sera commune Ă  tous les routeurs de la topologie.

Pour R1, nous pouvons donc saisir les commandes suivantes :

network 192.168.1.0 0.0.0.255 area 0
network 192.168.2.0 0.0.0.255 area 0

Nous avons dĂ©clarĂ© en configuration OSPF, au routeur R1, qu’il connaissait les rĂ©seaux de routeurs A et B.

Et comme avec le protocole RIP, vous pouvez déclarer également le réseau D qui est lui aussi connecté à R1 ou utiliser simplement la commande de redistribution suivante :

redistribute connected

Le protocole OSPF a bien été configuré sur R1 ! Passons à R2, voici donc les commandes à saisir :

router ospf 1
network 192.168.1.0 0.0.0.255 area 0
network 192.168.3.0 0.0.0.255 area 0
redistribute connected

Et pour R3
 à vous de jouer !

N’oubliez pas de faire des pings Ă  partir de et en direction des 3 ordinateurs pour vĂ©rifier que la communication est opĂ©rationnelle.

Info + : La 5Ăšme partie de la vidĂ©o (dispo ICI) montre la configuration du routage OSPF qui vient d’ĂȘtre effectuĂ©e.

VĂ©rifions la table de routage de l’un de nos routeurs :

Pour vérifier la base de données du protocole OSPF, lancez la commande suivante :

show ip ospf database

Et pour vĂ©rifier les relations de voisinage d’un routeur utilisant OSPF, utilisez la commande :

show ip ospf neighbor

 

3. Le protocole EIGRP

Passons à un 3Úme et dernier protocole à découvrir : le protocole EIGRP (Enhanced Interior Gateway Routing Protocol)

La premiĂšre chose Ă  savoir sur EIGRP, c’est qu’il est Ă  la fois protocole Ă  vecteur de distance et Ă  Ă©tat de lien. On parle d’un protocole de routage hybride.

C’était Ă  la base un protocole propriĂ©taire de Cisco qu’il n’était pas possible d’utiliser sur du matĂ©riel d’autres constructeurs. Le protocole s’est ouvert au monde depuis 2013.

Info + : Le protocole de routage EIGRP utilise l’algorithme DUAL. Sa distance administrative est de 90 et il ne supporte pas plus de 224 sauts.

Il fonctionne sur le mĂȘme principe qu’OSPF et utilise des systĂšmes autonomes comme moyen d’authentification pour Ă©changer des donnĂ©es avec d’autres routeurs. Il Ă©tablit lui aussi des relations de voisinage en envoyant des messages de type « hello » dans son systĂšme autonome.

Il va stocker dans une table de voisinage les données transmises par les routeurs voisins. Ensuite il va transmettre ses propres informations de routage à tous les membres de son systÚme autonome.

Une fois toutes les infos des diffĂ©rents routeurs rĂ©ceptionnĂ©es, chaque routeur connaĂźtra l’ensemble de la topologie du rĂ©seau. Ce sera ensuite Ă  l’algorithme utilisĂ© par EIGRP de choisir la meilleure route pour accĂ©der Ă  un rĂ©seau x ou y.

La diffĂ©rence avec les autres protocoles, c’est qu’il n’utilise pas le nombre de sauts pour aller sur une destination particuliĂšre mais il tient compte de la bande passante du lien (comme OSPF), de la charge de la liaison, de sa fiabilitĂ© mais aussi du dĂ©lai de transmission.

EIGRP est un protocole de routage à convergence rapide, trÚs puissant, capable de gérer IPv4 et IPv6 et qui se déploie trÚs facilement.

Voyons cela ! Activez le routage EIGRP sur R1 avec la commande suivante en mode de configuration (commandes « en » et « conf t » préalables) :

router eigrp 10

Le 10 ici reprĂ©sente le numĂ©ro de systĂšme autonome qui devra ĂȘtre identique sur les 3 routeurs pour qu’ils s’échangent des informations de routage

Ensuite, on déclare les réseaux de routeurs connus par R1, soit le réseau A et le réseau B. La commande prend la forme suivante :

network [ip_réseau]

Les commandes à saisir sont :

network 192.168.1.0
network 192.168.2.0

Vous le voyez, pas de notion de masque ou de zone ici, juste une déclaration simple des réseaux connus, comme pour le protocole RIP.

Et une fois encore, soit vous ajouter une commande pour chaque réseau connu par le routeur, soit vous appliquez la redistribution des réseaux connectés avec la commande :

redistribute connected

Voilà pour R1 ! Et maintenant les commandes pour R2 :

router eigrp 10
network 192.168.1.0
network 192.168.3.0
redistribute connected

Et pour R3, je pense que vous avez compris que vous devez vous débrouiller seul. laugh

On n’oublie pas de tester que le routage fonctionne sur votre topologie !

Info + : La derniĂšre partie de la vidĂ©o (dispo ICI) montre la configuration du routage EIGRP qui vient d’ĂȘtre effectuĂ©e.

Une fois encore, regardons la table de routage d’un routeur :

Regardons la relation de voisinage d’un routeur sous EIGRP avec la commande :

show ip eigrp neighbors

Et affichons la topologie du réseau connu par un routeur avec la commande :

show ip eigrp topology

 

Pour aller plus loin

Sachez qu’il existe plusieurs de protocoles de routage diffĂ©rents. Certains sont dits IntĂ©rieurs et d’autres ExtĂ©rieurs. C’est-Ă -dire qu’ils sont capables de connecter des systĂšmes autonomes diffĂ©rents entre eux. Ils possĂšdent tous des distances administratives diffĂ©rentes.

Le protocole de routage BGP par exemple, le plus utilisĂ© sur le rĂ©seau Internet, est un protocole externe. Vous pouvez Ă©galement croiser les protocoles IS-IS ou IGRP…

 

Ceci conclut ce long article sur le routage dynamique ! N’hĂ©sitez pas Ă  crĂ©er votre propre topologie sous Cisco Packet Tracer avec de plus en plus de routeurs pour bien comprendre le fonctionnement des protocoles.

Quant Ă  moi, je vous dis Ă  trĂšs vite ! kiss


Introduction au routage IP dynamique [+vidéo]

Articles pouvant vous intéresser