Wie werden DNS-Einträge auf allen DNS-Servern im Internet aktualisiert?

Wie werden DNS-Einträge auf allen DNS-Servern im Internet aktualisiert?

Wenn jemand einen Hostnamen/Websitenamen bei GoDaddy, OpenDNS usw. hostet, wie aktualisiert er dann den Eintrag der DNS-Server weltweit für diesen neu hinzugefügten Hostnamen? Da es im Internet viele DNS-Server gibt und jeder ISP seinen Kunden unterschiedliche DNS-Server zur Verfügung stellt.

Antwort1

Das tun sie nicht. (Um es ein wenig zu vereinfachen) DNS ist eine Hierarchie. DNS-Server wissen entweder, wie sie einen übergeordneten DNS-Server finden oder wie sie eine Liste der „Root“-Server finden.

Wenn sie einen übergeordneten DNS-Server finden, fragen sie einfach diesen, und dieser fragt seinen übergeordneten Server so lange, bis er eine verbindliche Antwort erhält.

In den meisten Fällen kennen die Nameserver jedoch die Stamm-Nameserver, die sie wiederum auf die entsprechenden Server für die Domäne verweisen. (Oder in einigen Fällen auf den entsprechenden Server für den ersten Teil der Domäne. Dieser Vorgang wird wiederholt, bis der Domänenname aufgelöst ist.)

Unten sehen Sie ein Beispiel für eine „Ablaufverfolgung“, die zeigt, wie das System eine IP-Adresse autoritativ auflösen könnte fürwww.google.com(Signaturen ignorieren):

Reduzieren Sie die Ausgabe des Linux-Befehls „dig +trace www.google.com“

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> +trace www.google.com
;; global options: +cmd
.           514683  IN  NS  a.root-servers.net.
.           514683  IN  NS  b.root-servers.net.
.           514683  IN  NS  c.root-servers.net.
.           514683  IN  NS  d.root-servers.net.
.           514683  IN  NS  e.root-servers.net.
.           514683  IN  NS  f.root-servers.net.
.           514683  IN  NS  g.root-servers.net.
.           514683  IN  NS  h.root-servers.net.
.           514683  IN  NS  i.root-servers.net.
.           514683  IN  NS  j.root-servers.net.
.           514683  IN  NS  k.root-servers.net.
.           514683  IN  NS  l.root-servers.net.
.           514683  IN  NS  m.root-servers.net.
;; Received 525 bytes from 10.0.3.254#53(10.0.3.254) in 13 ms

com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.


google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
;; Received 840 bytes from 192.33.14.30#53(b.gtld-servers.net) in 35 ms

www.google.com.     300 IN  A   172.217.25.36
;; Received 59 bytes from 216.239.36.10#53(ns3.google.com) in 178 ms
  1. Die erste Abfrage sucht nach den Root-Servern (*.root-servers.net)
  2. Dann geben die Root-Server an, wo der rechte Teil der Domain zu finden ist - ".com"
  3. Die dritte Abfrage gibt die Nameserver für google.com zurück
  4. Schließlich geben die Nameserver von Google die Antwort fürwww.google.com

Ich stelle fest, dass ich im obigen Beispiel das Abfrageergebnis manuell auf das Wesentliche reduziert habe. In Wirklichkeit wird ein Nameserver im Allgemeinen nicht alle diese Abfragen durchführen, da er sich Teile davon merkt. Das heißt, wenn jemand zum ersten Mal nach einem .com-Domänennamen sucht, merkt sich der verwendete DNS-Server die Nameserver (in diesem Fall für 172800 Sekunden), sodass keine weitere Suche erforderlich ist. Gleiches gilt für alle spezifischeren Teile der Suche.

Wenn also jemand example.com über GoDaddy (oder einen beliebigen Registrar) registriert, muss GoDaddy (programmgesteuert) die Nameserver für example.com in den „.com“-Nameserver eintragen lassen. Wenn sie sich in AU befinden, müssen sie die Informationen in den „.com.au“-Bereich eintragen, wenn sie „example.com.au“ registrieren möchten – und dies würde eine Vereinbarung mit den Personen erfordern, die die Nameserver für den „.com.au“-Bereich kontrollieren – weshalb nicht alle Registrare alle Domänen registrieren können und warum das Erhalten neuer Top-Level-Domänen ein solcher Prozess ist – sie müssen viel Geld bezahlen, um die TLD bei den Stamm-Nameservern zu registrieren.

verwandte Informationen