Accueil > Réseau > Chapitre 8
Le routage, c'est le processus qui consiste à acheminer un paquet selon son adresse IP de destination. Il intervient au niveau de l'expéditeur puis sur chaque routeur où le paquet passera.
C'est la couche 3, couche réseau, qui est chargée du routage, à travers le protocole IP. Le routage ne consiste pas à déterminer le chemin complet jusqu'à sa destination.
Il déterminera seulement la prochaine destination.
Toute machine exécutant le protocole TCP / IP possède une table de routage. Celle-ci est utilisée pour déterminer en fonction de la destination, quelle sera l'adresse où envoyer le paquet.
Une table de routage est composée de 5 colonnes :
C'est là que l'on stocke les différentes destinations possibles :
une adresse de sous-réseau, une adresse du sur-réseau.
Indique le nombre de bits à comparer entre l'adresse de destination et le champ de Destination.
Adresse où transférer le paquet.
Interface réseau de la machine par où va sortir le paquet.
Coût du chemin qui permettra de choisir le meilleur chemin si plusieurs sont possibles.
Dans une table de routage, on peut stocker différents types de routes :
Dans ce cas, la colonne passerelle sera soit laissée vide, soit mise à la valeur de la colonne interface.
machine | Destination | Masque | Passerelle | Interface |
---|---|---|---|---|
H1 | 192.168.0.0 | /24 | --- | 192.168.0.1 |
ou | ||||
192.168.0.0 | /24 | 192.168.0.1 | 192.168.0.1 |
Le champ Passerelle contient l'adresse du prochain routeur dans le même SR que l'expéditeur vers la destination.
machine | Destination | Masque | Passerelle | Interface |
---|---|---|---|---|
H2 | 192.168.0.0 | /24 | --- | 192.168.0.3 |
194.19.3.0 | /24 | 192.168.0.254 | 192.168.0.2 | |
H3 | 194.19.3.0 | /24 | --- | 194.19.3.1 |
192.168.0.0 | /24 | 194.19.3.254 | 194.19.3.1 |
Elle sera utilisée pour acheminer les paquets dont la destination ne correspond à aucune ligne de la table.
Sur une machine, on appelle cette route, la passerelle par défaut (default gateway). C'est la route utilisée pour aller sur internet notamment.
Configuration : | H1 | H2 |
Adresse IP | 194.1.27.1 | 179.14.0.1 |
MSR | /24 | /16 |
Passerelle par défaut | 194.1.27.255 | 179.14.255.254 |
Dans la route de routage, la route par défaut se note avec le champ de destination à 0.0.0.0 et le masque /0.
Pour envoyer un paquet, il faut déterminer quelle est la ligne de la table de routage qui est la meilleure pour atteindre la destination.
Pour cela, IP utilise le processus suivant :
Ce processus ne retournera qu'au maximum qu'une route. Si ce n'est pas le cas, IP retournera une erreur de routage (pour un routeur, ce sera un message ICMP Host-Unreachable).
# | Destination | Masque | Passerelle | Interface |
---|---|---|---|---|
1 | 0.0.0.0 | /0 | 192.168.0.254 | 192.168.0.5 |
2 | 194.19.0.0 | /24 | --- | 192.168.0.5 |
3 | 194.19.1.0 | /24 | 192.168.0.253 | 192.168.0.5 |
4 | 192.168.1.4 | /32 | 192.168.0.253 | 192.168.0.5 |
H envoie un paquet à 192.168.1.7
Il calcule les ET bits à bits
1) 192.168.1.7
ET
0.0.0.0
= 0.0.0.0 correspond au champ Destination => conservée
2) 192.168.1.7
ET
255.255.255.0
= 192.168.1.0 non égal au champ Destination => route rejetée
3) 192.168.1.7
ET
255.255.255.0
= 192.168.1.0 correspond au champ Destination => conservée
4) 192.168.1.7
ET
255.255.255.0
= 192.168.1.0 non égal au champ Destination => route rejetée
On a 2 routes qui correspondent. IP choisit celle dont le masque est le plus long :
- route 1 : masque de 0 bits.
- route 3 : masque de 24 bits.
=> C'est la route 3 qui sera choisie
La prochaine adresse, c'est-à-dire celle où le paquet devra être envoyé pour atteindre la destination, se détermine ainsi :
Dans les 2 cas, l'interface sera celle spécifiée dans le champ Interface.
Pour accéder aux tables de routage sous Windows, on passe par l'invite de commandes (Démarrer > Exécuter > cmd).
C'est la commande route qui permet de gérer les tables de routage.
Syntaxe : route [options] commande [paramètres]
options : | ||
---|---|---|
-f | vide la table | |
-p | rend les informations persistantes (même après redémarrage) | |
commandes : | ||
affiche la table de routage | ||
-delete adresse | supprime de la table, la route ayant pour passerelle ou destination adresse | |
change | dest MSR gw [METRIC met IF int] | changer ou ajouter la route vers la destination dest, |
add | de MSR, avec la passerelle gw et, éventuellement la métrique met et l'interface int. |
Exemples :
route print
route add 172.13.0.0 255.0.0.0 189.19.1.254
Si on ne spécifie pas la métrique et / ou l'interface, c'est Windows qui les calcule).
Destination | Masque | Passerelle | Interface |
---|---|---|---|
173.13.0.0 | 255.255.0.0 | 185.19.1.254 | déterminée par Windows |
Un protocole de routage permet à un routeur d'apprendre de nouvelles routes dynamiquement. Pour cela, le protocole va utiliser les informations connues des routeurs voisins, utilisant le même protocole. Ainsi, un routeur va savoir quels sont les réseaux qu'il peut atteindre, et comment.
Il existe de nombreux protocoles de routage, que l'on peut classer en 3 catégories :
Chacun a ses avantages et inconvénients. Les critères à observer pour choisir celui qui conviendra le mieux sont :
C'est la famille de protocoles de routage la plus simple dans leur implantation. Comme leur nom indique, ils utilisent la distance (avec la métrique) et la direction pour trouver les chemins.
Le partage d'informations se fait par des envois périodiques en diffusion des informations de routage pour chaque routeur. Ces envois se feront qu'il y ait des modifications ou non, et sans aucune vérification que l'information ait été reçu ou non.
Quand un routeur reçoit d'un de ses voisins un paquet d'informations, il le traite ainsi :
Avantages :
Inconvénients :
Exemple : le protocole RIP v1
La diffusion d'information se fait par multicast : seuls les routeurs utilisant ce protocole recevront les mises à jours. De plus, les envois ne se feront que s'il y a des changements, et il y aurra emmision d'un accusé de réception.
Chaque routeur construit en mémoire la topologie complète du réseau.
Avantages :
Inconvénients :
Ils prennent les avantages des 2 autres familles et les associent en un protocole. Ils se basent généralement sur un protocole "Distance - Rector" avec des fonctionnalités "Link - State".
Les plus connus sont RIP v2 et EIGRP. Ce dernier fonctionne comme une Distance - Vector pour le traitement des mises à jour, mais il ne les envoie qu'en cas de modification et en multicast comme un Link - State.