Comment un message traverse le réseau : découpé en paquets, aiguillé par des routeurs, remis en ordre à l'arrivée
Quand tu envoies une photo à un ami, elle ne voyage pas d'un seul bloc le long d'un seul câble. Elle est découpée, chaque morceau part de son côté, puis tout est reconstitué à l'arrivée. Deux protocoles se partagent le travail : IP et TCP. Un protocole est un ensemble de règles que les machines suivent pour se comprendre.
CoursUne comparaison : envoyer un livre par la poste
Imagine que tu dois envoyer un livre de 200 pages à un ami, mais que la poste n'accepte que de petits colis. Tu découpes le livre en 20 paquets, tu numérotes chaque colis (1/20, 2/20…), tu écris l'adresse de ton ami et ton adresse, et tu postes tout. Les colis passent par des centres de tri : chacun choisit la route qui lui semble la meilleure, et ils n'arrivent pas forcément dans l'ordre. Ton ami les remet dans l'ordre grâce aux numéros. S'il en manque un, il te le redemande.
Dans la poste
Dans Internet
Qui s'en occupe ?
Écrire l'adresse du destinataire et de l'expéditeur
Mettre les adresses IP dans le paquet
le protocole IP
Aiguiller les colis dans les centres de tri
Acheminer les paquets de routeur en routeur
le protocole IP, par les routeurs
Numéroter les colis, redemander ceux qui manquent, remettre dans l'ordre
Numéroter les paquets, accuser réception, renvoyer, reconstituer
le protocole TCP, par les machines aux deux bouts
CoursLe paquet
Le message est découpé en morceaux. Chaque morceau est enveloppé dans un paquet, qui contient trois choses :
Un paquet : deux en-têtes (comme l'enveloppe) et un morceau du message.
l'en-tête IP : l'adresse IP de l'émetteur, celle du destinataire, et une durée de vie (le TTL, voir plus bas) ;
l'en-tête TCP : le numéro du paquet dans le message, pour pouvoir remettre les morceaux dans l'ordre ;
les données : le morceau du message. Un paquet transporte au plus environ 1 500 octets.
CoursLe routage
Les paquets traversent des routeurs. Un routeur est une machine qui a plusieurs liaisons : quand un paquet arrive, il lit l'adresse du destinataire et décide vers quel routeur voisin l'envoyer. C'est le routage.
Un petit réseau : le paquet part de l'ordinateur de Léa, passe par plusieurs routeurs et arrive au serveur.
Chaque routeur ne connaît que ses voisins et une table de routage qui lui indique « pour aller vers telle adresse, passe par tel voisin ». Il ne connaît pas le chemin complet.
Le chemin n'est pas décidé à l'avance : chaque routeur choisit au moment où le paquet arrive.
Deux paquets d'un même message peuvent donc suivre des chemins différents.
Si un routeur ou une liaison tombe en panne, les paquets suivants passent par un autre chemin, s'il en existe un : c'est ce qui rend Internet robuste.
Pour éviter qu'un paquet tourne en rond dans le réseau à cause d'une erreur de routage, chaque paquet porte un compteur, le TTL (time to live, « durée de vie »). Chaque routeur retire 1 au TTL. Quand le TTL tombe à 0, le routeur détruit le paquet. Un paquet est donc destiné à traverser un nombre maximal de routeurs.
CoursTCP : un transport fiable
Le routage ne garantit rien : un paquet peut être perdu (un routeur saturé le détruit), retardé, ou arriver dans le désordre. C'est TCP (Transmission Control Protocol) qui répare cela, aux deux extrémités :
à l'envoi, TCP découpe le message et numérote les paquets ;
à l'arrivée, TCP envoie un accusé de réception pour chaque paquet reçu ;
si un accusé ne revient pas, l'émetteur renvoie le paquet ;
le destinataire remet les morceaux dans l'ordre et reconstitue le message.
IP et TCP, deux rôles différents
IP : adresses et acheminement, sans garantie de livraison. TCP : numérotation, accusés, renvoi et remise en ordre, pour que le message arrive complet et dans l'ordre.
On parle de « TCP/IP » parce que les deux fonctionnent ensemble.
Limites du routage
Internet fonctionne en « mieux possible » : aucun paquet n'a la garantie d'arriver vite, ni même d'arriver. Quand le réseau est très utilisé, les routeurs sont saturés, les paquets attendent ou sont perdus, et la communication ralentit. De plus, le contenu d'un paquet est lisible par les routeurs qu'il traverse, sauf s'il a été chiffré (voir le thème Cryptage).
Pour voir tout cela à l'œuvre, utilise le simulateur de routage : tu envoies un message, tu fais tomber des routeurs, tu perds des paquets, tu actives ou non TCP.
ExercicesExercices
EX 20Je découvre🌶️prise en main
Exercice 20 — IP ou TCP ?
Pour chaque action, indique si elle est réalisée par IP ou par TCP, et si elle l'est par les routeurs ou par les machines des extrémités :
écrire l'adresse du destinataire dans le paquet ;
numéroter les paquets du message ;
choisir le routeur suivant pour un paquet ;
redemander un paquet qui n'est pas arrivé ;
remettre les paquets dans l'ordre à l'arrivée.
Indice
Si le rôle est « adresser et acheminer », c'est IP. S'il est « vérifier que tout est arrivé dans l'ordre », c'est TCP.
💾 📝 réponses dans ton compte rendu, exercice 20
EX 21Je comprends🌶️prise en main
Exercice 21 — Combien de paquets ?
Un paquet transporte au plus 1 500 octets de données (1 Mo = 1 000 000 octets).
Une photo de 3 Mo : combien de paquets faut-il ?
Un message de 32 caractères (1 caractère = 1 octet) découpé en morceaux de 4 octets : combien de paquets ?
Un film de 2 Go (2 000 000 000 octets) : combien de paquets ? (arrondis au paquet supérieur)
Pourquoi ne pas envoyer le film en un seul gros paquet ? Donne une raison.
Indice
Nombre de paquets = taille totale ÷ taille d'un paquet. S'il y a un reste, il faut un paquet de plus.
📝 réponses dans ton compte rendu, exercice 21
EX 22Je comprends🌶️prise en main
Exercice 22 — Remettre dans l'ordre
Un ordinateur reçoit les paquets d'un même message, dans cet ordre d'arrivée. Chaque ligne donne le numéro du paquet (en-tête TCP) et son contenu.
Ordre d'arrivée
Numéro
Contenu
1er
5
di d
2e
2
ez-v
3e
8
CDI
4e
1
Rend
5e
4
a mi
6e
3
ous
7e
7
t le
8e
6
evan
Quel est le message ? (un espace compte comme un caractère, il est parfois au début ou à la fin d'un contenu)
Le paquet n° 6 n'est jamais arrivé. Que fait TCP ?
Combien de paquets contiendrait le message si on avait découpé en morceaux de 8 caractères au lieu de 4 ?
Indice
Range d'abord les lignes par numéro (1, 2, 3, 4…), puis lis les contenus l'un derrière l'autre.
📝 réponses dans ton compte rendu, exercice 22
EX 23Je m'entraîne🌶️🌶️application
Exercice 23 — Choisir un chemin
Sur ce réseau, un paquet doit aller du routeur A (le plus proche de l'ordinateur de Léa) au routeur G (le plus proche du serveur).
Le réseau de l'exercice.
Quel est le chemin le plus court en nombre de routeurs ? Combien de routeurs le paquet traverse-t-il ?
Le routeur E tombe en panne (figure suivante). Donne un nouveau chemin possible et le nombre de routeurs traversés.
Combien de chemins différents existe-t-il entre A et G, sans passer deux fois par le même routeur ? Liste-les.
Pourquoi, en pratique, deux paquets d'un même message peuvent-ils ne pas suivre le même chemin ?
Le routeur E est en panne (barré).Indice
Pour compter les chemins, pars de A et explore : de A, tu peux aller vers B ou vers C. Écris chaque chemin complet jusqu'à G.
💾 📝 réponses dans ton compte rendu, exercice 23
EX 24Je m'entraîne🌶️🌶️application
Exercice 24 — La durée de vie d'un paquet
Chaque routeur qui reçoit un paquet retire 1 à son TTL. Si le TTL tombe à 0, le routeur détruit le paquet.
Un paquet part avec un TTL de 3 et suit le chemin A – C – E – G. Écris le TTL après chaque routeur. Le paquet arrive-t-il ?
Quel TTL minimum faut-il pour que le paquet arrive à destination par ce chemin de 4 routeurs ?
Les ordinateurs envoient en général des paquets avec un TTL de 64 ou de 128. Pourquoi est-ce suffisant ?
Une erreur de routage fait tourner un paquet en boucle entre quatre routeurs. Que se passe-t-il avec un TTL de 64 ? Que se passerait-il s'il n'y avait pas de TTL ?
Indice
Après A : 3 − 1 = 2. Continue avec C, puis E : que se passe-t-il quand le TTL arrive à 0 ?
📝 réponses dans ton compte rendu, exercice 24
EX 25Je m'entraîne🌶️🌶️application
Exercice 25 — Le chemin d'un paquet
La commande tracert (Windows) ou traceroute (Mac, Linux) affiche les routeurs traversés pour atteindre une machine. Voici le résultat d'un essai, avec des adresses d'exemple :
tracert 192.0.2.42
1 <1 ms <1 ms <1 ms 192.168.1.128 ms 7 ms 8 ms 203.0.113.1312 ms 11 ms 12 ms 198.51.100.9425 ms 24 ms 26 ms 198.51.100.775 * * * Délai d'attente de la demande dépassé.
627 ms 26 ms 27 ms 192.0.2.42
Chaque ligne est un saut : le numéro, trois temps de réponse (trois essais), puis l'adresse de la machine. Une étoile * signifie qu'il n'y a pas eu de réponse.
Combien de sauts y a-t-il jusqu'à la destination 192.0.2.42 ?
La première ligne est 192.168.1.1 : de quelle machine s'agit-il ? Comment le sais-tu ?
À la ligne 5, que signifient les trois étoiles ? Le trajet a-t-il échoué ?
Entre quelles lignes le temps de réponse augmente-t-il le plus ? Que peut-on en conclure sur la liaison ?
tracert fonctionne en envoyant des paquets de TTL 1, puis 2, puis 3… Explique pourquoi cette méthode permet de découvrir les routeurs un par un.
Indice
Pour la question 5, rappelle-toi : quand le TTL tombe à 0, le routeur détruit le paquet. Il peut aussi prévenir l'émetteur.
📝 réponses dans ton compte rendu, exercice 25
EX 26Je découvre🌶️🌶️application
Exercice 26 — TCP avec ou sans ?
Ouvre le simulateur de routage. Envoie le message proposé, avec une perte de 10 % des paquets.
Sans TCP : le message reçu est-il complet ? Dans l'ordre ? Recommence trois fois et note ce que tu observes.
Avec TCP : le message reçu est-il complet ? Combien de tours (envois) faut-il ?
Mets la perte à 0 %, puis fais tomber un routeur. Les paquets arrivent-ils ? Par où passent-ils ?
Résume en une phrase le rôle de TCP.
Indice
Dans le simulateur, chaque ligne du tableau est un paquet : clique dessus pour voir son trajet.
💾 📝 réponses dans ton compte rendu, exercice 26
EX 27Je m'entraîne🌶️🌶️application
Exercice 27 — Vrai ou faux ?
Pour chaque affirmation, dis si elle est vraie ou fausse. Si elle est fausse, corrige-la.
Le chemin d'un paquet est décidé par l'ordinateur qui l'envoie, avant le départ.
Deux paquets d'un même message suivent toujours le même chemin.
Le protocole IP garantit que tous les paquets arrivent.
Si un routeur tombe en panne, Internet peut continuer à fonctionner.
Les paquets arrivent toujours dans l'ordre où ils ont été envoyés.
Un routeur connaît le chemin complet jusqu'à la destination.
Le contenu d'un paquet est automatiquement chiffré pendant son voyage.
Plus le réseau est utilisé, plus les paquets risquent d'être retardés ou perdus.
Indice
Relis les encadrés « Le routage » et « Limites du routage ».
💾 📝 réponses dans ton compte rendu, exercice 27
EX 28Je m'entraîne🌶️🌶️🌶️plusieurs étapes
Exercice 28 — Découper et reconstituer, en Python
Ce programme découpe un message en paquets numérotés. Les paquets sont rangés dans un dictionnaire (voir le thème Les données, partie D3) : la clé est le numéro, la valeur est le morceau.
ex28.py
defdecouper(message, taille):
paquets = {}
numero = 1for debut inrange(0, len(message), taille):
paquets[numero] = message[debut:debut + taille]
numero = numero + 1return paquets
message = "Rendez-vous a midi devant le CDI"
paquets = decouper(message, 4)
print(paquets)
Exécute le programme. Compare avec l'exercice 22.
Remplace 4 par 5 : combien de paquets obtiens-tu ? Que contient le dernier ?
Écris une fonction reconstituer(paquets, total) qui rebâtit le message : pour chaque numéro de 1 à total (le nombre de paquets annoncé), ajoute le morceau à un texte. Vérifie que tu retrouves le message avec total = 8.
Supprime un paquet avec del paquets[6], puis modifie reconstituer : si un numéro est absent (if numero not in paquets), elle affiche Paquet manquant et le numéro. C'est le rôle de TCP.
Indice
Pour la question 3 : texte = "", puis for numero in range(1, total + 1): et texte = texte + paquets[numero].