Accueil > Base de connaissances > DNS > Comment fonctionne une requête DNS ?
Lorsque vous ouvrez votre navigateur et tapez « www.example.com « , ou un client DNS doit rechercher un nom utilisé dans un programme, il interroge les serveurs DNS pour résoudre le nom. Chaque message de requête envoyé par le client contient trois informations, spécifiant une question à laquelle le serveur DNS doit répondre:
- Un nom de domaine DNS spécifié, indiqué comme un nom de domaine complet (FQDN) tel que » www.exemple.com »
- Un type de requête spécifié, qui peut spécifier un enregistrement de ressource par type ou un type spécialisé d’opération de requête tel que A, CNAME, NS, etc.
- Une classe spécifiée pour le nom de domaine DNS tel que IN(Internet)
Dire quoi ?
Oui, tout cela est assez technique sur le contenu réel d’une requête DNS, et c’est en coulisses. Simplifions-le en démontrant comment cela fonctionne avec quelque chose que vous faites tous les jours. Voici comment cela fonctionne visuellement si vous deviez ouvrir votre navigateur et tenter d’accéder à un site Web.
Un exemple de requête DNS
Dans cet exemple, l’URL de destination (nom) spécifiée peut être le nom de domaine complet d’un site Web, tel que « example.com . », et le type de requête spécifié pour rechercher un enregistrement de ressource d’adresse (A) sous ce nom (c’est une requête d’enregistrement « A » car nous voulons l’adresse IP).
Considérez une requête DNS comme un client demandant à un serveur une question en deux parties, telle que « Avez-vous des enregistrements de ressources ‘A’ pour un site Web nommé’example.com .’? »Lorsque le client reçoit une réponse du serveur DNS, il lit et interprète l’enregistrement de ressource « A » répondu, apprenant l’adresse IP de l’ordinateur qu’il a demandé par son nom.
Cache DNS
Les requêtes DNS se résolvent de différentes manières. Un client peut parfois répondre localement à une requête en utilisant des informations mises en cache (stockées) obtenues à partir d’une requête précédente. Le serveur DNS peut utiliser son propre cache d’informations d’enregistrement de ressources pour répondre à une requête.
Un serveur DNS peut également interroger ou contacter d’autres serveurs DNS au nom du client demandeur pour résoudre complètement le nom, puis renvoyer une réponse au client. Ce processus est connu sous le nom de récursivité. Il est représenté dans l’image ci-dessus où le résolveur DNS n’a pas la réponse, il doit donc aller au serveur racine. Le serveur racine dirige vers le serveur TLD correct pour la réponse réelle qui est ensuite renvoyée à l’utilisateur.
La durée pendant laquelle la réponse reste dans le cache est déterminée par le TTL (time-to-live) défini par le propriétaire du domaine qui a créé l’enregistrement en premier lieu. Les serveurs DNS récursifs correctement construits obéiront à cela et jetteront le cache après l’expiration du TTL, mais il existe toujours des FAI qui ignorent incorrectement ces informations critiques pour diverses raisons.
De plus, le client lui-même peut tenter de contacter des serveurs DNS supplémentaires pour résoudre un nom. Lorsqu’un client le fait, il utilise des requêtes distinctes et supplémentaires basées sur les réponses de référence des serveurs. Ce processus est connu sous le nom d’itération. Par exemple, si je demande ‘www.example.com « , un enregistrement « A » pourrait ne pas exister. Il pourrait en fait renvoyer un CNAME me disant que je devrais faire une autre demande pour savoir quelle est l’adresse IP.
En général, le processus de requête DNS se déroule en deux parties:
- Une requête de nom commence sur un ordinateur client et est transmise à un résolveur, le service client DNS, pour résolution.
- Lorsque la requête ne peut pas être résolue localement, les serveurs DNS peuvent être interrogés selon les besoins pour résoudre le nom.
Quand cela ne fonctionne pas
Comme vous pouvez le voir, il y a plus que ce que l’on voit en matière de résolution de requêtes DNS. Si un serveur DNS ne fournit pas de réponse en temps opportun, cela peut tout ralentir. Jusqu’à ce que votre navigateur connaisse l’adresse IP de l’URL que vous avez entrée, il ne peut rien faire d’autre qu’attendre. C’est pourquoi il est important que les serveurs DNS faisant autorité soient rapides. De plus, si un serveur DNS faisant autorité tombe en panne, la requête finira par expirer et aucune réponse ne sera fournie. Vous l’avez probablement vu de temps en temps en parcourant Internet en cliquant sur un lien pour un site qui n’arrive jamais.