Un serveur DNS recherche à deux endroits principaux lors de la résolution d'une requête :
1. Enregistrements de zone (données faisant autorité) :
* Si le serveur DNS fait *autorité* pour le domaine en question (c'est-à-dire qu'il est responsable de la gestion des enregistrements DNS de cette zone), il consulte d'abord ses propres enregistrements de zone. Ces enregistrements sont stockés dans des fichiers ou des bases de données sur le serveur et contiennent des informations sur les ressources du domaine, telles que :
* A enregistre : Mappez les noms de domaine avec des adresses IPv4.
* Enregistrements AAAA : Mappez les noms de domaine sur les adresses IPv6.
* Enregistrements CNAME : Créez des alias pour les noms de domaine.
* Enregistrements MX : Spécifiez les serveurs de messagerie responsables de l'acceptation des e-mails.
* Enregistrements NS : Déléguez l'autorité d'un sous-domaine à un autre serveur DNS.
* Enregistrements TXT : Stockez des données textuelles arbitraires (souvent utilisées à des fins de vérification ou de métadonnées).
* Enregistrements SOA : Début de la fiche d'autorité, définissant les informations administratives de la zone.
* Enregistrements SRV : Définir l'emplacement des services.
* etc.
* Le serveur recherche dans ses fichiers de zone configurés ou dans sa base de données le type et le nom d'enregistrement demandé. S'il trouve un enregistrement correspondant, il renvoie la réponse au client.
2. Cache :
* Les serveurs DNS conservent un cache des enregistrements DNS précédemment résolus. Ce cache est une zone de stockage temporaire en mémoire (RAM) qui stocke les résultats des requêtes DNS antérieures. L'objectif principal du cache est d'améliorer les performances et de réduire la charge sur les serveurs DNS faisant autorité.
* Fonctionnement du cache :
* Lorsqu'un serveur DNS reçoit une requête, il vérifie *d'abord* son cache pour voir s'il dispose d'un enregistrement valide et non expiré pour le domaine et le type d'enregistrement demandés.
* Si un enregistrement correspondant est trouvé dans le cache et que la durée de vie (TTL) n'a pas expiré, le serveur renvoie l'enregistrement mis en cache au client. C'est beaucoup plus rapide que d'interroger un serveur faisant autorité.
* Si l'enregistrement n'est pas trouvé dans le cache, ou si le TTL a expiré, le serveur procède à la résolution de la requête en contactant d'autres serveurs DNS (de manière récursive ou itérative, selon sa configuration).
* Durée de vie (TTL) : Chaque enregistrement DNS est associé à une valeur TTL. Cette valeur spécifie la durée pendant laquelle l'enregistrement est considéré comme valide et peut être mis en cache. Lorsque la durée de vie expire, l'enregistrement mis en cache est supprimé et le serveur DNS doit à nouveau interroger un serveur faisant autorité pour obtenir une nouvelle copie. La durée de vie est définie par l'administrateur du serveur DNS faisant autorité.
Ordre des opérations :
Généralement, un serveur DNS effectue ces étapes dans l'ordre suivant :
1. Recevoir une requête : Le serveur DNS reçoit une requête DNS d'un client (par exemple, un ordinateur, un smartphone ou un autre appareil).
2. Vérifier le cache : Il vérifie d'abord dans son cache local une réponse valide (non expirée) à la requête. S'il est trouvé dans le cache, il renvoie la réponse mise en cache au client.
3. Vérifier les enregistrements de zone (si faisant autorité) : Si le serveur DNS fait autorité pour le domaine dans la requête, il vérifie ses fichiers de zone ou sa base de données pour obtenir la réponse. S'il est trouvé dans les données de la zone, il renvoie la réponse au client.
4. Requête récursive/itérative (si elle ne fait pas autorité et n'est pas en cache) : Si le serveur ne fait *pas* autorité et que la requête n'est pas dans le cache, il doit résoudre la requête en utilisant soit :
* Résolution récursive : Le serveur assume l'entière responsabilité de la résolution de la requête. Il interroge d'autres serveurs DNS (serveurs racine, serveurs de domaine de premier niveau (TLD) et serveurs faisant autorité) au nom du client jusqu'à ce qu'il trouve la réponse.
* Résolution itérative : Le serveur fournit uniquement des références. Il donne au client l'adresse d'un serveur DNS le plus proche de la réponse (par exemple, un serveur TLD). Le client interroge ensuite directement ce serveur. Cette approche oblige le client à effectuer une plus grande partie du travail.
5. Réponse du cache : Une fois que le serveur DNS reçoit la réponse d'un serveur faisant autorité (ou d'un autre serveur lors d'une résolution récursive), il met en cache la réponse (y compris le TTL) pour les requêtes futures.
6. Réponse de retour : Enfin, le serveur DNS renvoie la réponse résolue au client.
En résumé :
Un serveur DNS regarde d'abord dans son cache, et s'il fait autorité pour le domaine, il vérifiera ses enregistrements de zone. S'il ne fait pas autorité et que la réponse n'est pas dans le cache, il interrogera d'autres serveurs DNS.
|