Weiterführende Informationen zum Domain Name System und Detailbeschreibung einer Zonendatei.
Zurück zur vorherigen Seite: Das Domain Name System (DNS) |
Zonendateien im Detail
Informationen innerhalb einer bestimmten Domain werden in so genannten Zonendateien gespeichert, die ihrerseits von einem Nameserver im Internet bereitgehalten werden. Logisch gesehen ist ein Nameserver deshalb nichts anderes wie eine Datenbank, die über spezielle DNS-Befehle abgefragt werden kann.
So eine Abfrage ist immer dann notwendig, wenn irgendwo ein Hostname eingegeben wird und der jeweilige Client, der die Anfrage verarbeitet, die dazugehörige IP-Adresse ermitteln möchte. Zu Analysezwecke gibt es auch ein Werkzeug namens nslookup (siehe hierzu auch Tools zur Netzanalyse), mit dem einzelne DNS-Abfragen in der Kommandozeile von Betriebssystemen durchgeführt werden können.
Als Beispiel schauen wir uns die Zonendatei der Domain netplanet.org in ihren Details an, so wie sie im Internet abrufbar ist.
netplanet.org. IN SOA ns.eplan.net. hostmaster.eplan.net ( 2003053102 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 86400 ) ; minimum IN NS ns.eplan.net. IN NS ns1.eplan.net. IN NS ns2.eplan.net. IN MX 10 mailsrv1.eplan.net. IN MX 20 mailsrv2.eplan.net. IN A 80.245.65.1 www IN A 80.245.65.1 www2 IN CNAME www.netplanet.org www2 IN TXT "Dies ist ein Text"
Die einzelnen Einträge in einer Zonendatei bezeichnet man als Resource Record (RR). Diese haben den Aufbau "Domain - Klasse - Typ - Eintrag":
- Die Domain enthält den Namen der Domain, für die die Zonendatei zuständig ist. In unserem Beispiel lautet diese Domain "netplanet.org" und gibt somit an, dass die Zonendatei entsprechend für diese Domain zuständig ist.
- Die Klasse gibt das Netz an, für das der Eintrag gelten soll. Hier steht "IN" für das Internet. Daneben gibt es noch weitere Klassentypen, die jedoch für vergangene oder experimentelle Netze stehen.
- Der Typ kennzeichnet den Typ des DNS-Eintrages. Hier gibt es verschiedene Befehle und entsprechende Attribute, die weiter unten beschrieben sind.
- Der Eintrag enthält schließlich die individuellen Werte und definiert die einzelnen Einträge innerhalb der Domain.
DNS-Eintragstypen
SOA - Start of Authority
Der erste Eintrag in der Zonendatei ist der SOA-Eintrag ("Start of Authority") und ist die einführende Zeile einer Zonendatei, die für eine bestimmte Domain autoritativ zuständig sein soll. Die hier eingetragenen Angaben gelten für alle einzelnen Einträge in der Zonendatei.
Der einleitende Domainname kennzeichnet den Adressbereich, für den die Zonendatei zuständig ist.
Die nächsten beiden Angaben des SOA-Eintrages (stehen hinter dem "SOA") geben den primären Nameserver und die Kontakt-E-Mail-Adresse des Administrators an. Da der Klammeraffe in Zonendateien anderweitig genutzt werden, wird der Klammeraffe der E-Mail-Adresse durch einen Punkt ersetzt.
Die nachfolgende öffnende Klammer kennzeichnet, dass die Angaben in den nächsten Zeilen bis zur schließenden Klammer zum Eintrag vor der öffnenden Klammer gehören. Im einzelnen sind dies im SOA-Eintrag Werte, die die Gültigkeit der DNS-Angaben der Zonendatei definieren.
Die erste Zahl ist die Seriennummer der Zonendatei, die sich in der Regel aus dem Datum der Erstellung bzw. letzten Änderung der Zonendatei und einer laufenden Nummer zusammensetzt. Die zweite Zahl gibt die Zeit in Sekunden an, nach der die sekundären Nameserver ihre Kopie der Zonendatei mit dem primären Nameserver synchronisieren müssen. Die dritte Zahl gibt an, in welchem Zeitrhythmus (wiederum in Sekunden) die sekundären Nameserver versuchen müssen, eine Kopie der originalen Zonendatei auf dem primären Nameserver zu laden, falls dies beim ersten Versuch nicht gelingt. Die vierte Zahl gibt an, nach wie viel Sekunden die sekundären Nameserver ihre Kopien der originalen Zonendatei löschen müssen, wenn sie den ersten Nameserver in dieser Zeit nicht erreichen konnten. Die letzte Zahl steht für das so genannte "Time To Live" der einzelnen DNS-Einträge in Sekunden, also der Zeit, die abgerufene DNS-Einträge maximal gültig sind, bevor sie neu von den autoritativ zuständigen Nameserver abgerufen werden müssen.
NS - Nameserver
Mit dem NS-Eintrag werden die Nameserver angegeben, die für die Domain der Zonendatei autoritativ zuständig sind. Die hier angegebenen Nameserver führen synchron die gleiche Zonendatei, wobei ein Nameserver als primärer Nameserver fungiert, der das Original der Zonendatei bereithält, der/die weiteren Nameserver als sekundäre Nameserver arbeiten, die sich die Zonendatei gemäß den Zeitfaktoren im SOA-Eintrag kopieren.
MX - Mail Exchange
Die MX-Einträge dienen zur Angabe der Mailserver, die für die Domain zuständig sein sollen. Dazu wird jeder Mailserver mit so einem MX-Eintrag einzeln angeführt. Eine Prioritätsnummer, die vor der Adresse des Mailservers steht, gibt an, welche Priorität der Mailserver hat. Je niedriger diese Zahl ist, desto höher ist die Priorität des Mailservers.
A - Address
A-Einträge werden im DNS verwendet, um einzelne Adressen innerhalb einer Domain festzulegen. In der Zonendatei von netplanet.org werden insgesamt zwei Adressen definiert: Der erste A-Eintrag definiert die Adresse www.netplanet.org und lässt diese auf die IP-Adresse 80.245.65.1 zeigen. Der zweite A-Eintrag definiert die Adresse netplanet.org und lässt diese Adresse ebenfalls auf die obige IP-Adresse zeigen. Damit wird dafür gesorgt, dass netplanet auch unter der Adresse http://netplanet.org/ erreichbar ist.
CNAME - Canonical Name
CNAME-Einträge ähneln A-Einträgen und führen zu einem Host, allerdings nicht direkt, sondern in Form einer Weiterleitung zu einem anderen DNS-Eintrag. Dies ist zum Beispiel dann erforderlich, wenn man eine Adresse unter vielen Domain-Namen eintragen muss, aber nicht jeden einzelnen Eintrag auf eine IP-Adresse zeigen lassen möchte. Denn würde sich diese IP-Adresse irgendwann einmal ändern, müssten auch alle entsprechenden DNS-Einträge geändert werden. Wird aber nur in einem Eintrag ein A-Eintrag vorgenommen und lässt in allen anderen Domains dann den dortige Eintrag mit einem CNAME-Eintrag auf den "ersten" A-Eintrag zeigen, wird viel an Administrationsarbeit für den Fall der Fälle eingespart
TXT - TXT Resource
TXT-Einträge haben einen rein informellen Charakter und dienen zum Hinterlegen von Informationen, beispielsweise Informationen zu einem bestimmten DNS-Eintrag. Wichtig zu wissen ist hierbei, dass TXT-Einträge grundsätzlich öffentlich sind, auch wenn sie nicht jeder sofort sieht. Oftmals werden TXT-Einträge auch von Internet-Diensten im Hintergrund verwendet, beispielsweise von Spam-Filtersystemen.
Weitere DNS-Eintragstypen
Im Domain Name System existiert noch eine Vielzahl an weiteren Eintragstypen für viele Spezialfälle, die auch zu einem Teil erst lange nach der ursprünglichen Protokolldefinition des DNS eingeführt wurden, um auch in zukünftigen Technologien wie IPv6 das Domain Name System zu implementieren. In diesem Artikel sind nur einige wenige Eintragstypen aufgeführt, eine sehr umfangreiche Übersicht gibt es unter anderem in der Wikipedia (siehe Link unten).
Die Root-Zone
Damit ein Nameserver zur Adressauflösung verwendet werden kann, muss er die Adressen der Nameserver kennen, die in der Hierarchie des Domain Name System zentral oben stehen. Diese Root-Zone enthält alle Adressen der Root-Server, also der Server, die die Informationen aller Top-Level-Domains enthalten.
Da ein Nameserver beim Start die aktuelle DNS-Hierarchie nicht kennt (die kann er ja nicht kennen, wenn er nicht die Adressen der Nameserver der obersten Hierarchie kennt), muss er zunächst einmal in den Grundzustand gebracht werden, diese oberste Hierarchie zu kennen und mindestens einmal kontaktiert zu haben. Dazu liegt die Root-Zonendatei im Internet an mehreren bekannten Stellen bereit, ist aber auch der meisten Nameserver-Software beigelegt. Abrufbar ist diese Datei zum Beispiel unter der Adresse ftp://ftp.rs.internic.net/domain/named.root.
Diese Zone, die sich, abgesehen von wenigen Details,technisch nicht von anderen Zonendateien unterscheidet, wird von einem startenden Nameserver eingelesen und jeder der dort eingetragenen Nameserver wird kontaktiert, um von diesen die jeweils dort abgelegte Kopie der Root-Zonendatei abzurufen. Hat dies ein Nameserver einmal vorgenommen, "kennt" er die oberste Hierarchie des Domain Name System und kann Domain-Adressen entsprechend der hierarchischen Ordnung im DNS auflösen.
Interessant ist an der Root-Zone, dass die TTL-Zeit sehr hoch liegt; die angegebenen 3,6 Millionen Sekunden entsprechen 41 Tagen und 16 Stunden. Dies ist zum einen zur Schonung der Root-Server gedacht, zum anderen ist eine häufigere Aktualisierung der Root-Server-Informationen bei den einzelnen Nameservern auch nicht notwendig, da die Adressen der Root-Server selten geändert werden.
Der Nameserver-Cache
Würde jede einzelne DNS-Abfrage direkt an die jeweils autoritativ zuständigen Nameserver geleitet werden, würde das Domain Name System vermutlich innerhalb kürzester Zeit komplett zusammenbrechen; die Abfragelast würde viele Nameserver populärer Domain-Namen völlig überlasten.
Aus diesem Grund speichert ein Nameserver, der eine DNS-Adresse auflöst, sein ermitteltes Ergebnis für eine bestimmte Zeit in seinem Cache. Diese Zeit wird dabei vom Administrator der Zonendatei des aufgelösten Domain-Namens durch den TTL-Wert im SOA-Eintrag (siehe oben) bestimmt. Soll innerhalb dieser Ablaufzeit die DNS-Adresse nochmals aufgerufen werden, überprüft der auflösende Nameserver zunächst, ob sich die Adresse noch im seinem Cache befindet und liefert, falls dies so ist, das Ergebnis direkt aus dem Cache, ohne eine neue Auflösung zu starten.
Alternative Root-Server
Vielleicht sind Ihnen schon mal Top-Level-Domains aufgefallen, die aus seltsamen Begriffen bestehen, beispielsweise "kids", "sex", "xxx" und viele mehr. Und sich vielleicht darüber gewundert, dass Ihr Provider die Registrierung von Domain-Namen unter solchen Top-Level-Domains nicht anbietet. Ihr Provider macht da jedoch nichts verkehrt, sondern schützt Sie davor, Geld in etwas hineinzustecken, das nicht funktioniert.
Um alternative Top-Level-Domains zu erklären, muss man wissen, dass das Domain Name System, das Sie und ich normalerweise ohne manuellen Eingriff verwenden, das "normale" Domain Name System ist, das auf den 13 Root-Server basiert, die von der ICANN verwaltet werden (siehe hierzu auch: Domain Name System). Diese Nameserver sind in den Standardinstallationen der gängigen Nameserver von Hause aus konfiguriert.
Anbieter von alternativen Top-Level-Domains betreiben eigene Nameserver, in die sie ihre eigenen Top-Level-Domains eintragen und delegieren. Dies ist nichts Verbotenes, hat jedoch den eklatanten Nachteil, dass diese Root-Server im herkömmlichen Domain Name System nicht delegiert bzw. angesprochen werden. Dies heißt im Klartext, dass alle alternativen Top-Level-Domains und die eventuell darunter registrierten Domains im Internet weitgehend nicht erreichbar sind, wenn die Nameserver der alternativen Top-Level-Domains nicht manuell in Nameserver-Konfigurationen integriert werden. Und dies ist nur bei einer sehr kleinen Zahl von Providern der Fall.
Domain-Registrierungen in alternativen Top-Level-Domains sind aber auch deshalb bedenklich, weil nur der Anbieter selbst die alleinige Gewalt über die eingetragenen Domains besitzt. Meist sind die Nameserver solcher alternativen Netze bei weitem nicht so fehlerredundant ausgelegt, die das offizielle System. Das größte Problem sind jedoch eventuelle Überschneidungen, wenn im offiziellen Domain Name System eine Top-Level-Domain eingerichtet werden soll, die zufälligerweise genauso heißt, wie eine Top-Level-Domain bei einem alternativen Anbieter.
Beachten Sie deshalb, dass Investitionen in Domain-Namen unter alternativen Top-Level-Domains außerhalb des offiziellen Domain Name System Ausgaben sind, die sich nur selten rentieren und Besucher finden.
Weiterführende Links
http://www.root-servers.org/
Zentrale Übersichtsseite der offiziellen DNS Root-Server
https://de.wikipedia.org/wiki/Resource_Record
Übersicht über Resource Records (DNS-Eintragstypen) in der Wikipedia