Routage⚓
Le routage
Le datagramme (ou paquet) IP
Comme pour la couche 2, le datagramme IP va être une suite de 0 et de 1 organisés comme suit :
??? | Adresse IP SRC | Adresse IP DEST | DONNEES |
Adresse IP SRC : Adresse IP d'où provient le paquet à envoyer
Adresse IP DEST : Adresse IPde destination
DONNEES : Les Données à envoyer
Encapsulation : Lors de l'envoi d'une donnée, un entête est ajouter à chaque passage par une couche. Au passage par la couche 4, on ajoutera l'en-tête de couche 4, puis celui de couche 3 en passant par la couche 3, et ainsi de suite. Ce mécanisme s'appelle l'encapsulation, car on encapsule un message dans un autre. Au final ce qui va circuler sur le réseau est une trame de couche 2, qui contient le datagramme de couche 3 (qui lui-même contiendra l'élément de couche 4).
Retour sur la couche 2 :
La trame Ethernet est donc organisée ainsi :
MAC DST | MAC SRC | Protocole de couche 3 | En-tête de couche 3 | En-tête de couche 4 | Données à envoyer | CRC |
Le routeur
Le routage permet d'envoyer un message en dehors du réseau local. En effet les réseaux sont reliés les uns aux autres, et une information passe souvent par plusieurs réseaux pour en joindre un autre (foire figure page 1). Le routeur a au moins 2 interfaces réseau reliées chacune à un réseau distinct. Un ordinateur ayant deux cartes réseau pourra être un routeur. Un routeur accepte de relayer des paquets qui ne sont pas pour lui alors qu'une simple machine les « ignore ».
Exemple :
Une routeur ayant comme adresse MAC l'adresse 00:11:22:33:44:55 et comme adresse IP 192.168.0.1 reçoit la trame suivante, dans laquelle on précise l'en-tête de couche 3, sur une de ses interfaces :
00:11:22:33:44:55 | 01:2B:45:56:78:ED | IP | ??? | IP_SRC:10.0.0.1 | IP_DST:136.42.0.28 | Données | CRC |
Quelle est l'adresse IP de la machine qui a envoyé ces informations ?
Cette adresse IP est bien l'adresse IP source 10.0.0.1.
Quelle est l'adresse MAC de la machine qui a envoyé ces informations ?
Nous ne pouvons pas la connaître. La machine 10.0.0.1 ne fait pas partie de notre réseau et nous ne
connaîtrons jamais son adresse MAC. L'adresse MAC source (00:11:22:33:44:55) de la trame reçue est
celle du dernier routeur qui nous a envoyé la trame.
Comment cette trame va-t-elle être interprétée par le système ?
L'adresse MAC de destination correspond à l'adresse MAC de la machine. Le système d'exploitation lira la suite de la trame. Il est inscrit IP, donc le paquet IP sera envoyé à la couche 3. La couche 3, donc le protocole IP, lit l'ensemble des informations de l'en-tête IP, puisque ce datagramme nous est destiné mais l'adresse IP de destination du datagramme ne correspond pas à l'adresse IP du routeur. En fait iI est normal pour un routeur de recevoir un message qui ne lui est pas destiné. Son rôle va être d'aiguiller le datagramme vers sa destination. Il possède une table dans laquelle est indiqué le prochain routeur auquel il doit envoyer le datagramme pour que celui-ci arrive à sa destination. Cette table est très importante et s'appelle la table de routage.
La table de routage
La table de routage va donc lister les routeurs auxquels le datagramme peut être envoyé pour joindre une destination donnée. La destination donnée ne va pas être une machine, mais un réseau. Si on devait indiquer un chemin pour chaque machine sur Internet, les tables de routage seraient énormes ! Le principe est d'avoir d'un côté la liste des réseaux que l'on veut joindre, et de l'autre la liste des routeurs à qui nous devons envoyer le datagramme pour joindre les réseaux. On appelle aussi ce routeur une passerelle.
Voici un exemple de table de routage :
Réseau à joindre | Passerelle |
192.168.1.0/24 | 10.0.0.253 |
192.168.122.0/24 | 10.0.0.45 |
192.168.8.0/24 | 10.0.0.254 |