Le système de noms de domaine (DNS) est un élément important d'Internet qui convertit les noms de domaine lisibles par l'homme en adresses IP lisibles par les machines. Cet article explique les différentes parties du DNS, y compris ses composants, les types de requêtes et le processus de recherche. Nous parlerons également de la mise en cache DNS et de la manière dont elle accélère le processus de résolution DNS.
Points clés
- Le DNS agit comme l'« annuaire téléphonique » d'Internet, traduisant les noms de domaine lisibles par l'homme en adresses IP lisibles par les machines
- Le processus de résolution DNS implique le résolveur DNS, le serveur racine, le serveur de noms TLD et le serveur de noms faisant autorité qui travaillent ensemble pour résoudre un nom de domaine
- Le récurseur DNS, le serveur racine, le serveur de noms TLD et le serveur de noms faisant autorité sont les composants clés du système DNS
- Les requêtes récursives, itératives et non récursives sont les principaux types de requêtes DNS, chacune ayant un rôle spécifique dans le processus de résolution
- La mise en cache DNS améliore les performances, réduit l'utilisation de la bande passante et diminue la charge sur les serveurs en amont en stockant les enregistrements DNS fréquemment demandés plus près du client
Qu'est-ce que le DNS ?
Le DNS, ou système de noms de domaine, est le système de dénomination d'Internet qui agit comme l'« annuaire téléphonique » d'Internet. Son objectif est de traduire les noms de domaine lisibles par l'homme, tels que example.com, en adresses IP lisibles par les machines, comme 192.168.1.1. Cette traduction vous permet d'utiliser des noms de domaine faciles à retenir au lieu de devoir mémoriser des adresses IP numériques lors de l'accès aux sites web ou à d'autres ressources en ligne.
Le DNS joue un rôle dans le fonctionnement d'Internet en fournissant un moyen pour les appareils de communiquer entre eux en utilisant des noms de domaine plutôt que des adresses IP. Sans le DNS, vous devriez mémoriser l'adresse IP de chaque site web que vous souhaitez visiter, rendant la navigation sur Internet plus difficile et moins conviviale.
Comment fonctionne le DNS
Le processus de résolution DNS consiste à convertir un nom d'hôte (comme www.example.com) en une adresse IP (telle que 192.168.1.1). Lorsque vous saisissez un nom de domaine dans votre navigateur web, une requête DNS est lancée pour traduire le nom de domaine en son adresse IP.
Cette requête implique plusieurs serveurs DNS travaillant ensemble pour résoudre le nom de domaine :
Résolveur DNS : Le résolveur DNS est la première étape de votre requête DNS. Il agit comme un bibliothécaire qui reçoit une demande et est responsable de trouver la bonne adresse IP pour le domaine demandé.
Serveur racine : Si le résolveur DNS n'a pas l'adresse IP en cache, il envoie une requête au serveur racine. Le serveur racine agit comme un point de référence, dirigeant la requête vers le bon serveur de noms de domaine de premier niveau (TLD).
Serveur de noms TLD : Le serveur de noms de domaine de premier niveau gère la dernière partie d'un nom de domaine, telle que
.comou.org. Il fournit l'adresse IP du serveur de noms faisant autorité du domaine.Serveur de noms faisant autorité : Le serveur de noms faisant autorité est la dernière étape de la requête DNS. Il contient l'enregistrement d'adresse IP réel pour le domaine demandé et renvoie cette information au résolveur DNS.
Une fois que le résolveur DNS obtient l'adresse IP du serveur de noms faisant autorité, il vous renvoie cette information, permettant à votre navigateur web de se connecter au bon serveur et de charger le site web demandé.
Voici un résumé du processus de résolution DNS :
| Étape | Serveur | Description |
|---|---|---|
| 1 | Résolveur DNS | Reçoit votre requête DNS et est responsable de trouver l'adresse IP |
| 2 | Serveur racine | Agit comme un point de référence, dirigeant la requête vers le bon serveur de noms TLD |
| 3 | Serveur de noms TLD | Gère la dernière partie du nom de domaine et fournit le serveur de noms faisant autorité |
| 4 | Serveur de noms faisant autorité | Contient l'enregistrement d'adresse IP réel pour le domaine demandé |
Exemples concrets du processus de résolution DNS :
Lorsque vous tapez « amazon.com » dans votre navigateur web :
- Le résolveur DNS reçoit la requête et vérifie son cache pour l'adresse IP.
- Si elle n'est pas trouvée, le résolveur envoie une requête au serveur racine.
- Le serveur racine dirige la requête vers le serveur de noms TLD
.com. - Le serveur de noms TLD
.comfournit l'adresse IP du serveur de noms faisant autorité d'Amazon. - Le serveur de noms faisant autorité renvoie l'adresse IP d'
amazon.comau résolveur DNS. - Le résolveur DNS met l'adresse IP en cache et la renvoie à votre navigateur web.
Lors de la configuration d'un nouveau site web, le nom de domaine (par exemple,
monnouveausite.com) doit être enregistré auprès d'un registraire de domaines, et les enregistrements DNS doivent être configurés pour pointer vers le serveur hébergeant le site web. Cela garantit que lorsque vous tapez « monnouveausite.com » dans votre navigateur, le processus de résolution DNS peut traduire le nom de domaine en la bonne adresse IP, vous permettant d'accéder au site web.
Composants du DNS
Le système de noms de domaine (DNS) est une partie de l'infrastructure Internet qui traduit les noms de domaine en adresses IP. Plusieurs composants travaillent ensemble pour réaliser cela, notamment le récurseur DNS, le serveur racine, le serveur de noms TLD et le serveur de noms faisant autorité.
Récurseur DNS
Le récurseur DNS, également appelé résolveur récursif, est la première étape du processus de requête DNS. Il reçoit les requêtes des machines clientes comme les ordinateurs ou les téléphones et agit comme un bibliothécaire, trouvant les informations demandées pour répondre à la requête du client.
Exemple : Lorsque vous tapez www.example.com dans votre navigateur web, votre système d'exploitation envoie une requête au récurseur DNS pour trouver l'adresse IP correspondante.
| Fonction | Description |
|---|---|
| Reçoit les requêtes | Le récurseur reçoit les requêtes des machines clientes, telles que les ordinateurs ou les appareils mobiles |
| Vérifie le cache local | Le récurseur vérifie d'abord son cache DNS local pour l'adresse IP demandée |
| Effectue des requêtes supplémentaires | Si l'adresse IP n'est pas dans le cache, le récurseur effectue des requêtes supplémentaires vers d'autres serveurs DNS |
Serveur racine
Le serveur racine est la première étape pour résoudre les noms de domaine en adresses IP lorsque le récurseur n'a pas les informations nécessaires dans son cache. Il agit comme un point de référence pour le système DNS, dirigeant les requêtes vers le bon serveur de noms de domaine de premier niveau (TLD).
Exemple : Si le récurseur n'a pas l'adresse IP de www.example.com dans son cache, il contactera l'un des 13 serveurs racine pour trouver le bon serveur de noms TLD pour le domaine .com.
| Fonction | Description |
|---|---|
| Agit comme un point de référence | Le serveur racine sert de point de départ pour le processus de requête DNS |
| Dirige les requêtes | Il dirige les requêtes vers le bon serveur de noms TLD en fonction de l'extension du domaine |
Serveur de noms TLD
Le serveur de noms de domaine de premier niveau (TLD) gère les requêtes pour des extensions de domaine spécifiques, telles que .com, .net ou .org. Il héberge la dernière partie d'un nom de domaine et aide à affiner la recherche de l'adresse IP.
Exemple : Lorsque le récurseur contacte le serveur de noms TLD pour .com, il reçoit l'adresse IP du serveur de noms faisant autorité pour example.com.
| Fonction | Description |
|---|---|
| Gère des extensions de domaine spécifiques | Le serveur de noms TLD gère les requêtes pour des extensions de domaine spécifiques |
| Fournit l'IP du serveur de noms faisant autorité | Il renvoie l'adresse IP du serveur de noms faisant autorité du domaine au récurseur |
Types de requêtes DNS
Requête récursive
Dans une requête DNS récursive, le client DNS (tel qu'un navigateur web) demande à un serveur DNS (généralement un résolveur DNS récursif) de répondre soit avec l'enregistrement DNS demandé, soit avec un message d'erreur si le résolveur ne peut pas trouver l'enregistrement. Le résolveur récursif effectue ensuite des requêtes supplémentaires pour trouver l'adresse IP du nom de domaine.
Exemple : Lorsque vous entrez www.example.com dans votre navigateur, votre ordinateur envoie une requête récursive au résolveur DNS de votre fournisseur d'accès Internet. Le résolveur envoie ensuite une requête au serveur racine, au serveur de noms TLD et au serveur de noms faisant autorité pour obtenir l'adresse IP de www.example.com. Une fois que le résolveur a l'adresse IP, il la renvoie à votre ordinateur.
| Aspect | Description |
|---|---|
| Exigence du client | Le client DNS demande une réponse avec l'enregistrement demandé ou une erreur |
| Implication du serveur DNS | Implique généralement un résolveur DNS récursif |
| Requêtes supplémentaires | Le résolveur récursif effectue des requêtes supplémentaires pour trouver l'adresse IP |
Scénario concret : Lorsque vous visitez un site web comme https://www.google.com, votre navigateur web envoie une requête DNS récursive à votre résolveur DNS configuré (généralement fourni par votre fournisseur d'accès Internet ou un service DNS public comme Google DNS ou Cloudflare DNS). Le résolveur trouve ensuite l'adresse IP de www.google.com en effectuant des requêtes supplémentaires vers les serveurs racine, TLD et faisant autorité. Une fois que le résolveur obtient l'adresse IP, il la renvoie à votre navigateur, lui permettant de se connecter au serveur Google.
Requête itérative
Dans une requête DNS itérative, le client DNS permet à un serveur DNS de renvoyer la meilleure réponse qu'il peut. Si le serveur DNS interrogé n'a pas de correspondance pour le nom de la requête, il renvoie une référence à un serveur DNS faisant autorité pour un niveau inférieur de l'espace de noms du domaine. Le client DNS interroge ensuite l'adresse de référence, répétant ce processus jusqu'à ce qu'une erreur ou un délai d'expiration se produise.
Exemple : Si un client DNS envoie une requête itérative pour www.example.com à un serveur DNS qui ne fait pas autorité pour example.com, le serveur peut répondre avec l'adresse IP du serveur de noms faisant autorité pour example.com. Le client interrogerait alors ce serveur de noms pour obtenir l'adresse IP de www.example.com.
| Aspect | Description |
|---|---|
| Flexibilité du client | Le client DNS permet à un serveur DNS de renvoyer sa meilleure réponse |
| Processus de référence | Si aucune correspondance n'est trouvée, le serveur DNS renvoie une référence à un autre serveur |
| Chaîne de requêtes | Le client DNS suit la chaîne de référence jusqu'à ce qu'une erreur ou un délai d'expiration se produise |
Scénario concret : Les requêtes itératives sont souvent utilisées par les serveurs DNS pour communiquer entre eux. Par exemple, lorsqu'un résolveur récursif reçoit une requête pour www.example.com, il commence par envoyer une requête itérative à l'un des serveurs racine. Le serveur racine répond alors avec une référence au serveur de noms TLD pour .com. Le résolveur récursif envoie ensuite une requête itérative au serveur de noms TLD .com, qui répond avec une référence au serveur de noms faisant autorité pour example.com. Finalement, le résolveur récursif envoie une requête itérative au serveur de noms faisant autorité, qui renvoie l'adresse IP de www.example.com.
Requête non récursive
Une requête non récursive se produit lorsqu'un serveur DNS a déjà la réponse à une requête DNS dans son cache ou ses fichiers de zone. Cela peut se produire lorsque le serveur DNS fait autorité pour le domaine demandé ou lorsque l'enregistrement existe dans le cache du serveur suite à une requête précédente.
Exemple : Si un résolveur DNS récursif a l'adresse IP de www.example.com dans son cache en raison d'une requête précédente, il peut répondre à une requête non récursive d'un client immédiatement sans effectuer de requêtes supplémentaires vers d'autres serveurs DNS.
| Aspect | Description |
|---|---|
| Capacité du serveur | Le serveur DNS a accès à l'enregistrement demandé |
| Serveur faisant autorité | Le serveur peut faire autorité pour le domaine demandé |
| Utilisation du cache | L'enregistrement demandé peut exister dans le cache du serveur suite à une requête précédente |
Scénario concret : Les requêtes non récursives sont couramment utilisées lorsqu'un serveur DNS fait autorité pour un domaine ou lorsqu'il a l'enregistrement demandé dans son cache. Par exemple, si un serveur de noms faisant autorité pour example.com reçoit une requête pour www.example.com, il peut répondre avec l'adresse IP directement sans effectuer de requêtes supplémentaires. De même, si un résolveur récursif a récemment résolu www.example.com et a l'adresse IP dans son cache, il peut répondre aux requêtes suivantes pour le même domaine avec les informations mises en cache jusqu'à l'expiration du TTL (Time to Live).
Mise en cache DNS
La mise en cache DNS est une technique utilisée pour stocker temporairement les résultats de requêtes DNS dans un emplacement plus proche du client demandeur. L'objectif principal de la mise en cache DNS est d'améliorer les performances du processus de résolution DNS et de réduire la charge sur les serveurs DNS en amont.
Comment fonctionne la mise en cache DNS
L'objectif principal de la mise en cache DNS est de stocker les enregistrements DNS fréquemment demandés plus près du client, réduisant le besoin pour le client d'interroger les serveurs DNS distants. Cela présente plusieurs avantages :
Meilleures performances : En mettant en cache les enregistrements DNS, le temps nécessaire pour résoudre un nom de domaine en une adresse IP est considérablement réduit. Cela conduit à des temps de chargement plus rapides pour les sites web et autres ressources réseau.
Réduction de l'utilisation de la bande passante : Lorsque les enregistrements DNS sont mis en cache localement, le client n'a pas besoin d'envoyer de requêtes sur le réseau vers des serveurs DNS distants, réduisant l'utilisation globale de la bande passante.
Réduction de la charge sur les serveurs en amont : La mise en cache DNS aide à répartir la charge des requêtes DNS sur plusieurs niveaux de cache, réduisant la charge sur les serveurs de noms faisant autorité et autres serveurs DNS en amont.
Exemples concrets des avantages de la mise en cache DNS :
- Lorsque vous visitez un site web fréquemment consulté comme Facebook ou YouTube, votre navigateur et votre système d'exploitation mettent en cache les enregistrements DNS pour ces domaines. Cela permet un accès plus rapide à ces sites lors des visites ultérieures, car le processus de résolution DNS est raccourci.
- Les fournisseurs d'accès Internet et les grandes organisations utilisent souvent des résolveurs DNS de mise en cache pour réduire la charge sur leur infrastructure réseau et améliorer l'expérience de navigation de leurs utilisateurs.
Types de mise en cache DNS
La mise en cache DNS peut se produire à différents niveaux, du côté client aux résolveurs intermédiaires. Voici les principaux types de mise en cache DNS :
| Type | Description |
|---|---|
| Mise en cache DNS du navigateur | Les navigateurs web modernes disposent de caches DNS intégrés. Lorsqu'un utilisateur entre une URL, le navigateur vérifie d'abord son cache local pour l'enregistrement DNS correspondant avant d'envoyer une requête au résolveur DNS du système d'exploitation. Si l'enregistrement est trouvé dans le cache du navigateur, le navigateur peut immédiatement utiliser l'adresse IP sans attendre une réponse d'un serveur DNS externe. |
| Mise en cache DNS au niveau du système d'exploitation | Les systèmes d'exploitation maintiennent un cache DNS local via un composant appelé résolveur stub ou client DNS. Lorsqu'une application demande une résolution DNS, le résolveur stub vérifie d'abord son cache pour l'enregistrement demandé. Si l'enregistrement n'est pas trouvé, le résolveur stub envoie une requête récursive au serveur DNS configuré, généralement fourni par le fournisseur d'accès Internet ou un service DNS tiers. Le résolveur stub met en cache la réponse du serveur DNS externe, la rendant disponible pour les requêtes futures. |
| Mise en cache DNS du résolveur | La mise en cache se produit également au niveau du résolveur DNS, généralement géré par les fournisseurs d'accès Internet ou les fournisseurs DNS tiers comme Google DNS ou Cloudflare DNS. Lorsqu'un résolveur récursif reçoit une requête d'un client, il vérifie d'abord son cache local pour l'enregistrement DNS demandé. Si l'enregistrement n'est pas trouvé, le résolveur lance le processus de résolution DNS récursive, en commençant par les serveurs racine et en descendant jusqu'aux serveurs de noms faisant autorité. Une fois que le résolveur obtient l'adresse IP pour le domaine demandé, il met l'enregistrement en cache et renvoie le résultat au client. Si le résolveur a les enregistrements de serveur de noms (NS) pour le domaine demandé en cache, il peut sauter certaines étapes du processus de résolution DNS et interroger directement les serveurs de noms faisant autorité, améliorant encore la vitesse de résolution. |
Scénario concret de la mise en cache DNS en action
Voici un exemple étape par étape du fonctionnement de la mise en cache DNS dans un scénario concret :
- Un utilisateur tape
www.example.comdans son navigateur web. - Le navigateur vérifie son cache DNS local pour l'adresse IP associée à
www.example.com. Si elle est trouvée, le navigateur utilise l'adresse IP mise en cache pour se connecter au serveur. - Si elle n'est pas trouvée dans le cache du navigateur, le navigateur envoie une requête au résolveur stub du système d'exploitation.
- Le résolveur stub vérifie son cache DNS pour l'enregistrement demandé. S'il est trouvé, il renvoie l'adresse IP au navigateur.
- S'il n'est pas trouvé dans le cache du résolveur stub, la requête est transmise au résolveur récursif configuré (par exemple, le serveur DNS du fournisseur d'accès Internet).
- Le résolveur récursif vérifie son cache pour l'enregistrement demandé. S'il est trouvé, il renvoie l'adresse IP au résolveur stub, qui la transmet ensuite au navigateur.
- S'il n'est pas trouvé dans le cache du résolveur récursif, le résolveur lance le processus de résolution DNS récursive, met le résultat en cache une fois obtenu et renvoie l'adresse IP au résolveur stub et, finalement, au navigateur.
Processus de recherche DNS
Le processus de recherche DNS traduit un nom de domaine en une adresse IP. Voici les 8 étapes d'une recherche DNS typique :
L'utilisateur entre un nom de domaine : Lorsque vous tapez un nom de domaine comme
www.example.comdans votre navigateur web, le navigateur envoie une requête à un résolveur récursif DNS pour trouver l'adresse IP.Exemple : Vous souhaitez visiter
www.wikipedia.orget tapez le nom de domaine dans la barre d'adresse de votre navigateur.Requête envoyée au résolveur récursif DNS : Le résolveur récursif DNS, souvent fourni par votre fournisseur d'accès Internet ou un service DNS public comme Google DNS, reçoit la requête de votre navigateur.
Exemple : Votre navigateur envoie une requête au résolveur récursif DNS de votre fournisseur d'accès Internet, demandant l'adresse IP de
www.wikipedia.org.Le résolveur interroge le serveur racine : Si le résolveur récursif n'a pas l'adresse IP de
www.example.comdans son cache, il interroge un serveur racine. Le serveur racine répond avec l'adresse du serveur DNS de domaine de premier niveau (TLD) pour le domaine.com.Exemple : Le résolveur récursif du fournisseur d'accès Internet n'a pas l'adresse IP de
www.wikipedia.orgdans son cache DNS, donc il interroge un serveur racine. Le serveur racine répond avec l'adresse du serveur TLD.org.Le résolveur interroge le serveur TLD : Le résolveur récursif interroge ensuite le serveur TLD
.com, demandant l'adresse IP dewww.example.com.Exemple : Le résolveur récursif interroge le serveur TLD
.orgpour l'adresse IP dewww.wikipedia.org.Le serveur TLD répond avec l'IP du serveur de noms : Le serveur TLD
.comrépond avec l'adresse IP du serveur de noms faisant autorité pour le domaineexample.com.Exemple : Le serveur TLD
.orgrépond avec l'adresse IP du serveur de noms faisant autorité pourwikipedia.org.Le résolveur interroge le serveur de noms du domaine : Le résolveur récursif interroge le serveur de noms
example.compour l'adresse IP dewww.example.com.Exemple : Le résolveur récursif interroge le serveur de noms
wikipedia.orgpour l'adresse IP dewww.wikipedia.org.Le serveur de noms renvoie l'adresse IP : Le serveur de noms
example.comrecherche l'adresse IP dewww.example.comdans ses enregistrements DNS et la renvoie au résolveur récursif.Exemple : Le serveur de noms
wikipedia.orgtrouve l'adresse IP dewww.wikipedia.orget la renvoie au résolveur récursif.Le résolveur envoie l'adresse IP au navigateur : Le résolveur récursif met en cache l'adresse IP de
www.example.comet l'envoie à votre navigateur web.Exemple : Le résolveur récursif met en cache l'adresse IP de
www.wikipedia.orget la renvoie à votre navigateur.
Voici un diagramme du processus de recherche DNS en 8 étapes :
Après la recherche DNS
Après le processus de recherche DNS et une fois que le navigateur a l'adresse IP, deux étapes supplémentaires se produisent :
Le navigateur effectue une requête HTTP : Le navigateur envoie une requête HTTP à l'adresse IP obtenue lors de la recherche DNS.
Exemple : Le navigateur envoie une requête HTTP à l'adresse IP de
www.wikipedia.orgpour charger la page web.Le serveur envoie la page web : Le serveur à l'adresse IP reçoit la requête HTTP et renvoie la page web, que le navigateur affiche pour vous.
Exemple : Le serveur hébergeant
www.wikipedia.orgreçoit la requête HTTP et renvoie la page d'accueil de Wikipedia, que votre navigateur affiche.





