Was ist DNS und wie funktioniert es?

Mit DNS können Benutzer über Domänennamen anstelle von IP-Adressen auf Websites zugreifen.

Das Domain Name System (DNS) ist das Telefonbuch des Internets. Menschen greifen über Domain-Namen wie google.com oder facebook.com auf Online-Informationen zu. Webbrowser verwenden IP-Adressen (Internet Protocol) zur Interaktion. Das DNS übersetzt Domain-Namen in IP-Adressen, damit Browser Internetressourcen laden können.

Jedes mit dem Internet verbundene Gerät verfügt über eine eindeutige IP-Adresse, die von anderen Geräten zur Suche nach dem Gerät verwendet wird. DNS-Server ersparen es den Anwendern, sich IP-Adressen wie 192.168.1.1 oder noch komplexere neuere alphanumerische IP-Adressen wie 2400:cb00:2048:1::c629:d7a2 merken zu müssen.

Wie funktioniert DNS?

Zur DNS-Auflösung muss ein Hostname (z. B. www.google.com) in eine für Computer verständliche IP-Adresse (z. B. 192.168.1.1) umgewandelt werden. Jedes Gerät, das eine Internetverbindung herstellt, erhält eine IP-Adresse. Diese Adresse ist zum Auffinden des betreffenden Geräts im Internet erforderlich – so wie die Postanschrift zum Auffinden eines bestimmten Hauses dient. Wenn ein Anwender eine Webseite laden möchte, muss das, was der Anwender in den Webbrowser eingibt in eine maschinenlesbare Adresse übersetzt werden, damit die gewünschte Webseite gefunden werden kann.

Um die einzelnen Schritte der DNS-Auflösung nachvollziehen zu können, müssen Sie die verschiedenen Hardwarekomponenten kennen, die eine DNS-Abfrage passieren muss. Für den Webbrowser geschieht der DNS-Lookup im Hintergrund. Abgesehen von der ursprünglichen Anfrage ist keine Interaktion vom Computer des Anwenders erforderlich.

Vier DNS-Server sind am Laden einer Webseite beteiligt:

  • DNS-Recursor – Der Recursor ist mit einem Bibliothekar vergleichbar, der gebeten wird, irgendwo in der Bibliothek ein bestimmtes Buch zu finden. Der Recursor ist ein Server, der Anfragen von Clientcomputern über Anwendungen wie Webbrowser empfängt. In der Regel erstellt der Recursor dann zusätzliche Anfragen, um die DNS-Anfrage des Client beantworten zu können.
  • Stamm-Nameserver – Der Stammserver ist der erste Schritt bei der Übersetzung (Auflösung) der für Menschen lesbaren Hostnamen in IP-Adressen. Er lässt sich mit einem Bibliotheksindex vergleichen, der auf verschiedene Bücherregale verwest. In der Regel fungiert er als Referenz auf andere spezifischere Positionen.
  • TLD-Nameserver – Der TLD-Server (Top Level Domain) ist mit einem bestimmten Bücherregal in einer Bibliothek vergleichbar. Dieser Nameserver ist die nächste Station auf der Suche nach einer bestimmten IP-Adresse. Er hostet den letzten Teil eines Hostnamens (im Beispiel example.com ist der TLD-Server „com“).
  • Autoritativer Nameserver – Dieser letzte Nameserver lässt sich mit einem Wörterbuch in einem Bücherregal vergleichen, mit dem ein bestimmter Name in seine Definition übersetzt werden kann. Der autoritative Nameserver ist der letzte Schritt in der Nameserver-Abfrage. Wenn der autoritative Nameserver Zugriff auf den angeforderten Eintrag hat, gibt er die IP-Adresse des angeforderten Hostnamen zurück an den DNS-Recursor (den Bibliothekar), der die ursprüngliche Anfrage übermittelt hat.

Welche Typen von DNS-Abfragen gibt es?

Ein typischer DNS-Lookup beinhaltet drei Typen von Abfragen. Durch den Einsatz einer Kombination dieser Abfragen kann ein optimierter Prozess für die DNS-Auflösung zur Verringerung der benötigten Schritte führen. Im Idealfall sind gecachte Eintragsdaten vorhanden, sodass ein DNS-Nameserver eine nichtrekursive Abfrage zurückgeben kann.

Drei Typen von DNS-Abfragen:

  1. Rekursive Abfrage – In einer rekursive Abfrage fordert der DNS-Client, dass ein DNS-Server (in der Regel ein rekursiver DNS-Resolver) ihm entweder mit dem angefragten Ressourceneintrag oder einer Fehlermeldung antwortet, wenn der Resolver den Eintrag nicht findet.
  2. Iterative Abfrage – In diesem Fall erlaubt der DNS-Client einem DNS-Server, die bestmögliche Antwort zurückzugeben. Wenn der DNS-Server, der die Abfrage erhält, den abgefragten Namen nicht enthält, gibt er einen Verweis auf einen DNS-Server zurück, der für eine untergeordnete Ebene des Domain-Namespace autoritativ ist. Der DNS-Client sendet dann eine Abfrage an die in diesem Verweis enthaltene Adresse. Dieser Vorgang wird solange mit weiteren DNS-Servern in der Abfragekette wiederholt, bis ein Fehler oder ein Timeout auftritt.
  3. Nichtrekursive Abfrage – In der Regel tritt eine solche Abfrage auf, wenn der DNS-Resolverclient von einem DNS-Server einen Eintrag abfragt, auf den dieser Zugriff hat, weil er für den betreffenden Eintrag autoritativ ist oder sich der Eintrag in seinem Cache befindet. DNS-Einträge werden von einem DNS-Server in der Regel gecacht, um zusätzlichen Bandbreitenverbrauch und Last auf vorgelagerten Servern zu verhindern.