Aller au contenu principal

Cours · L2

Réseaux & Web

Progression du module

Points d’expérience : XPSérie de jours consécutifs : · —Progression du module : — / —compris

#Réseaux & Web

Cette section suit un paquet sur tout son trajet: de la trame Ethernet au niveau du lien jusqu'au corps HTTP de la réponse, en passant par l'acheminement IP, la session TCP, la résolution DNS et le chiffrement TLS. Chaque page ajoute une couche et ses modes de défaillance, avec des traces de paquets ou de requêtes à décoder.

Contexte pédagogique: niveau L2 (Valrose, UCA). Prérequis conseillés: notions de processus et de fichiers, adressage binaire de base (nombre de bits, masques), pratique du terminal pour les ateliers dig, curl et traceroute.

Objectifs d'apprentissage

  • Suivre un paquet couche par couche et nommer le protocole responsable de chaque byte de l'en-tête.
  • Choisir TCP ou UDP selon la tolérance aux pertes et à la latence.
  • Diagnostiquer une panne en remontant la pile plutôt qu'en devinant.

#Le fil conducteur: une requête Web décortiquée

Taper curl https://learncs.example/ déclenche, dans l'ordre: résolution DNS du nom en adresse IP, routage du premier paquet vers la passerelle, poignée de main TCP, poignée de main TLS, requête HTTP, réponse. Les pages suivantes reprennent chaque étape avec les octets échangés.

code

1# TCP flags et numéros de séquence (page TCP/IP)214:00:01.000412 IP client.51744 > srv.443: Flags [S],  seq 1234567890, win 64240314:00:01.001203 IP srv.443 > client.51744: Flags [S.], seq 987654321,  ack 1234567891414:00:01.000517 IP client.51744 > srv.443: Flags [.],  ack 9876543225 6# DNS: question et réponse avec TTL (page DNS)7;; ANSWER SECTION:8learncs.example.    300  IN  A  203.0.113.10

Savoir lire ces deux extraits, c'est déjà savoir diagnostiquer: le S/S./. du handshake dit si la connexion s'ouvre, le 300 du TTL dit combien de temps la réponse peut rester en cache.

#Pile TCP/IP (rappel)

La pile réseau se décompose en couches qui isolent les responsabilités:

  • Liaison (Ethernet/Wi-Fi): transporte des trames sur un lien local; adresses MAC, collisions radio.
  • Réseau (IP): adresse et route les paquets entre réseaux; CIDR et tables de routage décident de l'itinéraire.
  • Transport (TCP/UDP): fournit un canal d'échange pour les applications, fiable (TCP) ou non (UDP).
  • Application (HTTP, DNS, TLS): les protocoles qui portent vos données.

En pratique, diagnostiquer un problème consiste à remonter cette pile: ping vérifie l'accessibilité IP, traceroute expose les sauts (routage), dig teste la résolution DNS, curl -v montre la couche applicative, et ip route dit comment la machine achemine un paquet.

#TCP vs UDP

TCP offre une communication fiable: il numérote, accuse réception (ACK) et retransmet si besoin. Il régule le débit (fenêtre glissante) et s'adapte à la congestion(aimd: additive increase, multiplicative decrease). On le choisit pour les pages web, les APIs, ou tout flux qui ne doit pas perdre d'octets.

UDP envoie des datagrammes bruts sans garantie. Il réduit la latence et le coût de contrôle: voix, vidéo temps réel, jeux. Des protocoles modernes (QUIC, transport de HTTP/3) bâtissent par-dessus UDP leur propre fiabilité adaptée aux usages.

#HTTP: du 1.1 au 3

  • HTTP/1.1 garde des connexions ouvertes, mais souffre du blocage de tête de ligne au niveau TCP: une réponse lente retarde les suivantes.
  • HTTP/2 multiplexe plusieurs requêtes sur une seule connexion, compresse les en-têtes (HPACK) et permet la priorisation.
  • HTTP/3 repose sur QUIC (UDP): plus de blocage de tête de ligne, 0-RTT et migration de connexion en mobilité.

#TLS et PKI (HTTPS)

TLS chiffre le trafic et authentifie le serveur via la chaîne de certificats (PKI). Le handshake négocie les algorithmes, échange des clés (ECDHE) puis bascule en trafic chiffré. À la clé: pas d'espionnage (confidentialité), pas d'altération (intégrité), et savoir à qui on parle (authenticité).

#Animation: handshake TLS (vue simplifiée)

1
ClientHello
Versions/suites chiffrées proposées + aléa
2
ServerHello + Certificat
Choix des suites + chaîne de certificats (PKI)
3
Échange de clés (ECDHE)
Dérivation d’une clé de session partagée
4
Canal chiffré
Le trafic applicatif devient privé et authentifié

Bonnes pratiques: rediriger vers HTTPS, activer HSTS une fois prêt, utiliser des suites modernes et surveiller l'expiration des certificats. Une erreur de certificat (nom, CA, date) est un incident sérieux, pas un avertissement à cliquer.

#Mode d'emploi de la section

Chaque page suit le même plan: concept, trace réelle de paquets ou de requêtes à lire, modes de défaillance typiques, atelier d'exploration. Les exercices demandent rarement « d'implémenter »: ils demandent d'observer, prédire, puis vérifier avec l'outil adapté. Consignez vos commandes et leurs sorties dans un journal (fichier .md au fil de l'eau): vous comparerez avant/après et expliquerez vos choix.

#Quiz rapide

  • Quel protocole sous-jacent transporte HTTP/3 ? Réponse: QUIC (sur UDP).
  • Quelles couches traverse la requête curl https://…/ avant d'atteindre le serveur ? Réponse: DNS (résolution), IP (routage), TCP ou QUIC/UDP (transport), TLS (chiffrement), puis HTTP (application).

Plan du cours · 7 sections

Sections du cours