Education

Protocoles de routage

Introduction

Tout objet connecté à Internet (Objet IP) est :

  • Identifié par une adresse IP indiquant le numéro de l’objet et le réseau auquel appartient cet objet (exemple : 192.168.2.5/24 indique que 192.168.2.5 est le numéro de l’objet IP et 192.168.2.0 est le numéro du réseau auquel appartient cet objet).
  • Connecté physiquement à un réseau local  de niveau 2 du modèle OSI (Ethernet, Frame Relay, ATM…)

  D’autre part, un objet IP communique :

  • Directement avec les autres objets du même réseau grâce à la couche 2 du réseau local.
  • En utilisant des passerelles de niveau 3, appelées routeurs, avec les objets IP appartenant à d’autres réseaux IP.

La fonction de routage est donc nécessaire dès lors qu’un objet IP cherche à communiquer avec un objet IP appartenant à un réseau différent du sien. Il s’agit d’une interconnexion de réseaux. Dans le cas du TCP/IP, cette fonction est assurée grâce au protocole IP. En ce sens, Le protocole IP route des réseaux et non des objets IP.

Table de routage

Un  routeur connecte des réseaux entre eux et utilise pour cela une table de routage qui établit une correspondance entre une liste de réseaux  et les passerelles pour atteindre ces réseaux. Pour router un paquet IP, le module routage extrait l’adresse réseau de l’adresse destination du paquet, et consulte sa table de routage pour trouver le chemin pour atteindre ce réseau.

La table de routage se présente sous la forme d’un tableau avec un certain nombre de lignes où chaque ligne contient :

  • Source : indique comment la passerelle a appris la route (passerelle est directement connectée au réseau physique associé au réseau IP, routage statique, routage dynamique (RIP, OSPF, BGP,…)).
  • Adresse réseau : C’est le réseau de destination
  • Adresse passerelle : Par où doit passer le paquet
  • Interface de sortie : C’est l’interface de la passerelle par où il faut envoyer le paquet pour atteindre l’hôte demandé si le réseau de destination est directement raccordé à la passerelle, ou pour atteindre la prochaine passerelle, si le réseau de destination n’est pas directement raccordé.
Etude sur un exemple

Soit la topologie réseau de la figure 1.

Scénario : PC1 désire afficher une page HTTP d’un serveur  d’adresse, à titre d’exemple, 10.0.0.4

  • PC1 saisit dans la barre d’adresse du navigateur, l’adresse du serveur à atteindre.
  • Le pile IP de PC1  examine  l’adresse et trouve qu’elle n’appartient pas à son propre réseau. Il consulte sa table de routage. Si l’administrateur réseau y a configuré un Gateway Default (passerelle par défaut), PC1 envoie les paquets vers l’adresse IP de cette passerelle qui est dans le présent scénario le routeur R.
  • Le routeur R extrait le paquet IP de la trame reçue et analyse l’adresse IP de destination 

Si l’adresse IP de destination est celle de la passerelle, le paquet est envoyé dans les couches supérieures  vers la couche application de la passerelle (C’est le cas où on cherche à administrer le routeur pour faire un Telnet par exemple).

Si l’adresse IP de destination est différente de celle de la passerelle, le paquet est envoyé à la fonction routage implémentée dans le routeur qui analyse la partie réseau de l’adresse 

  • Si le réseau demandé est le même que celui de l’adresse IP source, le paquet est renvoyé sur l’interface d’où il provient et  un paquet ICMP Redirect est envoyé à la station source (PC1 dans notre scénario).
  • Si le réseau demandé est différent de celui de l’adresse IP source, le routeur consulte sa table de routage :

1. Le réseau destinataire existe dans la table de routage, le champ TTL est décrémenté de 1. Au cas où le TTL est égal à 0, le paquet est détruit  et un paquet ICMP Time Exceeded est envoyé à la station source (PC1 dans notre scénario). Si au contraire le TTL est différent de 0, le paquet est envoyé au prochain Gateway pour le réseau destinataire

2. Le réseau destinataire n’existe pas dans la table de routage, le routeur voit si sa table de routage propose un chemin par défaut. Dans notre scénario, le Gateway est 12.2.3.4). Le même traitement sur le TTL est appliqué que précédemment et si la valeur du TTL est différente de 0, le paquet est envoyé à la passerelle indiquée. Si, par contre, un Gateway n’est pas proposé, le paquet est détruit et un ICMP Destination Unreachable est envoyé à PC1.

Protocoles de routage

Le rôle principal des protocoles de routage est de :

  • Les protocoles à états de liens (link state) : OSPF, IS-IS
  • Les protocoles à vecteur de distance (Distance vector) : RIP, IGRP
Le protocole OSPF

OSPF (Open Shortest Path First) est un protocole de routage à états de lien. C’est un standard ouvert fonctionnant sur différents types de routeurs abstraction faite du constructeur.

OSPF opère en quatre étapes :

Neighbor discovery (Etablissement de relations de voisinage)

Pour découvrir ses voisins, le routeur envoie un message hello en multicast (224.0.0.5/FF02 :: 5).Tous les routeurs voisins avec OSPF activé, reçoivent ce message. Chaque routeur vérifie si les informations listées dans le tableau de la figure 2, auquel cas, le routeur répond en unicast en envoyant son router ID dans le neighbor list.

Remarque : Si toutes les informations de la figure 2 correspondent, les deux routeurs basculent dans l’état Two-way State.

Exchanging topology table (LSDB)

Les routeurs envoient les messages DBD (DataBase Description) en multicast pour s’échanger leurs LSDBs. Quand un routeur reçoit le LSDB, il engage les actions suivantes :

Choix du meilleur chemin 

Maintenant que tous les routeurs ont la même topologie table (LSDB), chaque routeur va appliquer séparément l’algorithme SPF pour déterminer les meilleurs chemins

Building up routing table 

Chaque routeur met les meilleurs chemins calculés précédemment dans une table appelée routing table .C’est cette table qui va être utilisée pour le routage du trafic

Comment maintenir les informations de routage ?

Le protocole OSPF peut être opéré pour différentes topologies réseau. La manière d’établir une relation de voisinage va dépendre de la topologie réseau. Aussi, il est important de configurer OSPF correctement selon chaque type de topologie (Il faut noter, à titre d’exemple que la création de la relation de voisinage se fait automatiquement dans certains types de topologies alors qu’elle doit être crée manuellement pour d’autres.

Exemple : Topologie Multi-access :

La figure 3 représente un exemple d’une topologie Broadcast Multi-access. 

  • Cette topologie concerne généralement les technologies type LAN (Ethernet, Token Ring…)
  • La relation de voisinage (neighbor relationship) est créée automatiquement
  • Nécessité d’élection de DB/BDR
  • Par défaut, le paquet Hello est tous les 10 secondes et le dead interval est de 40 secondes
  • Le paquet envoyé au DR/BDR est du type multicast sur l’adresse 224.0.0.6/FF02 ::6
  • Les paquets envoyés par le DR aux autres routeurs est du type multicast sur l’adresse 224.0.0.5/FF02 ::5 Tous les routeurs voisins forment une relation full adjacencies uniquement avec le DR et le BDR. L’élection du DR et du BDR se fait selon les critères suivants :
Calcul du coût (cost)

Le calcul du coût se base sur le débit de chaque interface en utilisant la formule suivante :

  • Débit de référence / Débit de l’interface
  • Avec  100000 Kbps pris comme débit de référence

Remarque : Pour des débits supérieur, il faut changer la référence e reconfigurant le routeur

Exercice d’application

Soit la topologie réseau de la figure 4 et R1 route le réseau 192.168.0.0 vers le réseau 10.0.0.0

Le calcul montre que le chemin  reliant les deux réseaux à partir de de R1 est celui passant par R3. C’est donc ce chemin qui sera retenu dans le routing table de R1.