(Um zu verstehen was ein Domainnameserver ist, kann es hilfreich sein wenn man ungefähr weiß wie das Client-Server Modell im Internet funktioniert und es schadet nicht wenn man weiß wie eine URL (Internetadresse) aufgebaut ist.)
Ein DNS (Domainnameserver) ist eine grundlegende Vorraussetzung für fast alle Aktionen im Internet. Er wird immer dann gebraucht wenn man einen Rechner über eine alphanumerische Adresse (wie z.B. "www.yahoo.com", "www.42.org", etc.) im Internet kontaktieren will.
IP Nummern
Grundsätzlich gibt es im Datenverkehr des Internet keine solchen
anschaulichen Namen (wie "www.yahoo.com") sondern nur die sogenannten IP
Nummern. Diese sehen dann z.B. so aus "129.222.101.200" oder "200.42.0.1"
oder "133.1.198.53". Die IP Nummern bestehen aus vier Zahlen die jeweils
von 0 bis einschliesslich 255 reichen können. Das ergibt somit 256
hoch 4 Kombinationsmöglichkeiten, also 4'294'967'296 Kombinationsmöglichkeiten.
Diese gut 4 Millionen möglicher Reichneradressen werden durch einige
reservierte Nummern eingeschränkt und durch die nachfolgend erklärte
Strukturierung auf bestimmte Anwendungsfälle festgelegt. Das hat dazu
geführt daß seit etwa 1996 befürchtet wird, daß die
IP Nummern bald ausgehen könnten. Deshalb wird ständg an einer
Novellierung des TCP/IP Systems gearbeitet wodurch es bald noch mehr Kombinationsmöglichkeiten
geben wird.
Hierarchie der IP Nummern
Die IP Nummern sind hierarchisch aufgebaut. Im Prinzip bedeutet daß
das man große Netzwerke aufbaut die man in mehrere kleinere unterteilen
kann und die kann man wiederum in viele ganz kleine unterteilen und in
denen hängen dann wieder diverse einzelne Rechner. Das schlägt
sich auch in den IP Nummern nieder ist aber komplizierter. So kann man
nicht eindeutig sagen welche der Ziffern einer IP Nummer zu welcher Hierarchiestufe
gehoeren. Das liegt daran daß die Rechneradressen eigentlich in Binärschreibweise
geschrieben werden und man sie mit diesen 4 mal 0-255 IP-Darstellung nur
kürzer und übersichtlicher macht, aber dabei in jede der vier
Zahlen verschiedene Hierarchiestufen reinrechnet. Würde man die Zahlen
als Binärzahlen (0en und 1en) schreiben, könnte man genauer sehen
welche Rechner wie wo zusammen hängen. Grundsätzlich gehören
(einfach gesprochen) aber IP Nummern die einige Zahlen (vom Anfang her
betrachtet) gemeinsam haben, zum gleichen Rechnernetz.
Aufgabe eines DNS IP <=> Domainnamen
Das alleine hilft uns aber noch kaum dabei uns die zwölfstelligen
IP Nummern zu merken. Sie sind etwa so praktisch wie eine Telefonnummer
und damit unbrauchbar. Damit jetzt aber nicht jeder Internetbenutzer ständig
sein Adressbüchlein mit den wichtigsten IP Nummern mit sich herumschleppen
muß hat man sich dazu entschlossen sogenannte DNS einzurichten, was
sich bis heute sehr bewährt hat.
Ein DNS ist dabei ein Server der ständig mit dem Internet verbunden
ist und eine Art Auskunftdienst bereitstellt. Der DNS kennt selbst alle
IP Nummern oder weiß wo er diese erfragen kann. Man kann nun beim
DNS die IP Nummern fuer beliebige Rechner abfragen. Um das ganze effizient
zu gestalten und nicht zu komplex werden zu lassen hat man dabei sogenannte
Domainnamen eingeführt, welche ein leicht zu merkendes Kürzel
für die IP-Adressen darstellen. Nur diese Domainnamen kennt der DNS
und diese Domainnamen kann er auch verarbeiten. Diese Domainnamen sind
die inzwischen bestens vertrauten Internet Adressen, wie etwa "www.fascination.de",
"www.entry.de" oder "www.dino-online.de".
Hierarchie der Domains
Die Domainnamen sind ebenfalls hierarchisch aufgebaut allerdings genau
andersherum (d.h. man muß sie von rechts nach links lesen). Ganz
rechts steht die sogenannte Top-Level-Domain, also in den obigen Beispielen
".de". In der Mitte steht das Subnetz und ganz links der jeweilige Rechner
im Subnetz (hier immer "www", da dies die übliche Bezeichnung für
Webserver ist). (genaueres siehe: URL-Tutor Abschnitt
Rechneradresse)
(Komplette Liste der Top-Level-Domains siehe
hier) Die Vergabe und Registrierung der Domainnamen für bestimmte
IP Nummern erfolgt dabei durch die sogenannte
Internic
Institution (bzw. in Deutschland durch Nic.de).
Internic und Nic.de sind dabei keine staatlichen und auch keine wirklich
offiziellen Stellen. Ihr Status ist im Moment unklar und eine Umstrukturierung
des Verfahrens wird diskutiert.
DNS Regionen
Kein DNS im Internet kann heute mehr alle Rechner und damit alle IPs
kennen. Es gibt deshalb einzelne Regionen für die jeweils unterschiedliche
DNS zuständig sind. Wenn ein DNS nun eine Anfrage erhält die
er selbst nicht beantworten kann so wird er erst einen fremden DNS um Rat
fragen müssen. Er kontaktiert daher den für die jeweilige Region
zuständigen DNS. Das geschieht in aller Regel sehr schnell und für
den Benutzer unbemerkt. Wenn der lokale DNS eine IP bei einem anderen DNS
angefragt hat dann merkt er sich diese Anfrage eine Weile in einem Cache-Speicher,
denn oft kommen dann bald noch mehr Anfragen zu dieser IP und es wäre
sinnlos jedesmal erneut beim zuständigen DNS nachfragen zu müssen.
Aliase und Ausnahmen
Wir haben also festgestellt, daß jede IP durch einen entsprechenden
alphanumerischen Domainnamen repräsentiert wird den ein DNS umsetzen
kann. Das gilt jedoch nicht immer. Es gibt auch IP Nummern denen kein Domainname
zugeordnet ist. Dabei handelt es sich oft um Rechner die nur für internen
Gebrauch bestimmt sind oder nicht direkt von einem Benutzer angesprochen
werden sollen. Alle Rechner die im weltweiten WWW oder FTP Verkehr von
der Öffentlichkeit benutzt werden können haben normalerweise
auch einen Domainnamen, weil sich die IP Nummern kein normaler Benutzer
merken will. Es gibt jedoch noch eine mögliche Besonderheit: Wenn
ein Rechner einen Domainnamen hat so kann er trotzdem weitere Aliasadressen
haben. Das bedeutet, daß verschiedene Domainnamen allesamt auf dieselbe
IP-Nummer verweisen können. Zum Beispiel gibt es für den Domainnamen
"www.cnn.com" noch den Alias "cnn.com". Beide Bezeichnungen weisen auf
dieselbe IP Nummer hin. Das bedeutet also:
Ein Rechner hat immer eine IP Nummer, kann einen Domainnamen haben und kann zusätzlich beliebig viele Aliasnamen haben.
Wie spricht man einen DNS an?
Man wird selten selbst die Anfrage an einen DNS auslösen müssen.
Alle Programme die man normalerweise aber benutzt, wie etwa Emailclient,
Newsreader, Webbrowser werden automatisch einen DNS kontaktieren, sobald
sie einen Rechner erreichen müssen zu dem sie nur einen alphanumerischen
Domainnamen kennen. Sie fragen also den DNS nach der korrekten IP, erhalten
diese und kontaktieren dann den entsprechenden Rechner. Ohne die entsprechende
IP Nummer ist der Rechner dabei nicht zu erreichen. Fällt der DNS
somit aus, kann man die Rechner nichtmehr erreichen, selbst man ihre Domainnamen
kennt und selbst wenn die Netzwerkverbindung zum Ziel funktionieren würde.
Um Kontakt zu einem DNS aber erstmal aufnehmen zu können braucht man
dessen IP Adresse. Der Domainname eines DNS nützt einem überhauptnichts,
da man den DNS damit ja nicht direkt erreichen kann und man den DNS aber
erreichen müßte um den Domainnamen in die IP Numemr zu übersetzen.
Adressangebn zu einem DNS müssen somit immer als normaler rein numerische
IP Nummern erfolgen. Die Adresse des DNS muß dann bei jedem Rechner
eingestellt (konfiguriert) werden, damit alle Programm auch automatisch
wissen bei welchem Rechner sie für die Übersetzung anfragen können.
Es gibt übrigens auch sepzielle Programme die nur dafür da sind
DNS Server von Hand abzufragen, damit man sehen kann welche IP Nummern
zu welchen Domainnamen gehören. Solch ein Programm ist z.B. "nslookup".
Der Normalbürger wird es aber selten brauchen.
DNS Umgehen und Möglichkeiten beim Ausfall des DNS
Auch ein DNS kann mal ausfallen und jeder der dann eingestellt hat,
daß alle Programme diesen DNS befragen sollen, wird erleben, daß
plötzlich garnichtsmehr geht. Es erscheint nurnoch eine Fehlermeldung
daß kein entsprechender Eintrag beim DNS gefunden wurde, der DNS
nicht erreichbar ist oder es erscheint überhaupt keine Fehlermeldung
aber es funktioniert eben garnichtsmehr. An solchen Problemen ist oft ein
DNS Ausfall schuld. Um das zu verhindern kann man bei den meisten Rechnern
mehrere alternative DNS eingeben. Wenn der eine DNS nicht erreichbar ist,
wird einfach ein anderer DNS befragt und es klappt wieder alles. Man kann
dabei eigentlich jeden beliebigen DNS ansprechen und verwenden, jedoch
sollte er möglichst in der Nähe liegen, denn sonst dauern die
Anfragen sehr lange. Wenn man keinen funktionsfähigen DNS zur Verfügung
hat (zum Beispiel weil man die IP Nummer des Ersatz DNS nicht kennt), so
kann man theoretisch noch alle Rechner direkt über ihre IP Nummer
ansprechen, jedoch weiß man deren IP Nummern natürlich auch
nur selten und alle 4 Millionen Adressen kann man auch nicht schnell eben
mal durchprobieren. Zudem sind auf den Webseiten alle Links als Domainnamen
in alphanumerischer Form geschrieben, ohne DNS bräuchte man aber die
IP Nummern. Hat man jedoch oft Schwierigkeiten mit dem DNS oder will man
ihn umgehen (z.B. weil er langsam ist) so kann man natürlich immer
statt der Domainnamen direkt die IP Nummern verwenden.
DNS garantiert Variabilität
Ein DNS ermöglicht eine variable Weiterleitung selbst wenn ein
Rechner umziehen sollte. Unter der Adresse www.lrz-muenchen.de kann in
ein paar Jahren ein ganz anderer Rechner mit einer ganz anderen IP Nummer
erreichbar sein. Das spielt keine Rolle. Es muß dazu lediglich die
Datenbank der DNS ausgetauscht werden, sodaß die Adresse www.lrz-muenchen.de
zur neuen IP hin übersetzt wird. Das Übersetzen der Adressen
läßt sich natürlich auch im Normalbetrieb einfach variieren.
Die Adresse "www.yahoo.com" wird deshalb nicht immer gleich übersetzt
sondern mal in die eine IP Nummer umgewandelt und mal in die andere. Hintergrund
ist, daß die Anfrageflut an Yahoo derartig groß ist, daß
ein einziger Webserver diese nichtmehr bewältigen kann. Die Anfragen
werden deshalb an verschiedene Rechner weitergeleitet. Dies wird durch
einen "dynamsichen DNS" ermöglicht. Ein solcher dynamsicher DNS kann
auch dafür sorgen, daß beim Ausfall eines Webservers, alle Adressen
automatisch so übersetzt werden, daß stattdessen ein anderer
Webserver angesprochen wird. Dies garantiert somit Ausfallsicherheit. Der
Benutzer bekommt dabei garnicht mit zu welchem Rechner er jeweils durchgestellt
wird. Zumeist interesiert es ihn auch garnicht.