DNS Définition
DNS Définition
Définition : Le DNS, ou Domain Name System, est un élément essentiel mais souvent méconnu du web. En bref, il permet de guider le trafic Internet en associant les noms de domaine aux serveurs Web réels.
I. Comment fonctionnent les DNS ?
Lorsqu’un utilisateur entre une URL dans son navigateur, le DNS entre en action pour associer cette URL à l’adresse IP du serveur réel. La résolution du nom DNS est le processus par lequel un recurseur DNS interroge plusieurs serveurs de noms pour obtenir l’adresse IP réelle d’un serveur.
Le DNS se compose principalement de quatre composantes : le registraire de domaine, les serveurs de noms, les enregistrements DNS et les services Web tels que l’hébergement de sites Web et le courrier électronique. Explorons ces composantes et leur fonctionnement conjoint.
1.1. Registraire de domaine
Un registraire de domaine est le prestataire de services où les noms de domaine sont achetés et enregistrés, tels que GoDaddy ou Namecheap. Kinsta ne propose pas d’enregistrement de domaine, mais voici une liste des meilleurs registraires de domaine. Le bureau d’enregistrement est l’endroit où les serveurs de noms de domaine sont spécifiés.
La plupart des bureaux d’enregistrement incluent un service DNS de base dans le coût de l’enregistrement du domaine. Par défaut, à moins d’ajouter des serveurs de noms personnalisés au domaine, les enregistrements DNS sont gérés par les serveurs de noms standards du registraire. En conséquence, dans la plupart des cas, les enregistrements DNS sont pris en charge par le bureau d’enregistrement.
1.2. Serveurs de noms
Les serveurs de noms sont des serveurs spécialement configurés pour stocker les enregistrements DNS plutôt que de servir des sites Web ou des applications Web. Lorsque vous souhaitez modifier un enregistrement DNS, vous devez le faire sur les serveurs de noms spécifiés par le registraire ou utiliser un service tiers comme Cloudflare.
Pour clarifier, prenons un exemple fictif :
-
- Votre domaine (exemple.com) est enregistré auprès de GoDaddy
- Vous ajoutez les serveurs de noms de Cloudflare à votre compte GoDaddy pour utiliser Cloudflare.
- Si vous modifiez un enregistrement DNS chez GoDaddy, cela n’aura aucun effet car le domaine n’utilise pas les serveurs de noms de GoDaddy.
- En revanche, si vous effectuez la même modification d’enregistrement DNS chez Cloudflare, elle sera prise en compte puisque le domaine utilise les serveurs de noms de Cloudflare.
En résumé, si vous utilisez exclusivement GoDaddy, vous devez effectuer les mises à jour de vos enregistrements DNS via GoDaddy, car c’est eux qui contrôlent vos serveurs de noms. Il est impossible de visiter un site Web sans accéder préalablement à un serveur de noms de domaine. « Vous pouvez rencontrer un message indiquant ‘Serveur DNS non disponible’ pendant ce processus, ce qui signifie que les systèmes de dénomination décentralisés chargés de convertir les noms d’hôtes en adresses IP ne répondent pas. »
1.3. Enregistrements DNS
Les enregistrements DNS établissent une association entre un domaine et un service Web.
Parmi les nombreux types d’enregistrements DNS disponibles, seuls environ 4 ou 5 sont largement utilisés.
-
- Enregistrement A : Utilisé pour faire pointer un domaine ou un sous-domaine vers une adresse IPv4. Par exemple, il permet de faire pointer le domaine exemple.com vers le serveur web où se trouve le site web exemple.com. (Remarque : Si le serveur web utilise une adresse IPv6 plutôt qu’une adresse IPv4, un enregistrement de type AAAA est utilisé à la place de l’enregistrement A).
- Enregistrements CNAME : Permettent d’associer un sous-domaine au domaine principal ou canonique. Ce type d’enregistrement est souvent utilisé pour associer le sous-domaine www au domaine principal, par exemple www.exemple.com avec exemple.com.
- Enregistrements MX :.Les enregistrements MX associent un domaine à un service de messagerie.Si vous souhaitez que les e-mails destinés à exemple.com soient livrés à un service de messagerie spécifique tel que Gmail, vous utiliserez un type d’enregistrement particulier.
- Enregistrements TXT : Permettent d’associer un texte arbitraire à un domaine. Les enregistrements TXT sont généralement utilisés pour associer des enregistrements SPF (Sender Policy Framework) à un domaine, afin d’améliorer la délivrabilité des e-mails et de se protéger contre les spams. Consultez notre blog détaillé sur l’authentification des e-mails et son importance.
Ce sont les types d’enregistrements DNS les plus couramment utilisés.
1.4. Services Web
Dans le contexte de l’hébergement d’un site web, le service web fait référence à l’hébergement du site lui-même. Pour associer un domaine aux serveurs web qui hébergent le site, il est nécessaire d’ajouter un enregistrement A (ou AAAA pour IPv6) aux serveurs de noms du domaine.
Il existe de nombreux autres types de services web qui peuvent être associés à un domaine via des enregistrements DNS, tels que le courrier électronique, SFTP (Secure File Transfer Protocol), les panneaux de contrôle d’hébergement, les applications de messagerie web et phpMyAdmin, pour n’en citer que quelques exemples.
II. Propagation DNS
Lorsque vous effectuez des modifications dans le DNS d’un domaine, telles que la mise à jour d’un enregistrement DNS ou le changement de serveur de noms, ces modifications prennent du temps à se propager. Ce délai est connu sous le nom de propagation. La durée de propagation peut varier considérablement selon les situations. Concernant les enregistrements DNS, chaque enregistrement possède une valeur TTL (Time to Live) associée. Cette valeur détermine la rapidité des modifications DNS.
La plupart du temps, le TTL pour les enregistrements DNS est réglé par défaut sur 1 à 4 heures. Cela signifie que les changements de DNS prendront généralement jusqu’à 4 heures pour être pleinement effectifs. Il est également possible d’avoir des valeurs de TTL plus élevées, ce qui signifie que les changements mettront plus de temps à se propager. Parfois, les valeurs TTL peuvent atteindre une semaine dans des cas extrêmes. En ce qui concerne les serveurs de noms, la valeur TTL est déterminée par le bureau d’enregistrement et ne peut généralement pas être modifiée. Par conséquent, lors de la transition vers de nouveaux serveurs de noms, il peut s’écouler de quelques minutes à un jour ou plus avant que ces changements ne prennent effet.
III. Configuration DNS – Comment configurer votre domaine
Une méthode consiste à configurer les serveurs de noms de votre domaine pour qu’ils pointent vers les serveurs de noms de votre hébergeur, en utilisant votre registraire de noms de domaine. Vous devez spécifier au moins deux URLs distinctes pour les serveurs de noms, qui ressemblent à ceci (vous pouvez en avoir plus de deux, mais pas moins) :
- ns1.votrehebergeur.com
- ns2.votrehebergeur.com.
3.1. DNS gratuit / DNS Premium
La vitesse et la fiabilité sont des raisons importantes pour choisir un service DNS haut de gamme. La résolution des enregistrements DNS et la redirection du trafic peuvent prendre du temps, même si cela ne représente que quelques millisecondes. En général, les services DNS gratuits fournis par votre registraire de noms de domaine sont souvent plus lents, tandis que les services DNS premium offrent généralement de meilleures performances. De plus, les services DNS premium peuvent offrir une sécurité et une disponibilité améliorées, notamment en cas d’attaques DDoS.
Pour trouver un bon compromis entre les services DNS gratuits fournis par votre registraire de noms de domaine et les services DNS premium, Cloudflare DNS est une option gratuite qui offre de nombreux avantages des services DNS premium. Il convient de noter que si vous utilisez les services DNS de Cloudflare, vous ne pourrez pas utiliser les services DNS premium inclus dans Amazon Route 53.
IV. Les étapes de recherche
Voici les étapes d’une recherche DNS :
- L’utilisateur saisit « exemple.com » dans un navigateur web et envoie la requête via Internet.
- La requête est reçue par un résolveur DNS récursif.
- Le résolveur interroge un serveur de noms racine DNS (.) pour obtenir des informations.
- Le serveur racine fournit l’adresse d’un serveur DNS de domaine de premier niveau (TLD) comme « .com » ou « .net ».
- Le résolveur envoie une requête au TLD spécifié, tel que « .com ».
- Le serveur TLD répond avec l’adresse IP du serveur de noms de domaine pour « exemple.com ».
- Le résolveur envoie une requête au serveur de noms de domaine.
- Le serveur de noms de domaine renvoie l’adresse IP du site « exemple.com » au résolveur.
- Le résolveur envoie une demande au serveur DNS.
- Le navigateur envoie une requête HTTP à l’adresse IP obtenue.
- Le serveur à cette adresse IP renvoie la page web demandée au navigateur.
Une fois que ces étapes sont terminées, le navigateur peut afficher la page web. Le résolveur DNS joue un rôle crucial dans le processus de recherche DNS en tant que premier point de contact avec le client ayant effectué la requête initiale. Il initie la séquence de requêtes qui aboutit à la traduction de l’URL en adresse IP nécessaire. Il convient de noter que, généralement, une recherche DNS non mise en cache implique à la fois des requêtes récursives et itératives.
Il est essentiel de comprendre la distinction entre une requête DNS récursive et un résolveur DNS récursif. La requête se réfère à la demande adressée à un résolveur DNS pour obtenir la résolution DNS. Le résolveur DNS récursif désigne l’ordinateur qui accepte une requête récursive et traite la réponse en effectuant les requêtes nécessaires.
V. Quels sont les types de requêtes DNS ?
Une recherche DNS courante implique trois types de requêtes différents. En utilisant ces requêtes de manière optimisée, on peut réduire la distance parcourue lors du processus de résolution DNS. L’idéal est d’avoir des données d’enregistrement mises en cache, ce qui permet au serveur de noms DNS de renvoyer une réponse sans nécessiter une requête récursive.
5.1. 3 types de requêtes DNS :
- Une requête récursive est utilisée lorsque le client DNS demande à un serveur DNS (généralement un résolveur DNS récursif) de fournir soit l’enregistrement de ressource demandé, soit un message d’erreur s’il ne peut pas trouver l’enregistrement.
- En revanche, une requête itérative permet au serveur DNS de renvoyer la meilleure réponse possible. Si le serveur DNS interrogé ne trouve pas de correspondance pour le nom de la requête, il recommande un serveur DNS de référence situé à un niveau inférieur dans l’espace de noms du domaine. Le client DNS émet ensuite une requête vers cette adresse recommandée, et ainsi de suite, jusqu’à ce qu’une erreur survienne ou que le délai d’expiration soit atteint.
- Quant à une requête non récursive, elle est généralement utilisée lorsque le client résolveur DNS interroge un serveur DNS sur un enregistrement qu’il peut accéder directement, soit parce qu’il est le serveur de référence pour cet enregistrement, soit parce que l’enregistrement est déjà présent dans son cache. Les serveurs DNS mettent généralement en cache les enregistrements DNS pour éviter une consommation de bande passante supplémentaire et une surcharge des serveurs amont.
VI. Qu’est-ce que la mise en cache DNS ?
La mise en cache consiste à stocker temporairement les données pour améliorer les performances et la fiabilité des requêtes de données. La mise en cache DNS implique le stockage des données plus proche du client pour accélérer la résolution DNS et éviter les requêtes supplémentaires. Cela améliore les temps de chargement et réduit la consommation de bande passante et de ressources processeur. Les données DNS peuvent être mises en cache à différents endroits avec une durée de stockage déterminée par une TTL (Time to live, durée de vie).
6.1. Mise en cache DNS du navigateur
Les navigateurs web modernes mettent en cache les enregistrements DNS par défaut pendant une durée déterminée. L’objectif principal est de réduire les étapes de traitement en effectuant les requêtes directement à partir du cache DNS le plus proche du navigateur. Lorsqu’une requête DNS est lancée, le cache du navigateur est le premier endroit consulté pour trouver l’enregistrement demandé.
Dans Chrome, vous pouvez vérifier l’état de votre cache DNS en accédant à cette adresse : chrome://net-internals/#dns.
6.2. La mise en cache DNS au niveau du système d’exploitation
Le résolveur DNS du système d’exploitation est le dernier arrêt local avant qu’une requête DNS ne quitte l’ordinateur. Il est également appelé « résolveur stub » ou client DNS. Lorsqu’une application envoie une requête au résolveur stub, celui-ci vérifie d’abord son propre cache pour trouver l’enregistrement demandé. Si l’enregistrement n’est pas présent dans le cache, le résolveur envoie une requête DNS récursive à un résolveur récursif dépendant du fournisseur d’accès Internet (FAI).
Le résolveur récursif, à son tour, vérifie sa propre couche de persistance locale pour voir si la traduction demandée est déjà présente. Si l’enregistrement A n’est pas trouvé, le système d’exploitation peut interroger directement les serveurs de noms de référence grâce aux enregistrements NS, évitant ainsi plusieurs étapes supplémentaires. Si le résolveur ne dispose pas d’enregistrements NS, il envoie une requête aux serveurs TLD (par exemple, « .com ») en contournant le serveur racine.
Dans de rares cas où le résolveur ne contient pas d’enregistrements pointant vers les serveurs TLD, il interroge alors les serveurs racines. Cela se produit généralement après la purge du cache DNS.