Qu'est-ce qu'Internet ?

Découvrez comment fonctionne Internet de A à Z : DNS, TCP, TLS, HTTP/2, HTTP/3, QUIC et toutes les technologies qui permettent de naviguer sur le web.

Réseaux
60 min
Intermédiaire
Faire le quiz

Vidéo explicative

Vidéo explicative complète pour comprendre le sujet en détail

Merci à cocadmin pour cette vidéo !

Cette vidéo est une excellente ressource pédagogique qui nous aide à mieux comprendre ce sujet. Si elle vous a été utile, soutenez le créateur en :

Soutenez les créateurs de contenu éducatif de qualité !

Introduction

Comprendre comment fonctionne Internet est essentiel pour tout professionnel IT. De la saisie d'une URL dans le navigateur à l'affichage de la page web, découvrez tous les protocoles et mécanismes qui rendent possible la navigation sur le web : DNS, TCP, TLS, HTTP et les optimisations modernes comme HTTP/3 et QUIC.

1. La Résolution DNS

Le DNS (Domain Name System) convertit les noms de domaine (ex: cocadmin.com) en adresses IP (ex: 1.2.3.4).

Le navigateur ne peut se connecter qu'à une adresse IP, pas à un nom de domaine textuel.

  • Niveau 1 - Cache du navigateur : Stocke les résolutions DNS précédentes pour éviter de nouvelles requêtes
  • Niveau 2 - Cache de l'OS : Plusieurs applications partagent cette cache système
  • Niveau 3 - Cache du FAI : Serveur DNS du fournisseur d'accès partage la cache entre tous ses clients
Résolution récursive

Si l'IP n'est pas en cache : FAI → Serveur .com → Serveur cocadmin.com → Obtention de l'IP finale. Le TTL (Time To Live) détermine combien de temps la résolution reste valide en cache.

2. Sécurité HTTPS

Avant de se connecter, le navigateur vérifie la HSTS Preload List : une liste hardcodée de sites devant obligatoirement utiliser HTTPS.

Cela empêche les attaques par "downgrade" où un attaquant transformerait une requête HTTPS en HTTP.

  • HSTS Header : Le serveur peut aussi envoyer un header pour forcer HTTPS aux visites suivantes
  • Certificats SSL/TLS : Prouvent l'identité du serveur via une signature d'autorité de certification (CA)
  • SNI (Server Name Indication) : Permet à un serveur d'héberger plusieurs domaines avec différents certificats

3. Protocole TLS (Transport Layer Security)

Le protocole TLS (anciennement SSL) chiffre la connexion pour que personne ne puisse lire les données échangées.

TLS 1.3 est la version la plus récente et sécurisée (~65% du trafic web).

  • Handshake TLS : Client Hello (version, ciphers, clé publique, nonce) + Server Hello (certificat, clé publique)
  • Chiffrement asymétrique : Clé publique (partageable) pour chiffrer, clé privée (secrète) pour déchiffrer
  • Diffie-Hellman Key Exchange : Génère une clé partagée sans l'envoyer sur le réseau
  • Chiffrement symétrique : Après l'échange, utilise la clé partagée (plus rapide) pour chiffrer toutes les données
  • ESNI/ECH : Chiffre le nom de domaine pour plus de confidentialité
  • DNS over HTTPS : Sécurise aussi les requêtes DNS

4. Protocole TCP (Transmission Control Protocol)

Le protocole TCP permet d'échanger des données de manière fiable sur le réseau.

Il assure que les paquets arrivent à destination, dans le bon ordre, et les renvoie s'ils sont perdus.

  • SYN (Synchronisation) : Le client envoie un paquet SYN au serveur
  • SYN-ACK : Le serveur répond avec SYN-ACK (acknowledgment)
  • ACK : Le client confirme, la connexion est établie
  • Numérotation : Chaque paquet a un numéro de séquence pour le réordonnancement

5. HTTP/1.1

Le protocole HTTP/1.1 est un protocole texte permettant de récupérer des ressources web.

Format lisible par les humains, peut être utilisé avec telnet.

  • Verbes HTTP : GET (récupérer), POST (envoyer), PUT (modifier), DELETE (supprimer)
  • Headers importants : Host, User-Agent, Accept, Cookie
  • Codes de statut : 200 OK, 301 Redirection, 404 Not Found, 500 Erreur serveur
  • Limitation majeure : Une seule ressource par connexion TCP
  • Head-of-line blocking : Si un paquet est perdu, toute la connexion est bloquée

6. HTTP/2

HTTP/2 améliore HTTP/1.1 avec le multiplexage et la compression.

Représente ~59% du trafic web actuel.

  • Multiplexage de streams : Plusieurs requêtes sur une seule connexion TCP
  • Compression des headers : Format binaire avec table de compression (ex: "Mozilla/5.0" → ID 4)
  • Plus rapide : Moins de ressources, plus de parallélisation
  • Problème persistant : Head-of-line blocking au niveau TCP (si un paquet TCP est perdu, tous les streams sont bloqués)

7. HTTP/3 et QUIC

HTTP/3 avec QUIC révolutionne le web en passant de TCP à UDP.

Représente ~30% du trafic (en croissance rapide).

  • QUIC sur UDP : Rapide comme UDP mais fiable comme TCP
  • Optimisation handshake : TCP+TLS = 3 RTT → QUIC = 2 RTT (gain de ~200ms)
  • 0-RTT (Zero Round Trip) : Réutilisation de clé pour connexion instantanée aux visites suivantes
  • Élimination head-of-line blocking : Si un paquet est perdu, seul ce stream est affecté
  • Meilleur des deux mondes : Vitesse d'UDP + fiabilité de TCP
Gain de performance

HTTP/1.1 et HTTP/2 : 3 RTT (~600ms) avant les données. HTTP/3 avec QUIC : 2 RTT (~400ms), ou 1 RTT avec 0-RTT pour les connexions suivantes.

8. Flux Complet : Du Navigateur au Serveur

Récapitulatif du processus complet lorsque vous tapez une URL dans votre navigateur :

  • Phase 1 - DNS : Résolution du domaine en IP (cache navigateur → OS → FAI → résolution récursive)
  • Phase 2 - Sécurité : Vérification HSTS, décision d'utiliser HTTPS
  • Phase 3 - TCP/QUIC : Établissement connexion (handshake SYN/SYN-ACK/ACK ou QUIC)
  • Phase 4 - TLS : Chiffrement (Client Hello, Server Hello, Diffie-Hellman, clé partagée)
  • Phase 5 - HTTP : Requête GET avec headers
  • Phase 6 - Réponse : Serveur répond avec code 200 et contenu HTML
  • Phase 7 - Ressources : Chargement images, CSS, JS (HTTP/1.1 = 6-7 connexions, HTTP/2/3 = 1 connexion multiplexée)

Points clés à retenir

DNS convertit domaines en IP avec 3 niveaux de cache (navigateur, OS, FAI)
HTTPS obligatoire : TLS 1.3 pour chiffrement (65% du trafic)
TLS : asymétrique pour échanger, symétrique pour chiffrer les données
TCP Handshake : SYN → SYN-ACK → ACK (3 étapes)
HTTP/1.1 = 1 ressource/connexion, HTTP/2 = multiplexage sur TCP (59%)
HTTP/3 avec QUIC = multiplexage sur UDP, élimine head-of-line blocking (30%)
0-RTT = connexion ultra-rapide en réutilisant la clé de session
RTT (Round Trip Time) : HTTP/1.1 = 3 RTT, HTTP/3 = 2 RTT ou 1 RTT avec 0-RTT

Prêt à tester vos connaissances ?