Ich habe vor einigen Tagen über DNS gelesen und erfahren, wie die Anfragen verarbeitet werden. Wenn Sie auf www.example.com surfen, wird eine Anfrage an die Root-Nameserver gesendet, um festzustellen, wem diese .com-Adresse gehört. Eine weitere Anfrage wird an einen anderen, lokaleren DNS-Server gesendet, um festzustellen, wem die example.com gehört Adresse und so weiter.
Wie ist es technisch möglich, dass die 13 Root Name Server alle Anfragen von Milliarden von Internetnutzern gleichzeitig bearbeiten können, ohne ddos: ed zu müssen?
a.b.c.example
erfahren, wer für wen zuständig ist,c.example
anstatt für wenexample
.Antworten:
Es handelt sich um 13 hochverfügbare Servercluster, nicht nur um 13 Server.
Unter anderem müssen Root-Nameserver-Bediener über genügend Kapazität verfügen, um das Dreifache ihrer normalen Verkehrslast ( RFC 2870 ) zu bewältigen . Dies führt zu ziemlich großen Clustern.
Allerdings dient der Root - Nameserver nur Antworten für den Top - Level - Domains selbst, das heißt
com.
,net.
,uk.
,ae.
, usw., und die Nameserver , die die Wurzel Fragen Sie diese Informationen zwischenspeichern kann bis zu 48 Stunden , die drastisch die Last an dem Root - Nameserver reduziert. Dies führt zu kleineren Clustern.Die Root-Nameserver befinden sich an über 130 Standorten in 53 Ländern. Mit nur 13 Servernamen geschieht dies durch die Magie von IPv4 Anycast.
Die Root-Nameserver haben auch eine eigene Website , auf der Sie interessante Informationen finden können.
quelle
Sie tun es nicht. Die Root-Nameserver müssen nur mitteilen, mit welchen Nameservern sie umgehen
com
. Von da an müssen Sie nicht mehr zu ihnen gehen, um eine Domain innerhalb zu verwaltencom
. Die Root-Nameserver haben keine Ahnung, wem sie gehörenexample.com
. Sie sind Root Nameserver, keine Com Nameserver.Was slimsuperhero sagte, ist auch wahr. Viele hochvolumige Nameserver verwenden Anycast , um eine einzige IP-Adresse von einer Reihe von Servern auf der ganzen Welt bereitzustellen.
quelle
com
.com
auf der anderen Seite müssen einen viel massiveren Schlag hinnehmen .Jeder Root-Server ist eigentlich kein Server, sondern ein riesiger Cluster von Servern. Darüber hinaus werden DNS-Antworten zwischengespeichert, sodass nicht jede Anforderung den Stammserver erreicht.
quelle
Beachten Sie, dass Sie die Stammserver nicht verwenden. Normalerweise verwenden Sie den von Ihrem Internetdienstanbieter bereitgestellten DNS-Server, der in der Regel sofort reagieren kann, wenn sich die benötigten Informationen im lokalen Cache befinden. Nur wenn es nicht zwischengespeichert ist, wird der Upstream-DNS-Server gefragt, und schließlich wird der Stammserver gefragt (und diese Antwort wird dann zwischengespeichert).
quelle
Tatsächlich ist es die 13 Anycast IP-Adresse, die zu vielen Servern auf der ganzen Welt aufgelöst wird. Über den Link können Sie diese Server bei Bedarf finden. Alle diese Server werden von der betreffenden Behörde verwaltet.
Die Tatsache, dass wir immer noch nur 13 IP-Adressen (und Cluster von Servern mit derselben IP-Adresse) verwenden, ist, um sicherzustellen, dass die Paketgröße 512 Bytes nicht überschreitet. Warum dann? Wir haben TCP, das über diese Paketgröße hinausgehen kann. Warum können wir es nicht verwenden? Die Sache ist, dass TCP einen sehr hohen Overhead mit sich bringt, da es mehrere Schritte und Prozeduren zum Herstellen einer TCP-Verbindung umfasst. Aus diesem Grund verlangsamt sich der gesamte Prozess einer DNS-Abfrage.
Dinge wie DNS können niemals langsam sein und deshalb verwenden wir immer noch dasselbe alte System.
quelle
.
passt nicht mehr in 512 Bytes. Da IPv6 jetzt eine Notwendigkeit ist, ist die Antwort auf 811 Byte angewachsen. Mit EDNS kann dies in einer einzigen Antwort zurückgegeben werden. Anfragen nach.
werden jedoch nicht so oft benötigt, dass ein paar Hin- und Rückfahrten ein Showstopper sind. In erster Linie ist es für Rekursoren erforderlich, die neuesten Änderungen an den IP-Adressen der Roots zu erfahren, die sich selten ändern.