Malheureusement, la réponse ici est "cela dépend". Les facteurs dont il dépend varient en fonction du domaine et de la configuration des serveurs propriétaires, ainsi que de la configuration de votre propre DNS local.
Tout d'abord, par exemple, en ce qui concerne les enregistrements NS retournés: il est parfaitement autorisé de randomiser l'ordre dans lequel ces enregistrements sont retournés, de sorte que l'ordre peut différer chaque fois que vous le demandez. D'un autre côté, cela n'est pas fait par toutes les implémentations DNS, vous pourriez donc bien obtenir une liste ordonnée statiquement. Le fait est que vous ne pouvez pas en être sûr.
Ensuite, certaines implémentations DNS interrogeront chaque NS en parallèle et utiliseront la première réponse. D'autres vont frapper chacun, déterminer le plus rapide sur un certain nombre de demandes et utiliser celui-ci. Ou il pourrait simplement faire un tournoi à la ronde.
Il existe plusieurs RFC pour DNS, deux des plus utiles que j'ai trouvées sont:
http://www.faqs.org/rfcs/rfc1912.html
http://www.faqs.org/rfcs/rfc1033.html
Je me rends compte que c'est quelque chose d'une non-réponse, sans rien de définitif à retirer, mais étant donné ce qui précède, la seule vraie façon dont vous avez à déterminer le comportement pour un domaine donné est de tester.
L'implémentation la plus courante que j'ai vue au niveau du client, comme les FAI du monde entier, est la suivante:
Ce processus est répété pour CHAQUE recherche d'enregistrement. Cependant, seule la première requête fait tout le travail; les adresses IP du serveur de noms seront mises en cache après cela et les requêtes ultérieures vers le serveur DNS de mise en cache du FAI pourront rapidement passer à l'étape 8.
Maintenant, comme pour la randomisation de l'étape 8, cela fonctionne au niveau de l'enregistrement. Disons que l'abonné haut débit de ce FAI a posé des questions sur les enregistrements suivants:
Chaque enregistrement sera traité comme sa propre «entité» distincte, mise en cache et recherchée indépendamment. Supposons donc que l'abonné et le FAI n'aient jamais rencontré le domaine auparavant et que les deux aient zéro enregistrement en cache. Les recherches peuvent être les suivantes:
Chaque fois que les enregistrements mis en cache sont expirés en douceur, le processus est répété, vous ne savez même pas que les demandes suivantes pour cet enregistrement utiliseront à nouveau le même serveur.
C'est donc votre plus grand objectif absolu de vous assurer que tous vos serveurs DNS sont complètement synchronisés les uns avec les autres, reflétant parfaitement chaque enregistrement DNS sur chaque serveur. Vous ne savez jamais quel serveur un client DNS va frapper et vous ne pouvez vous fier à aucune commande. Il n'y a pas une telle chose.
De plus, comme mentionné par Adam C, les serveurs DNS au niveau du serveur (example.com) eux-mêmes pourraient renvoyer des enregistrements NS et randomiser l'ordre de ceux-ci. Il est très fréquent que les serveurs DNS normaux randomisent leurs enregistrements NS au cas où une mauvaise implémentation DNS choisit toujours le premier serveur de noms renvoyé. Cependant, les serveurs de noms ROOT TLD (mentionnés précédemment) ne randomiseront jamais la liste, et leur liste est ce qui compte vraiment lorsqu'il s'agit de résoudre le domaine. C'est pourquoi la plupart des implémentations choisissent un serveur aléatoire dans les listes de serveurs de noms, pour éviter de toujours toucher le même serveur et de le surcharger.
D'accord, c'est votre introduction au fonctionnement du DNS et à ce que vous devez retenir.
Avertissement: Des objectifs plus élevés dans la vie que la gestion du DNS peuvent être disponibles mais sont vendus séparément, utilisez votre imagination. ;-)
la source