Le routage, ou comment les messages arrivent à destination

Tu as sans doute entendu parler d’internet, le super réseau informatique qui te permet, entre autres, de discuter en conversation vidéo avec ta mamie, d’aller regarder des images sur un site web ou de lire un mail que je reçois pour ton anniversaire. Ce réseau est composé de milliards d’appareils – téléphones, ordinateurs ou autres – reliés entre eux. Et pour les relier il y a soit des câbles, souvent cachés sous terre ou dans les murs, soit des connexions « sans fil », comme par exemple le Wi-Fi. Mais avec autant d’ordinateurs et de connexions entre eux, comment faire pour que l’image de dauphin en pixels que tu veux dessiner arrive jusqu’à notre ordi ?
Les messages ont-ils un GPS ? une carte du réseau mondial ? y a-t-il des panneaux indicateurs comme sur les routes ? pas du tout. Et nous allons voir comment cela fonctionne « en vrai ».

Imaginons que tu veuilles écrire une lettre à un copain, Sylvio, rencontré en vacances. Sylvio habite très loin, à Washington DC aux États-Unis, au 1410 1st Street Southwest. Tu sais peut-être où sont les États-Unis sur une carte du monde, mais tu aurais un peu plus de mal à situer Washington et tu n’as aucune idée d’où se trouve sa rue. La bonne nouvelle c’est que tu n’as pas besoin de savoir aller chez lui pour pouvoir lui envoyer une lettre.

Ce dont tu as besoin c’est de connaître son adresse, de l’écrire sur l’enveloppe puis de mettre l’enveloppe dans la bonne fente de la boîte aux lettres. Vu qu’on habite en France et que les choix sur la boîte sont « mon département » et « autres départements-étranger » c’est assez facile. Tu prends la deuxième option. Et ensuite ? Et bien une personne travaillant pour la poste va récupérer toutes les lettres et les emporter vers, par exemple, un centre de tri régional. Là-bas les lettres vont être triées une nouvelle fois en faisant par exemple un tas par région de France, et un autre pour l’étranger, dans lequel on mettra ta lettre. Elle va ensuite aller dans un centre de tri national où on séparera les lettres suivant de grandes zones géographiques, par exemple un tas pour le nord de l’Europe, un pour le sud de l’Europe, un pour les États-Unis etc.
En fait à chaque étape un humain ou une machine va juste, en fonction de l’adresse, décider du prochain endroit où envoyer la lettre. Et la seule personne qui doit vraiment savoir aller jusque chez Sylvio est la dernière de la chaîne, la factrice ou le facteur qui mettra le courrier dans sa boîte.

Et bien sur internet c’est exactement pareil. Ce ne sont plus des humains mais des ordinateurs, appelés routeurs, qui choisissent où envoyer un message, et les messages ne circulent plus en vélo ou en train mais dans des câbles ou, encore plus rapide, dans des fibres optiques. Mais sinon, le principe est le même. Notre ordinateur est relié à un routeur qui regarde l’adresse écrite sur les messages et en fonction de cette adresse va choisir, parmi les routeurs auxquels il est relié, celui à qui envoyer chaque message. Et ce nouveau routeur va lui aussi regarder l’adresse et le faire suivre à un troisième routeur, et ainsi de suite jusqu’au routeur qui est directement relié à l’ordinateur à qui est adressé le message.

Mais les routeurs, comment ils savent à qui envoyer le message ? En fait chacun a ce qu’on appelle une table de routage. C’est une liste qui dit quelle adresse (ou quel ensemble d’adresses) envoyer à qui. Dans notre exemple de courrier, ce serait comme avoir une liste du genre :

Meurthe et Moselle (note département) : case A
Autre départements de la région Grand-Est : case B
Autre région ou étranger : case C

Avec cette liste on sait où mettre chaque enveloppe. Et il faut qu’à chaque étape il y ait une nouvelle liste qui nous dit comment choisir dans quelle case on met une lettre.

Sur un réseau informatique, chaque routeur a sa propre table, il ne connaît pas le plan global du réseau mais juste localement ce qu’il doit faire des messages qui lui arrivent. Et pour avoir cette table il y a deux solutions. La première c’est qu’un humain l’établisse une fois pour toutes, quand on relie le routeur au réseau par exemple. La deuxième solution est de laisser les routeurs discuter entre eux pour construire petit à petit eux-mêmes la liste des adresses qu’ils peuvent atteindre.

Et donc si chacun des routeurs a sa liste, sa table de routage, il sait à qui envoyer chaque message, qui, après plusieurs étapes va arriver à son destinataire. Et c’est ce routage des messages qui permet de communiquer avec n’importe quelle autre machine connectée à internet, sans forcément avoir à connaître tous les chemins possibles.

Retour : Les réseaux informatiques expliqués à ma fille – Introduction

La suite : TCP, ou comment notre ordinateur joue au puzzle sans qu’on le sache