Ich habe die Antwort auf diese Frage nirgendwo gefunden und bin ein wenig verwirrt.. Ich möchte wissen, ob die Root-DNS-Server iterativ oder rekursiv abgefragt werden. Soweit ich das Thema verstehe, können sie rekursiv abgefragt werden, da sie die 'letzte Option' sind, um einen Namen aufzulösen, daher müssen sie mit der IP-Adresse/Fehlermeldung antworten. Liege ich richtig? Bitte klären Sie das für mich. Danke.
Antworten
Zu viele Anzeigen?Abfragen an einen beliebigen DNS-Server, unabhängig davon, ob es sich um den Root-Server handelt oder nicht, werden mit Informationen beantwortet, die der Server über Namen, über die er etwas weiß, geben darf. Das bedeutet, dass, wenn Sie einen Server nach einem Namen fragen, den er nicht kennt, aber weiß, wem ein Teil davon gehört, er Sie an die nächste Stelle verweisen wird, an der Sie fragen können.
Angenommen, Sie müssen herausfinden, wo sich www.example.com
befindet. Wenn Sie das dig
-Dienstprogramm aus dem Bind-Paket verwenden, können Sie den Root nach der Antwort abfragen und sehen, was er Ihnen mitteilen wird:
# dig @b.root-servers.net. www.example.com a
;; FRAGE ABSCHNITT:
;www.example.com. IN A
;; AUTORITÄTS ABSCHNITT:
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
; [...11 weitere Autoritäts-Server für .com nicht angezeigt...]
;; ZUSÄTZLICHER ABSCHNITT:
h.gtld-servers.net. 172800 IN A 192.54.112.30
d.gtld-servers.net. 172800 IN A 192.31.80.30
; [...11 weitere IP-Adressen für .com nicht angezeigt...]
Die Wirkung der obigen Antwort besteht darin, dass der Root-Server Ihnen sagt: "Ich weiß nicht, wo www.exmaple.com ist. Sie müssen als Nächstes .com fragen, das sich an der folgenden Liste von Adressen befindet.
Und so würden Sie weiterziehen, um die .com-Server dieselbe Frage zu stellen:
# dig @h.gtld-servers.net. www.example.com a
;; FRAGE ABSCHNITT:
;www.example.com. IN A
;; AUTORITÄTS ABSCHNITT:
example.com. 172800 IN NS a.iana-servers.net.
example.com. 172800 IN NS b.iana-servers.net.
;; ZUSÄTZLICHER ABSCHNITT:
a.iana-servers.net. 172800 IN A 199.43.132.53
a.iana-servers.net. 172800 IN AAAA 2001:500:8c::53
b.iana-servers.net. 172800 IN A 193.0.0.236
b.iana-servers.net. 172800 IN AAAA 2001:610:240:2::c100:ec
Diese Antwort hilft Ihnen weiter, indem sie sagt: "Ich weiß auch nicht, aber fragen Sie die Besitzer von example.com". Indem Sie sie fragen, erhalten Sie schließlich eine echte Antwort, nach der Sie gesucht haben:
# dig @a.iana-servers.net. www.example.com a
;; ANTWORT ABSCHNITT:
www.example.com. 172800 IN A 192.0.32.10
Und schließlich haben wir einen Server, der bereit ist, uns die echte Antwort zu geben.
Beachten Sie jedoch, dass wir jeden Server nacheinander gefragt haben, beginnend beim Root und nach unten. Bei jedem Schritt hat jemand entweder gesagt: "Ich habe die Antwort" oder "Ich habe die Antwort nicht, aber ich weiß, mit wem Sie als Nächstes sprechen sollten".
Rekursive Server (d.h. diejenigen, die Endbenutzerclients bedienen) senden iterative Anfragen an autoritative Server.
Als Antwort auf diese iterativen Anfragen wird jeder autoritative Server in der Kette vom Root aus entweder die Antwort zurückgeben, wenn er für diese Domain autoritativ ist, oder eine Weiterleitung an die nächsten Server in der Kette, die möglicherweise die Antwort haben können.
Die Root-Nameserver bieten keinen vollständig rekursiven Service an, sondern leiten an die Nameserver weiter, die von jedem TLD betrieben werden.