Bei dem Domain Name System (DNS) handelt es sich um das Telefonbuch des World Wide Web. Wenn Benutzer einen Domainnamen wie „wikipedia.de“ oder „microsoft.com“ in die Adressleiste ihres Webbrowsers eingeben, ist ein DNS-Server dafür verantwortlich, die korrekte IP-Adresse für die jeweilige Website zu finden und dem Client zur Verfügung zu stellen. Der Webbrowser bzw. der Client benutzt dann die IP-Adresse zur Kommunikation mit dem Webserver, um auf Informationen auf der Website zuzugreifen. Der gesamte Vorgang lässt sich dank der Nameserver binnen weniger Millisekunden automatisch realisieren.
Inhalt
So funktionieren DNS-Server
Das Domain Name System ist ein bedeutender Teil des modernen Internets. Man kann sich DNS wie ein gigantisches Telefonbuch vorstellen. Dieses Telefonbuch ordnet jedoch nicht Namen von Personen bestimmten Adressen zu, sondern verknüpft Computernamen (Hostnames) mit den dazugehörigen IP-Adressen. Eine solche Verknüpfung wird DNS-Eintrag genannt. Im World Wide Web gibt es eine unüberschaubare Anzahl an Computern, sodass es unmöglich ist, all diese DNS-Einträge in einem einzigen großen Buch zusammenzufassen. Aus diesem Grund ist das Domain Name System in kleinere Bücher bzw. „Domains“ organisiert. Dabei können die einzelnen Domains sehr große Ausmaße annehmen, sodass sie in kleinere Bücher, die sogenannten „DNS-Zonen„ unterteilt werden. Dabei kommt eine Vielzahl unterschiedlicher DNS-Server zum Einsatz, die für die einzelnen Domänen und Zonen verantwortlich sind.
Nameserver als Sonderstellung
Die DNS-Einträge werden auf einer Vielzahl rund um den Globus verteilter DNS-Server gespeichert. Auf keinem einzigen Nameserver sind alle Einträge gespeichert. Das wäre nicht nur unpraktisch, sondern aufgrund der gigantischen Anzahl an vernetzten Computern und Geräten unmöglich. Jeder Computer, der eine IP-Adresse oder einen Hostnamen erfahren möchte, schickt zunächst eine DNS-Anfrage an den für seine Zone zuständigen DNS-Server. Falls dieser die DNS-Anfrage mit der korrekten IP-Adresse beantworten kann, sendet er die Antwort im Rahmen einer DNS-Response an den Client zurück. Sollte der Nameserver die DNS-Anfrage nicht beantworten können, wird eine sogenannte „Upstream-Abfrage„ initialisiert. Abfragen nach einem Domainname können zu anderen DNS-Servern weitergeleitet werden, bis ein Nameserver erreicht wird, der die DNS-Anfrage erfolgreich beantworten kann.
Dabei nehmen die sogenannten „autoritativen Nameserver“ eine gewisse Sonderstellung ein. Bei einem autoritativen Server handelt es sich um den Ort, an dem Netzwerk-Administratoren IP-Adressen und Hostnamen für Ihr Netzwerk-Segment bzw. ihre Domäne verwalten. Immer wenn ein Administrator eine neue IP-Adresse oder einen Hostnamen hinzufügen, aktualisieren oder löschen möchte, macht er das an seinem autoritativen DNS-Server. Darüber hinaus gibt es auch sogenannte „Slave-DNS-Server„, die als Backup für autoritative Nameserver fungieren.
Arten von DNS-Servern
Nameserver werden in Bezug auf ihre Funktion, die sie in einer Domäne ausüben, in vier unterschiedliche Kategorien eingeteilt.
- Rekursiver Nameserver: Hierbei handelt es sich um einen Server, der entweder eine DNS-Anfrage direkt beantwortet oder die Anfrage an einen anderen DNS-Server weiterleitet. Falls der rekursive DNS-Server die angefragte IP-Adresse abgespeichert hat, beantwortet er die Anfrage mit der entsprechenden DNS-Response. Andernfalls wird die Anfrage an einen Nameserver weitergeleitet, der in der Lage ist, eine korrekte Antwort zu liefern.
- Root-Nameserver: Bei einem Root-Nameserver handelt es sich um einen DNS-Server, der für die Root-Zone zuständig ist. Er beantwortet direkte Anfragen und ist in der Lage, eine Liste der autoritativen DNS-Server für die entsprechende Top-Level-Domain (TLD) bereitzustellen.
- Top-Level-Domain-Server (TLD): Hierbei handelt es sich um DNS-Server, die für die sogenannten „Top-Level-Domains„, wie beispielsweise .com, .net oder .org, zuständig sind. Wenn Sie zum Beispiel nach www.google.com suchen, beantwortet ein TLD-Server die DNS-Anfrage.
- Autoritativer DNS-Server: Bei einem autoritativen Nameserver handelt es sich um die letzte Station einer DNS-Anfrage. Auf dem autoritativen Nameserver ist der DNS-Eintrag für die Anfrage gespeichert. Wenn Sie also einen autoritativen DNS-Server nach einer bestimmten IP-Adresse fragen, kennt er die Antwort auf die DNS-Anfrage und muss nicht zuerst einen anderen Nameserver kontaktieren.
DNS-Anfrage im Detail
Im Folgenden schauen wir uns an einem anschaulichen Beispiel den Ablauf einer DNS-Anfrage an.
- Eine DNS-Anfrage (DNS-Lookup) wird initialisiert, sobald Sie eine Webadresse in die Adressleiste Ihres Webbrowsers eingeben. Nehmen wir zum Beispiel an, dass Sie www.google.com in ihrem Internetbrowser aufrufen.
- Die DNS-Anfrage wird zunächst an den lokalen DNS-Cache weitergeleitet. Immer dann, wenn Sie auf andere Computer im Word Wide Web zugreifen, werden die dazugehörigen IP-Adressen in einem lokalen Cache gespeichert, der von dem jeweiligen Betriebssystem verwaltet wird. Wenn Sie www.google.com schon einmal besucht haben, dann ist die entsprechende IP-Adresse bereits im Cache vorhanden.
- Wenn die angefragte IP-Adresse nicht in dem lokalen Cache vorhanden ist, wird die Anfrage an einen rekursiven DNS-Server weitergeleitet. In den meisten Fällen stellt Ihr Internetdienstanbieter (ISP) zu diesem Zweck einen rekursiven Nameserver bereit.
- Der rekursive Nameserver besitzt einen eigenen Cache. Falls die angeforderte IP-Adresse dort nicht vorhanden ist, wird die Anfrage an einen anderen Nameserver weitergeleitet.
- Die nächste Station sind die Top-Level-Domain-Server. Diese Server verfügen zwar nicht über die benötigte IP-Adresse, können jedoch die DNS-Anfrage an die richtige Anlaufstelle schicken.
- Ihr lokaler DNS-Server erhält die angeforderte IP-Adresse und stellt die Verbindung zu www.google.com her, sodass Sie die benötigten Webinhalte aufrufen können.
Welche Arten von DNS-Anfragen gibt es?
Im Rahmen eines normalen DNS-Lookups lassen sich prinzipiell zwei unterschiedliche DNS-Anfragen unterscheiden, und zwar:
- Rekursive Anfragen: Im Rahmen einer rekursiven Anfrage fordert der Client den lokalen DNS-Server auf, die benötigte IP-Adresse zu finden. Falls die IP-Adresse nicht im Cache des Servers gespeichert ist, holt der Nameserver die Daten von einem anderen DNS-Server. Der Vorgang wiederholt sich so lange, bis eine Antwort zur Verfügung steht.
- Iterative Anfragen: Bei einer iterativen Anfrage antwortet der lokale Nameserver mit einem oder mehreren Verweisen auf andere DNS-Server. Der Client setzt diesen iterativen (wiederholenden) Prozess so lange fort, bis eine Antwort gefunden oder die Anfragezeit überschritten ist.