Du nom de domaine à l'adresse IP
Résolution DNS, hiérarchie et caches.
Objectifs
À la fin de cette leçon, vous saurez :
- expliquer pourquoi le DNS existe et ce qu'il résout exactement ;
- décrire la hiérarchie mondiale et la délégation d'autorité ;
- retracer le chemin complet d'une résolution, cache par cache ;
- relier ce mécanisme à vos futurs déploiements web.
🔗 Pour vous rafraîchir la mémoire : comment deux machines communiquent
Le problème : deux langages incompatibles
Les machines se joignent par adresses IP ; les humains retiennent des noms. Personne ne tape 142.250.74.238 dans sa barre d'adresse — tout le monde tape google.com. Le DNS (Domain Name System) est l'annuaire mondial qui traduit :
example.com
↓ résolution DNS
93.184.216.34
↓ connexion réseau
serveur
Mais un annuaire pour des milliards de noms, consulté des milliards de fois par seconde ? Un serveur central serait à la fois impossible (taille) et catastrophique (point unique de défaillance). La solution du DNS est double : hiérarchie et distribution.
Une hiérarchie mondiale en arbre
Le DNS est un arbre dont chaque nœud délègue vers le bas :
. (racine — 13 groupes de serveurs mondiaux)
├── com (TLD = top-level domain)
│ ├── example ← exemple.com
│ └── google ← google.com
├── fr (TLD français)
│ └── monsite ← monsite.fr
└── org
La règle fondamentale qui fait fonctionner le système : aucun serveur ne connaît tout. Chaque niveau connaît uniquement son périmètre et sait qui interroger ensuite — c'est la délégation :
- les serveurs racine ne savent pas où est
example.com... mais ils savent QUI gère.com; - les serveurs
.comne savent pas où estexample.com... mais ils savent quels serveurs sont autoritaires pour ce domaine ; - les serveurs autoritaires de
example.com, eux, connaissent les réponses finales.
C'est exactement le modèle postal hiérarchique : le bureau central ne connaît pas votre rue, il sait seulement à quel centre régional transmettre ; le centre régional connaît le quartier ; le facteur du quartier sait la maison. Personne n'a besoin d'une connaissance totale — chaque étage a juste la bonne adresse du niveau inférieur.
Quand vous achetez monsite.fr chez un registrar, vous configurez précisément cette chaîne : « pour monsite.fr, fais confiance aux serveurs suivants » (les NS — serveurs de noms — que vous choisissez chez lui ou chez un hébergeur DNS).
Le chemin complet d'une résolution
Votre navigateur demande example.com. Voici TOUT ce qui se passe, dans l'ordre :
1. cache du navigateur → déjà vu il y a 2 min ? FIN (instantané)
2. cache du système d'exploitation → idem
3. résolveur récursif → votre FAI, ou public (1.1.1.1, 8.8.8.8)
↳ son cache contient-il la réponse ? Si oui → FIN (millisecondes)
4. sinon, il interroge POUR vous :
racine → « je ne sais pas, mais demande à ces serveurs .com »
TLD .com → « je ne sais pas, mais demande à ns1.example.com »
autoritaire → « example.com = 93.184.216.34 » ← réponse finale
5. le résolveur MÉMORISE la réponse (durée = TTL) et la rend au client
6. votre OS puis votre navigateur la mémorisent aussi
Trois observations décisives :
- Les caches dominent. Dans la vie réelle, les étapes 4-5 (la chaîne complète) sont RARES : elles n'arrivent que si personne, nulle part, n'a la réponse fraîche. La première visite d'un site est plus lente que les suivantes précisément parce qu'elle remonte toute la chaîne ;
- Le résolveur fait le travail pour vous (résolution récursive) : votre machine pose UNE question, il enchaîne les allers-retours mondiaux ;
- Chaque mémorisation porte une date de péremption : le TTL (time to live), sujet détaillé de la prochaine leçon. C'est lui qui décide combien de temps « example.com = 93.184.216.34 » reste vrai partout.
Ce que cela change en production
Pour vos futurs déploiements, trois conséquences concrètes :
- Un domaine est pilotable : le nom reste stable (
monsite.fr), mais l'adresse derrière se change en quelques clics chez votre registrar/DNS — c'est LE levier des migrations de serveur ; - Un changement n'est jamais instantané : les caches du monde entier gardent l'ancienne valeur jusqu'à expiration de leur TTL. Planifier une migration, c'est planifier ses TTL (leçon suivante) ;
- Jamais d'IP en dur dans le code : vos applications utilisent des noms, précisément pour pouvoir déplacer les machines sans toucher au code. Une IP codée en dur est une dette qui explose à la première migration.
Exercice
- Pourquoi ne pas écrire simplement des IP partout dans le code ?
- Lors d'une résolution répétée du même nom, qui répond en premier : le cache du navigateur ou la chaîne racine → TLD → autoritaire ?
- Votre FAI change l'adresse de son serveur DNS sans prévenir : votre navigation continue-t-elle ? Combien de temps ?
- Vous hébergez
monsite.frsur un serveur dont l'IP va changer demain. Quel composant du système DNS garantit que le monde entier suit ?
Résumé
- DNS = annuaire nom → IP, hiérarchique (racine → TLD → autoritaires) et distribué.
- Délégation : chaque niveau ne connaît que le suivant — aucune connaissance globale requise.
- Résolution = cascade de caches (navigateur → OS → résolveur), la chaîne complète étant rare.
- TTL = durée de validité mise en cache ; c'est lui qui pilote les migrations.
Correction disponibleCherchez d’abord par vous-même.Voir la correction
Correction
Réponses détaillées
Question 1. Trois raisons cumulées : (a) les IP changent (migration, panne, montée en charge) alors que le nom reste stable ; (b) une IP est illisible et non mémorisable pour un humain ; (c) un nom permet la répartition entre plusieurs serveurs et le passage par CDN/proxy — une IP en dur fige tout. Changer d'hébergeur avec des IP en dur signifierait modifier et redéployer chaque application ; avec des noms, zéro ligne de code.
Question 2. Le cache du navigateur, quasi instantanément (~microsecondes). La chaîne racine → TLD → autoritaire n'est parcourue que par le résolveur, et seulement quand TOUS les caches ont échoué — statistiquement rare. C'est toute l'économie du système : quelques requêtes mondiales pour des millions d'utilisations locales.
Question 3. Oui, pendant un moment : chaque machine garde ses réponses en cache jusqu'à leur TTL respectif (souvent des minutes à heures). Puis, à chaque nouvelle résolution nécessaire, échec — jusqu'à reconfiguration vers un résolveur alternatif (1.1.1.1, 8.8.8.8). Détail instructif : les sites déjà visités continuent de fonctionner pendant ce temps grâce aux caches — le DNS invisible quand tout va bien, visible quand il manque.
Question 4. Le couple enregistrement + TTL. L'enregistrement A de monsite.fr sera mis à jour vers la nouvelle adresse, et le TTL garantit que tous les caches du monde abandonnent l'ancienne valeur au plus tard N secondes après le changement. Le DNS transforme ainsi « déplacer un serveur » (opération technique risquée) en « changer une ligne dans un annuaire » (opération contrôlée) — à condition de l'avoir planifiée via le TTL, comme nous le pratiquerons au chapitre déploiement.