Vous avez découvert d'où vient Internet. Reste à comprendre comment deux machines communiquent réellement à travers lui. Après avoir revu le vocabulaire du réseau à la maison, nous allons dérouler un échange de paquets sur un simulateur, puis prendre une vraie mesure sur le réseau du lycée : combien de temps met un message pour aller à l'autre bout du monde, et en revenir ? La réponse réserve quelques surprises.
Voici un schéma représentant une version miniature et simplifiée d'Internet.
Figure 1 - Internet simplifié
Les réseaux locaux sont de petits réseaux constitués d'un ensemble de machines à l'échelle d'une maison, d'une entreprise, d'un lycée. Les machines d'un même réseau local peuvent communiquer directement entre elles.
Le plus simple pour relier des machines dans un même réseau local est d'utiliser un switch (ou commutateur), un équipement sur lequel on branche les câbles Ethernet de toutes les machines. Voici deux photos de switchs :
Un switch
Crédit : KoS, Domaine public, via Wikimedia Commons.
Switch!
par Andrew Hart, CC BY-SA 2.0, via Flickr.
Chaque réseau local peut être relié à Internet s'il est connecté à un routeur. Les routeurs sont des machines qui connectent deux ou plusieurs réseaux et qui guident les messages échangés — on parle de paquets. Si une machine d'un réseau local veut communiquer avec une machine d'un autre réseau local, son message va passer de routeur en routeur. Chaque fois qu'un routeur reçoit un paquet, il décide grâce à des algorithmes à qui l'envoyer pour qu'il se rapproche du destinataire : c'est le routage des paquets.
Voici une photo d'un routeur :
Routeur Cisco CRS-1 (2004)
Crédit : Photo fournie par Cisco Systems Inc., CC BY-SA 3.0, via Wikimedia Commons.
Internet est un immense réseau constitué de petits réseaux interconnectés par des routeurs. C'est pour cela qu'on dit qu'Internet est le réseau des réseaux.
Pour que deux machines s'échangent des messages, elles doivent respecter un protocole de communication, c'est-à -dire un ensemble de règles précisant le format des informations échangées, la manière de les échanger, et la manière d'établir puis de terminer la communication. Sur Internet, ce protocole est TCP/IP.
Dans un réseau, chaque machine possède une adresse IP. Pour qu'une machine A puisse envoyer un message à une machine B, elle va utiliser son adresse IP (comme on écrit l'adresse du destinataire sur une enveloppe postale).
Les adresses IP (version 4) sont de la forme :
X.X.X.XoĂą chaqueXest une valeur comprise entre 0 et 255. Exemple d'adresse IP :199.232.170.217.
Sur le schéma du mini-réseau (Figure 1) ci-dessus :
✍️ Question 1 : Combien de réseaux locaux avez-vous entourés ? Combien de routeurs un paquet doit-il traverser, au minimum, pour aller de la machine M1 à la machine M17 ?
✍️ Question 2 : En une phrase chacun, à quoi sert un switch ? À quoi sert un routeur ?
Ouvrez le simulateur interactif et déroulez l'échange d'un message du poste A vers le poste B, à l'autre bout du réseau.
Déroulez-le pas à pas avec les flèches, ou lancez-le en continu, et répondez aux questions ci-dessous sur le rôle du serveur DNS, du protocole IP (Internet Protocol) et du protocole TCP (Transmission Control Protocol).
Vous pouvez cliquer sur un routeur pour le mettre en panne, et le réparer d'un second clic.
↗ Ouvrir le simulateur dans une page dédiée
Simulateur interactif : https://info-mounier.fr/snt-projet/simulateur-tcp-ip
💻✍️ Question 3 : Pourquoi la machine A doit-elle commencer par interroger un serveur DNS ? Autrement dit, à quoi sert un serveur DNS ?
💻✍️ Question 4 : Que fait le protocole IP au moment où A envoie son message ? Que serait-il impossible de faire si IP n'écrivait pas l'adresse de l'expéditeur ?
💻✍️ Question 5 : Le protocole TCP assure deux choses.
a) Comment A peut-il ĂŞtre
certain qu'un paquet est bien arrivé chez B ?
b) À quoi sert le numéro porté par chaque
paquet ?
💻✍️ Question 6 : En cliquant sur un routeur au bon moment, faites en sorte de bloquer un paquet pendant son trajet. Que se passe-t-il alors ? Que fait TCP ?
Ouvrez l'invite de commandes de Windows : dans le menu Démarrer, tapez cmd, puis cliquez sur
l'icĂ´ne Invite de commandes.
💻✍️ Question 7 : Tapez ipconfig puis validez avec Entrée, et relevez l'adresse IPv4
de votre ordinateur. Comparez-la ensuite à celles de vos voisins immédiats : que constatez-vous
sur les premiers nombres ? Pourquoi, Ă votre avis ?
💻✍️ Question 8 : Tapez maintenant ipconfig /all et cherchez la ligne
« Serveurs DNS ». Notez l'adresse IP qui s'y trouve : c'est la machine que votre ordinateur
interroge, exactement comme le poste A du simulateur.
Comme il n'est pas commode pour un humain de retenir des adresses IP, on utilise des adresses symboliques :
www.lemonde.frplutôt que151.101.x.x. C'est le serveur DNS qui connaît les correspondances entre les deux et qui répond à votre machine quand elle demande « quelle est l'adresse IP de ce nom ? ».
La commande ping envoie un petit paquet Ă une machine et mesure le temps que met la rĂ©ponse Ă
revenir : c'est l'aller-retour, qu'on appelle la latence. Elle se mesure en
millisecondes (ms), c'est-à -dire en millièmes de seconde.
Dans l'invite de commandes, tapez :
ping -4 www.lemonde.fr
Remarque : le -4 demande une adresse IP dans sa version 4 (IPv4) donc de la forme X.X.X.X.
Deux informations à repérer dans le résultat :
Moyenne = ... ms : c'est la latence
moyenne des 4 paquets. C'est cette valeur qui nous intéresse.Étape 1 — le pari. Votre enseignant attribue deux destinations à votre binôme : une proche et une lointaine. Leur distance depuis Angers est donnée dans le tableau ci-dessous. Avant toute manipulation, répondez à la question 9.
Étape 2 — la mesure. Lancez ping -4 sur chacune de vos deux destinations et relevez,
pour chacune, l'adresse IP qui répond et la latence moyenne.
Étape 3 — la mise en commun. Reportez vos valeurs dans le tableau partagé projeté, en face de vos destinations.
| Destination | Ville, pays | Distance depuis Angers |
|---|---|---|
www.univ-angers.fr |
Angers, France | ~ 0 km |
info-mounier.fr |
Gravelines, France | 450 km |
www.unipd.it |
Padoue, Italie | 1 000 km |
www.helsinki.fi |
Helsinki, Finlande | 2 150 km |
www.mit.edu |
Boston, États-Unis | 5 400 km |
www.uct.ac.za |
Le Cap, Afrique du Sud | 9 300 km |
www.usp.br |
São Paulo, Brésil | 9 400 km |
www.u-tokyo.ac.jp |
Tokyo, Japon | 9 800 km |
www.anu.edu.au |
Canberra, Australie | 16 800 km |
www.auckland.ac.nz |
Auckland, Nouvelle-Zélande | 18 600 km |
✍️ Question 9 : Pour chacune de vos deux destinations, avant de mesurer, écrivez votre estimation de la latence moyenne, en millisecondes. Pour rappel, la latence est la durée de l'aller-retour entre votre machine et la destination.
✍️ Question 10 : Quand le tableau partagé est rempli, classez les destinations de la plus rapide à la plus lente. Cet ordre correspond-il à l'ordre des distances ? Citez au moins une destination pour laquelle ce n'est pas le cas.
Dans une fibre optique, la lumière se déplace à environ 200 000 km/s. Un paquet qui part et qui revient parcourt deux fois la distance. Le temps minimum, en millisecondes, vaut donc :
2 Ă— distance (km) distance (km)
t minimum = ───────────────── × 1000 c'est-à -dire ─────────────
200 000 km/s 100
Autrement dit : on divise la distance en kilomètres par 100 pour obtenir le minimum en millisecondes. Aucun message ne peut aller plus vite — et en pratique il va toujours un peu moins vite, car les paquets ne suivent pas la ligne droite et chaque routeur prend un peu de temps.
✍️ Question 11 : Calculez ce minimum physique pour vos deux destinations. Comparez-le à la latence que vous avez mesurée : de combien de fois la mesure dépasse-t-elle le minimum ?
✍️ Question 12 : Dans le tableau de la classe, repérez les destinations pour lesquelles la latence mesurée est inférieure au minimum physique. Est-ce possible ? Qu'en déduisez-vous sur l'endroit où se trouve réellement la machine qui vous a répondu ?
Ce que vous venez de mettre en évidence porte un nom : les grands sites ne sont pas hébergés sur une machine, mais recopiés sur des serveurs répartis dans le monde entier. Quand vous demandez une page, c'est le serveur le plus proche de vous qui répond. Le nom d'un site ne dit donc pas où se trouvent les données — et la latence, elle, ne ment pas.
✍️ Question 13 : Une destination au moins n'a répondu à aucun des 4 paquets. Peut-on en conclure que cette machine est en panne, ou que le site est inaccessible ? (Indice : essayez d'ouvrir ce site dans le navigateur.)
La commande tracert affiche la liste des routeurs traversés par les paquets, ainsi que le
temps de réponse de chacun.
Dans l'invite de commandes, tapez :
tracert -h 15 www.univ-angers.fr
-h 15 limite la recherche aux 15 premiers routeurs, sinon la commande est très longue.
✍️ Question 14 : Regardez les cinq premières lignes. Reconnaissez-vous quelque chose
dans les noms affichés (un opérateur, une ville, un pays) ? Et pourquoi, à votre avis,
certaines lignes n'affichent-elles que des étoiles * * * ?
Les étoiles ne signifient pas que le paquet est perdu : elles signifient que ce routeur-là a choisi de ne pas répondre. Beaucoup d'équipements, pour des raisons de sécurité, restent muets quand on les interroge. Le réseau fonctionne, mais il ne vous doit aucune explication sur son fonctionnement.
Complétez les pointillés avec les mots : TCP, routage, serveur DNS, IP, réseau des réseaux, latence, routeurs, paquets, adresse IP
Règle n° 2 — Le nom d'un site ne dit pas où sont ses données. Où vivent nos données est une question qui se mesure, elle ne se devine pas.
Ce qu'on réinvestit dans le projet
Notre application vivra elle aussi sur une machine allumée quelque part. La règle n° 2 nous oblige à poser la question dès maintenant : où sera cette machine, et qui la possède ? C'est exactement le sujet de la prochaine séance — et ce sera l'une des décisions du pôle Juridique en janvier.
Germain Becker, lycée Emmanuel Mounier, ANGERS