Les ordinateurs se connectent entre eux grâce à des nombres, les adresses IP. Les humains utilisent des noms. Le DNS, le système de noms de domaine (Domain Name System), est le service qui fait le lien entre les deux. La résolution DNS est une requête adressée à ce service : vous lui donnez un nom, il vous renvoie les adresses.

Avant qu’un navigateur puisse demander une page à example.com, il doit résoudre le nom. Si cette étape échoue, rien d’autre ne se passe, même si le serveur est en parfaite santé.

Comment fonctionne une requête

Une requête passe normalement par trois types de serveurs (la RFC 8499 définit ces termes) :

  1. Le résolveur stub de votre appareil. Il ne fait pas le travail lui-même : il transmet la question.
  2. Un résolveur récursif, généralement géré par votre fournisseur d’accès ou par un service public. Il trouve la réponse et la garde en mémoire un certain temps.
  3. Les serveurs faisant autorité, qui détiennent les enregistrements d’une zone, la partie de l’espace de noms dont ils sont responsables. Ils répondent à partir de leurs propres données.

Le résolveur récursif interroge, étape par étape, les serveurs situés au-dessus du domaine pour savoir lesquels font autorité, puis interroge ces derniers. La réponse remonte le même chemin.

Enregistrements A et AAAA

Les enregistrements sont les entrées d’une zone. Deux d’entre eux donnent l’adresse d’un hôte :

  • Un enregistrement A contient une adresse IPv4, par exemple 192.0.2.10 (RFC 1035).
  • Un enregistrement AAAA contient une adresse IPv6, par exemple 2001:db8::10 (RFC 3596).

Un nom peut en avoir plusieurs de chaque type, et un site peut n’avoir que des enregistrements A. Les deux cas sont normaux. Un enregistrement CNAME est autre chose : il indique qu’un nom est un alias d’un autre.

Ce que la réponse peut dire

Réponse Signification
Des adresses sont renvoyées Le nom se résout
NXDOMAIN Le nom n’existe pas
Réponse vide sans erreur Le nom existe, mais n’a aucun enregistrement du type demandé. On parle parfois de NODATA
SERVFAIL Le serveur n’a pas pu terminer la requête à cause d’un problème qui lui est propre
Aucune réponse La requête a dépassé le délai d’attente

NXDOMAIN est le nom courant de l’« erreur de nom ». Ses causes les plus fréquentes sont un nom mal saisi, un enregistrement supprimé et un domaine expiré.

Cache et TTL

Chaque enregistrement a une durée de vie, ou TTL (time to live), qui indique aux résolveurs combien de temps ils peuvent conserver la réponse. Le cache rend le DNS rapide et peu coûteux. Il signifie aussi qu’une modification met du temps à être visible de tous. Les réponses en échec peuvent elles aussi être mises en cache : un nom qui n’existait pas il y a une minute peut donc continuer à échouer un moment après que vous l’avez ajouté.

Résoudre ne veut pas dire que le DNS est en bonne santé

Un nom qui se résout n’est que la première étape. L’adresse peut pointer vers le mauvais serveur. L’un des deux types d’adresse peut être défaillant. Un enregistrement peut être correct aujourd’hui et modifié demain. Une résolution réussie vous dit que la requête a fonctionné, pas que la configuration est la bonne.

La résolution DNS dans UptimeWire

UptimeWire résout le nom d’hôte de chaque site web une fois par heure avec le résolveur standard du système. La vérification est réussie quand le nom se résout en au moins une adresse publique. Elle échoue quand le nom n’existe pas ou n’a aucune adresse publique. Si le serveur de noms ne répond pas, le résultat est affiché comme inconnu plutôt que comme un échec.

UptimeWire ne suit pas les modifications des enregistrements, la propagation, les autres types d’enregistrements ni DNSSEC. Pour analyser un échec, consultez Comment diagnostiquer les erreurs de résolution DNS.