1.12. DNS - Domain Name System

1.12.1. Auflösung von Hostnamen

Wie wir wissen, erfolgt die Adressierung in TCP/IP-Netzen mit den 32 Bit langen IP-Adressen. Es wäre undenkbar, wenn die Internet-Nutzer mit diesen doch ziemlich unhandlichen "Nummern" umgehen müßten. Das ist schon beim Telefonieren so eine Sache. In der kommenden IP-Version 6 mit 16-Byte-Adressen würde es noch prekärer. Wer sollte sich die wohl merken können?

Besser merken können wir uns hingegen Namen. Deswegen tragen alle Rechner im Internet einen solchen. Es haben sich gewisse Gewohnheiten durchgesetzt, z.B., daß die WWW-Server sehr oft "www.irgendwas" heißen. Es ist nun Sache der Netz-Anwendung, aus diesem Namen die zugehörige IP-Adresse zu ermitteln, damit die Verbindung aufgenommen werden kann. Diesen Prozeß bezeichnet man als Hostname Resolution.

In einem kleinen lokalen Netzwerk ist es denkbar, auf jedem Rechner eine Datei mit den entsprechenden Rechnernamen und IP-Adressen zu pflegen, aus der dann jede benötigte Abbildung leicht ausgelesen werden kann. Auf Unix-Systemen ist dies die Datei /etc/hosts. Bei Änderungen der Daten wäre dann diese Datei auf allen Rechnern zu ändern. Man kann sich leicht vorstellen, daß dies schon bei wenigen Knoten im Netz unhandlich wird.

Eine Lösung für dieses Problem bietet NIS, das von Sun Microsystems entwickelte Network Information System (früher als Yellow Pages bzw. YP bekannt). Mit NIS können die Hostnamen und IP-Adressen (und weitere Informationen, z.B. Nutzerdaten für das Login) aus einer Datenbasis eines Serverrechners abgerufen werden. Die Informationen müssen zentral verwaltet werden, können aber an sog. Slave-Server weitergegeben werden. NIS spielt primär in Unix-basierten lokalen Netzen eine Rolle, interessanterweise aber kaum für die Auflösung von Hostnamen.

In den "Good Old Days" des Internet wurden die Adreß-Informationen tatsächlich in einer zentralen Datei verwaltet, der berühmten HOSTS.TXT-Datenbasis. Diese Datei, gepflegt vom Network Information Center (NIC), wurde von den Teilnehmern regelmäßig geholt (via FTP) und lokal verteilt. Mit dem Wachsen des Netzes wurde dies immer weniger praktikabel. Zum einen war der Aufwand nicht zumutbar, zum anderen wuchs die Last auf dem Verteilrechner. Daneben mußte jeder Name beim NIC angemeldet werden und vor allem eindeutig sein.

Aus diesen Gründen wurde 1984 eine neue Methode für die Auflösung von Hostnamen eingeführt, das Domain Name System. Das von Paul Mockapetris entwickelte DNS löst die o.g. Probleme und hat sich als Basisdienst im Internet etabliert. Es ist Tatsache, daß ohne DNS im Internet eigentlich nichts mehr läuft. Trotzdem erfolgt eine ständige Weiterentwicklung.

Die wichtigste Implementation des DNS ist BIND - Berkeley Internet Name Domain. Der Großteil der Nameserver im Internet wird mit BIND-Software betrieben. Die Entwicklung von BIND wird durch das Internet Software Consortium unterstützt und von Paul Vixie koordiniert.

BIND enthält sowohl den Nameserver als auch Resolverfunktionen und ist für eine Vielzahl von Unix-Systemen verfügbar. Außerdem existieren Portierungen für Windows NT und VMS. Neben BIND gibt es auch andere DNS-Implementationen, z.B. bei Windows NT Server 4.0.

Gegenwärtig existieren zwei praxisrelevante BIND-Versionen (im Englischen auch als "production level" BINDs bezeichnet): Version 4 and Version 8. Version 4 ist die letzte "traditionelle" Implementierung, die auf den meisten Systemen eingesetzt wird und daher momentan noch sehr stark dominiert. Version 8 wird auch als "BIND-ng" (Next Generation) bezeichnet und bereits auf einigen Nameservern genutzt. Sie ist portabler und funktioniert im allgemeinen besser als Version 4.

Die zum Zeitpunkt der letzten Aktualisierung dieses Dokuments (s. unten) neusten BIND-Versionen sind 8.1.2 bzw. 4.9.7. Hauptanliegen der Pflege von BIND 4.x ist die Beseitigung von Sicherheitslücken. Informationen zu den jeweils aktuellen BIND-Versionen (Software und Dokumentationen) finden Sie unter http://www.isc.org/bind.html und ftp://ftp.isc.org/isc/bind/doc.

Die folgenden Abschnitte stellen eine Einführung in das Domain Name System dar. Die Implementation BIND 4.x steht dabei im Mittelpunkt der Betrachtung.


© Frank Richter, Holger Trapp, 14.4.1998