Maxime BENE
Retour au blog
2025-09-247 min

Le voyage d'un paquet : ce qui se passe vraiment quand tu tapes une adresse

Suivons un paquet réseau de bout en bout, du clic dans le navigateur jusqu'à l'affichage de la page. Une plongée concrète dans les couches réseau, sans jargon inutile.

RéseauOSITCP/IPAnalyseVulgarisation

Le point de départ

Tu es assis devant ton PC. Tu ouvres ton navigateur, tu tapes une adresse, tu appuies sur Entrée.

Une seconde plus tard, la page s'affiche.

Entre ces deux instants, il s'est passé une dizaine d'opérations, réparties sur quatre couches réseau, impliquant ton PC, ta box, une dizaine de routeurs et les serveurs de destination.

Cet article suit ce voyage, étape par étape. Pas pour réciter, mais pour comprendre.

Premier arrêt : le navigateur ne sait pas où aller

Ton navigateur a un problème : tu lui as donné un nom (www.google.com), mais il ne sait parler qu'en adresses IP.

C'est comme si tu lui donnais "Tour Eiffel" et qu'il avait besoin de "Champ de Mars, 5 Avenue Anatole France, 75007 Paris".

Il lui faut un traducteur.

Ce traducteur, c'est le DNS.

Ton navigateur commence par vérifier s'il connaît déjà la réponse :

  • Son cache (il garde les résolutions récentes)
  • Le fichier hosts de ta machine (une liste locale de correspondances)
  • Sinon, il demande à un serveur DNS

La requête part en UDP sur le port 53. Pourquoi UDP et pas TCP ? Parce que c'est rapide. Une requête DNS tient dans un paquet, pas besoin d'une connexion fiable.

Quelques millisecondes plus tard, la réponse arrive : une adresse IP.

Le navigateur sait maintenant où aller.

Deuxième arrêt : "Mais c'est qui, cette adresse ?"

Ton navigateur connaît l'IP de destination. Mais il y a un problème : cette IP n'est pas dans ton réseau local.

Ton PC est en 192.168.1.x. L'IP de Google est quelque chose comme 142.250.x.x. Ce n'est pas la même plage.

Conséquence : ton PC ne peut pas envoyer le paquet directement. Il doit passer par la passerelle — ta box ou ton routeur.

Mais pour envoyer un paquet à la passerelle sur le réseau local, il faut son adresse MAC (l'adresse physique de la carte réseau).

Ton PC connaît l'IP de la passerelle, mais pas sa MAC.

C'est là qu'intervient ARP : ton PC envoie un message en broadcast à tout le réseau :

"Qui a l'IP 192.168.1.1 ? Dites-moi votre adresse MAC !"

Le routeur répond :

"C'est moi, ma MAC est AA:BB:CC:DD:EE:FF."

Maintenant, ton PC sait à qui envoyer physiquement.

Troisième arrêt : l'encapsulation

Ton PC a tout ce qu'il lui faut :

  • L'IP destination : celle de Google
  • La MAC destination : celle du routeur

Il construit alors le paquet, en empilant les couches :

┌─────────────────────────────────────────┐
│  Trame Ethernet                         │  ← Couche 2 (MAC)
│  ┌───────────────────────────────────┐  │
│  │  Paquet IP                        │  │  ← Couche 3 (IP)
│  │  ┌─────────────────────────────┐  │  │
│  │  │  Segment TCP                │  │  │  ← Couche 4 (Ports)
│  │  │  ┌───────────────────────┐  │  │  │
│  │  │  │  Données HTTP/HTTPS   │  │  │  │  ← Couche 7 (Application)
│  │  │  └───────────────────────┘  │  │  │
│  │  └─────────────────────────────┘  │  │
│  └───────────────────────────────────┘  │
└─────────────────────────────────────────┘

C'est ça, l'encapsulation. Chaque couche ajoute son en-tête, comme des poupées russes.

Avant d'envoyer, il y a un dernier détail : le three-way handshake TCP.

Parce que TCP est fiable — il veut s'assurer que la connexion est établie avant d'envoyer des données.

#SensFlag
1Toi → GoogleSYN (demande de connexion)
2Google → ToiSYN, ACK (accepté)
3Toi → GoogleACK (confirmé)

La connexion est établie.

Quatrième arrêt : le routeur prend le relais

Ton PC envoie la trame sur le câble (ou en WiFi). Le switch la reçoit, lit la MAC destination, et l'envoie au routeur.

Le routeur fait alors quelque chose de crucial : il change d'identité.

Problème : ton IP source est 192.168.1.42. C'est une adresse privée. Elle n'est pas routable sur Internet. Si le paquet partait tel quel, Google ne saurait pas où répondre.

Solution : le NAT (Network Address Translation).

Le routeur :

  1. Remplace ton IP privée par son IP publique (celle fournie par ton FAI)
  2. Remplace ton port source par un port unique
  3. Note la correspondance dans une table NAT

Port 55000 → 192.168.1.42:54321

Maintenant, le paquet peut sortir sur Internet.

Et c'est grâce à ce mécanisme que 200 machines dans une entreprise (ou une famille) peuvent sortir avec une seule IP publique.

Cinquième arrêt : le voyage sur Internet

Le paquet traverse ensuite une dizaine de routeurs :

  • Ceux de ton FAI
  • Ceux du backbone Internet
  • Ceux du datacenter de Google

Chaque routeur :

  1. Décrémente le TTL (Time To Live) du paquet
  2. Consulte sa table de routage
  3. Réexpédie vers le prochain routeur

Le TTL, c'est un compteur de sauts. Chaque routeur retire 1. Quand il atteint 0, le paquet est détruit.

C'est ce mécanisme qui évite les boucles infinies — et c'est aussi lui qui permet à traceroute de cartographier le chemin.

Sixième arrêt : Google répond

Les serveurs de Google reçoivent le paquet. Ils voient :

  • IP source : l'IP publique de ton routeur
  • Port source : le port unique attribué par le NAT

Ils préparent leur réponse et l'envoient à cette adresse.

Septième arrêt : le chemin inverse

Le paquet réponse arrive à ton routeur. Celui-ci :

  1. Consulte sa table NAT
  2. Voit que le port 55000 correspond à 192.168.1.42:54321
  3. Remplace l'IP destination par la tienne
  4. Réexpédie vers ton PC

Ton PC reçoit la réponse.

Et le navigateur affiche la page.

Huitième arrêt : la fermeture

Une fois l'échange terminé, TCP ferme proprement la connexion :

#SensFlag
1Toi → GoogleFIN, ACK
2Google → ToiFIN, ACK
3Toi → GoogleACK

La connexion est terminée.

Le récapitulatif du voyage

ÉtapeCe qui se passeCoucheProtocole
1Résolution du nom en IP7DNS (UDP/53)
2Recherche de la MAC du routeur2ARP
3Encapsulation + handshake TCP3-4IP + TCP
4NAT + routage3NAT
5Traversée d'Internet3IP + ICMP
6Réponse de Google3IP
7Chemin inverse + NAT3NAT
8Fermeture de la connexion4TCP

Ce que ce voyage m'a appris

Chaque couche a un rôle précis :

  • La couche 7 traduit les noms en IP (DNS)
  • La couche 2 trouve l'adresse physique locale (ARP)
  • La couche 3 route le paquet à travers le monde (IP + NAT)
  • La couche 4 garantit la fiabilité (TCP)

Et surtout : quand quelque chose ne marche pas, on peut suivre le fil pour trouver où ça casse.

  • Pas d'IP ? → problème DNS ou DHCP
  • Pas de ping vers la passerelle ? → problème local (couche 1-2)
  • Ping OK mais pas de navigateur ? → problème DNS

C'est là que le modèle OSI devient un outil de diagnostic, pas juste une théorie.

Pour aller plus loin