Du nom de domaine à la connexion TCP
Le DNS : la résolution de noms
Un nom de domaine comme www.example.com est fait pour les humains ; les machines, elles, communiquent avec des adresses IP. Le DNS (Domain Name System) est l'annuaire distribué qui fait la traduction entre les deux. Sans lui, il faudrait retenir des adresses IP à la place des noms de sites.
Le DNS est organisé en hiérarchie, comme un arbre inverse. Tout en haut, les serveurs racine (notés ".") ne connaissent pas l'adresse de example.com, mais savent qui gère l'extension ".com". Les serveurs de la zone TLD (Top Level Domain, comme ".com" ou ".fr") savent à leur tour quel serveur autoritaire gère précisément "example.com". C'est ce dernier serveur qui détient la réponse finale : l'adresse IP exacte de www.example.com.
Quand tu tapes une adresse dans ton navigateur, ton ordinateur interroge un résolveur DNS (souvent celui de ton fournisseur d'accès, ou un service public comme 1.1.1.1). Ce résolveur fait le travail de descente dans la hiérarchie à ta place, question après question - c'est ce qu'on appelle une résolution récursive.
1) PC -> Resolveur : quelle est l'IP de www.example.com ?
2) Resolveur -> Racine (.) : qui gere l'extension .com ?
3) Racine (.) -> Resolveur : voici le serveur TLD .com
4) Resolveur -> TLD (.com) : qui gere le domaine example.com ?
5) TLD (.com) -> Resolveur : voici le serveur autoritaire de example.com
6) Resolveur -> Autoritaire : quelle est l'IP de www.example.com ?
7) Autoritaire -> Resolveur : 93.184.216.34
8) Resolveur -> PC : 93.184.216.34 (réponse mise en cache)
Piège classique : croire que chaque recherche DNS repart de zéro à chaque fois. En réalité, les réponses sont mises en cache (à chaque niveau : navigateur, système d'exploitation, résolveur) pendant une durée fixée par le champ TTL de l'enregistrement DNS lui-même. Tant que ce délai n'est pas écoulé, la réponse est réutilisée sans réinterroger toute la chaîne.
Autre piège : confondre le nom de domaine et l'adresse IP retournée. Un même nom de domaine peut correspondre à plusieurs adresses IP différentes (équilibrage de charge entre plusieurs serveurs), et une même adresse IP peut héberger plusieurs noms de domaine différents (hébergement mutualisé).

