Skip to content

Routage

Notion de table de routage

Définition

Un réseau informatique étendu est constitué de routeurs interconnectés entre-eux.

Le rôle des routeurs est de relayer les paquets d'un réseau à un autre afin de les acheminer vers le bon réseau.

Exemple de réseau étendu :

L'interconnexion des routeurs forme ce que l'on appelle la topologie du réseau.

Exemple concret

Soit le réseau suivant :

Ce réseau étendu comporte trois routeurs.

Routeur 1 :

Rappel de la topologie du réseau étudié

Le routeur 1 dispose de 4 interfaces réseaux respectivement connectées aux réseaux :

  • 192.168.1.0 /24 via son interface d'adresse 192.168.1.254
  • 192.168.2.0 /24 via son interface d'adresse 192.168.2.254
  • 10.10.10.0 /24 via son interface d'adresse 10.10.10.254
  • 10.10.11.0 /24 via son interface d'adresse 10.10.11.254

Routeur 2 :

Rappel de la topologie du réseau étudié

Le routeur 2 dispose de 3 interfaces réseaux respectivement connectées aux réseaux :

  • 10.10.10.0 /24 via son interface d'adresse 10.10.10.253
  • 192.168.5.0 /24 via son interface d'adresse 192.168.5.254
  • 10.10.12.0 /24 via son interface d'adresse 10.10.12.254

Routeur 3:

Rappel de la topologie du réseau étudié

Le routeur 3 dispose de 4 interfaces réseaux respectivement connectées aux réseaux :

  • 10.10.12.0 /24 via son interface d'adresse 10.10.12.253
  • 10.10.11.0 /24 via son interface d'adresse 10.10.11.253
  • 192.168.4.0 /24 via son interface d'adresse 192.168.4.254
  • 192.168.3.0 /24 via son interface d'adresse 192.168.3.254

Rôle d'un routeur

Lors de la réception d'un paquet le routeur l'analyse afin de déterminer l'adresse de destination.

En fonction de cette adresse, le routeur choisit vers quel routeur voisin retransmettre ce paquet afin de le faire progresser vers sa destination.

Le routeur détermine le routeur voisin à atteindre à l'aide de sa table de routage.

Le paquet transite ainsi de routeur en routeur jusqu'à l'ordinateur de destination.

Table de routage d'un routeur

La table de routage d'un routeur associe les adresses des réseaux à atteindre aux adresses IP des routeurs voisins par lesquels le paquet doit être acheminé pour atteindre ces réseaux.

Exemple concret

Rappel de la topologie du réseau étudié

Si le PC d'adresse IP 192.168.5.1 envoie un paquet à destination du PC d'adresse IP 192.168.3.1, le PC transmet le paquet au routeur 2 relié à son réseau local.

Le routeur 2 a alors plusieurs possibilités :

  • soit envoyer le paquet au routeur 1 ;
  • soit envoyer le paquet au routeur 3 ;

C'est la table routage du routeur 2 qui spécifie quel routeur voisin choisir.

Ce processus est répété de la même manière par chaque routeur afin de faire progresser le paquet jusqu'à sa destination (atteindre le routeur 3 pour délivrer le paquet au PC d'adresse IP 192.168.3.1).

Table de routage en statique

En mode statique (en mode statique, la table de routage est élaborée manuellement et n'est pas dynamique), une table de routage contient 3 colonnes :

  • Adresse du réseau à atteindre (destination) ;
  • Adresse (passerelle) de l'interface du routeur voisin par lequel faire transiter le paquet afin d'atteindre la destination ;
  • Interface réseau du routeur utilisée pour atteindre la passerelle (soit le type d'interface eth0, wifi0, fasteth0, etc... soit l'adresse IP de cette interface).

Exemple concret

Rappel de la topologie du réseau étudié

Voici un extrait de la table de routage statique possible pour le routeur 1 :

Réseau de destination Passerelle Adresse de l'interface
192.168.1.0 Rien à spécifier ou 192.168.1.254 192.168.1.254
192.168.2.0 Rien à spécifier ou 192.168.2.254 192.168.2.254
10.10.10.0 Rien à spécifier ou 10.10.10.254 10.10.10.254
10.10.11.0 Rien à spécifier ou 10.10.11.254 10.10.11.254
192.168.3.0 10.10.10.253 10.10.10.254
... ... ...

  • La ligne 1 de la table de routage indique que pour accéder au réseau 192.168.1.0 il ne faut pas passer par un autre routeur. En effet, le routeur 1 devra envoyer le paquet sur son interface d'adresse IP 192.168.1.254 (ici la passerelle peut ne pas être spécifiée car le réseau 192.168.1.0 est directement connecté au routeur 1, si on souhaite spécifier une passerelle pour cette ligne 1 on indique l'adresse IP de l'interface du routeur par laquelle passer, ici 192.168.1.254).

  • La ligne 5 de la table de routage indique que pour accéder au réseau 192.168.3.0 il faut passer par une passerelle (routeur 2). Le routeur 1 devra envoyer le paquet sur son interface d'adresse IP 10.10.10.254 afin de pouvoir accéder à la passerelle 10.10.10.253 (adresse IP de l'interface réseau du routeur 2 connectée au réseau 10.10.10.0).

Ecriture d'une table de routage

Parfois dans une table de routage les passerelles et les interfaces apparaissent sous cette forme (équivalente à la précédente) :

Réseau de destination Passerelle Adresse de l'interface
192.168.1.0 eth0
192.168.2.0 eth1
10.10.10.0 eth2
10.10.11.0 eth3
192.168.3.0 Routeur 2 eth2
... ... ...

Cette table de routage du routeur 1 est équivalente à la précédente :

  • Ligne 1 : pour accéder au réseau 192.168.1.0 il ne faut pas passer par un autre routeur, mais il faut envoyer les données sur l'interface réseau du routeur 1 nommée eth0.
  • Ligne 5 : pour accéder au réseau 192.168.3.0 il faut passer par une passerelle (routeur 2) et il faut envoyer les données sur l'interface réseau du routeur 1 nommée eth2.

Définition

Lors de son trajet, le paquet est amené à traverser un ou plusieurs routeurs.

On parle d'un saut lorsque le paquet traverse un routeur, .

Exemple concret

Rappel de la topologie du réseau étudié

Par exemple, lorsqu'un paquet part du PC 192.168.5.1 pour atteindre le PC 192.168.4.1 en passant par le routeur 3 le paquet fait 2 sauts : le paquet traverse le routeur 2 puis le routeur 3.

Application

Exercice 1

Soient les tables de routage suivantes :

Routeur 1 :

Rappel de la topologie du réseau étudié

Réseau de destination Passerelle Adresse de l'interface
192.168.1.0 192.168.1.254
192.168.2.0 192.168.2.254
10.10.10.0 10.10.10.254
10.10.11.0 10.10.11.254
192.168.3.0 10.10.10.253 10.10.10.254
192.168.4.0 10.10.11.253 10.10.11.254
192.168.5.0 10.10.11.253 10.10.11.254
10.10.12.0 10.10.11.253 10.10.11.254

Routeur 2 :

Rappel de la topologie du réseau étudié

Réseau de destination Passerelle Adresse de l'interface
192.168.5.0 192.168.5.254
10.10.10.0 10.10.10.253
10.10.12.0 10.10.12.254
192.168.1.0 10.10.10.254 10.10.10.253
192.168.2.0 10.10.10.254 10.10.10.253
192.168.3.0 10.10.12.253 10.10.12.254
192.168.4.0 10.10.12.253 10.10.12.254
10.10.11.0 10.10.12.253 10.10.12.254

Routeur 3 :

Rappel de la topologie du réseau étudié

Réseau de destination Passerelle Adresse de l'interface
192.168.3.0 192.168.3.254
192.168.4.0 192.168.4.254
10.10.11.0 10.10.11.253
10.10.12.0 10.10.12.253
192.168.1.0 10.10.11.254 10.10.11.253
192.168.2.0 10.10.11.254 10.10.11.253
192.168.5.0 10.10.12.254 10.10.12.253
10.10.10.0 10.10.11.254 10.10.11.253

Saisir la topologie du réseau puis compléter les tables dans Filius.

Tester la connectivité entre chacun des ordinateurs.

Indiquer le chemin qu'un paquet va prendre si il doit transiter entre le réseau 192.168.1.0 et 192.168.3.0.

Indiquer le nombre de sauts associés.

Etablir une nouvelle table de routage pour le routeur 1 afin de minimiser le nombre de saut.

Définition

Le routage précédent est nommé routage statique.

En effet, une modification de la topologie (panne ou modification de la topologie réseau) n'aura aucun impact sur les tables de routage.

La partie suivante aborde cette notion de routage dynamique.

En effet, si un élément réseau tombe en panne ou qu'une modification est apportée à la topologie, il est serait pertinent de recalculer toutes les routes et de mettre à jour les tables de routage de chaque routeur.

Protocole de routage

Définition

Le nombre de routeurs dans un réseau est généralement trop grand pour pouvoir configurer les tables de routages manuellement.

Les routeurs utilisent des protocoles de routage afin d'élaborer leurs tables de routage dynamiquement (on abordera dans ce cours le protocole RIP et le protocole OSPF).

On parle alors de routage dynamique.

Ces protocoles de routage permettent aux routeurs de s'échanger des informations afin de découvrir ou de mettre à jour la topologie du réseau et de choisir les "meilleures" routes pour relayer les paquets.

Ce processus dynamique est décentralisé sur chaque routeur.

Ainsi, en plus de la transmission des paquets, les routeurs s'échangent les informations dont ils disposent sur les routes du réseau.

Principe d'un protocole de routage

Initialement un routeur dispose d'informations sur ses voisins immédiats ainsi que des réseaux auxquels il est connecté.

Il peut déterminer si un routeur voisin est en panne ou si la liaison est rompue en envoyant régulièrement des messages à ces voisins et en mesurant les temps de réponse.

Il peut alors propager ces informations à tous ses voisins, qui peuvent eux-mêmes les retransmettre à leurs voisins, et ainsi de suite.

Au final, de proche en proche, tous les routeurs finissent par partager les mêmes informations sur la topologie du réseau.

Nous allons détailler ici deux protocoles :

  • le protocole RIP ;
  • et le protocole OSPF.

Protocole RIP

Définition

Le protocole de routage RIP (Routing Information Protocol) est basé sur un échange d'informations, entre routeurs, portant sur les destinations que chacun peut atteindre.

Chaque routeur transmet à ses voisins :

  • les adresses des réseaux auxquels il est directement connecté et, si il a reçu des informations de ses voisins, les adresses des réseaux auxquels ses propres voisins sont connectés ;

  • la distance en nombre de sauts qui le sépare d'un réseau donné (c'est à dire le nombre de routeurs qu'il faut traverser pour atteindre ce réseau en passant par lui).

Définition

Dans un protocole de routage, on utilise une métrique (ou coût) pour obtenir la "qualité" d'une route.

Dans le cas du protocole RIP, cette métrique (on parle aussi ici de distance) dépend du nombre de routeurs à traverser pour atteindre la destination. Cette métrique est de 1 pour accéder à un réseau directement connecté à un routeur.

Dans les sujets

Dans la majorité des sujets, la métrique est de 1 pour accéder à un réseau directement connecté à un routeur.

Il est possible que la métrique soit parfois de 0 pour accéder à un réseau directement connecté à un routeur.

Pour chaque routeur traversé, la métrique augmente de 1.

Ces couples (adresse, distance) sont appelés vecteurs de distance.

Ces indications de distance vont permettre à chaque routeur de choisir la route (le chemin) avec la métrique (le coût) la plus faible (route qui traverse le moins de routeurs possible pour atteindre le réseau souhaité).

Table de routage en dynamique

En mode dynamique, une table de routage contient donc 4 colonnes :

  • Adresse du réseau à atteindre (destination) ;
  • Adresse (passerelle) de l'interface du routeur voisin par lequel passer pour atteindre la destination ;
  • Interface réseau du routeur à utiliser pour atteindre la passerelle (soit le type d'interface eth0, wifi0, fasteth0, etc... soit l'adresse ip de cette interface) ;
  • Distance en nombre de sauts vers la destination (métrique).

Métrique maximale

Pour limiter le nombre de routes inutiles et limiter la taille des messages RIP sur le réseau, on considère qu'une métrique de 16 correspond à une route impossible à atteindre.

Si un routeur apprend qu'un de ses voisins peut joindre un autre réseau en 15 sauts, il ne tiendra donc pas compte lui-même de cette route : en rajoutant 1, il faudra 16 sauts depuis ce routeur.

De la même façon, si un routeur normalement adjacent n'envoie plus de routes RIP depuis 30 minutes, le routeur le placera sur un nombre de sauts de 16, rendant le lien inexistant.

De proche en proche, les autres routeurs apprendront donc également que cette route n'est plus disponible.

Exemple concret

Soit le réseau étendu suivant (ici tous les masques de sous-réseau ont 255.255.255.0 (donc /24) comme valeur) :

La table de routage du routeur 3 est ici :

Destination Passerelle Interface Distance
192.168.3.0 /24 eth0 1
192.168.0.0 /24 Routeur 0 eth1 2
192.168.2.0 /24 Routeur 0 eth1 4

Cette table indique :

  • Ligne 1 : l'accès au réseau 192.168.3.0 se fait via l'interface eth0 du routeur 3 sans passer par un autre routeur. La métrique est ici de 1 (le routeur 3 est directement connecté au réseau 192.168.3.0).
  • Ligne 2 : l'accès au réseau 192.168.0.0 se fait via l'interface eth1 du routeur 3 en passant par le routeur 0. La métrique est ici de 2 car il y a le routeur 0 à traverser.
  • Ligne 3 : l'accès au réseau 192.168.2.0 se fait via l'interface eth1 du routeur 3 en passant par le routeur 0. La métrique est ici à 4 car il y a le routeur 0, le routeur X et le routeur 2 à traverser.

Définition

Du point de vue du protocole RIP, la meilleure route (le meilleur chemin) est la route qui va demander le moins de sauts.

Le principe du protocole RIP est le suivant :

Etape 1 :

Au départ, chaque routeur possède dans sa table de routage uniquement les lignes concernant les réseaux qui lui sont directement connectés.

Etape 3 :

Chaque routeur envoie sa table de routage à ses voisins directs qui répondent en envoyant en réponse leur table de routage.

Etape 4 :

Chaque routeur met alors à jour sa table de routage selon les principes suivants :

  • Si le routeur découvre une nouvelle destination avec une distance D, il ajoute cette destination dans sa table de routage avec pour passerelle le routeur à l'origine de l'envoi et avec pour distance la valeur D + 1.

  • Si le routeur reçoit une destination déjà présente dans sa table avec une distance D plus courte, il met à jour sa table de routage pour cette destination avec la distance D + 1.

  • Si le routeur reçoit une destination déjà présente dans sa table avec une distance D plus longue en provenance d'une nouvelle passerelle, il ignore cette nouvelle route.

  • Si le routeur reçoit une destination déjà présente dans sa table avec une distance D plus longue mais avec la même passerelle, c'est qu'il y a eu un changement de topologie réseau, il met donc à jour la distance reçue (nouvelle distance D + 1).

Actualisation :

Afin de maintenir à jour les informations de la topologie du réseau, les routeurs transmettent toutes les 30 secondes les routes qu'ils connaissent à leurs voisins directs.

Si un routeur voisin n'a pas renvoyé de table de routage depuis trois minutes, on considère qu'il n'est plus joignable pour le moment : on lui attribue une métrique de 16 (le nombre de sauts maximum dans le cadre du protocole RIP étant de 15, 16 correspond donc à une distance infinie donc la liaison est inutilisable).

Après un certain temps, la ligne associée est supprimée de la table de routage. Elle réapparaîtra une fois le matériel réparé, grâce à l'échange régulier des informations.

Stabilisation :

En absence de changement de la topologie du réseau, il y a alors stabilisation des tables de routage après un certain temps.

Exemple concret

Initialement, un routeur (routeur A) a la table de routage suivante (dans laquelle apparaissent les réseaux auxquels il est directement connecté) :

Destination Passerelle Interface Distance
192.168.3.0 /24 eth0 1
192.168.0.0 /24 eth1 1
192.168.2.0 /24 eth2 1

Le routeur A envoie sa table à ses voisins et reçoit en réponse, dans un premier temps, la table suivante d'un routeur B dont l'adresse est 192.168.2.250 :

Destination Passerelle Interface Distance
192.168.4.0 /24 eth0 1
192.168.5.0 /24 eth1 1

Le routeur A découvre qu'il peut atteindre deux nouveaux réseaux en passant par le routeur B.

Le routeur A met donc à jour sa table de routage avec des distances de 1 + 1 = 2 :

Destination Passerelle Interface Distance
192.168.3.0 /24 eth0 1
192.168.0.0 /24 eth1 1
192.168.2.0 /24 eth2 1
192.168.4.0 /24 192.168.2.250 eth2 2
192.168.5.0 /24 192.168.2.250 eth2 2

On voit dans la table mise à jour du routeur A que pour atteindre le réseau 192.168.4.0 les données doivent transiter via l'interface réseau eth2 du routeur A afin de communiquer avec le routeur B (passerelle 192.168.2.250).

Voici à présent la table du routeur A après plusieurs échanges avec ses voisins :

Destination Passerelle Interface Distance
192.168.3.0 /24 eth0 1
192.168.0.0 /24 eth1 1
192.168.2.0 /24 eth2 1
192.168.4.0 /24 192.168.2.250 eth2 2
192.168.5.0 /24 192.168.2.250 eth2 2
192.168.6.0 /24 192.168.0.250 eth1 4
192.168.7.0 /24 192.168.0.250 eth1 2

A ce moment là, le routeur C connecté au réseau 192.168.0.0 /24 envoie l'extrait de table suivante :

Destination Passerelle Interface Distance
... ... ... ...
192.168.6.0 /24 eth3 2
192.168.7.0 /24 eth0 4

Le routeur A possède déjà une route vers 192.168.6.0 mais avec une distance égale à 4 plus grande que 2 + 1. Le routeur A met à jour cette ligne de la table.

Le routeur A possède déjà une route vers 192.168.7.0 avec la même passerelle (sur le réseau 192.168.0.0) mais avec une distance égale à 2 donc plus courte que 4 + 1. Il y a eu un problème sur l'ancienne route. Le routeur A met à jour cette ligne de la table avec la nouvelle distance (4 + 1 = 5).

La table du routeur A devient donc :

Destination Passerelle Interface Distance
192.168.3.0 /24 eth0 1
192.168.0.0 /24 eth1 1
192.168.2.0 /24 eth2 1
192.168.4.0 /24 192.168.2.250 eth2 2
192.168.5.0 /24 192.168.2.250 eth2 2
192.168.6.0 /24 192.168.0.250 eth1 3
192.168.7.0 /24 192.168.0.250 eth1 5

Application

Exercice 2

Rappel de la topologie du réseau étudié

Sur Filius, activer le routage dynamique RIP.

Utiliser la commande traceroute afin de vérifier le routage des paquets depuis le réseau 192.168.1.0.

Afficher et analyser la cohérence des tables de routage des routeurs en saisissant l'adresse IP d'une de leurs interfaces dans un navigateur web d'un des PC du réseau étendu.

Exercice 3

Soit la topologie suivante :

Etablir l'évolution des tables de routage des 3 routeurs.

Protocole OSPF

Définition

Une des limitations avec le protocole RIP est que ce protocole ne tient pas compte de la vitesse de transmission des données.

Le protocole OSPF (Open Shortest Path First) tient compte de la vitesse de transmission des données.

La métrique utilisée est la somme des couts des liaisons rencontrées sur la route.

Le coût d'une liaison est donné par le rapport suivant :

d est le débit de transmission de la liaison considérée en bit/s.

Dans les sujets

La valeur 108 peut-être différente d'un exercice à un autre.

Soyez attentif à l'énoncé.

Exemples concrets

  • Pour une liaison ayant un débit de 10 Mbits/s soit 107 bit/s on a :

    coût de la liaison = 108 / 107 = 10

  • Pour une liaison de 100 Mbits/s, on a un coût de la liaison = 108 / 108 = 1

  • Pour une liaison de 10 Gbits/s, on a un coût de la liaison = 108 / 1010 = 0.01

Autre exemple concret

On considère le réseau étendu dont la topologie est la suivante :

Après calculs des coûts, on obtient :

Pour que le portable A atteigne le portable B, la route utilisée sera donc R1 -> R0 -> R3 -> R2 avec un coût de 2,1 plutôt que R1 -> R4 -> R2 avec un coût de 20.

Remarque

Dans l'exemple précédent les coûts d'accès aux différents réseaux n'ont pas été indiqués.

Ils sont généralement communs aux différentes routes potentielles et n'entrent pas en compte pour calculer les meilleures routes.

Par contre, si un réseau est accessible via deux routeurs avec des débits différents, il faudrait en tenir compte.

Application

Faire les exercices suivants.