Trois couches se partagent le nom « serveur DNS »
Résolveur stub
votre propre appareil
Résolveur récursif
FAI, routeur ou 1.1.1.1
Faisant autorité
le DNS du domaine
Résolveurs DNS récursifs et faisant autorité expliqués
« Serveur DNS » est employé de façon approximative pour décrire deux rôles réellement différents. Les séparer rend l'ensemble du système beaucoup plus facile à analyser.
Le résolveur récursif : il fait le gros du travail
Un résolveur récursif est celui avec lequel votre appareil dialogue réellement : il est souvent défini par votre FAI, votre routeur, ou configuré manuellement sur une option publique comme 1.1.1.1 ou 8.8.8.8. Son rôle est de prendre votre requête et de faire tout le travail nécessaire pour y répondre : vérifier d'abord son propre cache, puis, en cas d'échec, parcourir la chaîne des serveurs racine aux serveurs TLD puis aux serveurs faisant autorité du domaine lui-même, avant de vous renvoyer la réponse finale.
Le serveur faisant autorité : il détient la vraie réponse
Un serveur de noms faisant autorité est la source de vérité pour les enregistrements d'un domaine donné : l'unique endroit où résident les enregistrements A, AAAA, MX et autres de ce domaine. Il ne va rien chercher pour votre compte ; il répond directement pour les domaines dont il est responsable, et refuse (ou transmet ailleurs) pour tout le reste.
- Votre résolveur récursif est une infrastructure partagée, qui répond généralement pour des millions de domaines différents avec lesquels il n'a aucune relation particulière.
- Les serveurs faisant autorité d'un domaine sont généralement peu nombreux et propres à ce seul domaine (ou à un petit groupe de domaines apparentés).
- Un outil qui effectue une recherche directe, par exemple en résolvant un domaine via le résolveur DNS de Node.js auprès d'un résolveur récursif public, utilise la même chaîne récursif-vers-faisant-autorité que votre navigateur, simplement sans navigateur autour.
Il existe en fait un troisième rôle : le résolveur stub
Votre propre appareil parcourt rarement lui-même toute la chaîne. Il exécute plutôt un résolveur stub léger, un petit logiciel au niveau du système d'exploitation sans véritable logique propre, dont la seule tâche est de transmettre les questions DNS de vos applications au résolveur récursif configuré (celui de votre FAI, de votre routeur, ou une option définie manuellement comme 1.1.1.1) et de vous rendre la réponse. C'est pourquoi modifier les « paramètres DNS » d'un ordinateur portable ou d'un téléphone ne change pas du tout le fonctionnement du DNS : cela change seulement le résolveur récursif vers lequel votre résolveur stub transmet. De plus en plus, cette étape de transmission se fait elle-même sur un canal chiffré, DNS-over-HTTPS ou DNS-over-TLS, de sorte qu'un observateur sur le réseau local ne peut plus lire en clair les domaines recherchés.
Cette distinction explique aussi pourquoi « mon fournisseur DNS » et « les serveurs de noms faisant autorité de mon domaine » sont généralement la même chose, alors que « le serveur DNS que j'utilise » (comme 1.1.1.1) est un résolveur récursif générique, totalement différent, sans aucune connaissance particulière de votre domaine : ce n'est que le messager.
| Rôle | S'exécute où | Connaît |
|---|---|---|
| Résolveur stub | Le système d'exploitation de votre appareil | Rien : il transmet simplement la question |
| Résolveur récursif | Votre FAI, votre routeur, ou un service public comme 1.1.1.1 | Tous les domaines, aucun en particulier : il fait le travail pour chacun |
| Serveur de noms faisant autorité | Le fournisseur DNS du propriétaire du domaine | Un domaine (ou un petit groupe) dans le moindre détail, de façon définitive |
Pourquoi cette distinction dissipe tant de confusion
Une part remarquable du dépannage DNS consiste à déterminer laquelle de ces trois couches est réellement responsable d'un comportement déroutant, et l'on se trompe souvent parce que les trois sont appelées familièrement « le serveur DNS ». Un domaine qui se résout correctement lorsqu'on l'interroge directement auprès de ses propres serveurs de noms faisant autorité, mais de façon incorrecte via le résolveur récursif d'un FAI particulier, pointe sans ambiguïté vers le cache ou la configuration de ce résolveur, et non vers quoi que ce soit que le propriétaire du domaine contrôle. À l'inverse, un domaine qui se résout mal quel que soit le résolveur récursif interrogé pointe plutôt vers le côté faisant autorité. Savoir faire ce tri nettement, en quelques secondes, est l'essentiel de ce qui sépare un débogage DNS efficace des simples suppositions.
Besoin de vérifier les adresses DNS publiques d'un domaine ? Utilisez l'outil Domain IP Lookup.
À lire aussi
Choisir un TTL en pratique
Comprendre le TTL DNS : pourquoi les changements tardent
Le TTL fixe la durée de cache d'une réponse DNS avant une nouvelle requête : la vraie raison pour laquelle un changement n'apparaît pas partout d'un coup.
Deux schémas d'adressage, côte à côte
IPv4
192.0.2.10
32 bits : ~4,3 milliards d'adresses, épuisées
IPv6
2606:4700::6810:84e5
128 bits : 340 sextillions d'adresses
Enregistrements A et AAAA : IPv4 et IPv6 expliqués
Les enregistrements A renvoient des adresses IPv4, les AAAA des adresses IPv6 : deux familles d'adresses indépendantes pour un même domaine, et pourquoi vérifier les deux.
Une recherche DNS récursive, saut après saut
Navigateur
veut example.com
Résolveur
votre FAI / 1.1.1.1
Racine + TLD
qui gère .com ?
Faisant autorité
la vraie réponse
Chaque saut de cette chaîne est lui-même une recherche DNS, ensuite mise en cache
Qu'est-ce que le DNS et comment fonctionne-t-il vraiment ?
Une explication claire du système de noms de domaine : ce qui se passe entre la saisie d'un domaine et la connexion de votre navigateur à un serveur.