La "propagation DNS" n'est pas un phénomène réel en soi. C'est plutôt l'effet manifeste de la fonctionnalité de mise en cache spécifiée dans le protocole DNS. Dire que les modifications "se propagent" entre les serveurs DNS est un mensonge commode qui est sans doute plus facile à expliquer aux utilisateurs non techniques que de décrire tous les détails du protocole DNS. Ce n'est pas vraiment comment fonctionne le protocole, cependant.
Les serveurs DNS récursifs effectuent des requêtes pour le compte de clients. Les serveurs DNS récursifs, généralement gérés par les fournisseurs de services Internet ou les services informatiques, sont utilisés par les ordinateurs clients pour résoudre les noms de ressources Internet. Les serveurs DNS récursifs mettent en cache les résultats des requêtes qu'ils effectuent pour améliorer l'efficacité. Il est possible de répondre aux requêtes portant sur des informations déjà mises en cache sans effectuer de requêtes supplémentaires. La durée, en secondes, pendant laquelle un résultat est mis en cache est supposée être basée sur une valeur configurable appelée durée de vie (TTL). Cette valeur est spécifiée par le serveur DNS faisant autorité pour l'enregistrement demandé.
Il n'y a pas de réponse unique à toutes les questions posées car le DNS est un protocole distribué. Le comportement de DNS dépend de la configuration du serveur DNS faisant autorité pour un enregistrement donné, de la configuration des serveurs DNS récursifs effectuant des requêtes pour le compte d'ordinateurs clients et de la fonctionnalité de mise en cache DNS intégrée aux systèmes d'exploitation de ces ordinateurs.
Il est recommandé de spécifier une valeur TTL suffisamment courte pour prendre en compte les modifications quotidiennes nécessaires des enregistrements DNS, mais suffisamment longue pour créer un "gain" dans la mise en cache (c.-à-d. Pas trop court pour supprimer le cache trop rapidement pour fournir une amélioration de l'efficacité). L’utilisation d’une stratégie équilibrée avec les valeurs de la durée de vie résulte en une "victoire" pour tout le monde. Il réduit l'utilisation de la charge et de la bande passante pour les serveurs DNS faisant autorité pour un domaine donné, les serveurs racine et les serveurs TLD. Cela réduit l'utilisation de la bande passante en amont pour l'opérateur du serveur DNS récursif. Il en résulte des réponses aux requêtes plus rapides pour les ordinateurs clients.
Comme la durée de vie d'un enregistrement DNS est définie, la charge et l'utilisation de la bande passante sur les serveurs DNS faisant autorité augmentent car les serveurs DNS récursifs ne pourront pas mettre en cache le résultat pendant une longue durée. Comme la durée de vie d'un enregistrement est élevée, les modifications apportées aux enregistrements ne sembleront pas "prendre effet" rapidement car les ordinateurs clients continueront à recevoir les résultats mis en cache stockés sur leurs serveurs DNS récursifs. Définir la durée de vie optimale consiste à trouver un équilibre entre l'utilisation et la possibilité de modifier rapidement les enregistrements et de voir ces modifications reflétées sur les clients.
Il est à noter que certains fournisseurs de services Internet sont abusifs et ignorent les valeurs de durée de vie spécifiées par les serveurs DNS faisant autorité (en se substituant à leur propre remplacement administratif, ce qui constitue une violation du RFC). Il n'y a rien à faire à ce sujet, d'un point de vue technique. Si les exploitants de serveurs DNS abusifs peuvent être localisés, des plaintes auprès de leurs administrateurs système pourraient les amener à mettre en œuvre leurs meilleures pratiques (ce qui relève du sens commun pour tout ingénieur réseau familiarisé avec DNS). Ce type d'abus n'est pas un problème technique.
Si tout le monde "respecte les règles", les modifications apportées aux enregistrements DNS peuvent "prendre effet" très rapidement. Dans le cas de la modification de l'adresse IP affectée à un enregistrement "A", par exemple, une réduction exponentielle de la valeur TTL serait effectuée, ce qui conduirait au moment où la modification sera effectuée. Le TTL peut commencer à 1 jour, par exemple, et être réduit à 12 heures pour une période de 24 heures, puis 6 heures pour une période de 12 heures, 3 heures pour une période de 6 heures, etc., jusqu'à un intervalle suffisamment réduit. Une fois la durée de vie supprimée, l'enregistrement peut être modifié et ramené à la valeur souhaitée pour les opérations quotidiennes. (Il n'est pas nécessaire d'utiliser une réduction exponentielle, mais cette stratégie minimise le temps pendant lequel l'enregistrement a une durée de vie minimale et diminue la charge sur le serveur DNS faisant autorité.)
Après la création d'un enregistrement DNS, les journaux de modification doivent être surveillés afin de détecter les tentatives d'accès résultant de l'ancien enregistrement DNS. Dans l'exemple de modification d'un enregistrement "A" pour faire référence à une nouvelle adresse IP, un serveur doit rester présent à l'ancienne adresse IP pour gérer les tentatives d'accès résultant d'ordinateurs clients utilisant encore l'ancien enregistrement "A". Une fois que les tentatives d’accès basées sur l’ancien enregistrement ont atteint un niveau acceptable, l’ancienne adresse IP peut être supprimée. Si les requêtes liées à un ancien enregistrement ne s'épuisent pas rapidement, il est possible qu'un serveur DNS récursif (comme décrit ci-dessus) ignore la durée de vie (TTL) faisant autorité. Connaître l'adresse IP source d'une tentative d'accès ne fournit cependant pas d'informations directes sur le serveur DNS récursif responsable de la fourniture d'un ancien enregistrement.
Personnellement, j’ai vu les changements «prendre effet» immédiatement, en quelques heures, et dans certains cas avec un FAI endommagé au cerveau, après plusieurs jours. Faire abstraction de votre durée de vie et être conscient du fonctionnement du processus augmentera vos modifications pour réussir, mais vous ne pouvez jamais être sûr de ce qu'un idiot bien intentionné pourrait faire avec leurs serveurs DNS récursifs.