DNS und Verständnis von Root-Servern

0

Erstens ist diese Erklärung, wie DNS richtig funktioniert?

Wenn wir eine Site besuchen, z. B. (www.example.com), führen wir eine Suche durch, um den Domainnamen in eine IP-Adresse zu konvertieren. Daher überprüft unser Computer zuerst den internen DNS, um festzustellen, ob der Hostname vorhanden ist. Wenn der Hostname nicht vorhanden ist, wird er an die Stammnamenserver (.) Weitergeleitet. Jetzt erhalten die Root-Nameserver die Anfrage und teilen uns mit, dass sich die Anfrage auf den TLD-Servern befindet, und geben uns die IP-Adresse der TLD-Server an. Wenn wir nun die TLD-Server abfragen, enthalten die TLD-Server die Erweiterung von Websites wie .com, .org, .net usw. Die TLD-Server leiten uns in diesem Fall zu den COM-Servern weiter und wir erhalten die IP-Adresse des com server.Wenn wir die com server abfragen, haben sie "example" in ihrer Liste und leiten uns zu den DNS-Servern des Beispiels weiter. Wenn wir den Server von example.com abfragen, erhalten wir eine IP-Adresse und greifen auf das Internet zu.

Meine Frage ist, dass zum Beispiel.com der maßgebliche Nameserver der COM-Server ist, oder? Wie ist es, der uns die Informationen gibt?

John
quelle
Der autorisierende Nameserver ist derjenige, der die Datensätze enthält. Das ist der DNS-Server für example.com. Außerdem führen Computer keine Root-Lookups durch. Sie haben einen DNS-Server konfiguriert, in der Regel einen Internetdienstanbieter, und sie fragen den DNS-Server des Internetdienstanbieters ab. Wenn ein Root-Lookup erforderlich ist, wird dies vom DNS-Server des Internetdienstanbieters durchgeführt. Nicht dein Computer. Es wäre sehr ineffizient und mühsam, wenn einzelne Computer Root-Lookups durchführen würden.
Appleoddity
Angenommen, meine DNS-Server haben überhaupt keine zwischengespeicherten Daten. Es wird also zum Root gehen, dann zu TLD, dann zu COM-Servern und schließlich zu den "example.com" -Servern. "Der autorisierende Nameserver ist derjenige, der die Datensätze enthält." Wären nach dieser Aussage die autorisierenden Nameserver die COM-Server?
John
Warum wäre es ineffizient? Wäre es extrem zeitaufwändig?
John
Die DNS-Server, auf denen die Domain example.com gehostet wird, sind maßgeblich. Der Stammserver delegiert .com an einen zweiten Satz von DNS-Servern. Diese .com-DNS-Server delegieren .example.com an eine andere Gruppe von DNS-Servern. Dies sind normalerweise die Server, die Sie bei der Registrierung der Domain angeben würden. Dies sind die autorisierenden DNS-Server, die Sie bei der Registrierung der Domain angeben. Siehe hier: docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/… es ist ineffizient, da ein Caching-System vorhanden ist, um das DNS im Internet nicht zu überfordern.
Appleoddity
Sie sind beispielsweise nicht der einzige Kunde Ihres Internetdienstanbieters, der nach google.com fragt. Es ist schrecklich ineffizient, Ihren Computer oder DNS-Server an Stammserver zu senden, um eine rekursive Suche durchzuführen. Nummer eins, Sie haben keine direkte Verbindung zum Backbone des Internets, wie es Ihr ISP tut - es ist also langsamer. Zweitens können Sie die Vorteile der zwischengespeicherten Ergebnisse nutzen, die andere für Sie erstellt haben. Selbst wenn Sie ein eigenes DNS wie in Active Directory verwenden, sollte es so konfiguriert sein, dass Weiterleitungen bei Ihrem ISP verwendet werden und nur Stammhinweise als Ausfallsicherheit verwendet werden. Es ist schneller und effizienter, wenn Millisekunden wichtig sind.
Appleoddity

Antworten:

2

Meine Frage ist, dass zum Beispiel.com der maßgebliche Nameserver der COM-Server ist, oder?

Nein, lass diges:

# dig example.com SOA

 ;; ANSWER SECTION:
example.com.            3600    IN      SOA     sns.dns.icann.org. noc.dns.icann.org. 2018080109 7200 3600 1209600 3600

;; AUTHORITY SECTION:
example.com.            86400   IN      NS      a.iana-servers.net.
example.com.            86400   IN      NS      b.iana-servers.net.

Maßgeblicher Nameserver für example.comist:

a.iana-servers.net.
b.iana-servers.net. 

Das sind die Server, für die DNS-Einträge gespeichert sind example.com

Jetzt können wir sie direkt abfragen:

dig @a.iana-servers.net example.com A

;; ANSWER SECTION:
example.com.            86400   IN      A       93.184.216.34

DNS-Resolver disassemblieren den vollqualifizierten Domänennamen ( FQDN ) von rechts nach links.
Erste Abfrage geht DNS - Server zu verankern zu fragen , wer in autoritativen DNS - Server ist TLD für .com, dann Resolver - Abfrage bestimmte TLD für example.comvon diesen Servern.

# dnstracer -4 -r1 -s. example.com

Tracing to example.com[a] via A.ROOT-SERVERS.NET, maximum of 1 retries
A.ROOT-SERVERS.NET [.] (198.41.0.4)
 |\___ d.gtld-servers.net [com] (192.31.80.30)
 |     |\___ b.iana-servers.net [example.com] (2001:0500:008d:0000:0000:0000:0000:0053) Not queried
 |     |\___ b.iana-servers.net [example.com] (199.43.133.53) Got authoritative answer
 |     |\___ a.iana-servers.net [example.com] (2001:0500:008f:0000:0000:0000:0000:0053) Not queried
 |      \___ a.iana-servers.net [example.com] (199.43.135.53) Got authoritative answer

Versuchen wir jetzt eine andere Domain in .com TLD :

 # dig google.com SOA 

;; AUTHORITY SECTION:
google.com.             345600  IN      NS      ns3.google.com.
google.com.             345600  IN      NS      ns4.google.com.
google.com.             345600  IN      NS      ns1.google.com.
google.com.             345600  IN      NS      ns2.google.com.

wir werden sehen, dass autorisierende Nameserver für SLD google.com jetzt anders sind.

Wie ist es, der uns die Informationen gibt?

Nein, es handelt sich um eine Kette von autorisierenden DNS-Servern.
Root - DNS - Server nur Top - Level - Zonen hält auch bekannt als TLD , - wie .com, .net wenn Resolver verantwortlich autorisierenden DNS - Server bekam für TLD , Resolver - Abfrage bestimmte Zone für SLD (Second-Level - Domain, examplein unserem Fall) , und wenn es autorisierenden DNS - Server gefunden Für SLD fragt es den Server nach dem vollqualifizierten Domänennamen ( FQDN ) ab, z. B. www.example.com

In der Regel verwenden Benutzer die DNS-Server des Internetproviders, auf denen zwischengespeicherte aufgelöste DNS-Einträge gespeichert sind. Solche DNS-Server werden als Weiterleitungs-DNS-Server bezeichnet. Wenn sich Datensätze im Cache befinden, antworten sie dem Client sofort, ohne alle Zwischenserver zu belasten, die mit root beginnen. Wenn sich auf solchen Weiterleitungs-DNS-Servern keine Einträge im Cache befinden (oder der DNS-Eintrag abgelaufen ist), wird die Weiterleitung erneut aufgelöst und das Cache-Ergebnis wird angezeigt. Die DNS-Anfragen des Clients wurden rekursiv gesendet. Dies bedeutet, dass der Client vom DNS-Anbieter entweder einen Fehler oder einen gelösten Datensatz erhalten sollte. Der Client sollte die Kette von DNS-Zwischenservern nicht selbst abfragen, sondern den DNS-Server weiterleiten, der Clientanforderungen und zwischengespeicherte Ergebnisse bedient. Auf diese Weise reduzieren Weiterleitungen das Laden auf DNS-Zwischenserver und antworten den Clients so schnell wie möglich, da die DNS-Server der Anbieter näher an den Clients liegen.
(Übrigens ist der öffentliche DNS-Server von Google auch eine Weiterleitung.)

DNS-Einträge haben den Parameter TTL (time to live), der in autorisierenden Servern vom Domaininhaber festgelegt wird. Wenn Sie also erwarten, dass sich Ihre IP-Adresse häufig ändert, können Sie TTL = 5 Minuten festlegen, oder wenn Sie nicht möchten, dass sein DNS-Server eingerichtet wird zu oft gestört, dann kann TTL für einen Tag eingestellt werden.

Alex
quelle
0

Meistens richtig, aber Sie haben das Caching ausgelassen, was kritisch ist.

Wenn Sie zum ersten Mal einen einfachen Nur-Caching-Server einrichten, sind die einzigen ihm bekannten Datensätze die root hints-, die auf die Stammserver verweisen. Wenn Sie nach example.comden Root-Servern fragen, werden Sie darüber informiert, auf welchem ​​Server Datensätze abgefragt .comwerden sollen. Dies sind die maßgeblichen Server. Ihr DNS-Server speichert diese Informationen dann im Cache. Anschließend werden die .comServer nach den Informationen gefragt, example.comund sie geben einen Zeiger auf die Nameserver zurück example.com, die für die Verwendung in der Registrardatenbank konfiguriert sind. Diese Informationen werden ebenfalls zwischengespeichert. Dann fragt Ihr DNS-Server die Nameserver nach example.comder IP, die dem von Ihnen angeforderten Namen entspricht - www.example.com oder was auch immer.

Nehmen wir an, Sie fragen nach example2.com- die .comServerinformationen sind bereits zwischengespeichert, sodass Ihr DNS-Server nicht den Stammserver belästigt, sondern direkt zu den .comServern wechselt, die Nameserverinformationen für die example2.comDomäne abruft und diese abfragt.

ivanivan
quelle
Sie vernachlässigen die DNS-Delegierung. Die .com-Server sind für .example.com nicht maßgeblich. Sie delegieren diese Domain einfach an die DNS-Server, die bei der Registrierung der Domain example.com konfiguriert wurden. Der gleiche Server, auf dem Sie alle Ihre A- und CNAME-Einträge für example.com konfigurieren, ist für die Domain example.com selbst maßgeblich.
Appleoddity