Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Guider le trafic entre routeurs (routes statiques)

Après cette leçon: Je peux lire une table de routage et choisir la route que prend un paquet.

Leçon de 55 min5 commandesLab de routage statique : construire des routes sur un petit réseau dans le navigateur

L'aiguilleur qui ne voit qu'un carrefour

Dans une gare de triage, l'aiguilleur ne planifie pas tout le voyage du wagon. Il lit la destination, choisit une voie et passe la main au suivant.

Un routeur fait pareil avec un paquet. Il lit l'adresse de destination, choisit une ligne de sa table et transmet.

Chaque routeur du chemin refait ce même travail.

À la fin de cette leçon

Remarque

Je peux lire une table de routage et choisir la route que prend un paquet.

Mots clés

MotCe que ça veut direExemple
Table de routagela liste des réseaux d'un routeur et de la direction à prendre pour chacun
Saut suivantle routeur voisin qui reçoit le paquet ensuitevia 10.0.1.1
Route connectéeun réseau auquel le routeur est branché directement
Route statiqueune route qu'une personne a écrite à la main
Route par défautla ligne utilisée quand aucune autre ne convient0.0.0.0/0
Préfixe le plus longla ligne qui convient avec le plus de bits de réseau

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un poste choisit : direct ou passerelle

Un poste se pose d'abord une question : la destination est-elle sur mon réseau ?

Si oui, il envoie le paquet tout droit. Sinon, il l'envoie à sa passerelle par défaut, un routeur de son propre réseau.

Le poste ne planifie jamais la suite du voyage.

Lire les routes d'un poste

Commande
sudo ip netns exec h1 ip route

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Demander le chemin d'un paquet

Commande
sudo ip netns exec h1 ip route get 10.0.3.2

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Lire les réponses

Le premier Run affiche deux lignes. L'une est le réseau où se trouve h1. L'autre commence par default via 10.0.1.1 : tout le reste part vers r1.

Le second Run commence par 10.0.3.2 via 10.0.1.1 dev to-r1. Le mot via désigne le saut suivant.

Un routeur suit sa table

Un routeur a plusieurs interfaces et une table de routage. Chaque ligne dit : pour ce réseau, passez par là.

Au départ, il ne connaît que ses routes connectées. Il apprend les autres réseaux si une personne ajoute une route statique, ou si un protocole partage des routes.

Sans ligne pour un réseau, il ne peut pas lui transmettre de paquet.

Exemple : la première table d'un routeur

RéseauSaut suivantSorte
10.0.1.0/24direct, sur to-h1Connectée
10.0.12.0/24direct, sur to-r2Connectée
10.0.3.0/24aucunPas de ligne, donc pas de chemin

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Lire la table de r1 dans sa console

Commande
sudo vtysh -N r1 -c "show ip route"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Interroger r1 sur un réseau inconnu

Commande
sudo ip netns exec r1 ip route get 10.0.3.2

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Envoyer un vrai paquet depuis h1

Commande
sudo ip netns exec h1 ping -c 2 -W 1 10.0.3.2

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Pas de ligne, pas de chemin

La console liste quatre lignes pour r1. Deux commencent par C pour connectée, deux par L pour les adresses du routeur lui-même.

Le Run ip route get affiche RTNETLINK answers: Network is unreachable. La table n'a aucune ligne pour 10.0.3.2 : r1 ne sait pas où l'envoyer.

Le ping montre le même trou, vu depuis le poste. Chaque réponse commence par From 10.0.1.1 et finit par Destination Net Unreachable.

Le préfixe le plus long l'emporte

Plusieurs lignes peuvent convenir à une même adresse. Le routeur retient celle du préfixe le plus long : celle qui décrit le réseau le plus précisément.

La route par défaut, 0.0.0.0/0, convient à tout avec zéro bit de préfixe. Elle perd donc contre toute autre ligne et sert en dernier.

Une erreur fréquente

Attention

On croit souvent que la première ligne qui convient gagne. Le routeur ne lit pas du haut vers le bas. Il regarde toutes les lignes et garde la plus longue. L'ordre dans la table ne change pas la réponse.

Exemple : quelle ligne gagne

DestinationLignes qui conviennentGagnante
172.16.9.2000.0.0.0/0, 172.16.0.0/12, 172.16.9.0/24, 172.16.9.128/25172.16.9.128/25
172.16.9.50.0.0.0/0, 172.16.0.0/12, 172.16.9.0/24172.16.9.0/24
172.20.1.10.0.0.0/0, 172.16.0.0/12172.16.0.0/12
9.9.9.90.0.0.0/00.0.0.0/0

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Pour aller plus loin : pourquoi une ligne gagne

Copiez votre choisir_route dans une nouvelle fonction, expliquer_route. Elle renvoie la ligne gagnante entière, pas seulement le saut suivant.

Essayez-la sur la TABLE des tests avec 172.16.42.200, 172.16.42.100, 172.20.1.1 et 8.8.8.8. Pour chaque adresse, écrivez une phrase qui nomme toutes les lignes qui conviennent et dit pourquoi la gagnante bat les autres.

À propos de ce labo et de sa source: Lab de routage statique : construire des routes sur un petit réseau dans le navigateur

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.