7 Das Domain Name System


7.1 Domain-Namen
7.2 Die Namens-Auflösung im DNS

Zum vorigen Kapitel Zum Inhaltsverzeichnis Zum nächsten Kapitel


7.1 Domain-Namen

Im vorigen Kapitel haben wir gelernt, dass jede Internet-Seite über ihre URL identifiziert wird. Die URL enthält nähere Angaben darüber, wo diese Seite zu finden ist: als erstes wird dazu stets der Domain-Name angegeben. Die Seite, die Sie gerade lesen, stammt z.B. von der Domain "www.gk-informatik.de". Viele Domains enden mit ".de", aber es gibt auch andere Endungen. Allen Domain-Namen gemeinsam ist jedoch, dass sie durch Punkte in einzelne Abschnitte geteilt werden. Die Bestandteile des Domain-Namens ermöglichen die Einordnung der jeweiligen Domain in das hierarchisch gegliederte System der Domain-Namen, kurz "DNS" ([wie üblich] engl.: "Domain Name System").

Die einzelnen Bestandteile der Domain-Bezeichnungen werden in den Domain-Namen in der Reihenfolge ansteigender Hierarchiestufen aufgeführt. Ganz am Ende des Namens steht die sogenannte "top level domain". Dies ist die oberste Hierarchiestufe des DNS. Sie unterteilt das Web in thematisch ("com", "gov", "edu", "info", usw.) oder geografisch ("de", "fr", "at", "us", usw.) abgegrenzte Bereiche. Jede dieser Top-Level-Domains wird von einer bestimmten Organisation verwaltet, bei der alle Domains unterhalb der jeweiligen Top-Level-Domain angemeldet werden müssen. So wird z.B. die Top-Level-Domain "de" vom "DEutschen Network Information Center", kurz "DENIC" verwaltet. Diese Organisation sorgt z.B. auch dafür, dass jeder mögliche Domain-Name nur einmal existiert!

Wenn Sie z.B. die Domain "schule.de" für sich registrieren lassen wollten, dann müssten Sie sich an einen "Internet-Service-Provider" (kurz: "ISP") wenden, der die Registrierung dieser Domain für Sie beim DENIC beantragt. Der ISP vermietet Ihnen dann üblicherweise auf einem seiner Server ein gewisses Kontingent an Festplattenplatz und gewährt Ihnen Schreibrechte in diesem Bereich, indem er Ihnen einen FTP-Zugang einrichtet. Darüberhinaus informiert er das DENIC darüber, wo genau diese Domain in Zukunft zu finden sein wird. Das DENIC wird seinerseits diese Information im Internet allgemein verfügbar machen, sodass Ihre Domain dann auch von einem beliebiger Rechner gefunden werden kann. Es ist klar, dass eine solche Dienstleistung Geld kostet - und mit diesem Geld wird letztendlich die gesamte Infrastruktur des Internets bezahlt!

Mit der Domain "schule.de" werden Sie allerdings Pech haben: zwar kann der Name einer Domain weitgehend frei gewählt werden, aber ein einmal vergebener Name gehört dem Erst-Anmelder, und "schule.de" ist schon vergeben! Meist stellen die ISP eine Recherche-Möglichkeit zur Verfügung, damit Sie vor der Antragstellung klären können, ob der gewünschte Name noch frei ist. Es gilt hier fast uneingeschränkt: wer zuerst kommt, mahlt zuerst! Nur wenn Sie sehr gute Argumente haben und glaubhaft machen können, dass Sie den Domain-Namen für ein für die Allgemeinheit wichtiges Projekt benötigen, können Sie sich den Besitz eines schon vergebenen Domain-Namens gerichtlich erstreiten. So tendiert die deutsche Rechtsprechung inzwischen dazu, aus Ortsbezeichnungen gebildete Domain-Namen im Streitfall den jeweiligen Orten zuzusprechen. Hätten Sie z.B. als Privatperson vor vielen Jahren die Domain "stuttgart.de" registriert, dann könnte die Stadt Stuttgart heute eine Herausgabe des Namens erzwingen, weil jeder Internet-Surfer unter "www.stuttgart.de" Informationen der Stadt Stuttgart erwartet, und nicht Ihre private Homepage. Der Fall ist hypothetisch: Sie können sich davon überzeugen, dass www.stuttgart.de wirklich der Stadt Stuttgart gehört!

Die oben als Beispiel angeführte Domain "schule.de" enthält nun ihrerseits wieder einzelne Unter-Domains, wie z.B. "bw.schule.de", "he.schule.de", "be.schule.de" usw., für den baden-württembergischen, den hessischen, den Berliner Schulbereich. Diese Unter-Domains können sind ihrerseits wiederum weiter unterteilt: so enthält die Domain "bw.schule.de" unter anderem die Domains "lbs.bw.schule.de" für den baden-württembergischen Landes-Bildungs-Server, "leu.bw.schule.de" für die Seiten des "Landesinstituts für Erziehung und Unterricht" und schließlich auch "oken.og.bw.schule.de" für die Homepage des Oken-Gymnasiums in Offenburg. Die folgende Grafik zeigt die Hierarchie des DNS am Beispiel des letztgenannten Domains-Namens:

Aufbau eines Domain-Namens


Gewöhnlich wird dem so gebildeten Domain-Namen noch "www." vorangestellt, was den Server bezeichnet, der die Domain enthält. So lautet also der vollständige Domain-Name der Internet-Homepage des Oken-Gymnasiums "www.oken.og.bw.schule.de". Dieser Bandwurm ist nur deshalb noch einigermaßen handhabbar, weil er auf eine einfach nachzuvollziehende Art und Weise aus naheliegenden Einzelteilen zusammengesetzt ist. So richtig schick ist aber eine solche Internet-Adresse nicht, eben weil sie so lang und daher doch schwer zu merken ist; "www.oken.de" wäre da schon besser.... ;-)



7.2 Die Namensauflösung im DNS

Jede Domain ist auf einem eindeutig identifizierbaren Rechner gelagert, und Rechner werden im Internet eigentlich stets durch IP-Nummern adressiert. Woher weiß nun eigentlich ein Client, an welche IP-Adresse er seine Anforderung schicken muss? Wie erfährt er die IP-Adresse des Web-Servers, auf dem die gesuchte Domain lagert? Wie wird aus dem ASCII-Namen der Domain die IP-Adresse des passenden Zielrechners abgeleitet?

Zu Beginn der Entwicklung des Internet wurde zur Lösung dieser Aufgabe auf jedem Client-Rechner eine Tabelle geführt, die die Zuordnung von Domainnamen zu IP-Adressen enthielt. Als das Internet aber immer weiter wuchs, wurde diese Methode zu unhandlich, weil dieselben Daten auf jedem einzelnen Client-Rechner ständig auf dem aktuellen Stand gehalten werden mussten - eine schier unlösbare Aufgabe! Also wurden diese Daten nur noch auf bestimmten Rechnern vorgehalten, die die Rolle von "Servern für die Adress-Ermittlung" übernahmen und so zu "Name-Servern" (wie üblich in englischer Aussprache!) wurden. Inzwischen ist das Internet so umfangreich, dass ein Server nicht mehr den gesamten Datenbestand umfassen kann, sodass man eine hierarchische Struktur aus Name-Servern installiert hat.

Die Name-Server spiegeln die Struktur des entsprechend hierarchisch gegliederten "Domain Name Systems" wieder:
Die oberste Instanz in dieser Hierarchie ist der sogenannte "Root-Server". Dieser kennt für jede Top-Level-Domain einen zuständigen Name-Server. Jeder dieser Rechner kennt nun seinerseits die Name-Server für alle in dieser Top-Level-Domain registrierten Haupt-Domains. Gibt es in einer Haupt-Domain weitere Unter-Domains, so sind weitere Name-Server möglich, die dann für die jeweiligen Unter-Domains zuständig sind. Mithin ergibt sich eine baumartige Struktur aus Name-Servern. Die folgende Abbildung zeigt einen kleinen Ausschnitt aus diesem Baum:


DNS-Server-Hierarchie



In der Regel betreibt jeder ISP einen Name-Server, der zumindest die IP-Nummern aller bei ihm beheimateten Domains kennt. Darüberhinaus ist er in die oben beschriebene Baumstruktur eingebunden und hat somit Kontakt zu den anderen Name-Servern, die "den Rest des Netzes" kennen.

Will nun ein Client-Rechner wissen, welche IP-Adresse zur Domain "www.pqr.xyz" gehört, fragt er beim Name-Server seines ISP nach, und von dieser liefert ihm die gesuchte IP-Adresse zurück! Wenn der ISP-Name-Server die Antwort auf die Anfrage nicht selbst kennt, dann wendet er sich an einen übergeordneten Name-Server, der dann die Adresse besorgt. Entweder weiß er sie selbst oder er wendet sich seinerseits an einen anderen ihm bekannten Name-Server, der für die angefragte Domain zuständig ist. Betrachten wir die nicht ganz einfachen Vorgänge rund um die Namens-Auflösung im Detail an einem konkreten

Beispiel:

Ein Mitarbeiter der Firma Novell in den USA will sich über das Informationsangebot auf dem badenwürttembergischen Landesbildungs-Server informieren. Dazu gibt er in seinem Browser die URL "http://www.lbs.bw.schule.de" ein. Das folgende Bild stellt im einzelnen dar, was alles geschehen muss, damit die Eingangsseite des Landesbildungsservers auf dem Rechner in den USA erscheint:

Namensauflösung

Die Ziffern in den Kreisen geben die Reihenfolge der Anfragen während der Namensauflösung an.
Im einzelnen passiert also folgendes:

  1. Der Rechner des Novell-Mitarbeiters kennt die IP-Adresse zu der eingegebenen URL "www.lbs.bw.schule.de" nicht. Also startet er eine entsprechende Anfrage an den DNS-Name-Server, dessen IP-Adresse in seinen Netzwerk-Einstellungen eingetragen ist. Novell betreibt einen eigenen Name-Server, nämlich "ns.novell.com".

  2. Der Name-Server "ns.novell.com" weiß nicht, auf welchem Rechner die Domain "www.lbs.bw.schule.de" lagert. Da die Domain nicht unterhalb der eigenen First-Level-Domain, nämlich "com", liegt, sondern unterhalb der First-Level-Domain "de", wendet sich der Novell-Name-Server an einen ihm bekannten Root-Server, in diesem Fall "www.umd.edu".
    Der Root-Server "www.umd.edu" weiß zwar die gesuchte IP-Adresse auch nicht, aber er kennt für jede mögliche Top-Level-Domain einen dafür zuständigen Name-Server; so weiß er auch, dass für "de" der Name-Server "dns.denic.de" mit der IP-Adresse 194.246.96.79 zuständig ist. Diese IP-Adresse liefert er an den anfragenden Novell-Name-Server zurück.

  3. Der Novell-Name-Server wendet sich nun an "dns.denic.de". Dieser Name-Server kennt seinerseits wieder Name-Server für alle Domains, die direkt unterhalb von "de" liegen, also z.B. "microsoft.de", "gkinf.de", "schule.de" usw. Also liefert er die Adresse des für "schule.de" zuständigen Servers (hier: "stuttgart.shuttle.de", IP-Adresse 194.95.249.252) an den anfragenden Name-Server zurück.

  4. Der Novell-Name-Server wendet sich jetzt mit seiner Anfrage an "stuttgart.shuttle.de". Dieser kennt Name-Server für alle Domains, die direkt unterhalb von "schule.de" liegen. So weiß er, dass für "bw.schule.de" der Name-Server "dns1.belwue.de" zuständig ist; folglich meldet er dessen IP-Adresse, nämlich 129.143.2.4, an den anfragenden Novell-Name-Server zurück.

  5. Schließlich startet der Novell-Server die nächste Anfrage, diesmal an "dns1.belwue.de". Und - man wagte schon kaum mehr dran zu glauben! - dieser Server kennt die IP-Adresse des gesuchten Servers "www.lbs.bw.schule.de", nämlich 129.143.194.171! Diese Adresse wird nun zurück an den fleißigen Novell-Name-Server geschickt.

  6. Der Novell-Name-Server kann nun die ursprüngliche Anfrage vom Rechner des Novell-Mitarbeiters beantworten: also schickt er die ermittelte IP-Adresse 129.142.194.171 an den anfragenden Rechner zurück.

  7. Der anfragende Rechner weiß nun, dass die Inhalte der Domain "www.lbs.bw.schule.de" unter der IP-Adresse 129.142.194.171 erreichbar sind. Also schickt er eine Anfrage mit dieser URL an diesen Rechner.

  8. Da die URL weder einen Pfad noch einen Dokumentnamen enthält, wird der Landes-Bildungs-Server die Standard-Eingangsseite "index.html" zurückliefern, die i.A. ein Haupt-Inhaltsverzeichnis enthält.


Möglicherweise verstehen Sie jetzt besser, warum es gelegentlich etwas dauert, bis eine angeforderte Seite in Ihrem Browser erscheint. Angesichts der Vielzahl der benötigten Kommunikationsvorgänge sollte es Sie vielmehr erstaunen, dass die angeforderten Seiten in der regel recht flott geliefert werden. Dies wird unter anderem dadurch erreicht, dass sich jeder Name-Server die von ihm aufgelösten Adressen in einem Cache-Speicher für eine bestimmte Zeit "merkt". Wird dieselbe Domain dann nochmals angefordert, kennt der Name-Server den Zielrechner schon und muss die Namensauflösung nicht wieder vollständig durchführen (lassen).

Der nicht unbeträchtliche Aufwand für dieses "Domain Name System" macht sich bezahlt: Jeder Client muss nur einen Name-Server kennen und bekommt trotzdem Zugang zu jeder Domain weltweit. Und dies wird ohne eine zentrale große Datenbank erreicht, deren Ausschaltung das Web lahm legen würde! Die Daten sind mehrfach redundant und dezentral über das Netz verteilt; trotzdem ist für eine hinreichende Synchronisation der Daten gesorgt, weil die Name-Server ständig untereinander Daten austauschen. Das "DNS" hat sich in den letzten Jahren als stabil, zuverlässig und leistungsfähig erwiesen. Selbst der Ausfall eines Root-Servers ist keine wesentliche Gefahr für das WWW: derzeit (Mitte 2002) gibt es 13 funktionsidentische Kopien "des" Root-Servers, und jeder Name-Server kennt mehrere dieser Root-Server-Instanzen!



Zum vorigen Kapitel Zum Inhaltsverzeichnis Zum nächsten Kapitel