Domain Name Service
1 Was ist DNS?
1.1 Geschichte
In den Anfangszeiten des Internets wurden die Informationen über die angeschlossenen Rechner in einer zentralen Datei (hosts.txt) beim (Ur - ) Network Information Center (NIC) gespeichert. Jeder Teilnehmer an diesem Netz musste sich die neueste Version dieser Datei auf seinen Rechner holen, damit dieser alle teilnehmenden hosts erreichen konnte. Ein weiterer Nachteil dieser Methode waren die unterschiedliche Antwortzeiten bei einer Anfrage, da diese von der Position des Eintrags in der Datei abhing.Durch das unaufhaltsame Wachstum des Internets wurde das aufwendige Katalogsystem schnell zu langsam und kompliziert und damit untragbar. Im Jahr 1984 entwickelte Paul Mockapetris ein neues Verfahren, das die Speicherung der Informationen erleichterte: das Domain Name System
1.2 Begriffsklärung
Das DNS ist ein verteiltes Directory - System. Aufgabe eines Directory - Systems ist das Verwalten von Informationen über Objekte, in unserem Fall über Objekte der Datenkommunikation. Als zentrale Komponente dieses Systems wird die hierarchische Strukturierung des Domainnamensraums betrachtet, welche die dezentralisierte Verwaltung der Informationen ermöglicht.Obwohl das DNS unter dem Druck des schnell wachsenden Internet konzipiert wurde, ist es mächtig genug, um unterschiedliche Netzprotokolle zu unterstützen. Hier wird es jedoch als Teil des Internet betrachtet.
Prinzipiell kann ein DNS jegliche Art von Informationen speichern. Im Internet, die gängigste Anwendung für ein DNS, ist es für die Abbildung Hostname auf IP - Adresse zuständig.
Komponenten des Domainsystem
2.1 Domainnamespace
Ziel des DNS ist es, die dezentrale Verwaltung von Informationen (z.B. IP - Adressen) über teilnehmende Rechner zu ermöglichen. Diese dezentrale Verwaltung der Informationen, sowie die Eindeutigkeit der Objektnamen kann nur durch eine baumartige Struktur des Domainnamespace erreicht werden; dies stellt somit die zentrale Komponente des DNS dar.Eine Domain ist ein kompletter Ast dieser baumartigen Struktur. Der volle Domainname eines Rechners besteht aus der Verkettung aller Domainnamen auf dem Pfad vom Rechner zu der Wurzel des Baums. Die einzelnen Namen werden dabei durch Punkte getrennt. Beispielsweise lautet der volle Namen des Rechners cssun im Internet cssun.rrze.uni - erlangen.de (siehe Abbildung)
Abbildung: Beispiel für die Baumstruktur des Domainnamespace
Von dem Network Information Centers (NIC) werden die ersten Domains unter der root - Domain, die sogenannten Top - level Domains, verwaltet. Dies sind im Moment sieben (amerikanische) Domains, die benannt wurden nach der Art der Organisationen, denen die Rechner dieser Domains gehören:
Top - level Domains:
com |
Commercial organizations |
edu |
Educational organizations |
gov |
Government organizations |
mil |
Military organizations |
net |
Networking organizations |
org |
Non - commercial organizations |
int |
International organizations |
Daneben gibt es noch Top - Level Domains, die in Länder aufgeteilt werden:
Länder - Domains:
de |
Deutschland |
fr |
Frankreich |
uk |
Großbritannien |
at |
Österreich |
au |
Australien |
eu |
Europa |
Die einzelnen (Top - Level - ) NICs verwalten die Second - level Domains. Diese können die Verwaltung der Third - level Domains dann weiter delegieren oder selbst erledigen.
2.2 Resource Records (RR)
Wie schon beschrieben speichert das DNS nicht nur die IP - Adresse eines Rechners. Sämtliche Daten werden als ein Satz von Resource Records dargestellt.Name |
Der Domainname des Objekts zu dem der RR gehört. |
Class |
Protokollgruppe (IN = Internet). |
Type |
RR - Typ. |
TTL |
time to live (in Sekunden); Zeit wie lang dieser RR gültig ist und gecached werden darf. |
Rdata |
Daten, die das Objekt beschreiben, zu dem dieses RR gehört. |
Die Datenformate sind abhängig vom RR - Typ (s.u.).
In folgender Tabelle sind die wichtigsten RR - Typen aufgeführt.
RR |
Funktionalitaet |
RDATA - Feld |
A |
Die Adresse eines Hosts |
32 - bit IP - Adresse |
CNAME |
Definition eines Aliasnamen zu einem Canonical Name |
Domainname (Canonical Name) |
HINFO |
Host - Info wie Typ und Betriebssystem |
CPU und Betriebssystem |
MX |
Mail - Exchange |
16 - bit preference, Name des Mailhost |
NS |
Ein autoritativer Nameserver |
Hostname |
PTR |
Zeiger (pointer) zu einem Domainnamen |
Domainname |
SOA |
Definiert "Start Of Authority'" fuer eine Zone |
mehrere Felder (NS - Name, Fehler - Mailbox, Serial - Nr. der Zonendaten, mehrere Timer) |
Beispiel für einen RR - Satz:
Name |
Class |
Type |
TTL |
Rdata |
www.informatik.uni - erlangen.de |
IN |
A |
86400 |
131.188.3.14 |
IN |
CNAME |
21600 |
wwwcip.informatik.uni - erlangen.de |
|
IN |
HINFO |
86400 |
HP840 UNIX |
|
14.3.188.131.in - adrr.arpa |
IN |
PTR |
3600 |
www.informatik.uni - erlangen.de |
2.3 Nameserver
Ein Nameserver ist ein Programm, das über Informationen eines Teils des Namensraums verfügt, und in der Lage ist, Fragen (Queries) über diese Informationen zu beantworten. Es gibt verschiedene Kategorien von NS:2.3.1 Root - Server
Als oberste Authorities verfügen sie über komplette Informationen für alle Top - Level Domains und sind in der Lage, den zuständigen NS für eine beliebige Subdomain zu ermitteln.2.3.2 Top - level Domainserver
Sie kennen alle NS für die Second - level Domains in ihrer Zone.2.3.3 Master - Server
Sie sind immer "autorisiert" für eine oder mehrere Zonen. Ein Masterserver teilt seine Arbeit auf mehre Server auf: Die Primary Nameserver und die Secondary Nameserver.Die Primary - NS laden ihre Zonendaten von einer Datei, während die Secondary - NS vom Primary - NS ihre Daten erhalten, welche (optional) in eigenen Backup - Dateien abgespeichert werden.
2.3.4 Caching - Server
Nameserver sind normalerweise Caching - Server, d.h. sie speichern die aus anderen NS erworbenen Kenntnisse über den Domainnamensraum. Diese Daten bleiben solange erhalten, wie das ttl - Feld (time to live) in dem entsprechenden RR angibt. Ein Caching - Only - Server ist ein Nameserver ohne Autorität über eine Domain und somit ohne eigene Daten. Er beantwortet Anfragen mit Informationen aus seinem Cache oder durch Fragen von "autoritativen" Nameservern. Solche Server sind zur Entlastung der Hauptserver da.2.3.5 Forwarder - Server
Sie sind NS mit voller Internet - Konnektivität, d.h. sie können problemlos Informationen von den Root - Servern oder anderen Master - Servern holen. Sie werden von anderen Nameservern zur "Erledigung" von Abfragen benutzt, die diese nicht beantworten können oder "wollen".2.4 Resolver
Resolver sind Programme, die in der Lage sind, Informationen aus Nameservern abzufragen. Sie stellen eine aufrufbare Schnittstelle zum NS - Dienst dar.Resolver können Bibliotheken sein, die in die Internetapplikationen eingebunden sind.
Resolver können auch eigenständige Programme sein (Beispiel: nslookup, dig)
IP - Adressen
Jeder Rechner im Internet braucht eine gültige Adresse mit der er angesprochen werden kann, die IP - Adresse.3.1 IP4
IP - Adressen werden in vier Zahlen, die durch Punkte getrennt werden, notiert (dotted quad notation). Jede Zahl repräsentiert dabei ein Byte, darf also Werte zwischen 0 und 255 annehmen. In dieser gruppenweisen Notation spiegelt sich die Aufteilung in Subnetze wider: Jeweils ein Teil der Adresse kennzeichnet das Netz dieser Adresse, und der andere stellt den "privaten" Anteil des Netzes dar. Am Beispiel der Uni - Erlangen (131.188.x.x) wäre 131.188 der Netzteil und x.x der private Teil über den die Organisation frei bestimmen kann. Die Organisation kann dann ihrerseits wieder Subnetze bilden. Die einzelne Subnetze werden in unterschiedliche Netzklassen aufgeteilt:Netzanteil |
Klasse |
Privatanteil |
Maximalanzahl |
1 Byte |
A |
3 Byte |
16 Millionen |
2 Byte |
B |
2 Byte |
65 000 |
3 Byte |
C |
1 Byte |
254 |
3.2 IPv6
Durch den "Einzug der Massen" in das Internet verringert sich die Anzahl der verfügbaren Adressen immer mehr. Zum anderen werden die Routing - Tabellen zunehmend unhandlicher, da mit der Anzahl der Rechner auch die Komplexität der Routing - Tabellen steigt.Das neue Protokoll sieht eine Notation vor, die aus acht, durch Doppelpunkte getrennten, vierstelligen Hexadezimalzahlen besteht. Mit den dadurch theoretische 3,4 x 1038(2128) zur Verfügung stehenden Adressen könnte jedem Quadratmeter Erde 1500 IPv6 - Adressen zugewiesen werden. Adreßteile, die nur aus Nullen bestehen, können der Einfachheit halber durch zwei aufeinanderfolgende Doppelpunkte dargestellt werden. Eine Adresse mit 145A:45:8:0:0:0:251:4 kann auch als 145A:45:8::251:4 dargestellt werde. Führende Nullen können ebenso entfernt werden.
Die alten IP4 - Adressen werden durch ein eigenes Subnetz integriert, das 4 führende Nullen hat. Die IP4 - Adresse 131.188.3.4 wuerde beispielsweise als ::131.188.3.4 dargestellt.
Neben einem verbesserten routing, stellt das neue Protokoll nicht nur Adressen sondern auch unterschiedlich Adressierungsarten zur Verfügung. Vorgesehen sind im Moment Multicast, Anycast und Unicast, wobei das erstere vor allem für Multimedia - Anwendungen prädestiniert ist.
Funktionsweise des DNS
4.1 Dezentralisierung
Die Grundidee des DNS ist die Verteilung der Daten auf verschiedene Server, die jeweils für ihre (Unter - ) Domain zuständig sind.4.2 Resolution
Bei einer Anfrage eines Resolver an einen Nameserver versucht dieser die IP - Adresse in seiner Datenbank zu finden. Gelingt ihm dies nicht, so kennt er den Namen eines anderen Servers, der bei diesem Problem weiterhelfen kann.Die Anfrage an den Nameserver kann auf zwei Arten geschehen, rekursiv oder iterativ.
4.2.1 Rekursive Anfrage
Bei der rekursiven Variante fragt der Resolver einen Nameserver nach der IP - Adresse eines bestimmten hosts. Der Nameserver hat nun die Aufgabe die IP - Adresse eigenständig herauszufinden, indem er selbstständig die zuständigen Nameserver abfragt. Falls er die Information findet, liefert er diese zurück, ansonsten kommt eine Fehlermeldung.4.2.2 Iterative Anfrage
Stellt der Resolver nur eine iterative Anfrage, dann bekommt er von den Nameservern wie schon erwähnt die richtige IP - Adresse, oder die Adresse anderer Nameserver. Nun muss der Resolver selbst die anderen Nameserver befragen, bis er eine Antwort bekommt.4.3 Caching
Um den Prozeß der Resolution zu beschleunigen, versuchen die meisten Nameserver die Daten früherer Anfragen zu cachen. Dadurch muss bei ähnlichen Anfragen kein anderer Nameserver bemüht werden.Natürlich ist es nicht sinnvoll Informationen ewig zu speichern, deshalb gibt es den RR - Typ TTL. In der "Time To Live" wird festgehalten, wie lange die Daten im Speicher gehalten werden dürfen.
4.4 Reverse Mapping
Das Auffinden der IP - Adresse eines Rechners ist durch das DNS verhältnismäßig leicht. Umgekehrt ist das Auffinden des Namens eines Rechners, dessen IP - Adresse bekannt ist, im Prinzip nur möglich, wenn der ganze Baum durchsucht wird.Um Letzteres zu erleichtern, wurde eine Domain eingeführt, welche IP - Adressen als Teil eines (pseudo - ) hostnames benutzt, der wiederum zu dem Domainnamen des gesuchten Rechner zeigt. Die Domain, mit der das "IP - Adresse zum Namen" - Mapping verwirklicht wird, heißt IN - ADDR.ARPA und wird ebenfalls vom NIC verwaltet.
Sucht man beispielsweise nach dem hostnamem des Rechners mit der IP - Adresse 131.188.3.4 so fragt man den Nameserver einfach nach der IP - Adresse des Rechners 4.3.188.131.in - addr.arpa. Das DNS liefert dann den cname des zurück.
5 Literatur
-
ALBITZ, P.: DNS and BIND in a nutshell;
Sebastopol, CA, O’Reilly 1993 KIRCH, OLAF: Networkers Administration Guide
http://www.uni - paderborn.de/linux/mdw/LDP/nag/nag.html HOSENFELD FRIEDHELM: Next Generation
C’t 11/96; Heise Verlag
1714 Worte in "deutsch" als "hilfreich" bewertet