Definition

Iterative DNS-Abfrage

Was ist eine iterative DNS-Abfrage?

Eine iterative DNS-Abfrage ist eine Anfrage nach einem Webseitennamen oder einer URL. Bei diesem Abfragetyp holt der DNS-Server (Domain Name System) jedoch nicht die vollständige Antwort auf die Abfrage. Vielmehr verweist er auf andere DNS-Server, die die Antwort haben könnten. Wenn der Abfrageserver also nicht über die angeforderte IP-Adresse verfügt, leitet er sie an einen anderen DNS-Server weiter, bis die Antwort gefunden ist.

Es gibt hauptsächlich drei Arten von DNS-Abfragen, je nachdem, wie sie bearbeitet werden. Zwei gängige Abfragen sind rekursiv und iterativ. Bei einer rekursiven Abfrage oder Suche kommuniziert ein DNS-Server mit vielen DNS-Servern, um eine IP-Adresse zu finden und sie an den anfragenden Client zurückzugeben. Es ist so, als würde ein Client sagen: "Finde die IP-Adresse für diese Domäne und melde dich erst, wenn du sie gefunden hast."

Im Gegensatz dazu kommuniziert der Client bei einer iterativen DNS-Abfrage direkt mit jedem DNS-Server. Dieser Ansatz ist vergleichbar mit der Aufforderung des Clienten an den DNS-Resolver, die Adresse des nächsten DNS-Servers im Suchprozess anzugeben, sodass der Client die IP-Adresse selbst ermitteln kann. Iterative DNS-Abfragen werden auch als nicht-rekursive DNS-Abfragen bezeichnet.

Iterative Abfragen werden verwendet, um Informationen von Servern zurückzugeben, die nicht immer in der Lage sind, die Arbeitslast von Anfang bis Ende der Abfrage zu bewältigen. Dabei kann es sich um einen DNS-Server für eine Domäne handeln, der den Datenverkehr zu seinen Webseiten oder zu Root-Hinweisen priorisiert, oder um einen autoritativen Server, der die Verfügbarkeit aufrechterhalten muss.

DNS-Server kommunizieren miteinander, um eine Anfrage eines Clients zu beantworten.
Abbildung 1: DNS-Server kommunizieren miteinander, um eine Anfrage eines Clients zu beantworten.

Wie funktioniert eine iterative DNS-Abfrage?

Eine iterative DNS-Abfrage antwortet dem Client direkt mit einer Adresse für einen anderen DNS-Server. Der Client fragt jeden DNS-Server iterativ ab, bis einer von ihnen die richtige IP-Adresse für die angeforderte Domäne findet und abruft.

Der DNS-Server antwortet auf iterative Abfragen, die keine lokalen Informationen enthalten, mit einem Verweis (Referral). Der Verweis zeigt auf einen DNS-Server, der für einen Domain-Namensraum und die niedrigeren Ebenen eines Domain-Raums autoritativ ist. Die Verweise werden so lange fortgesetzt, bis ein DNS-Server gefunden wird, der für die angefragte Webseite maßgebend ist (und daher ihre IP-Adresse preisgeben kann) oder bis ein Fehler zurückgegeben wird oder ein Timeout erreicht ist.

Abbildung 2 zeigt eine beispielhafte Konfiguration mit DNS-Client (Stub Resolver), Recursive Resolver und drei autorativen DNS-Servern. So funktioniert eine iterativ Abfrage:

Drei Arten von DNS-Servern arbeiten zusammen, um korrekte und aktuelle Zuordnungen von IP-Adressen zu Domänennamen bereitzustellen.
Abbildung 2: Drei Arten von DNS-Servern arbeiten zusammen, um korrekte und aktuelle Zuordnungen von IP-Adressen zu Domänennamen bereitzustellen.

Schritt 1: Der Anwender gibt www.techtarget.com in den Browser ein und drückt die Eingabetaste. Der Resolver des Betriebssystems sendet eine DNS-Anfrage für die IP-Adresse (einen Eintrag) an den DNS-Server.

Schritt 2: Der DNS-Server empfängt die Anfrage und beginnt, seine Tabellen (Cache) zu durchsuchen, um die IP-Adresse für www.techtarget.com zu finden. Der Eintrag existiert jedoch nicht in seinen Tabellen.

Schritt 3: Bei einer rekursiven Abfrage würde der DNS-Server den Root-Server nach der Antwort fragen. Da es sich aber um eine iterative Abfrage handelt, antwortet der DNS-Server mit einem Verweis auf einen Root-Server. Der Resolver fragt dann den Root-Server nach der IP-Adresse ab.

Diese drei Schritte werden wiederholt, bis die IP-Adresse gefunden und dem Client zugestellt ist.

Iterative DNS-Abfragen vs. rekursive DNS-Abfragen

Bei einer rekursiven Abfrage sendet der Client die Anfrage nur an den ersten DNS-Server. Kann der Server nicht antworten, schickt er die Anfrage an den nächsten Server. Dieser Vorgang wird so lange fortgesetzt, bis die Anfrage beantwortet ist. Die Antwort auf die Anfrage kann eine Antwort (IP-Adresse) oder eine Fehlermeldung sein.

DNS-Server arbeiten zusammen, um eine IP-Adresse korrekt aus einem Domänennamen aufzulösen.
Abbildung 3: DNS-Server arbeiten zusammen, um eine IP-Adresse korrekt aus einem Domänennamen aufzulösen.

Bei einer iterativen Abfrage fragt der DNS-Server nicht bei einem anderen Server nach der IP-Adresse. Stattdessen gibt er dem Client einen Verweis auf einen DNS-Root-Server. Der Verweis kann an einen DNS-Server einer niedrigeren Ebene gerichtet sein, der als autoritativ für den DNS-Namensraum im Zusammenhang mit der DNS-Abfrage gilt. Nach Erhalt des Verweises vom übergeordneten DNS-Server sendet der DNS-Client eine DNS-Anfrage an den untergeordneten DNS-Server.

Es liegt in der Verantwortung des Clients, die Abfrage zur Auflösung an die nachfolgenden Server zu senden. Die Abfrage wird aufgelöst, wenn sie auf einen Server trifft, der für den Domänennamen autorisiert ist. Andere mögliche Ergebnisse sind ein Fehler oder eine Zeitüberschreitung. In diesem Fall ist es Aufgabe des lokalen OS-Resolvers, die Antwort aus dem angegebenen Verweis zu finden. Wenn der angefragte übergeordnete DNS-Server die IP-Adresse hat, holt er sie für den Client und es sind keine weiteren Anfragen erforderlich.

Iterative Anfragen werden sowohl von iterativen DNS-Servern als auch von rekursiven DNS-Servern gestellt. Die von rekursiven Servern an andere DNS-Server gestellten Anfragen sind iterativ. Auf der Ebene des Root-DNS sind alle Server iterativ, da sie das Ende der Leitung darstellen. Die Verfügbarkeit von Root-Servern ist entscheidend für das reibungslose Funktionieren des Internets.

Diese Definition wurde zuletzt im Januar 2023 aktualisiert

Erfahren Sie mehr über LAN-Design und Netzwerkbetrieb