2.3.5 DNS
Das DNS (Domain-Name-System) ist ein Dienst, der zu einem Internetnamen, einem sogenannten URL (uniform resource locator), die entsprechende IP-Adresse liefert und umgekehrt. Damit wird es möglich ohne die Verwendung der unübersichtlichen IP-Adressen am Internet - und neuerdings auch im LAN, mit Hilfe leichter zu merkender Namen zu adressieren. Der Dienst, der auch als Protokoll am Application-Layer anzusiedeln ist, kommuniziert mit faktisch allen höheren Protokollen und operiert nach dem Client-Server-Prinzip im Grunde wie eine automatische Telefonauskunft.
Wird von einem DNS-Client eine IP-Adresse zu einem URL benötigt, so schickt ein Resolver genannter Teil der Netzwerksoftware, unter Beifügung der URL eine IP-Anfrage an einen Domain Name Server (DNS), dessen IP-Adresse dem Netzwerk bekannt ist, weil sie eine Eigenschaft des TCP-Protokolls und auch mit DHCP konfigurierbar ist. Der DNS verfügt über eine zweispaltige Datenbank, die Zone-File heißt, sucht die gewünschte IP-Adresse und schickt sie an den Client zurück. Findet der DNS die angefragte IP-Adresse nicht, leitet er die Anfrage an einen anderen DNS weiter.
Zu Beginn der Entwicklung des ARPANET war das Zone-File noch auf jedem Rechner lokal gespeichert und wurde gelegentlich per FTP aktualisiert. Noch heute gibt es in den Betriebssystemen eine Datei *\hosts, die als lokales Zone-File verwendet werden kann. Aber auch bei Verwendung zentraler DNS-Server wird rasch klar, dass einige wenige DNS-Server wohl kaum in der Lage sein würden, URLs weltweit aufzulösen. Deshalb ist sowohl der Namensraum der URLs als auch die DNS hierarchisch strukturiert und ihre Verwaltung der ICANN (Internet Corporation for Assigned Names and Numbers) übertragen worden.
Wir erkennen drei wesentliche Komponenten:
Domainnamensraum, Resource Records (RR)
Der Domainnamensraum selbst erfüllt eine Baumstruktur, deren Wurzel (Root) "." heißt, was selten angegeben wird. Auf der zweiten Ebene liegt die Top Level Domain (TLD), gefolgt von der Domain und allenfalls Subdomains. Auf der höchsten Ebene findet sich der Hostname. Im Anschluss an den Internetnamen des Hosts können (Unter-)Verzeichnisse, Dateinamen und Scriptparameter folgen. Im folgenden Beispiel ist graf ein virtueller Host der Domäne tgm, die zur TLD .ac gehört. /bun/wichtig.html gehört eigentlich nicht zum Namensraum im engeren Sinn und gibt einen Pfad zur Datei wichtig.html im Verzeichnis bun des Servers an. In vielen Fällen ist der Hostname www.
http://graf.tgm.ac.at/bun/wichtig.html
Die weltweit genormten Top-Level-Domänen lassen sich in zwei Klassen einteilen, generische wie .com, .org oder .net, die weltweit vergeben werden und länderspezifische wie .at, oder .de. Eine vollständige Liste aller TLDs findet man auf http://www.iana.org/cctld/cctld-whois.htm und wir erkennen, dass die TLD .ac für Ascension Island, einer Insel im südlichen Pazifik steht.
Namen, die im Internet verwendet werden müssen dabei einige Spezifikationen erfüllen, wobei die Registrare der einzelnen Länderdomänen allenfalls weitere Einschränkungen vorgeben:
Die Baumstruktur des Namensraums findet sich in der Darstellung wieder. Sie wird grundsätzlich von rechts nach links aufgelöst.
Die Resource Records (RR) enthalten die Daten eines DNS-Objekts. Alle Datensätze eines Objekts werden als Zone bezeichnet und sind in einem Zone-File gespeichert.
Domainnameserver (DNS)
Ein Domainnameserver ist ein Programm, das Teile des Namensraum autoritativ - dh. gesichert - kennt, und diese Resource Records weitergibt. Diese Nameserver sind auf einen bestimmten Label der Baumstruktur delegiert und sind für die darunter liegenden Ebenen zuständig, wobei sie auch weiter delegieren können. Gewöhnliche DNS-Anfragen werden über UDP (Port 53), das Abgleichen ganzer Zonen mit anderen DNS über TCP (Port 53) adressiert.
Bei den Nameservern werden unterschieden:
Der Baumstruktur des Namensraums entspricht weitgehend eine hierarchische Struktur der DNS-Server. Die Wurzel selbst wird von 13 Root-Domain-Name-Servern verwaltet, die abgesehen von Server I (Stockholm), K (London) und M (Tokio) in den USA stehen. Die Liste dieser 13 Server muss jedem untergeordneten DNS bekannt sein und ist anonym mit ftp://rs.internic.net erreichbar.
A.ROOT-SERVERS.NET. A 198.41.0.4
B.ROOT-SERVERS.NET. A 128.9.0.107
C.ROOT-SERVERS.NET. A 192.33.4.12
D.ROOT-SERVERS.NET. A 128.8.10.90
E.ROOT-SERVERS.NET. A 192.203.230.10
F.ROOT-SERVERS.NET. A 192.5.5.241
G.ROOT-SERVERS.NET. A 192.112.36.4
H.ROOT-SERVERS.NET. A 128.63.2.53
I.ROOT-SERVERS.NET. A 192.36.148.17
J.ROOT-SERVERS.NET. A 192.58.128.30
K.ROOT-SERVERS.NET. A 193.0.14.129
L.ROOT-SERVERS.NET. A 198.32.64.12
M.ROOT-SERVERS.NET. A 202.12.27.33
Unterhalb dieser DNS gibt es für jede TLD, für jede Domain und jede Subdomain zumindest einen, in der Regel sogar mehrere, DNS. Die zur Zeit meistbenutzte Software für DNS ist BIND (Berkeley Internet Name Domain).
DNS der untersten Ebene werden von Internetprovidern betrieben, ihre IP-Adressen sind in der Konfiguration des Internetprotokolls (ipconfig / ifconfig) abrufbar. Der Zugang zum DNS des Internetproviders oder gegebenenfalls der Eintrag der eigenen Domain in dessen Zonefile sind zentrale Bestandteile des Vertrags, der gemeinhin Internetzugang heißt. Die folgende Konfiguration eines WLAN-Routers zeigt, dass dieser Funktionen eines DNS übernimmt.
Drahtlos-LAN-Adapter WLAN:
Verbindungsspezifisches DNS-Suffix:
Beschreibung. . . . . . . . . . . :
Intel(R) Dual Band Wireless-AC 7265
Physische Adresse . . . . . . . . :
A4-02-B9-D2-83-AE
DHCP aktiviert. . . . . . . . . . : Ja
Autokonfiguration
aktiviert . . . : Ja
Verbindungslokale IPv6-Adresse . :
fe80::a497:ebd1:2176:6441%13(Bevorzugt)
IPv4-Adresse . . . . . . . . . . :
192.168.8.108(Bevorzugt)
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Lease erhalten. . . . . . . . . . : Montag, 3. Juli 2017 06:56:49
Lease läuft
ab. . . . . . . . . . : Dienstag, 4. Juli 2017 06:56:49
Standardgateway . . .
. . . . . . : 192.168.8.1
DHCP-Server . . . . . . . . . . . : 192.168.8.1
DHCPv6-IAID . . . . . . . . . . . : 161743545
DHCPv6-Client-DUID. . . . . . .
. : 00-01-00-01-20-1F-E0-B2-A4-02-B9-D2-83-AE
DNS-Server . . . . . . . . . .
. : 192.168.8.1
192.168.8.1
NetBIOS über TCP/IP . . . . . . . : Aktiviert
Schließlich sei noch erwähnt, dass es auch freie DNS gibt. Bei der ständigen Verwendung des bekannten DNS der Firma Google mit der IP-Adresse
8.8.8.8
ist allerdings zu beachten, dass wie bei allen DNS-Anfragen das Surfverhalten des gesamten LAN protokolliert werden kann, was doch einen gewissen Einblick in die Privatsphäre bedeutet.
Resolver
Resolver sind Programme, die in der Regel schon in Applikationen wie Browser eingebunden sind. Sie führen die Kommunikation mit den DNS. Für derartige DNS-Abfragen gibt es zwei Methoden:
Den Ablauf einer fiktiven iterativen DNS-Abfrage zeigt die folgende Grafik, bei OnMouseOver erscheint die rekursive Variante:
Der Client www.katz.org hat einen DNS ns.katz.org eingetragen und benötigt die IP-Adresse von www.maus.net, der auf dem DNS ns.maus.net eingetragen ist. Die Beschreibung der iterativen Variante:
Lag die Bedeutung von DNS ursprünglich in der Verwendung
von Internetnamen statt IP-Adressen, so wird das System zunehmend auch auf LANs
bedeutungsvoll, weil bei den neuesten Versionen der Netzwerkbetriebssysteme
Benutzer und Hosts wie im DNS adressiert werden können.
Hinsichtlich der Administration solcher lokaler DNS-Server sind drei Bereiche am Server wesentlich:
Ein Problem des DNS besteht auch darin, dass DNS-Namen nur alphanumerische Zeichen
und den Bindestrich enthalten dürfen. Das ist für Länder mit
Umlauten unangenehm, für Länder wie etwa China unannehmbar. Daher
wird an einer Erweiterung gearbeitet.
Dem Problem, dass immer mehr Clients dynamische IP-Adressen erhalten und damit
ständige Änderungen in den Zone-Files notwendig werden, wird mit DynDNS begegnet, bei dem jeder Client beim Ändern seiner IP-Adresse diese dem
DNS meldet.