43 votes

Pourquoi le DNS fonctionne-t-il de cette manière?

Ceci est une Question Canonique à propos du DNS (Domain Name Service).

Si ma compréhension du système DNS est correcte, le registre .com détient une table qui mappe les domaines (www.example.com) vers des serveurs DNS.

  1. Quel est l'avantage? Pourquoi ne pas mapper directement vers une adresse IP?

  2. Si le seul enregistrement qui doit être modifié lorsque je configure un serveur DNS pour pointer vers une adresse IP différente, se trouve au niveau du serveur DNS, pourquoi le processus n'est-il pas instantané?

  3. Si la seule raison du délai sont les caches DNS, est-il possible de les contourner, pour que je puisse voir ce qu'il se passe en temps réel?

9voto

Philip Couling Points 1655

A) Le nombre de mappings IP --> nom d'hôte dans le monde est VRAIMENT important. Ce système distribue la responsabilité d'héberger tous les sous-domaines et enregistrements MX et tous les autres enregistrements DNS au propriétaire du nom de domaine. C'était à peu près le but du nom de domaine. .com est détenu par un registre tandis que .uk peut être détenu par un autre. De même, example.com et otherexample.com peuvent être hébergés séparément afin que les ressources puissent être distribuées.

b) C'est mis en cache, ce qui réduit le nombre de requêtes sur votre hôte DNS à une petite fraction de ce qu'il serait sinon. Par défaut, les enregistrements restent en cache pendant 2 jours avant d'être supprimés. Cela peut être modifié en modifiant le TTL (temps de vie) de l'enregistrement.

c) Vous pouvez arrêter efficacement les enregistrements d'être mis en cache en définissant un TTL très court. Cela n'est PAS recommandé sauf si vous l'utilisez pour le DNS dynamique. Le cache réduit considérablement le nombre de requêtes sur le serveur DNS. Pour choisir un nombre au hasard, nous parlons de supprimer environ 95% des requêtes.

3voto

mikebabcock Points 390

Si vous êtes sur un système *nix, téléchargez une copie de djbdns de Dan Bernstein depuis http://cr.yp.to/djbdns.html et exécutez son programme dnstrace pour voir comment fonctionne le système de requêtes récursives. C'est très instructif.

3voto

JonF Points 550

A) Le nombre de noms de domaine possibles est bien trop grand pour qu'un seul serveur puisse gérer. Et il n'y a pas seulement .com; il y a aussi .net, .org, .se, .info et encore beaucoup d'autres. De plus, vous pouvez déléguer la responsabilité d'un sous-domaine (ce que fait effectivement com). Le fait que le DNS soit moins centralisé facilite la gestion de tout cela.

b) Les machines sur le chemin entre l'utilisateur et vous disposent de caches DNS afin de minimiser le nombre de requêtes nécessaires. Cela évite, par exemple, de saturer le réseau de demandes d'adresse de "serverfault.com" à chaque fois que vous consultez une page de SF. Ces serveurs peuvent même mettre en cache les résultats de "domaine inexistant", c'est pourquoi il peut falloir un certain temps pour qu'un nouveau domaine apparaisse.

c) Bien que vous puissiez désactiver votre cache, il y a souvent d'autres serveurs DNS entre votre machine et le serveur DNS de votredomain.com. Par exemple, le serveur DNS de votre FAI va essayer de mettre en cache autant que possible. Les seuls enregistrements mis à jour relativement rapidement à travers le réseau sont ceux avec un court TTL (ce qui signifie essentiellement "je ne suis valide que pour quelques secondes ; après cela, demandez-moi à nouveau pour des informations actuelles"). Cependant, la raison pour laquelle les TTL sont si élevés est que le serveur responsable du domaine peut décharger une partie du travail vers d'autres serveurs. Si tout le net contactait vos un ou deux serveurs DNS de pacotille pour chaque accès à votre site web, ils seraient pratiquement inutilisables dès que quelqu'un verrait votre site sur /., digg, etc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X