Nouveau cours : Le modèle TCP/IP
Le chapitre Fondations ouvre sa partie Réseau avec Le modèle TCP/IP. C'est le socle des cours qui suivront sur le DNS, HTTP, TLS et SSH, et celui qui manquait pour lire sereinement la leçon réseau du cours Le cloud : les fondamentaux.
Un paquet, de bout en bout
Plutôt que d'apprendre par cœur les sept couches du modèle OSI, le cours suit un vrai paquet : la requête GET /sante envoyée à l'API Signalements. On l'accompagne du programme qui l'écrit jusqu'au câble, de la box au répartiteur de charge, du réseau privé jusqu'au processus gunicorn qui répond. Chaque protocole arrive quand le paquet en a besoin : Ethernet et ARP pour le premier saut, IPv4 et le routage pour traverser les réseaux, la traduction d'adresses pour sortir de chez soi, TCP pour que les octets arrivent tous et dans l'ordre.
Les sorties montrées ont été produites sur une vraie machine Linux, sur la boucle locale, et les leçons s'appuient sur les RFC, qui font foi.
Ce qui sert le jour de la panne
Les leçons insistent sur ce qu'il faut savoir lire au moment où ça ne marche pas :
- « Connection refused » et « Connection timed out » ne disent pas la même chose : le premier est une réponse, le second un silence ;
- un
pingqui échoue ne prouve presque rien, et un service se teste par le service ; - une connexion SSH qui se fige à la première longue sortie est souvent un trou noir de MTU, causé par un ICMP filtré ;
- un serveur qui écoute sur
127.0.0.1est invisible pour son répartiteur de charge ; - des connexions en
CLOSE-WAITqui s'accumulent désignent un bogue de l'application, pas du réseau ; - la traduction d'adresses n'est pas un pare-feu, et IPv6 le rappelle.
La dernière leçon rassemble une méthode de diagnostic, couche par couche, avec ip, ss, curl, nc et tcpdump, et cinq pannes réalistes corrigées.
Pour valider
Un quiz de vingt questions valide le niveau 100. Le lab fait construire un petit Internet de poche dans une machine virtuelle, avec des espaces de noms réseau (un poste, un routeur qui traduit les adresses, un serveur), puis le casser : refus contre délai dépassé, découverte du MTU du chemin. Un script vérifie le résultat.