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.
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:
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.
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:
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.
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:
Le terme de table de routage est ambigu, il cache en effet 2 notions:
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:
Dans la table de routage on a donc soit des entrées avec des destinations, soit l'entrée du routeur par défaut.
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.