
Quelle: Freepik
Das Domain Name System (DNS) macht das Internet nutzbar, indem es lesbare Namen wie beispiel.rwth-aachen.de in IP-Adressen übersetzt. Es entstand aus einfachen Namenslisten und entwickelte sich zu einem weltweit verteilten, hierarchischen System. Heute erfüllt es weit mehr Aufgaben – etwa im Bereich E-Mail, IT-Sicherheit und Netzwerkmanagement. Auch an der RWTH Aachen spielt das DNS eine zentrale Rolle und wird durch moderne Techniken wie DNS-Firewalls geschützt. Dieser Beitrag gibt einen Überblick über Ursprung, Aufbau und aktuelle Bedeutung des DNS.
Die Kommunikation im Internet benötigt an vielen Stellen eine Übersetzung von Namen in IP-Adressen – ein Prozess, der durch das Domain Name System ermöglicht wird. Ausgehend von diesem ursprünglichen Verwendungszweck, hat sich das DNS mittlerweile zu einem komplexen System mit weitreichenden Funktionen und Sicherheitsaspekten entwickelt. In diesem Blogbeitrag, der den ersten Teil einer kleinen Serie von Artikeln darstellt, wollen wir auf die Geschichte und grundlegende Funktionsweise des DNS eingehen.
Entstehung des Domain Name Systems (DNS)
Die Kommunikation zwischen Computern erfolgt im Internet anhand von IP-Adressen. Da sich diese – hier z. B. die für die Hauptwebseite der RWTH Aachen: 137.226.107.63 (IPv4) und 2a00:8a60:450::107:63 (IPv6) – in größerer Zahl schlechter merken lassen als die schon immer beliebten Rechnernamen, wurde damit begonnen, individuell oder zentral (bspw. am Stanford Research Institute) eine Namensliste zu pflegen. Diese Namenslisten erleichterten die Zuordnung von Namen zu IP-Adressen und wurden als sogenannte Hosts-Dateien auf den jeweiligen Rechnern verwendet. Diese wurde als sog. Hosts-Datei auf dem jeweiligen Rechner verwendet. Auch heute ist diese rudimentär auf Betriebssystemen wie Linux, MacOS und Windows zu finden, wird aber nur noch in Spezialfällen verwendet. Diese Datei verzeichnete mit der Zeit immer mehr Einträge und die Benachrichtigung über Aktualisierungen sowie Austausch/Transfer/Pflege gestalteten sich zunehmend unhandlicher. Mit Beginn der 1970er Jahre wurde daher damit begonnen, zum einen über Namensstrukturen nachzudenken, um etwa Kollisionen zu vermeiden, zum anderen eben die Informationen in über das Netz verteilter Form zugänglich zu machen. Anfang der 1980er Jahre wurden hierzu erste Spezifikationen als RFC 882 und 883 veröffentlicht. Dies führte zu einer der ersten Implementierungen in Form des Softwarepakets „Berkeley Internet Name Domain“ (BIND) an der gleichnamigen Universität, welche neben mittlerweile mehreren anderen Implementierungen auch heute noch für diverse Betriebssysteme/Distributionen zur Verfügung steht.
Aufbau des Domain Name Systems
Nach den Erfahrungen mit der aufwendig verteilten Hostlisten-Datei setzte sich damit dann ein strukturierter und hierarchischer Aufbau des Systems durch, wie er heute noch verwendet wird. Hierarchisch bedeutet hier vor allem, dass man Organisations- oder Netzstrukturen namentlichen abbilden kann. „testrechner.rz“ könnte der „Testrechner im Rechenzentrum“ sein, „www.labor“ ein Webserver in meinem Labor. Damit solche Namen aber weltweit eindeutig werden – eine Voraussetzung für deren Nutzung im weltweiten Internet – nutzt man heutzutage sehr oft „Fully Qualified Domain Names“ (FQDNs). Ein Rechner „beispiel.itc.rwth-aachen.de.“ würde sich demnach eindeutig im IT Center in der RWTH Aachen (die sich „unterhalb“ der Top-Level Domain „de.“ befindet, s.u.) befinden. Solche Namen bestehen hierbei aus einzelnen „labels“ (Bezeichnern), die durch einen Punkt als Trenner voneinander separiert werden. Den Einstiegspunkt bildet hier ein finaler „.“, der jedoch in der Praxis weggelassen wird.
Die sogenannten Top-Level-Domains nehmen hier eine besondere Rolle ein, da sie von einer zentralen Stelle (einem bestimmten Prozess folgend) festgelegt werden. Am Anfang wurden vor allem bestimmte Arten von Top-Level-Domains (TLDs) verwendet:
- Infrastruktur-Domains wie .arpa,
- generische TLDs wie .com oder .edu,
- und Länderkennungen (ccTLDs) wie .de, .fr usw.
Mit der Zeit kamen viele neue TLDs dazu. Manche davon kann jeder nutzen, andere sind nur für bestimmte Gruppen gedacht.
Eine zentrale Funktion im DNS übernehmen sogenannte Nameserver – im Grunde Verzeichnisserver im Internet, die immer einen bestimmten Teil der Namen kennen und darüber Auskunft geben können. So wie es eine oberste Ebene von Domains gibt, gibt es ebenfalls dazu passend einige Nameserver, die ganz oben in der DNS-Hierarchie stehen: Die weltweit verteilt aufgestellten „Root name server“. Ihre Aufgabe ist es zu wissen, welche Top-Level-Domains (z.B. .de, .com) es gibt und welche nachfolgenden Nameserver für diese zuständig sind.
Schritt-für-Schritt-Erklärung: Wie DNS-Namen aufgelöst werden
Gibst du beispielsweise www.itc.rwth-aachen.de in den Browser ein, muss dein Computer herausfinden, welcher Server diese Webseite bereitstellt. Dafür arbeitet das DNS, welches mit einer Kette von Nachfragen funktioniert, indem es Anfragen von ganz oben bis ganz unten abarbeitet.
Dein Computer fragt sich durch die Hierarchie:
- Wer ist zuständig für .de? → Das weiß ein sogenannter Root-Nameserver.
- Wer ist zuständig für rwth-aachen.de? → Das sagt dir der .de-Nameserver.
- Und so weiter, bis zuletzt ein Nameserver gefunden werden konnte, der die vollständigen Daten kennt.
Für die DNS-Datenbestände unterhalb von rwth-aachen.de ist die RWTH Aachen selbst zuständig. Sie betreibt dafür eigene Nameserver. Diese werden aus Redundanzgründen von weiteren Servern des DFN-Vereins unterstützt. Für die nachgelagerte Verwaltung dieser Daten führt das IT Center eine Datenbank. Darin ist der gesamte Datenbestand der Hochschule in Zonen aufgeteilt.
Deren Inhalte können über unsere Web-Anwendung „DNS-Admin“ von den Hochschuleinrichtungen im Wege der Selbstverwaltung bearbeitet bzw. eingesehen werden.
Welche zusätzlichen Aufgaben hat der DNS heute?
Heutzutage hat das DNS aber weit mehr Aufgaben als das bloße Übersetzen von Namen zu IP-Adressen. Im DNS können verschiedene Arten von Informationen gespeichert werden, und zwar in sogenannten DNS-Einträgen (Resource Records). Beispielsweise ist es möglich beim DNS abzufragen, welche die zuständigen Mailserver sind, bei denen Nachrichten für E-Mail-Adressen einer Domain ankommen sollen. Diese werden z.B. MX-Records genannt. Ein anderes Beispiel sind die sogenannten CAA-Records, mit denen administrativ vorgegeben werden kann, welche Zertifizierungsstelle Zertifikate ausstellen darf. Auf diese Weise können DNS-Records auch sicherheitsrelevante Informationen beinhalten. Darüber hinaus gibt es heute viele weitere Typen von DNS-Einträgen, die den verschiedensten Einsatzzwecken dienen können.
Das Caching-System des DNS
Um Anfragen effizient zu verarbeiten, nutzt das DNS ein Caching-System: Bereits abgefragte Informationen werden für eine gewisse Zeit zwischengespeichert und müssen nicht jedes Mal neu aus dem Internet geholt werden. Dieser Mechanismus führt zu einem schnelleren Zugriff auf die Informationen und darüber hinaus zu einer Entlastung der angefragten Server.
Um diesen Mechanismus umzusetzen, gibt es sogenannte Caching Nameserver, die im Auftrag von anfragenden Clients Informationen einholen und temporär zwischenspeichern. Bereits bekannte Informationen können sie deshalb besonders schnell zurückgeben, weil sie aus ihrem eigenen Zwischenspeicher (Cache) abgerufen werden können. Informationen, die einem Caching Server nicht bekannt sind, werden bei der anderen wesentlichen Art von Nameservern, den autoritativen Nameservern, abgefragt. Diese autoritativen Nameserver kennen alle offiziellen und aktuellen Daten einer Domain.
An der RWTH Aachen gibt es beide Arten von Servern. Unsere autoritativen Server, aufgrund der Datenstruktur auch Zonen-Server genannt, beantworten weltweit DNS-Anfragen für Domains wie rwth-aachen.de. Die vom IT Center betriebenen Caching Nameserver verarbeiten die Anfragen der Endgeräte, die aus dem Campus-Netzwerks kommen, und sorgen so für schnelle, effiziente Namensauflösung.
Nach dieser Einführung in die DNS-Thematik widmen wir uns im nächsten Blogbeitrag dieser Reihe einem Sicherheitsthema, nämlich unserer neuen DNS-Firewall.
Verantwortlich für die Inhalte dieses Beitrags sind Bernd Kohler und Christoph Viethen.



Schreibe einen Kommentar