Wo kann in der DNS-Hierarchie eine Zwischenspeicherung erfolgen und wie werden Anfragen weitergeleitet?

Wo kann in der DNS-Hierarchie eine Zwischenspeicherung erfolgen und wie werden Anfragen weitergeleitet?

Damit ein Hostname in seine IP-Adresse aufgelöst werden kann, müssen mehrere DNS-Server abgefragt werden. Vorausgesetzt, es findet kein Caching statt, geht es von demjenigen, der die Anfrage gestellt hat (dem Client), über den rekursiven DNS, den Root-DNS, den TLD-DNS und schließlich den autoritativen Nameserver.

Habe ich die Reihenfolge richtig? Werden Anfragen weitergeleitet oder antwortet der Server einfach mit der IP-Adresse des Servers auf der nächsten Ebene, der vom Client kontaktiert werden soll? Führt der rekursive Nameserver beispielsweise die eigentliche Abfrage beim Root-Server durch oder gibt er einfach die IP-Adresse des Root-Servers weiter? Ich vermute, es ist der erste für Caching-Zwecke. Außerdem: In welchen Phasen kann Caching stattfinden? Würde der Root-Server beispielsweise eine zwischengespeicherte Antwort vom TLD-Server erhalten? Da es nur 13 einzigartige Root-Server gibt, welchen Sinn hat es, diese Ebene zu haben, anstatt direkt zum TLD-Server zu gehen?

Antwort1

Dies ist ein tiefgründiges Thema, es wird also nur an der Oberfläche gesessen. Bedenken Sie jedoch, dass es mehrere Möglichkeiten gibt, wie Anfragen beantwortet werden könnten.

Im Allgemeinen bestimmt der verfügbare Abfragetyp, wie viele Anfragen der Client stellen muss, um einen Pfad wie aufzulösen a.b.c.com.

Bei der rekursiven Auflösung fragt der Client den Server einmal nach dem vollständigen Namen ab. Der Server verarbeitet die Abfragen an die Stammserver, löst dann die Nameserver für Cund auf Bund fragt Bden Hostnamen ab A. Der lokale Server sendet dann eineeinzelAntwort an den Kunden.

Bei der nicht rekursiven Auflösung sendet der Client eine Anfrage mit der Abfrage der Nameserver für C.com, fragt dann diesen Server nach den Nameservern für ab B.C.comund fragt dann diese Server nach dem Host ab A. Das ist die eigentliche Antwort, die wir die ganze Zeit wollten. In diesem Fall jedoch ist dieDer Kunde musste drei separate Abfragen durchführenes bekommen.

Es gibt ein verwandtes Konzept von „Forwardern“, bei dem ein lokaler Resolver unbekannte (nicht lokale) Abfragen zur Auflösung an einen anderen Server weiterleiten kann. Die Interaktion zwischen dem lokalen Server und dem Upstream-Resolver kann rekursiv sein oder nicht, aber das Ergebnis wird als einzelne Antwort an den Client zurückgesendet, sodass es aus Sicht des Clients rekursiv ist.

Nun zum Thema Caching: Aus Sicht der Netzwerkleistung ist der Cache umso wertvoller, je näher er am Client ist. Allerdings besteht der Nachteil darin, dass der Cache möglicherweise nicht sehr häufig verwendet wird, wenn er zu nah ist und einen nicht sehr vielfältigen Satz zwischengespeicherter Antworten enthält. Es kann von Wert sein, den Cache eine oder zwei Ebenen weiter oben zu platzieren, sodass der Cache die kombinierten Ergebnisse mehrerer Benutzer darstellt und somit mit größerer Wahrscheinlichkeit Antworten enthält.

Antwort2

Habe ich die Reihenfolge richtig?

Die allgemeine Reihenfolge ist richtig, aber es ist keine gerade Linie: Der Stammserver leitet Ihre Abfrage nirgendwo anders weiter, sondern sie wird mit einer Weiterleitungsantwort an den Resolver zurückgeschickt (und weist den Resolver an, woanders abzufragen). Dasselbe gilt für den TLD-Server und den Domänenserver.

Werden Anfragen weitergeleitet oder antwortet der Server nur mit der IP-Adresse des Servers auf der nächsten Ebene, der vom Client kontaktiert werden soll?

Beide Verhaltensweisen treten auf, allerdings an unterschiedlichen Orten.

Führt der rekursive Nameserver beispielsweise die eigentliche Abfrage beim Root-Server durch oder gibt er lediglich die IP-Adresse des Root-Servers weiter?

Der rekursive Server führt die eigentliche Abfrage durch. Das macht ihn buchstäblich zu einem rekursiven Server: Nachdem er die Abfrage des Clients akzeptiert hat, führt er selbst weitere Abfragen durch, bis er das endgültige Ergebnis zurückgeben kann. (Das liegt daran, dass der auf Ihrem Betriebssystem ausgeführte Client nur ein Stub-Resolver ist, der nicht über alle erforderlichen Funktionen verfügt.)

Die Root-/TLD-/Domain-Server sind jedoch nicht rekursiv – sie antworten nur für die Domains, für die sie maßgebend sind, und geben für den Rest nur Weiterleitungen (Verweise) aus. Sie führen von sich aus nie weitere Abfragen durch.

Und in welchen Phasen kann das Caching erfolgen? Bekäme der Root-Server beispielsweise eine zwischengespeicherte Antwort vom TLD-Server?

Das Caching erfolgt auf Systemen, die Anfragen senden und Antworten empfangen. Das bedeutet, dass nur rekursive Resolver das Caching durchführen, da sie zwischenspeicherbare Informationen von jemand anderem erhalten.

Andererseits verarbeiten die Root-/TLD-/Domain-Server niemals rekursive Abfragen – sie fragen nichts anderes ab, sodass sie nichts zwischenspeichern müssen. (Sie antworten nur für Domains, die siemaßgebendum.)

Da es nur 13 einzigartige Root-Server gibt, welchen Sinn hat es, diese Ebene zu haben, anstatt direkt zum TLD-Server zu gehen?

Woher sollen alle Resolver wissen, wo sich die TLD-Server befinden?

Bedenken Sie, dass es nicht „den“ TLD-Server gibt. Für jede TLD gibt es TLD-Server – z. B. comhat die TLD einen Satz Server, die euTLD einen anderen. Es gibt buchstäblich Hunderte von TLDs, eine statische Liste würde also nicht ausreichen.

Die DNS-Root vereinfacht dieses Problem – statt einer Liste aller TLDs und ihrer Server gibt es nur eine Root-Domain mit ihren Servern, was zu einer viel kleineren anfänglichen Liste führt und sich zudem ändertsehrselten, sodass Resolver-Software tatsächlich eine Kopie davon enthalten könnte. Die meisten rekursiven Resolver enthalten eine Kopie der „Root Hints“.

(Beachten Sie auch, dass es 13 Root-Server-Adressen gibt, weil früher eine Adresse genau einem Host entsprach. Das ist jedoch nicht mehr der Fall – das Internet unterstützt Anycast-Routing, sodass fast jede dieser Adressen in Wirklichkeit Hunderten von eindeutigen Instanzen entspricht.)

verwandte Informationen