Skip to main content

Domain Name System: Was ist DNS & was ist ein DNS-Server?

Der Computer kommuniziert mithilfe von Zahlen aber wir bevorzugen das gesprochene Wort. www.crossmedia-it.de merken wir uns viel lieber und auch einfacher als 178.208.97.251 (IP-Adresse), oder? Damit zwischen Computer und uns also keine Kommunikationsprobleme entstehen, löst DNS diese Barriere auf. Aber was ist DNS genau und was bedeutet die Abkürzung? 

Die drei Wörter stehen für Domain Name System. Dahinter steckt ein System, das Computernamen in IP-Adressen umwandelt und umgekehrt. Der Vorgänger des Internets (ARPANET) musste noch ohne DNS auskommen. In diesem System hieß die Datei „hosts“, mit deren Inhalt die Namensauflösung möglich war. Diese wurde händisch gepflegt, dadurch konnte der Inhalt allerdings manipuliert werden. Außerdem konnte in der Datei alles stehen, was der Administrator für richtig hielt, sodass die Genauigkeit nicht garantiert war. Mit der zunehmenden Anzahl von „host-Dateien“ im ARPANET, wuchs auch der Bedarf an einem DN-System. Unser heutiges System kann prüfen, ob es sich um einen vertrauenswürdigen Server handelt und ob der Transport unverfälscht ist. Ohne DNS müssten wir uns eine Zahlenkombination wie oben beschrieben merken, um eine Webseite zu öffnen. Ganz schön praktisch also das DNS uns bei der Kommunikation hilft, aber wie funktioniert dieses System genau?

• Wie funktioniert DNS?
• Was ist eine IP-Adresse?
• Grundlagen: Domainregistrierung, DNS-Datenbank & Resource Record
• Aufbau einer DNS-Datenbank
• Was ist Resource Record?
• Bestandteile des Domain Name Systems
• Nameserver
• Caching und Forwarding
• Domain-Namensraum
• Resolver
• DNS-Protokoll: UDP und TCP – Was ist das?
• Wann wird TCP genutzt?
• Wann wird UDP genutzt?
• Zukünftige Entwicklung von DNS
• Dynamisches DNS
• Extended DNS

Wie funktioniert DNS?

Die Beantwortung von Anfragen zur Namensauflösung ist die Hauptaufgabe von DNS. Der Begriff ist auch bekannt als „Telefonbuch des Internets“. Dieser Vergleich erklärt die Funktionsweise besonders einfach: Ähnlich wie die Suche nach einem Namen im Telefonverzeichnis, schaut DNS nach einem Computernamen, um die dazugehörige IP-Adresse zu erhalten. Eine zentrale Datenbank dafür gibt es nicht, denn die Informationen sind auf vielen verschiedenen Nameservern verteilt. Beispielsweise möchten Sie die Seite www.crossmedia-it.de besuchen und geben die Wörter in ihren Browser ein. Daraufhin fragt dieser Browser einen DNS-Server – der in der IP-Konfiguration hinterlegt ist – nach der dahinter liegenden IP-Adresse. Meistens ist das der Router des Internet-Zugangs. Sollte diese Anfrage nicht positiv beantwortet werden, wird die DNS-Adresse bei weiteren Servern angefragt. Dieses Vorgehen wird solange wiederholt bis die DNS-Auflösung erfolgreich ist und eine IP-Adresse an den Browser zurück geliefert wird. Weltweit existieren viele tausend DNS-Server, um die Namensauflösung möglich zu machen. Ohne sie wäre die Kommunikation im Netzwerk und im Internet heutzutage nicht mehr möglich.

Was ist eine IP-Adresse?
IP-Adressen zu übersetzen ist die Hauptaufgabe von DNS. IP steht für „Internet Protocol“ und beschreibt eine normierte Ziffernfolge, über die ein Rechner in einem Netzwerk identifiziert werden kann. Smartphone, Laptops oder Server: Alle Computer im Internet lokalisieren sich gegenseitig über IP-Adressen und kommunizieren über sie miteinander. Jedes Gerät, welches zu einem Netzwerk gehört, hat eine IP-Adresse und für jede Verbindung gibt es eine andere IP. Der Router hat beispielsweise eine IP zum Internet, zum LAN allerdings wieder eine andere. Eine IP-Adresse besteht aus zwei Teilen. Der vordere Teil ist die Netzwerkadresse und der hintere Teil die Hostadresse.

Grundsätzlich gibt es zwei Arten von IP-Adressen: Die statische und die dynamische. Fest vergebene Adressen sind statisch. Als dynamisch werden sie bezeichnet, wenn während einer Internetverbindung dem Computer wechselnde IP-Adressen zugewiesen werden. Beispielsweise bei privaten DSL-Anschlüssen arbeiten die Anbieter mit dynamischen IPs. Der Kunde bekommt eine freie IP-Adresse zugeordnet, die nach dem surfen wieder gelöscht wird. Statische IP-Adressen wiederum werden von Unternehmen genutzt, zum Beispiel damit die Zugriffe auf eine IP-Adresse intern besser gesteuert werden können. Weltweit existieren viele verschiedene Geräte im Internet und die Anzahl der IP-Adressen ist begrenzt. Es gibt ungefähr 4,3 Milliarden verschiedene Möglichkeiten. Aus diesem Grund wurde zusätzlich zu IPv4-Adressen die IPv6-DNS erfunden. Die IPv4 besteht aus 32-Bit und 12 Zahlen, die in vier Blöcke aufgeteilt sind. IPv6 Adressen wiederum sind 128-Bit lang und in 8 Abschnitte mit je 4 Zeichen unterteilt. Außerdem sind auch Buchstaben erlaubt. Dadurch ist die Anzahl verschiedener Kombinationen deutlich höher als bei der IPv4-Adresse. Die IPv4-Adresse von cross media IT lautet beispielsweise: 178.208.97.251. Eine beliebige IPv6-Adresse könnte wiederum so aussehen: 2001:db8::54f3:dd6b:1/64.

Grundlagen: Domainregistrierung, DNS-Datenbank & Resource Record

Damit wir eine Webseite überhaupt aufrufen können, braucht sie eine Domain. Der Besitzer muss seine Domain registrieren. Dadurch wird sichergestellt, dass formale Regeln eingehalten werden und das Domain-Namen weltweit eindeutig sind. Diese Registrierungen werden von Organisationen vorgenommen, die dazu autorisiert wurden, zum Beispiel Registries. Für Domains unter .de ist die DENIC (Deutsches Network Information Center) zuständig. In der Regel sind Registrierungen gebührenpflichtig und meistens werden sie über Zwischenhändler, wie z.B. „1&1 Internet SE“ registriert.

Aufbau einer DNS-Datenbank
Viele verschiedene Daten sind für DNS nötig. Gesammelt sind diese in einer verteilten Datenbank mit baumförmiger Struktur. Die DNS-Datenbank ist mithilfe von Resource Records organisiert und besteht aus vier Einträgen:

• Domain_name: Der Name der Domäne, auf die sich der Eintrag bezieht.
• Time_to_live: Definiert wie lange der Eintrag gültig ist und wann die Daten aktualisiert werden müssen.
• Type: Definiert die Art des Datensatzes. Zum Beispiel „A“ steht für eine IPv4-Adresse und „AAAA“ für eine IPv6-Adresse.
• Value: Dieser Eintrag richtet sich nach dem Typ des Records und kann verschiedene Werte annehmen, darunter eine Zahl oder einen Domain-Namen.

Was ist Resource Record?
Resource Record (RR) ist ein Informationseintrag im DNS. Dieser Informationseintrag ist in der Zonendatei, die ein DNS-Server aus seiner internen Datenbank generiert, hinterlegt. Der RR gibt unter anderem Auskunft darüber, wie die IP-Adresse des Hosts lautet, welcher Mailserver für die Domain zuständig ist oder wo die Lokation der Domain ist. Damit dieser Prozess funktioniert, müssen die Einträge korrekt eingetragen worden sein. Die folgenden Eigenschaften sind die wichtigsten Typen von Resource Records:

• Soa-Records (Source of Authority) enthält die technischen Angaben für eine Zone und einige Steuerdaten, damit die Nameserver zusammenarbeiten können.
• NS-Records (Name Server) verweisen auf die für die Zone zuständigen Nameserver. NS-Records für eine Subdomain weisen darauf hin, dass die Informationen für eine Subdomain auf einem anderen Server zu finden sind.
• A-Records (Adress) verknüpft einen Domainnamen mit einer IP-Adresse.
• PTR-Records (Pointer) verknüpft eine IP-Adresse „rückwärts“ mit einem Domainnamen.
CNAME-Records Canonical Name definiert einen Domainnamen als Alias für einen anderen. Für jedes System gibt es ein A-Record und ggf. zusätzlich beliebig viele CNAME-Records.
MX-Records (Mail Exchanger) definieren, bei welchen Rechnern eine Mail für eine Domain eingeliefert werden soll.
• TXT-Records (Text) enthalten alphanumerische Information zu einem Domainnamen.

Bestandteile des Domain Name Systems

DNS besteht aus mehreren Komponenten: Dem Domain-Namensraum, dem Nameserver, dem Resolver und dem Protokoll. Ohne diese DNS-Bestandteile würde die Namensauflösung nicht reibungslos funktionieren. Zu den Hauptkomponenten gehören der Nameserver und der Resolver.

Nameserver

Bei der Registrierung einer DNS-Adresse wird sie einem Nameserver (oder auch DNS-Server) zugeteilt. Der Nameserver verwaltet dann die Informationen und aktualisiert sie, wenn es nötig ist. Dabei gibt es gibt zwei Arten von Nameservern: autoritative und nicht-autoritative. Der autoritative Nameserver beantwortet nur Anfragen, für die er zuständig ist, deshalb sind seine Antworten verbindlich. Für jede Zonendatei existiert mindestens ein autorativer Server. Ein nicht-autoritativer Nameserver bezieht seine Informationen von anderen Nameservern, also aus zweiter oder dritter Hand. Deshalb werden diese Daten als nicht gesichert angesehen. Damit die Daten bei einer erneuten Anfrage schneller vorliegen, speichert der Nameserver die DNS-Daten im lokalen Arbeitsspeicher ab.

Caching und Forwarding

„Caching“ wird die oben beschriebene Technik des nicht-autoritativen Nameservers genannt. Die Informationen werden auf sogenannten Caching-Servern abgespeichert. Allerdings gibt es ein Verfallsdatum für jeden Eintrag und sie müssen nach dem Ablauf gelöscht werden. Das Datum orientiert sich an der Änderungswahrscheinlichkeit des Eintrags und wird von einem autoritativen Nameserver festgelegt. Die Informationen müssen dann erneut eingeholt werden. Ein Forwarding-Server wiederum leitet alle DNS-Anfragen ausnahmslos an einen anderen Nameserver weiter.

Domain-Namensraum
Der Domain-Namensraum ist ein Bestandteil von DNS. Es lässt sich mit einem postalischen Anschriftenverzeichnis vergleichen, nur ohne Postleitzahlen. Die Struktur des Namensraumes lässt sich als Baum darstellen. Die „Blätter und Knoten“ des Baumes sind Zeichenketten und werden als Labels bezeichnet. Diese sind jeweils mindestens ein Byte und maximal 63 Bytes lang und werden durch Punkte voneinander getrennt. Ein Domain-Name beginnt mit einem abschließenden Punkt. Dieser wird Root genannt und ist die Stammzone. Danach folgt die sogenannte Top-Level-Domain (com). Die Second-Level-Domain bezeichnet den vollständigen Namen (crossmedia-it) und zuletzt kommt die Third-Level-Domain (www.). Jedes Label ist einem anderen Server zugeteilt. Inklusive aller Punkte darf ein Domainname maximal 255 Bytes lang sein. Die Grafik zeigt eine schematische Darstellung davon für ein besseres Verständnis. Ein kompletter Domainname besteht aus der Verkettung aller Labels eines Pfades. Der erste Server enthält den Punkt, die sogenannte Stammzone. Durch diese Datei weiß er, welcher Server zur Auffindung der nächsten Stufe erforderlich ist (com). Dieser Server weiß wiederum welchen Server er für die nächste Stufe kontaktieren muss. Die Auflösung der einzelnen Zonen nennt man Delegierung. Die Verzweigung zwischen den Labels stellt die Delegierung der Struktur dar.

Resolver
Dieser Bestandteil von DNS bezeichnet Programme, die für den Client Anfragen an einen Nameserver stellen. Vergleichbar ist der Resolver mit einem Kunden, der die Auskunft anruft, um eine Telefonnummer herauszufinden. Er fragt für uns bei einem Nameserver nach einer Internet-Adresse. Resolver fungieren also als Schnittstelle zwischen Anwendung und Nameserver. DNS-Resolver sind einem Server zugeordnet und bei Anfragen, die nicht beantwortet werden, kann er andere Nameserver kontaktieren. In der Regel besitzt jeder Nameserver einen eigenen Resolver. Es gibt zwei verschiedene Arbeitsweisen eines Resolvers: rekursiv oder literativ.

Im rekursiven Modus schickt der Resolver eine Anfrage an seinen Nameserver. Sollte der keine Informationen haben, kontaktiert dieser Server andere Nameserver. Das heißt, rekursiv arbeitende Resolver überlassen ihre Arbeit dem zugeordneten Nameserver.

Bei einer iterativen Anfrage bekommt der Resolver den Resource Record oder einen Verweis auf weitere Nameserver, die er daraufhin als nächstes anfragt. Sobald eine Antwort gefunden wurde, wird sie an das Programm übergeben, das die Daten angefordert hat. Das könnte zum Beispiel ein Webbrowser sein.

DNS-Protokoll: UDP und TCP – Was ist das?
TCP steht für Transmission Control Protocol und ist das am häufigsten genutzten Protokoll im Internet. Das Protokoll gilt als zuverlässig, weil die gesendeten Daten auf Richtigkeit überprüft werden und das Augenmerk auf das korrekte Senden und Empfangen von Daten gelegt wird. Außerdem wird sichergestellt das keine Daten verloren gehen.

UDP steht für User Datagram Protocol. Es arbeitet ähnlich wie TCP, aber verzichtet auf die permanente Fehleruntersuchung. Das hat auch Vorteile, denn die Überprüfung wirkt sich auf die Bandbreite aus und kann die Geschwindigkeit verringern. Bei dem Einsatz von UDP werden Daten einfach nur versendet. Es wird nicht sichergestellt, ob das Paket korrekt empfangen wurde. Falls ein Empfänger etwas nicht erhält, kann er die Daten nicht erneut anfordern. Es kann vorkommen das Teile der übertragenen Daten verloren gehen, doppelt ankommen oder vertauscht werden. Man spricht bei UDP auch von einem ungesicherten Protokoll. Durch diesen Verzicht wird schnellstmögliche Kommunikation sichergestellt aber eben nicht die Vollständigkeit der Daten.

UDP und TCP werden von DNS zur Übertragung auf einem DNS-Port genutzt. Ein Netzwerk-Port ist eine Adresse mit dem Zweck UDP- oder TCP-Pakete einer IP-Verbindung zu einer bestimmten Anwendung zuzuordnen. Er bildet, zusammen mit der IP, die vollständige Adresse einer Anwendung auf einem Absendersystem. Den Ports stehen Nummern von 0 bis 65536 zur Verfügung, aber es gibt fest zugeordnete Ports für einzelne Anwendungen. Jeder UDP- oder TCP-Verbindung gehören zwei Ports., jeweils ein Netzwerk-Port auf der Clientseite und einer auf der Serverseite. Die beiden Transportprotokolle übergeben anhand der verwendeten Ports die Datenpakete an die Anwendungen. Trotz mehrerer parallel laufender Verbindungen zwischen zwei Kommunikationspartnern ist es damit möglich, die einzelnen Anwendungen eindeutig zu adressieren.

Wann wird TCP genutzt?
Insbesondere Anwendungen, die Daten sicher übertragen müssen, nutzen dieses Protokoll. Beispielsweise das World Wide Web nutzt es als Transportmedium und für den Versand von E-Mails. Außerdem wird die Datenübertragung per FTP über TCP abgewickelt. FTP steht für File Transfer Protocol und bezeichnet ein Netzwerkprotokoll.

Wann wird UDP genutzt?
Eine Anwendung, die dieses Protokoll nutzt, sollte Korrektur- oder Sicherungsmaßnahmen selbst vornehmen können. Außerdem sollte es sich um Datenpakete handeln, deren potenzieller Verlust nicht dramatisch ist. Insbesondere Anwendungen, bei denen die Kommunikation aus einem einfachen Anfrage-Antwort-Mechanismus besteht, nutzen UDP, bspw. DNS oder das Time-Protokoll, welches die Uhrzeit eines anderen Rechners abfragt.

Zukünftige Entwicklung von DNS

Die host-Datei war der Vorgänger von DNS und hatte viele Nachteile. Irgendwann konnte sie der immer größer werdenden Anzahl an hosts nicht mehr gerecht werden. DNS wiederum hat sich als sehr zuverlässig erwiesen und ist flexibel. Eine Ablösung durch ein anderes System ist nicht absehbar, allerdings gibt es mehrere größere Erweiterungen und dieser Trend wird sich vermutlich fortsetzen.

Dynamisches DNS
Dynamisches DNS ist eine der größeren Erweiterungen. Im klassischen DNS ist es eher aufwendig einem Namen eine neue IP-Adresse zuzuordnen, denn die Zonendatei muss dafür geändert werden, und zwar meistens manuell. Danach muss der Nameserver neu geladen werden und die Prozedur könnte mehrere Tage in Anspruch nehmen. Mithilfe von dynamischem DNS lassen sich Änderungen durch das Senden einer Aktualisierungsanfrage verwirklichen. Die geringe Zeitverzögerung ist ein besonders großer Vorteil. Der Nachteil dagegen ist ein erhöhtes Sicherheitsrisiko. Ohne spezielle Vorkehrungen kann jeder die Einträge löschen oder verändern. Allerdings ist dies nur im Zusammenhang mit DHCP möglich, da ein User häufig neue IP-Adressen zugewiesen bekommt. DHCP ist ein Kommunikationsprotokoll, dass es ermöglicht angeschlossene Clients ohne Konfiguration der Netzschnittstelle in ein bestehendes Netz einzubinden.

Extended DNS
Dies ist die zweite Erweiterung von DNS. Das DNS-UDP-Paket ist auf 512 Bytes beschränkt, Extended DNS (EDNS) hingegen nicht. Weiterhin kann Extended DNS mithilfe eines Pseudo-Records dem Anfragenden zusätzliche Optionen ermöglichen. Der sogenannte Pseudo-RR wird nur auf dem Transportweg zwischen Client und Server verwendet und nicht für Zonendateien oder Caches. Alle DNS-fähigen Server und Resolver müssen EDNS beherrschen. Es gab sogar einen DNS flag Day: Eine Initiative gegen veraltete DNS-Implementierungen. Zum Beispiel große DNS-Betreiber wie Facebook oder Google haben mitgemacht. Seit dem ersten Februar 2019 berücksichtigen sie mit ihrer Infrastruktur die veralteten Implementierungen nicht mehr.

Sie haben Fragen zum Thema DNS, Hosting oder IP? Sprechen Sie uns gerne an, wir unterstützen Sie bei Ihrem IT-Vorhaben.