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

Comment les données voyagent en couches (TCP/IP)

Après cette leçon: Je peux placer un protocole dans sa couche.

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

Un coup joué dans un jeu en ligne

Tu joues en ligne avec un ami à Lyon. Tu poses une carte, et il la voit tout de suite sur son écran.

Pour ce petit geste, ton téléphone trouve le Wi-Fi, choisit un chemin et emballe le message. Personne n’a écrit un seul énorme programme pour tout ça.

Le travail est partagé en couches. Chaque couche fait un seul métier.

À la fin de cette leçon

Remarque

Je peux placer un protocole dans sa couche.

Mots clés

MotCe que ça veut direExemple
Protocoledes règles communes pour se parler sur un réseau
Coucheun étage du réseau qui fait un seul travail
En-têtedes informations ajoutées devant les données par une couche
Paquetun petit morceau de données avec ses en-têtes
Encapsulationemballer les données dans l’en-tête de chaque couche, tour à tour
Portun numéro qui dit quel programme reçoit les données443

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

Quatre couches, chacune son métier

Internet suit un modèle appelé TCP/IP. Il a quatre couches.

La couche application, c’est le programme que tu utilises, comme le jeu ou le navigateur. La couche transport découpe les données et vérifie qu’elles arrivent. La couche internet met une adresse sur chaque paquet et trouve un chemin. La couche liaison fait passer les bits sur un câble ou sur le Wi-Fi, d’un appareil au suivant.

Exemple travaillé : les couches et leurs protocoles

CoucheSon métierProtocoles que tu croiseras
ApplicationLes messages du programme lui-mêmeHTTP, HTTPS, DNS, SMTP
TransportQuel programme, dans l’ordre, sans perteTCP, UDP
InternetLes adresses et le chemin entre réseauxIP, ICMP
LiaisonUn seul saut, sur un câble ou en Wi-FiEthernet, Wi-Fi

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

Chaque couche emballe celle du dessus

Quand le jeu envoie ton coup, il écrit un petit message. La couche transport colle un en-tête UDP devant, avec les numéros de port.

La couche internet ajoute un en-tête IP avec les deux adresses. La couche liaison ajoute un en-tête Wi-Fi pour le saut suivant. C’est l’encapsulation, comme une lettre dans plusieurs enveloppes.

À l’arrivée, chaque couche retire son en-tête et passe le reste au-dessus.

Exemple travaillé : ton coup, emballé

Ordre sur le filEn-têteCe qu’il contient
En premierWi-FiL’adresse matérielle de la box
EnsuiteIPDe 192.168.1.34 vers 198.51.100.40
EnsuiteUDPDu port 50120 vers le port 7777
En dernierDonnées du jeuCarte posée : la reine de cœur

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

Découvre les machines du lab

Commande
netlab status

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.

Envoie un ping au routeur de h1

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

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.

Lis l’adresse matérielle du routeur

Commande
sudo ip netns exec h1 ip neigh

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.

Ce que montrent ces trois Runs

Le premier Run liste cinq machines. L’hôte h1 a un seul câble, to-r1, avec l’adresse 10.0.1.2/24.

Le ping utilise ICMP, un protocole de la couche internet. Deux réponses reviennent de 10.0.1.1.

Le troisième Run montre la couche liaison. Une ligne : l’adresse IP du routeur, puis lladdr et son adresse matérielle, puis REACHABLE.

Vois les ports ouverts du routeur

Commande
sudo ip netns exec r1 ss -ltn

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.

Les ports appartiennent à la couche transport

Ce Run liste les ports TCP qui attendent une connexion. Tu vois trois lignes LISTEN, sur les ports 2601, 2616 et 2623.

Chaque port mène à un petit programme du routeur. Les trois écoutent seulement sur 127.0.0.1 : le routeur se parle à lui-même.

Une erreur fréquente

Attention

Beaucoup pensent que l’en-tête Wi-Fi ou Ethernet voyage jusqu’au bout. Il ne dure qu’un saut. Chaque routeur le retire et en met un nouveau pour le câble suivant. C’est l’en-tête IP qui traverse tout le trajet.

Pour aller plus loin : un paquet sans transport

Un ping, c’est Ethernet IP ICMP. Il n’a aucun en-tête TCP ni UDP.

Ajoute à ton devoir une fonction a_un_transport(paquet). Elle renvoie True quand un des numéros vaut 3. Essaie-la sur ton coup de jeu et sur un ping. Puis explique pourquoi un ping n’a pas besoin de port.

À 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.