Das Internet wächst und wächst, doch wer kümmert sich um die Verwaltung dieses riesigen Gebildes? Die Antwort: Das Internet selbst. Ein wichtiger Teil fällt dabei dem Domain Name Service (DNS, mitunter auch als "Domain Naming System" bezeichnet) zu. Internet-Programme (WWW-Browser, ftp-Clients) werden zumeist mit symbolischen Domain-Namen, etwa www.chip.de, angesprochen. Der Datenpakettransport im Internet selbst aber erfolgt über IP-Adressen in der Form 194.152.32.181.
Der Domain Name Service wandelt nun auf Anforderung durch ein Benutzerprogramm (Client) die symbolischen Domain-Namen in die IP-Adressen um - und umgekehrt. Diese Aufgabe erledigen sogenannte Nameserver, das sind Spezialprogramme auf Internet-Servern. Die bessere Lesbarkeit der Namen gegenüber den IP-Adressen ist nicht der einzige Vorteil, den Nameserver zu bieten haben. Die IP-Adressen eines Web-Servers können sich im Laufe eines Tages ändern. Nimmt der Betreiber einer solchen Site wegen Wartungsarbeiten seinen Server vom Netz, kann ein Reservesystem einspringen, das aber eine andere IP-Nummer hat. Der Besitzer des Servers muß nur dem zuständigem Nameserver diese Veränderung mitteilen. Der Benutzer bemerkt den Vorgang nicht einmal.
Auch das verbreitete IP-Adreß-Leasing profitiert vom Name-Service: Bei dieser von Internet-Providern verwendeten Methode wird an jeden Kunden nur für den Zeitraum zwischen Modem-Connect und Auflegen dynamisch eine IP-Nummer vergeben. Damit der Client für andere Teilnehmer trotzdem erreichbar ist, sorgt der Provider für den zeitweisen Eintrag in seinem Nameserver.
Die Namen der Internet-Server folgen einer Struktur, die baumartig in Bereiche (Domains) aufgeteilt ist. Die Wurzel des Baumes bilden die Toplevel-Domains: zum Beispiel EDU, das für Universitäten steht. Die Toplevel-Domain steht am Ende der Internet-Adresse, davor die nächste Subdomain, die ein Ast des Domain-Baumes ist, und so fort. Das Ganze bildet dann ein hierarchisches Gebilde, das vom Allgemeinen zum Speziellen strukturiert ist.
Die einfachste Form der Zuordnung von symbolischem Namen und IP-Adresse auf dem eigenen Rechner ist mittels der Datei HOSTS möglich. Diese ASCII-Datei befindet sich in Unix-Systemen im Unterverzeichnis /etc; bei Windows 95 liegt sie im Windows-Verzeichnis und OS/2 hält sie unter /TCPIP/ETC vor. In der HOSTS-Datei kann außerdem ein Kurzname frei definiert werden, der nur auf dem eigenen Rechner gültig ist.
Wird nun ein Internet-Programm, zum Beispiel telnet www.chip.de, aufgerufen, versucht das System, diesen Namen zuerst anhand der HOSTS-Datei aufzulösen. Der Nameserver nimmt sich dann aller Domain-Namen an, die nicht in dieser Datei verzeichnet sind. Als Anwender werden Sie mit der Frage nach der IP-Adresse des Nameservers im Verlaufe der TCP/IP-Konfiguration konfrontiert. Unter Windows 95 können Sie auch mehrere Nameserver angeben; immerhin ist damit zu rechnen, daß der erste Server gelegentlich nicht erreichbar oder überlastet ist.
Der Resolver
nimmt Name-Service-Anfragen entgegen
Ein realer Nameserver besteht aus Resolver und der DNS-Datenbank selbst. Der Resolver nimmt die ankommenden Nutzeranfragen (Queries) über ein einheitliches Protokoll der TCP/IP-Familie (UDP, Port 42) entgegen und schaut in seiner Konfigurationsdatei /etc/resolv.conf nach, welcher Nameserver die benötigten Angaben vorhält. Je nach Ergebnis dieses Tests setzt der Resolver entweder an den eigenen oder an einen fremden Name-server eine entsprechende Anfrage ab.
Als Ergebnis liefert der Nameserver die gewünschte IP-Nummer. Der Resolver schickt diese dann (wieder unter Zuhilfenahme des UDP-Protokolls) an den Client weiter. Der Resolver zwischenspeichert das Ergebnis der Anfrage noch für einige Zeit (Caching), um bei gleichartigen Queries sofort antworten zu können.
Der Server
hält die Datenbasis vor
Der Server selbst verwaltet eine Datenbank von Resource Records. In den Feldern wird - je nach Record-Typ - entweder die Zuordnung der Namen zu den IP-Adressen oder die Zuordnung von einer Domain zu einem Nameserver vorgenommen.
Stellt nun ein Resolver eine Anfrage an den Nameserver, durchsucht der die Resource Records seiner Datenbank. Kann er die Adresse selbst auflösen, beantwortet er die Anfrage sofort. Im anderen Fall richtet er die Anfrage an jenen Nameserver, der anhand seiner Datenbank die Information besitzen müßte. Kann der zweite angesprochene Nameserver die Adresse auch nicht auflösen, antwortet er zumindest mit der Adresse eines weiteren Nameservers und so weiter. Dieses Vorgehen nennt man "iterativ". Die Nameserver-Datenbank wird in frei konfigurierbaren Zeitabständen mit den Informationen anderer Nameserver in beiden Richtungen aktualisiert.
Reverse Mapping
macht aus IP-Adressen wieder Namen
Wenn Sie beispielsweise das Programm traceroute ausführen, liefert es alle Zwischenstationen eines abgeschickten Datenpaketes. Die Anzeige dieser Server geschieht in symbolischen Namen.
Um das zu ermöglichen, wird auch der Nameserver konsultiert.
Diesmal muß er jedoch den umgekehrten Weg gehen: Aus einer
IP-Nummer macht er die Adresse. Zu diesem Zweck besitzt der Nameserver
eine Reverse-Mapping-Steuerdatei (erkennbar an der Dateiendung
.rev). Die Vorgehensweise bei dieser Auflösung ist genauso
wie oben beschrieben.
Jan Kleinert