Outils pour utilisateurs

Outils du site


cours:informatique:reseau:principes_des_reseaux_de_donnees:440_fonction_de_relayage

La fonction de relayage

On s'intéresse ici à la façon dont l'adresse est utilisée pour acheminer des données d'une source vers une destination dans le réseau.

Notion de chemin

Dans un réseau plusieurs équipements sont connectés par des liaisons de différentes natures (support tangible, non tangible, courant porteur, fibre optique, etc). Dans tous les cas on aura une voie de communication entre deux nœuds du réseau.

Un chemin c'est la suite de liens et de nœuds intermédiaires à traverser pour atteindre la destination.

Prenons pour exemple le réseau fictif ci-dessous. Si l'on souhaite depuis le site de Rennes envoyer des paquets à Paris plusieurs solutions sont possibles:

  • Rennes, Caen, Rouen, Paris;
  • Rennes, Nantes, Angers, Orléans.

Au sein des réseaux, lors des transmissions, on établi en général un chemin principal que l'on conserve pour acheminer les données. La fonction de relayage va nous permettre de parcourir le chemin.

Acheminement des paquets : le relayage

Lors du relayage l'acheminement est déterminé par la destination : c'est l'analyse de l'adresse de destination qui va permettre de déterminer le chemin.

Chaque nœud intermédiaire va exécuter un algorithme assez simple qui est de regarder d'abord le paquet reçu, considérer son adresse destination et la comparer à sa propre adresse:

  • Si elle correspond, le paquet est à destination et pourra être traité (transmis à la couche supérieure).
  • Si elle ne correspond pas, il va falloir choisir quel est le prochain relai (saut) et transmettre le paquet au prochain équipement.

Reprenons l'exemple de la communication entre Rennes et Paris sur le réseau fictif présenté dans la section précédente. Pour notre exemple le chemin conservé par le réseau est Rennes - Rouan - Caen - Paris.

  1. Rennes étant la source, elle émet le paquet qui descend les couches protocolaires pour être émis sur le support physique.
  2. Le paquet arrive à Caen. Il remonte les couches protocolaires jusqu'à atteindre la couche réseau. Le nœud exécute l'algorithme de relayage évoqué précédemment. La machine de Caen analyse l'adresse de destination présente dans le paquet et détermine que la destination n'est pas Caen : elle transmet le paquet vers le prochain saut.
  3. Le prochain saut étant Rouen, le paquet redescend les couches protocolaires et transmis par le médium qui relie Caen à Rouen.
  4. Le paquet arrive à Rouen, il est remonté dans les couches réseau et l'algorithme est exécuté à nouveau. On s’aperçoit que la destination n'est pas Rouen et on le transmet vers le prochain saut : Paris.
  5. Arrivé à Paris, le paquet remonte dans la couche réseau, et cette fois l'algorithme conclu que la destination est atteinte. Le paquet sera donc traité par le noeud courant qui transmettra les informations à la couche supérieure : c'est à dire la couche Transport.

Dans cet exemple nous avons considéré que les noeuds intermédiaires connaissent le prochain saut à utiliser pour atteindre la destination. Où trouve t il cette information?

L'information est déterminée grâce à la table de routage. Chaque noeud intermédiaire va maintenir une table locale qui associe pour chaque destination connue le prochain saut (noeud) à utiliser. La destination peut être désignée:

  • soit par son adresse IP si c'est une machine;
  • soit par le préfixe de son réseau.

Le terme de table de routage est ambigu, il cache en effet 2 notions:

  1. Le relayage car la table est utilisée par la fonction de relayage pour acheminer le paquet vers le prochain saut;
  2. Le routage exécuté par le protocole de routage qui consiste à calculer l'identité du prochain saut et mettre à jour la table de routage.

En anglais cette distinction est plus claire car on utilise le terme FIB pour Forwarding (relayage) Information Base qui nomme directement cette fonction de relayage.

Un exemple de FIB ou table de routage:

  • Chaque ligne désigne une destination connue.
  • La première colonne désigne la destination : on trouve donc l'adresse iP d'une machine ou un préfixe réseau;
  • La deuxième colonne désigne le prochain saut à utiliser;
  • On trouve ensuite une notion de coût associé à la route et divers renseignements/attributs.
  • On notera une destination un peu particulière : la route par défaut. Si le paquet indique une destination qui ne figure pas dans la table de routage c'est ce routeur par défaut qui sera utilisé.

Dans la table de routage on a donc soit des entrées avec des destinations, soit l'entrée du routeur par défaut.

Algorithme de la meilleure correspondance

La fonction de relayage utilise la table de routage en appliquant l'algorithme de la meilleure correspondance.

Quand on veut transmettre un paquet, on regarde l'adresse de sa destination, et on la cherche dans la table de routage. Le routeur va ainsi parcourir toute la table de routage jusqu'à trouver l'adresse de la machine si elle est connue ou alors jusqu'à trouver l'entrée qui correspond le mieux à l'adresse du réseau de la machine. Si toute la table est parcourue et qu'il n'y a pas de correspondance trouvée, on utilise alors l'adresse du routeur par défaut, qui on l'espère connaîtra davantage de destination et pourra transmettre le paquet vers la destination.

On voit bien l'influence de la taille de la table de routage : plus elle est grande, plus la recherche du prochain saut est chronophage.

◁ Précédent | ⌂ Sommaire | Suivant ▷

cours/informatique/reseau/principes_des_reseaux_de_donnees/440_fonction_de_relayage.txt · Dernière modification : 2023/03/20 22:48 de yoann