LINUX:Notion de routage statique
→ retour aux Notions de réseau
But
Nous abordons quelques notions théoriques du routage statique.
Principe
Quand une machine veut envoyer un message à une autre machine, ce message doit emprunter une route ou même une série de routes.
La machine de départ doit choisir une première route vers une autre machine. Si cette machine est la destination, la tâche est finie. Mais si ce n'est pas la machine de destination, c'est cette machine de transit à trouver la route suivante pour faire suivre le message.
Dans cet article, nous nous limiterons à des liaisons entre machines par des câbles réseaux pour une question de simplicité. Et on se limite également à un transfert d'un message entre deux machines.
Quelques définitions:
- Un réseau est un ensemble de machines reliées entre elles par des câbles réseaux au travers de switchs.
- Une station de travail, un serveur sont des machines qui vont s'échanger des messages. Le routeur peut lui aussi participer à ces échanges.
- Un routeur ou passerelle est une machine qui sert à relier plusieurs réseaux; il appartient donc à ces réseaux.
- Un interface réseau est une partie matériel de la machine où vient se connecter le câble réseau. Une station de travail ou un serveur n'ont habituellement qu'un interface réseau actif. Par contre, un routeur ou une passerelle ont plusieurs interfaces réseaux.
- Un switch est un appareil qui interconnecte les différentes machines du réseau par les câbles.
- Chaque interface a une adresse réseau IPv4 ou IPv6 mais également une adresse physique ou adresse MAC. Tout constructeur d'un interface réseau inscrit de façon définitive une adresse physique qui doit être unique.
Situation simple
Dans le schéma ci-dessous, nous avons représenter deux réseaux, deux stations de travail par réseau et une passerelle ou routeur.
- Les stations de travail sont dessinées sous forme de rectangle et leur nom commence par "WS-".
- Le routeur ou passerelle est au centre sous forme d'un rectangle et son nom commence par "Router-".
- Les traits sont les câbles réseaux.
- Le switch est représenté sous forme d'un ovale avec à l'intérieur le n° du réseau.
- Seuls les interfaces du routeur sont notés car il en a plusieurs. Mais les stations de travail et serveurs en ont d'office une mais elle n'est pas notée afin de simplifier le schéma.

Chaque machine (rectangle) doit se constituer une table de routes ou de routage.
Prenons l'exemple de la station de travail "WS-11":
- Le premier cas regroupe les transferts vers les autres machines du même réseau. Le système crée une entrée d'office dans notre table de routage. Pour la machine "WS-11", cette entrée note qu'elle appartient au réseau 1; c'est une route directe.
- Le second cas regroupe tous les autres transferts. Chaque route va définir vers quel routeur envoyer le message vers un réseau spécifique. Ce dernier se chargera de la suite. Il y a un cas spécial; on peut définir une route par défaut qui a pour but de résoudre la grande majorité des transferts. Le reste des cas sont réglés par des routes spécifiques. Ces routes doivent être définies lors de la configuration de la partie réseau de la machine.
Ce schéma est très simple.
Prenons le cas d'un transfert de la machine "WS-11" vers la machine "WS-12". Comme ils sont sur le même réseau, on utilise la route directe. Le processus est le suivant:
- D'après l'adresse de la machine cible, elle sait qu'elles font partie du même réseau.
- La machine source doit connaitre l'adresse physique de cette machine cible. Pour cela, elle envoie un message à toutes les machines du réseau pour savoir qui connait cette adresse physique ou adresse MAC.
- Si une autre machine connait cette adresse physique, il la transmet.
- Maintenant la machine source connait où envoyer son message, ce qu'il fait.
Pour le second cas, la machine "WS-11" veut envoyer un message à la machine "WS-22". Elles sont sur des réseaux différents; la procédure est donc différente:
- D'après l'adresse de la machine cible, elle sait qu'elle est sur un autre réseau.
- Elle examine les autres routes. Il cherche une route qui concerne le réseau 2. Cette route décrit cette route: Pour atteindre le réseau 2, on doit envoyer le message au routeur "Rourer-12" sur son interface "A". Ce qu'il fait.
- Le routeur "Router-12" a deux routes directes car il a deux interfaces réseaux. L'interface A pour le réseau 1 et l'interface B pour le réseau 2. Le routeur, en examinant l'adresse de la cible, remarque qu'elle fait partie du réseau 2 auquel il est connecté via son interface "B". C'est sa seconde route directe de sa table de routage.
- Le reste du travail est équivalent à notre premier cas mais effectué par le routeur "Router-12" qui effectue la recherche de l'adresse MAC de la machine cible "WS-22" sur le réseau 2. Le message arrive à la machine "WS-22".
Remarquons que pour ce second cas, nous avons utilisé une route définie dans le détail. Mais comme chaque machine "WS-" n'a qu'une route spécifique qui passent toutes par le seul routeur présent. Ces routes peuvent être remplacées par des routes par défaut qui règles tous les cas. Une route par défaut, au contraire d'une route spécifique, ne spécifie pas le numéro du réseau cible; seul l'adresse du routeur est nécessaire, celle appartenant au même réseau (machine source et routeur).
Routage plus conséquent
Nous avons compliqué l'architecture. Voyez le schéma ci-dessous. Nous allons construire les tables de routage. Le principe est simple; on se positionne sur chaque machine, spécialement les noeuds ou routeurs et on réfléchit sur la façon d'atteindre chaque réseau. Le système peut se compliquer si on a plusieurs routes possibles. Selon la stratégie, soit on privilégie une route soit la route alternative est gardée en cas de panne soit on s'oriente vers la répartition de charge.
Pour constituer les tables de routage, il faut se placer au niveau de chaque machine en commençant par les noeuds ou routeurs. Et sur cette machine, il faut établir des routes afin de pouvoir joindre tous les réseaux. La liaison avec le réseau directement connecté à la machine est généré automatiquement par la machine elle-même. On passe ensuite à la route par défaut et enfin au reste des réseaux non encore traités.

Le tableau qui suit, reprend la table de routage des stations de travail. On a privilégié les routes par défaut.
La première ligne reprend la route directe sur le réseau local; la seconde, la route par défaut qui mène notamment à Internet.
| Station de travail source |
Réseau de destination |
Routeur de destination |
Interface du routeur de destination |
|---|---|---|---|
| WS-1 | 1 Défaut |
- Router-I1 |
- B |
| WS-2 | 2 Défaut |
- Router-12 |
- D |
| WS-3 | 3 Défaut |
- Router-134 |
- F |
| WS-4 | 4 Défaut |
- Router-134 |
- G |
| WS-5 | 5 Défaut |
- Router-356 |
- I |
| WS-6 | 6 Défaut |
- Router-356 |
- J |
Le tableau suivant, reprend la table de routage des routeurs.
Les premières lignes reprennent la route directe sur le réseau local; ensuite, la route par défaut qui mène notamment à Internet. Enfin les routes vers les autres réseaux.
| Routeur source |
Interface du routeur source |
Réseau de destination |
Routeur de destination |
Interface du routeur de destination |
|---|---|---|---|---|
| Router-I1 | A B A B B B B B |
Réseau Internet 1 Défaut 2 3 4 5 6 |
- - Router-Internet Router-12 Router-134 Router-134 Router-134 Router-134 |
- - ? C E E E E |
| Router-12 | C D C C C C C |
1 2 Défaut 3 4 5 6 |
- - Router-I1 Router-134 Router-134 Router-134 Router-134 |
- - B E E E E |
| Router-134 | E F G E E F F |
1 3 4 Défaut 2 5 6 |
- - - Router-I1 Router-12 Router-356 Router-356 |
- - - B C H H |
| Router-356 | H I J H |
3 5 6 Défaut |
- - - Router-134 |
- - - F |
Prenons un exemple de message émis par la machine "WS-1" et destiné par la machine "WS-2".
| Machine source |
Interface de sortie |
Réseau de passage |
Machine de destination |
Interface d'arrivée |
|---|---|---|---|---|
| WS-1 | - | 1 | Router-I1 | B |
| Router-I1 | B | 1 | Router-12 | C |
| Router-12 | D | 2 | WS-2 | - |
On remarque que la route par défaut mène au routeur Router-I1 qui rectifie de tir en le renvoyant vers le bon routeur Router-12. Ceci est dû au choix au niveau des stations de travail de n'implémenter qu'une route par défaut qui privilégie l'accès le plus direct vers Internet.
Quand une machine envoie un message à une autre, cette dernière lui répond. Et donc le chemin inverse doit aussi être bon. Car, par exemple, la machine qui effectue une requête HTTP ne recevra pas la réponse si la route de retour est mauvaise ou coupée. Voici le parcours inverse.
| Machine source |
Interface de sortie |
Réseau de passage |
Machine de destination |
Interface d'arrivée |
|---|---|---|---|---|
| WS-2 | - | 2 | Router-12 | D |
| Router-12 | C | 1 | WS-1 | - |
IPv4
Voici le même schéma appliqué à un adressage IPv4. Pour l'adressage IPv6, c'est analogue mais avec un texte nettement plus long et moins lisible.

Si on prend le cas du routeur Router-134, on peut afficher la table de routage avec la commande:
ip route
qui affiche:
default via 192.168.1.1 dev eth0 proto static metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.3 metric 100 192.168.3.0/24 dev eth1 proto kernel scope link src 192.168.3.1 metric 100 192.168.4.0/24 dev eth2 proto kernel scope link src 192.168.4.1 metric 100 192.168.2.0/24 via 192.168.1.2 dev eth0 proto static metric 100 192.168.5.0/24 via 192.168.3.2 dev eth1 proto static metric 100 192.168.6.0/24 via 192.168.3.2 dev eth1 proto static metric 100
ou:
route -n
ou:
netstat -nr
qui affiche:
Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 eth1 192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 eth2 192.168.2.0 192.168.1.2 255.255.255.0 UG 100 0 0 eth0 192.168.5.0 192.168.3.2 255.255.255.0 UG 100 0 0 eth1 192.168.6.0 192.168.3.2 255.255.255.0 UG 100 0 0 eth1
- La première ligne est celle par défaut. Elle spécifie qu'on envoie le message au routeur "192.168.1.1" en sortant par l'interface "eth0".
- Les trois suivantes sont les routes locales, directes. Par exemple, à la troisième ligne, l'interface "eth1" est directement connecté au réseau "192.168.3.0/24".
- Les trois dernières sont les routes spécifiques menant vers les autres réseaux. La dernière ligne, nous indique que pour atteindre le réseau "192.168.6.0/24", on envoie les messages au routeur "192.168.3.2" en sortant par l'interface "eth1".
Dans cet exemple, on peut noter que tous les réseaux sont repris. Ceux d'Internet sont inclus dans la route par défaut. Pour information, la métrique (Metric) représente le niveau de préférence à donner à une route quand il y a deux possibilités de trajet. La valeur la plus basse est préférée si elle est active.
Pour la configuration, il est possible d'utiliser une commande de ligne ou de modifier directement les fichiers de configuration par interface se trouvant dans le répertoire "/etc/NetworkManager/system-connections". Mais le plus simple est d'utiliser un interface graphique tel "nmtui".
Note
Il existe des routages dynamiques qui remplissent automatiquement les tables de routage. Il y a plus de 30 ans, j'ai essayé le système RIP sur des routeurs Digital avec un software Cisco. Au début tout semblait bien fonctionner mais après quelques temps, ce système a déraillé et depuis lors, sous les conseils de Belgacom, je suis resté sur le routage statique. En production, on ne sait faire des essais sans perturber la société.
→ retour aux Notions de réseau