Qu'est-ce que le DNS ? Une introduction au système de noms de domaine

Publié: 2022-04-11

Lorsque vous êtes assis devant votre ordinateur, Internet semble simple. Vous ouvrez un navigateur, tapez le nom de domaine et voyez le site Web sur votre écran. Cependant, sous l'interface utilisateur graphique (GUI) se trouve un vaste réseau de logiciels et de serveurs connu sous le nom de système de noms de domaine (DNS). Cependant, qu'est-ce que le DNS et comment nous aide-t-il à voir le Web sur nos appareils ?

La réponse à cette question est complexe, en raison du grand nombre de pièces mobiles impliquées. Vous constaterez que presque chaque maillon de la chaîne utilise un serveur. De plus, il existe des techniques pour vous aider à réduire les goulots d'étranglement qui peuvent éroder la vitesse de chargement rapide de vos pages.

Pour cet article, nous allons vous aider à comprendre le DNS de la manière la plus simple possible. Résumons ce que cet article va couvrir.

Table des matières

  • Comment Internet obtient une page Web d'un serveur à votre navigateur
    • Les 4 serveurs DNS qui récupèrent et chargent les pages Web
  • La différence entre le récurseur DNS et le serveur de noms faisant autorité
  • Comment fonctionne une recherche DNS
    • Les requêtes que vous trouverez dans une recherche DNS
  • Une introduction à la mise en cache DNS
  • Apporter des modifications aux enregistrements DNS : 'Propagation'
  • Conclusion

Comment Internet obtient une page Web d'un serveur à votre navigateur

En résumé, le DNS est la façon dont nous convertissons un nom de domaine lisible en l'adresse IP (Internet Protocol) résultante qu'il représente. Bien que cela semble être une tâche simple à première vue, c'est loin d'être le cas.

Chaque site Web vit sur un serveur, et chaque serveur (et ordinateur, en fait) a une adresse IP. Le DNS est le système qui associe les adresses IP aux noms de domaine, ce qui nous permet de profiter d'une navigation conviviale. Par analogie, pensez à la façon dont un nom de rue et une adresse de maison sont en réalité un ensemble de coordonnées cartographiques. Nous utilisons les adresses postales pour simplifier la longitude et la latitude d'un lieu.

Un écran cartographique affichant une adresse physique ainsi que la latitude et la longitude.

Lorsque vous convertissez une adresse IP en nom de domaine (et vice versa), c'est la "résolution DNS". Il existe un certain nombre de composants matériels dans cette chaîne, en particulier quatre types de serveurs différents. Discutons-en ensuite.

Les 4 serveurs DNS qui récupèrent et chargent les pages Web

Chaque requête et résolution DNS passe par quatre serveurs. Les voici, en quelques mots :

  • Récurseur DNS. C'est le 'porteur d'eau' pour tout le DNS. Lorsque vous demandez un site Web à partir de votre navigateur, vous dites au récurseur d'aller trouver (ou de « rechercher ») le site dans le DNS.
  • Le serveur de noms racine. Si vous considérez un serveur Web qui contient de nombreux sites, le serveur de noms racine représente l'ensemble. C'est l'emplacement général de l'adresse IP.
  • Le serveur de noms de domaine de premier niveau (TLD). Un site Web vivra dans le serveur de noms racine, mais le serveur de noms TLD extraira la dernière partie de l'adresse IP : la partie finale du nom d'hôte. Cela pourrait être .com, .net ou une myriade d'autres.
  • Le serveur de noms faisant autorité. Pour simplifier ce serveur compliqué, c'est la bibliothèque de référence pour l'adresse IP. Ce serveur renverra l'adresse IP complète au récurseur, qui à son tour affichera le site dans votre navigateur.

Une requête DNS passe par toutes ces étapes, même plusieurs fois, avant que la requête ne soit résolue. En tant que tel, de nombreux points de la chaîne peuvent entraîner l'échec d'une requête - d'où la raison pour laquelle nous avons des erreurs HTTP.

Cependant, cela vaut la peine de creuser plus en détail à l'avant et à l'arrière de cette chaîne. Faisons cela ensuite.

La différence entre le récurseur DNS et le serveur de noms faisant autorité

Vous comprendrez que le récurseur récupère le résultat d'une requête et est le début de tout le processus DNS. À son tour, vous saurez également que le serveur de noms faisant autorité renvoie le résultat de ce processus au récurseur. Cependant, les deux ont plus de différences que vous devrez connaître :

  • Récurseur DNS. Ce serveur répond à une demande de requête DNS. Il est actif en ce qu'il traque l'enregistrement DNS le long de la chaîne. Alors que l'approche typique pour un récurseur consiste à faire plusieurs requêtes aux autres serveurs, la mise en cache peut réduire ce temps. Nous en reparlerons plus tard.
  • Serveur de noms faisant autorité. Ce serveur contient tous les enregistrements DNS. Son travail consiste à répondre à une requête en fonction des informations qu'il reçoit des autres serveurs de la chaîne, y compris le récurseur. C'est ce serveur qui permet à un navigateur d'afficher un site Web. Parce qu'il fait autorité, il n'a pas besoin de consulter d'autres sources pour valider une requête - c'est une source de vérité.

Cependant, bien que le serveur de noms faisant autorité soit le point de terminaison d'une requête DNS, il n'en sera pas toujours ainsi. Vous trouverez également des serveurs de noms supplémentaires après ce point en fonction de la demande.

Si une requête DNS concerne un sous-domaine (tel que shop.example.com), vous constaterez qu'il y aura un serveur de noms supplémentaire après celui faisant autorité. Cela stocke un enregistrement CNAME pour le sous-domaine en question.

Un enregistrement CNAME au sein d'un bureau d'enregistrement.

En théorie, il n'y a pas de limite au nombre de serveurs de noms supplémentaires qu'une requête demande. Cependant, la plupart du temps, il n'y aura qu'un seul serveur de noms supplémentaire.

Comment fonctionne une recherche DNS

Bien qu'il existe quatre serveurs qui traitent une recherche et une requête DNS, il existe de nombreuses étapes dans la chaîne qui transmettent la requête et récupèrent les résultats. Voici comment fonctionne le processus de recherche :

  • Vous saisirez un nom de domaine dans votre navigateur. Une fois que vous avez cliqué sur Entrée , la requête se dirige de votre navigateur et de votre système d'exploitation (OS) vers Internet où le récurseur DNS la reçoit.
  • Le récurseur transmet cette requête au serveur de noms racine et effectue sa propre requête.
  • Le résultat de cette requête sera le serveur de noms TLD, qui retourne au récurseur.
  • Cette fois, le récurseur interroge le serveur de noms TLD, qui répond avec l'adresse IP du serveur de noms faisant autorité du domaine.
  • Le récurseur envoie une autre requête au serveur de noms faisant autorité, qui à son tour répond avec l'adresse IP de la requête de domaine initiale.

De là, le récurseur renvoie le résultat de son travail au navigateur Web. Ceci termine le processus DNS et le récurseur peut se reposer pendant quelques millisecondes ! Le navigateur traitera alors la requête HTTP afin d'afficher le site dans le navigateur.

Il y a beaucoup d'étapes complexes et laborieuses (par rapport à ce qu'un serveur peut réaliser), et cela se produit des milliards de fois par seconde partout dans le monde. Même ainsi, il n'y a jamais que trois requêtes qui ont lieu dans une recherche.

Les requêtes que vous trouverez dans une recherche DNS

Il existe une relation dans chacune de ces requêtes entre le client et le serveur DNS. Bien qu'il s'agisse de termes génériques, nous noterons tous les détails dans nos explications :

  • Requête récursive. Dans cette requête, le client demandera au récurseur DNS de répondre soit avec l'enregistrement DNS demandé, soit avec un message d'erreur.
  • Requête itérative. Cette requête donne au récurseur une licence gratuite pour faire une "meilleure estimation" avec ce qu'il renvoie. S'il n'y a pas de correspondance pour une requête, le résultat sera une référence à un serveur faisant autorité de niveau inférieur jusqu'à épuisement de ce "chemin".
  • Requête non récursive. Vous constaterez que cette requête se produira si un enregistrement DNS existe dans le cache ou si le récurseur a un accès autorisé à un enregistrement. Nous parlerons de la mise en cache vers la fin de l'article.

Dans de nombreux cas, vous constaterez que les requêtes récursives et non récursives sont les plus courantes. C'est pourquoi vous verrez des messages d'erreur et pourquoi le processus de recherche peut être complexe.

Une introduction à la mise en cache DNS

Lorsque vous traitez une requête non récursive, un enregistrement a la possibilité de résider dans un cache dédié aux enregistrements DNS. Si vous connaissez la mise en cache, vous comprendrez qu'elle contiendra des fichiers auxquels vous accédez régulièrement. Les applications locales peuvent le faire, mais le cache de votre site en est le meilleur exemple :

Le plugin W3 Total Cache dans le tableau de bord WordPress.

Cela contiendra des enregistrements pour les fichiers de votre site, afin que vous puissiez limiter le nombre de requêtes HTTP. La même chose est également possible pour les enregistrements DNS. Cela permet de conserver les enregistrements pertinents plus près de l'emplacement de votre ordinateur, de sorte que vous puissiez récupérer une adresse IP plus rapidement que vous ne le feriez habituellement.

Pour les développeurs Web, une requête GET est ce que le navigateur émet. Avec un cache, le récurseur coupe les autres serveurs de la chaîne et va directement au serveur de noms faisant autorité ou le rappelle sans avoir besoin d'autres requêtes. C'est la requête non récursive la plus typique que vous puissiez faire.

En fait, vous trouverez des caches DNS sur plusieurs technologies, telles que votre fournisseur d'accès Internet (FAI), votre routeur et votre ordinateur local.

Le navigateur Brave indiquant le nombre de fichiers mis en cache en mémoire.

Vous constaterez que le cache de votre navigateur est le premier port d'escale pour un récurseur à la recherche d'un enregistrement DNS, et en tant que tel, les navigateurs mettent souvent en cache les enregistrements comme paramètre par défaut. Votre système d'exploitation aura également un résolveur DNS, qui vérifie également son cache pour un enregistrement DNS.

Encore une fois, si le système d'exploitation ne contient pas l'enregistrement dans son cache, il enverra la requête au récurseur de votre FAI pour traitement. Ces deux récurseurs fonctionneront avec les enregistrements A et NS de votre domaine pour essayer de résoudre une requête, avant que le processus de recherche complet n'ait lieu.

Apporter des modifications aux enregistrements DNS : 'Propagation'

En parlant de cela, vous pouvez apporter des modifications à vos enregistrements A , NS ou CNAME auprès de votre bureau d'enregistrement. Dans de nombreux cas, cela prendra jusqu'à 72 heures au total avant que toutes ces modifications ne soient enregistrées.

Il s'agit de la propagation DNS, et le temps qu'il faut pour terminer dépend d'un certain nombre de facteurs - à savoir la valeur Time To Live (TTL) pour un enregistrement associé :

Les registres enregistrent les valeurs TTL en secondes.

En bref, cela détermine la vitesse à laquelle un changement prendra effet pour un enregistrement DNS spécifique. Un TTL typique est d'environ quatre heures, et plus la valeur est élevée, plus cette propagation prendra de temps.

Le bureau d'enregistrement définit souvent le TTL pour vos serveurs de noms, et en tant que tel, vous ou quelqu'un d'autre ne pourrez pas apporter de modifications. C'est pourquoi vous devrez souvent attendre la fin de la propagation et pourquoi vous vérifierez constamment un site tel que What's My DNS? pour mesurer son évolution :

Quel est mon DNS ? site Internet.

La solution consiste à définir votre TTL autant que possible avant de décider de modifier vos enregistrements DNS. Bien sûr, le bureau d'enregistrement sera responsable de vos serveurs de noms, mais vous aurez fait le maximum pour réduire le temps de propagation.

Conclusion

Si vous pensez qu'accéder à une page Web est simple, détrompez-vous. Pour l'utilisateur final, le processus est simple à la base. Cependant, sous le capot, c'est beaucoup plus complexe et implique une pléthore de serveurs supplémentaires.

Cet article a examiné le DNS - la façon dont Internet prend un nom de domaine et le résout en une adresse IP. À partir de là, il peut revenir au navigateur et s'afficher sous la forme d'une page Web. Cependant, vous constaterez que de nombreux autres processus se produisent également, tels que la propagation et la mise en cache. Combinés, ils nous offrent une navigation rapide et (surtout) sans problème.

Pensez-vous que cet article répond à la question : "Qu'est-ce que le DNS ?", et si non, avez-vous d'autres questions ? Si oui, demandez dans la section commentaires ci-dessous!