Le serveur DNS (Domain Name System) est un ordinateur qui associe les noms d'hôte de sites Web (tels que example.com) à leurs adresses IP (Internet Protocol) correspondantes. Une base de données d'adresses IP publiques et de leurs noms de domaine correspondants est conservée sur le serveur DNS.
Selon les protocoles IPv4 ou IPV6, chaque appareil connecté à Internet possède une adresse IP unique qui permet de l'identifier. Il en va de même pour les serveurs Web, qui sont utilisés pour héberger des sites Web. Un serveur CDNetworks à Mountain View, en Californie, par exemple, a une adresse IP de 157.185.170.144.
Les serveurs DNS nous aident à éviter de mémoriser de longues adresses IP (et même des adresses alphanumériques plus complexes dans le système IPV6) en traduisant automatiquement les noms de sites Web en ces numéros afin que les serveurs puissent charger les bonnes pages Web.
Contenu
Qu'est-ce que le DNS ?
Le système de noms de domaine (DNS) est une base de données de noms de domaine et d'adresses IP qui permet aux navigateurs de localiser l'adresse IP correcte pour une URL de nom d'hôte. Lorsque nous voulons accéder à un site Web, nous tapons généralement le nom de domaine dans le navigateur Web, tel que cdnetworks.com, wired.com ou nytimes.com.

Cependant, afin de charger le contenu d'un site Web, les navigateurs Web doivent connaître les adresses IP spécifiques. Le système de noms de domaine (DNS) convertit les noms de domaine en adresses IP, permettant aux ressources d'être chargées à partir du serveur du site Web. Les sites Web avec plusieurs adresses IP appartenant à un seul nom de domaine ne sont pas rares.
Les grands sites comme Google, par exemple, auront des utilisateurs demandant un serveur du monde entier. Même si le nom du site saisi dans le navigateur est le même, le serveur auquel un ordinateur de Singapour essaie de se connecter sera très probablement différent de celui qu'un ordinateur de, disons, Toronto essaie d'atteindre. C'est à ce moment que la mise en cache DNS entre en scène.
Mise en cache DNS
La mise en cache DNS est la technique de stockage des données DNS sur des enregistrements DNS plus proches d'un client demandeur afin que la requête DNS puisse être résolue plus rapidement. Cela élimine le besoin de requêtes supplémentaires plus loin dans la chaîne, améliore les temps de chargement des pages Web et réduit l'utilisation de la bande passante.
La durée de vie, ou TTL, fait référence à la durée pendant laquelle les enregistrements DNS sont conservés dans le cache DNS. Ce laps de temps est important car il définit la "fraîcheur" des enregistrements DNS et s'ils correspondent aux révisions actuelles de l'adresse IP. La mise en cache DNS peut avoir lieu dans le navigateur ou au niveau du système d'exploitation (niveau du système d'exploitation).
Mise en cache DNS dans le navigateur
Étant donné que les navigateurs Web enregistrent les enregistrements DNS pendant une période définie, c'est souvent le premier endroit qu'un utilisateur consulte lors de la création d'un enregistrement DNS. Il y a moins d'étapes impliquées dans la vérification du cache DNS et l'envoi d'une requête DNS à une adresse IP lors de l'utilisation d'un navigateur.
Mise en cache DNS Le niveau du système d'exploitation (SE)
Lorsqu'une requête DNS quitte le poste de travail d'un utilisateur final, elle se rend au niveau du système d'exploitation pour rechercher une correspondance. Le processus de «résolveur de stub» du système d'exploitation vérifie son propre cache DNS pour déterminer s'il contient l'enregistrement. Si ce n'est pas le cas, la requête est dirigée vers le fournisseur d'accès Internet en dehors du réseau local (ISP).
Comment fonctionne un DNS ?
Le DNS est chargé de transformer le nom d'hôte (également appelé nom de site Web ou de page Web) en une adresse IP. Le processus de localisation de l'adresse IP correspondante est appelé résolution DNS, et le fait de saisir le nom de domaine est appelé requête DNS.
Il existe trois types de requêtes DNS : récursives, itératives et non récursives.
Les requêtes récursives sont celles dans lesquelles un serveur DNS doit répondre avec l'enregistrement de ressource demandé. Si un enregistrement ne peut pas être découvert, un message d'erreur doit être affiché au client DNS.
Les requêtes itératives sont celles dans lesquelles le client DNS demande des réponses à de nombreux serveurs DNS jusqu'à ce que la meilleure réponse soit découverte, ou jusqu'à ce qu'une erreur ou un délai d'attente se produise. Si un serveur DNS faisant autorité pour un niveau inférieur de l'espace de noms de domaine est incapable de trouver une correspondance pour la requête, il fera référence à un serveur DNS faisant autorité pour un niveau inférieur de l'espace de noms de domaine. Le client DNS interroge ensuite cette adresse de référence et le processus se répète avec d'autres serveurs DNS.
Les requêtes non récursives sont celles qu'un résolveur DNS résout lorsque la ressource demandée est disponible, soit parce que le serveur fait autorité, soit parce que la ressource est déjà mise en cache.
Les différents types de serveur DNS
Une requête DNS est envoyée à quelques serveurs distincts avant d'être résolue, sans intervention de l'utilisateur final.
1. Résolveur récursif DNS
Il s'agit d'un serveur dédié à la réception des requêtes des machines clientes. Il localise l'enregistrement DNS et effectue des requêtes supplémentaires en réponse aux requêtes DNS du client. Lorsque les ressources demandées sont renvoyées au récurseur au début du processus de requête, la mise en cache DNS peut réduire le nombre de requêtes.
2. Serveur de noms racine
Ce serveur est chargé de convertir les noms d'hôtes lisibles par l'homme en adresses IP lisibles par ordinateur. Le serveur racine accepte la requête du récurseur et, en fonction du nom de domaine dans la requête, la transmet aux serveurs de noms TLD à l'étape suivante.
3. Serveur de noms de domaine de premier niveau (TLD)
Les serveurs de noms TLD sont chargés de garder une trace des informations sur les noms de domaine. Ils peuvent, par exemple, inclure des informations sur les sites Web se terminant par « .com » ou « .org », ainsi que sur les domaines nationaux tels que « www.example.com.uk », « www.example.com.us, " et d'autres. Le serveur de noms TLD reçoit la requête du serveur racine et la transmet au serveur de noms DNS faisant autorité pour le domaine en question.
4. Serveur de noms faisant autorité
Le serveur de noms DNS faisant autorité renverra finalement l'adresse IP au récurseur DNS, qui pourra ensuite la relayer au client. Ce serveur de noms DNS faisant autorité est celui qui conserve les enregistrements DNS au bas du processus de recherche. Considérez-les comme votre dernier arrêt ou la source d'information ultime faisant autorité.
Conclusion
Une recherche DNS est la procédure par laquelle un serveur DNS renvoie un enregistrement DNS. Cela implique de transmettre la requête de nom d'hôte du navigateur Web au processus de recherche DNS sur le serveur DNS et inversement. Le résolveur DNS est le serveur qui gère la première étape du processus de recherche DNS, lançant une série de procédures qui aboutissent à la traduction de l'URL en adresse IP pour le chargement de la page Web.
Le résolveur récursif DNS reçoit la requête de nom d'hôte saisie par l'utilisateur après son passage du navigateur Web à Internet. Le serveur DNS récursif envoie alors une requête au serveur racine DNS, qui renvoie l'adresse du serveur TLD responsable du stockage du domaine.
Le résolveur envoie ensuite une requête DNS au TLD du domaine associé, recevant l'adresse IP du serveur de noms de domaine. Le serveur DNS récursif demande ensuite le serveur de noms de domaine et reçoit l'adresse IP à donner au navigateur Web comme dernière étape. Le navigateur peut ensuite utiliser des requêtes HTTP pour demander des pages Web particulières une fois le processus de recherche DNS terminé.
Ces phases constituent une procédure de recherche DNS classique, mais la mise en cache DNS peut accélérer les choses. La mise en cache DNS permet au navigateur, au système d'exploitation ou à une infrastructure DNS distante de stocker localement les informations de recherche DNS, ce qui permet d'ignorer certaines étapes pour un chargement plus rapide.