Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

Le voyage d'une requête DNS

Module 1: Qu'est-ce que le DNS ? · Temps de lecture : 8 minutes

Objectif d'apprentissage : après cette leçon, vous saurez expliquer étape par étape comment un résolveur trouve une réponse, et où les réponses sont mémorisées en chemin.

Notions clés : résolveur (récursif), serveur racine, serveur TLD, serveur de noms faisant autorité (authoritative), renvoi (délégation), cache

Deux types de serveurs DNS

Dans la leçon 1.1, vous avez vu que le DNS est réparti : personne ne sait tout. Comment votre navigateur obtient-il alors l'adresse de www.example.com ? Pour cela, deux types de serveurs collaborent :

  • Les serveurs de noms faisant autorité (en anglais authoritative) connaissent la réponse pour leur propre portion. Les serveurs de noms de example.com connaissent les enregistrements de example.com. Ils ne font aucune recherche pour les autres.
  • Les résolveurs (aussi appelés résolveurs récursifs) cherchent la réponse pour vous. Ils interrogent d'autres serveurs jusqu'à l'obtenir. Votre fournisseur d'accès internet dispose d'un résolveur, et il existe aussi des résolveurs publics comme ceux de Quad9, Cloudflare ou Google.

Votre ordinateur lui-même ne cherche presque rien. Il possède un petit stub resolver qui transmet la question au résolveur de votre réseau et reçoit la réponse en retour.

Le voyage, étape par étape

Imaginons que le résolveur n'a encore rien mémorisé et que vous demandez l'enregistrement A de www.example.com.

  1. Votre ordinateur interroge le résolveur : « Quel est l'enregistrement A de www.example.com ? »
  2. Le résolveur interroge un serveur racine. Chaque résolveur a une liste intégrée des adresses des serveurs racines. Le serveur racine ne sait rien de example.com, mais il sait qui gère .com. Il répond par un renvoi : « Pour cela, adressez-vous aux serveurs de noms de com : a.gtld-servers.net, b.gtld-servers.net, etc. »
  3. Le résolveur interroge un serveur de noms de .com. Celui-ci ne connaît pas non plus l'adresse IP de www.example.com, mais il sait quels serveurs de noms gèrent example.com. Encore un renvoi : « Demandez à ns1.hosting.example ou ns2.hosting.example. »
  4. Le résolveur interroge un serveur de noms de example.com. Celui-ci fait autorité pour ce domaine et donne la réponse : « www.example.com a l'enregistrement A 192.0.2.10. »
  5. Le résolveur transmet la réponse à votre ordinateur. Votre navigateur se connecte à 192.0.2.10.

Un renvoi d'un niveau supérieur vers les serveurs de noms d'un niveau inférieur s'appelle une délégation. La racine délègue .com à Verisign, .com délègue example.com aux serveurs de noms indiqués par le titulaire du domaine. Pour un domaine .nl, cela se passe exactement de la même façon, sauf que la racine renvoie alors vers les serveurs de noms de .nl (SIDN, le registre de .nl aux Pays-Bas, par exemple ns1.dns.nl). Vous le constaterez vous-même dans l'exercice à la fin de cette leçon. C'est pourquoi il est si important que les serveurs de noms soient correctement enregistrés auprès du registre (leçon 2.1).

Le cache : pas tout le voyage à chaque fois

Si chaque résolveur devait recommencer par la racine à chaque requête, la racine recevrait une quantité de requêtes inimaginable. Cela n'arrive pas, car le résolveur mémorise les réponses pendant un certain temps. Cette mémoire s'appelle le cache.

La durée pendant laquelle une réponse peut être mémorisée figure dans la réponse elle-même : le TTL (time to live), en secondes. Un TTL de 3600 signifie : cette réponse peut être mémorisée pendant une heure. Les renvois sont eux aussi mémorisés. Un résolveur qui vient d'apprendre quels serveurs de noms gèrent .com n'a pas besoin de le redemander à la racine la fois suivante.

Si quelqu'un d'autre chez le même fournisseur demande une minute plus tard l'adresse de www.example.com, le résolveur répond immédiatement depuis son cache. Pas de voyage, pas d'attente.

Les caches se trouvent à plusieurs endroits :

  • dans le résolveur de votre fournisseur ou le résolveur public que vous utilisez ;
  • dans votre système d'exploitation (Windows, macOS, votre téléphone) ;
  • dans votre navigateur ;
  • parfois dans votre routeur.

C'est rapide et efficace, mais cela a une conséquence que vous rencontrerez souvent par la suite : si vous modifiez un enregistrement, les caches continuent à donner l'ancienne réponse jusqu'à l'expiration de leur TTL. C'est pourquoi une personne voit déjà une modification alors qu'une autre ne la voit pas encore. Le module 6 traite ce sujet en détail.

Les serveurs racines

Il existe 13 noms pour les serveurs racines : de a.root-servers.net à m.root-servers.net. Ils sont gérés par douze organisations différentes. Derrière chaque nom se trouvent, dans le monde entier, de nombreux serveurs, à des centaines d'endroits, qui partagent la même adresse (c'est ce qu'on appelle l'anycast). Votre résolveur arrive automatiquement sur un serveur proche. Les serveurs de noms des TLD, comme ceux de .com et .nl, fonctionnent de la même façon. Le DNS est ainsi rapide et continue de fonctionner même si un serveur tombe en panne quelque part.

Où cela peut-il se passer mal

Connaître le voyage vous aide à mieux situer les problèmes :

  • La délégation est incorrecte. Les serveurs de noms enregistrés auprès du registre ne connaissent plus (ou pas) le domaine. Le résolveur n'avance plus à l'étape 4. La réponse est une erreur, ou il n'y a aucune réponse.
  • Le serveur faisant autorité donne une réponse différente de celle attendue. Vous avez alors modifié l'enregistrement à un autre endroit que celui où se trouvent les serveurs de noms (leçon 2.1).
  • Le cache contient encore l'ancienne réponse. Rien n'est cassé dans ce cas. Il faut attendre l'expiration du TTL, ou vider votre propre cache.
  • Le DNSSEC est incorrect. Un résolveur validant vérifie les signatures en chemin. Si la chaîne n'est pas correcte, il refuse la réponse (leçon 8.1).

Avec l'outil dig +trace, vous pouvez refaire vous-même le voyage, depuis la racine jusqu'au serveur faisant autorité. Vous l'apprendrez dans la leçon 8.2. Des outils en ligne le permettent également.

Résumé

  • Les serveurs de noms faisant autorité connaissent la réponse pour leur propre domaine ; les résolveurs cherchent la réponse pour vous.
  • Un résolveur commence par la racine, reçoit un renvoi vers le TLD, puis vers les serveurs de noms du domaine, et obtient enfin la réponse.
  • Un tel renvoi s'appelle une délégation.
  • Les réponses sont mémorisées dans des caches, aussi longtemps que l'indique le TTL ; les modifications ne sont donc pas visibles partout immédiatement.
  • Il existe 13 noms de serveurs racines, mais grâce à l'anycast, de nombreux serveurs se trouvent derrière chacun d'eux dans le monde entier.

Quiz

1. Quel serveur cherche la réponse pour vous en interrogeant d'autres serveurs ?



2. Que répond un serveur racine à la question concernant www.example.com ?



3. Pourquoi un résolveur ne doit-il pas recommencer par la racine à chaque question ?



4. Il existe 13 noms de serveurs racines. Cela signifie-t-il qu'il y a 13 serveurs racines dans le monde ?



Exercice

Exercice Z1.4 : suivre le voyage. Suivez le voyage pour www.sidn.nl, avec dig +trace www.sidn.nl ou un outil en ligne qui affiche une trace. Indiquez : (1) un serveur de noms de nl. que vous rencontrez en chemin, (2) un serveur de noms faisant autorité de sidn.nl.

Exercice Z1.4: Suivre le trajet



Ce que vous saisissez et ce que nous constatons en direct ne sont pas enregistrés. Votre navigateur se souvient de vos réponses et du fait que vous avez réussi l'exercice. Si vous êtes connecté, nous conservons uniquement le fait que vous avez (presque) réussi l'exercice dans Mes cours; vous pouvez aussi l'y supprimer.

Pour aller plus loin

Ces articles décrivent la situation chez WebOké. Chez d'autres fournisseurs, le fonctionnement est comparable.

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…