Un résolveur DNS accepte une requête DNS d'une application cliente, effectue la recherche en interrogeant d'autres serveurs DNS si nécessaire, et retourne la réponse finale. Il existe deux types principaux : un résolveur stub (un simple redirecteur côté client sur votre appareil) et un résolveur récursif (le résolveur complet qui effectue les recherches itératives réelles et la mise en cache).
Comment fonctionne la résolution récursive
Quand vous effectuez une requête DNS :
- Votre application interroge le résolveur stub du système d'exploitation.
- Le résolveur stub la redirige vers un résolveur récursif configuré (souvent celui de votre fournisseur d'accès ou un service public comme Google DNS
8.8.8.8). - Si la réponse n'est pas en cache, le résolveur interroge un serveur racine, qui le dirige vers le serveur de noms TLD pertinent.
- Le résolveur interroge le serveur de noms TLD, qui le dirige vers le serveur de noms autoritaire du domaine.
- Le résolveur interroge le serveur autoritaire et reçoit l'enregistrement de ressource (A, AAAA, MX, etc.).
- Le résolveur met en cache le résultat pour la TTL de l'enregistrement et le retourne à votre client.
Exemples courants
Les résolveurs récursifs publics incluent Google Public DNS (8.8.8.8), Cloudflare (1.1.1.1) et Quad9 (9.9.9.9). Votre fournisseur d'accès ou votre organisation exécute également généralement un résolveur récursif.
WarningUn résolveur n'est jamais autoritaire : il ne possède pas les données de zone, il les recherche simplement et les met en cache. Les réponses mises en cache persistent pour la TTL de l'enregistrement, c'est pourquoi les modifications DNS peuvent sembler prendre du temps pour se « propager »—le délai est en réalité l'expiration du cache, et non la propagation du réseau.