Die spezifische Abfrage, die mich dazu gebracht hat, diesen Prozess zu entfernen, war:
Wird eine DNS-Suche nach einer Unterdomäne, z. B. assets.example.com
, schneller, wenn die übergeordnete Domäne example.com
bereits aufgelöst wurde?
Nach meinem (naiven) Verständnis ist der grundlegende Prozess für die Übersetzung eines Domain-Namens in eine IP-Adresse recht einfach. Die Adressen der dreizehn Root-Server, die Top-Level-Domains wie com
und net
auflösen können, sind in der Netzwerkhardware fest codiert. Im Falle einer Suche nach example.com
fragt unser lokaler DNS-Server, wahrscheinlich unser Router, einen dieser Stammserver nach einem Top-Level-Nameserver für com
. Es fragt dann den resultierenden Nameserver, ob er example
auflösen kann. Wenn dies der Fall ist, sind wir fertig, wenn nicht, werden wir an einen anderen Server weitergeleitet. Jeder Nameserver in diesem Prozess kann sich gut im Cache befinden, so dass unser lokaler Router jetzt eine Weile weiß, wo er nach com
und example
suchen muss, und der com
Server weiß, wo er nach example
suchen muss.
Trotzdem, ich verstehe es nicht wirklich.
com
TLD-Nameserver nicht weiß, wie example
aufzulösen ist, wie funktioniert es, welche anderen Nameserver zu überprüfen sind? Oder würde das einfach bedeuten, dass example.com
nicht aufgelöst werden kann? Wikipedia erklärt, dass einige DNS-Server Caching mit einer rekursiven Abfrage-Implementierung kombinieren, die es ihnen ermöglicht, Cache-Treffer zu liefern und Cache-Misses zuverlässig zu beheben. Ich verstehe nicht, wie diese Server abgefragt werden oder wie (sogar allgemein) der Auflösungsalgorithmus funktioniert.
Wenn ich auf meine anfängliche Frage zurückblicke, könnte ich einen Stich bei "Nein" machen, vorausgesetzt, die A-Datensätze befinden sich beide auf dem gleichen Nameserver. Ist das genau?
Erstens, die falschen Vorstellungen:
com
TLD-Nameserver nicht weiß, wie example
aufzulösen ist, wird nicht ermittelt, welche anderen Nameserver überprüft werden sollen. It ist selbst der zu prüfende Nameserver. Es kennt entweder example
oder example
existiert nicht. Die Antwort auf Ihre Frage ist ja. Wenn ein Nameserver example.com
bereits aufgelöst hat (und das Ergebnis immer noch in seinem Cache gültig ist), kann assets.example.com
schneller aufgelöst werden.
Der rekursive Auflösungsprozess ist so, wie Sie ihn beschrieben haben: Finden Sie zuerst die Nameserver für .
(das root) heraus, dann finden Sie die Nameserver für com
, etc ... Nur der rekursive Resolver fragt nicht wirklich für die Nameserver für .
und com
und example.com
. Es fragt jedes Mal nach assets.example.com
. Die Root-Server geben ihr keine Antwort auf diese Frage (sie wissen nichts über assets.example.com
), aber sie können zumindest einen Verweis auf die Nameserver für com
anbieten. Ebenso werden die Nameserver für com
die Frage nicht beantworten (sie wissen es auch nicht), aber sie können einen Verweis auf die Nameserver für example.com
anbieten. Die Nameserver für example.com
können die Antwort auf die Frage kennen oder nicht, je nachdem, ob assets.example.com
weiter an andere Nameserver delegiert oder in derselben Zone wie example.com
bereitgestellt wird. Dementsprechend erhält der rekursive Resolver entweder eine endgültige Antwort oder eine andere Empfehlung.
Tags und Links subdomain dns resolve nameservers