Folge uns

Folge uns auf Facebook Folge uns auf Twitter Folge uns auf Google Abonniere unseren RSS-Feed Abonniere unseren Newsletter

Das Buch zu dieser Webseite

Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel

Käufer der Netzwerktechnik-Fibel Kundenmeinung:
Die Netzwerktechnik-Fibel ist sehr informativ und verständlich. Genau das habe ich schon seit langem gesucht.

Netzwerktechnik-Fibel
jetzt bestellen!

 

Die Netzwerktechnik-Fibel ist im iBookstore erhältlich

Die Netzwerktechnik-Fibel für Amazon Kindle erhältlich

Die Netzwerktechnik-Fibel bei Google Play erhältlich

Netzwerktechnik-Fibel als PDF-Datei ohne DRM

Das Buch zu dieser Webseite

KommunikationstechnikFibel

Die Kommunikationstechnik-Fibel

Käufer der Kommunikationstechnik-Fibel Kundenmeinung:
Die Kommunikationstechnik-Fibel ist sehr informativ und verständlich. Genau das habe ich schon seit langem gesucht. Endlich mal ein Buch, das kurz und bündig die moderne Informationstechnik beleuchtet.

Kommunikationstechnik-Fibel
jetzt bestellen!

 

Die Kommunikationstechnik-Fibel ist im iBookstore erhältlich

Die Kommunikationstechnik-Fibel für Amazon Kindle erhältlich

Kommunikationstechnik-Fibel als eBook von Google Play Store

Kommunikationstechnik-Fibel als PDF-Datei ohne DRM

DNS - Domain Name System

Das Domain Name System, kurz DNS, wird auch als "Telefonbuch des Internets" bezeichnet. Ähnlich wie man in einem Telefonverzeichnis nach einem Namen schaut, um die Telefonnummer zu erhalten, schaut man im DNS nach einem Computernamen, um die dazugehörige IP-Adresse zu erhalten.

Damit eine Verbindung zu einem beliebigen Server, über den nur der Computername bekannt ist, aufgebaut werden kann, muss seine IP-Adresse bekannt sein. Das Domain Name System ist ein System zur Auflösung von Computernamen in IP-Adressen und umgekehrt.
Möchte man zum Beispiel die Webseite www.elektronik-kompendium.de besuchen, dann fragt der Browser einen DNS-Server, der in der IP-Konfiguration hinterlegt ist. Das ist in der Regel der Router des Internet-Zugangs. Je nach dem, ob die DNS-Anfrage beantwortet werden kann oder nicht, wird eine Kette weiterer DNS-Server befragt, bis die Anfrage positiv beantwortet und ein Ergebnis an den Browser zurück geliefert werden kann.

Wenn ein Computername oder Domain-Name nicht aufgelöst werden kann, dann kann auch keine Verbindung zu dem betreffenden Host aufgebaut werden. Es sei denn, der Nutzer verfügt über das Wissen der IP-Adresse. Das bedeutet, ohne DNS ist die Kommunikation im Netzwerk und im Internet praktisch nicht möglich. Deshalb existieren viele tausend DNS-Server auf der ganzen Welt, die zusätzlich hierarchisch angeordnet sind und sich gegenseitig über Änderungen informieren.

Namensauflösung vor DNS

DNS geht auf die Datei "hosts" zurück, deren Inhalt zur Namensauflösung im ARPANET (Vorgänger des Internets) diente und händisch gepflegt wurde. Mit zunehmender Anzahl der Hosts im ARPANET wuchs der Bedarf für ein verteiltes und hierarchisches System zur Auflösung von Computernamen in IP-Adressen und umgekehrt.
DNS kennt keine zentrale Datenbank. Die Informationen sind auf vielen tausend Nameservern (DNS-Server) verteilt.

Ein weiterer Nachteil der Datei "hosts" ist die fehlende Eindeutigkeit. Gemeint ist, in der Datei kann alles drin stehen, was auch immer der Administrator für richtig hält. Der Inhalt könnte manipuliert sein. Um das zu vermeiden sieht das DNS autoritative Nameserver vor und mit DNSSEC ein Verfahren mit der Möglichkeit zu prüfen, ob ein DNS-Response von einem vertrauenswürdigen DNS-Server stammt und ob der Transport unverfälscht erfolgt ist.

Domain oder Domain-Name

Ein Domain-Name, kurz Domain, dient dazu, um Computer, die mit kaum merkbaren IP-Adressen adressiert sind, richtige Namen zu geben und gleichzeitig in eine hierarchische Struktur zu unterteilen. Domain-Namen sind auch häufig Teil eines Uniform Resource Locator (URL). Der URL (nicht die) ist eine "einheitliche Angabeform für Ressourcen" in Netzwerken. Eine URL beginnt mit einem vorangestellten Kürzel, das den verwendeten Dienst kennzeichnet (z. B. http:// oder ftp://). Es handelt sich dabei um eine optionale Angabe, die auch nur für Anwendungsprogramme wichtig ist, und kein Teil des Domain-Namens ist.

Die für Domain-Namen verwendete Struktur besteht aus drei oder mehr Teilen. Die einzelnen Teile bzw. Ebenen werden durch Punkte voneinander getrennt.
Zu beachten ist, dass ein Domain-Name ganz rechts mit einem abschließenden Punkt beginnt. Dieser Punkt so die Wurzel bzw. Root darstellen. In der Regel lässt man den Punkt einfach weg, weil er nur symbolischen Charakter hat.

Computername (Host oder Dienst) Second-Level-Domain (SLD) Top-Level-Domain (TLD)
www.
ftp.
elektronik-kompendium.
elektronik-kompendium.
de
de

Manchmal befindet sich zwischen der Second-Level-Domain (SLD) und dem Computernamen eine Sub-Level-Domain (Subdomain).

Computername (Host oder Dienst) Sub-Level-Domain (Subdomain) Second-Level-Domain (SLD) Top-Level-Domain (TLD)
www. dse-faq. elektronik-kompendium. de

Ein Domain-Name wird immer von hinten nach vorne gelesen. Dort beginnt die Adresse mit der Top-Level-Domain (TLD). Man unterscheidet zwischen zwei Typen von Top-Level-Domains. Geografische Top-Level-Domains, die Ländercodes die nach ISO 3166-1 definiert und die als Country-Code Top-Level-Domains (ccTLD) genannt werden. Dann gibt es noch die organisatorischen oder generischen Top-Level-Domains (Generic Top-Level-Domain, gTLD).

Die Second-Level-Domain kann von einer Person oder Organisation beantragt und eingesetzt werden. Die Second-Level-Domain bildet unter der Top-Level-Domain einen Domain-Namensraum, der es der Organisation ermöglicht einen Server mit dem Namen "www" zu betreiben, der im Internet dann zum Beispiel unter "www.elektronik-kompendium.de" zu erreichen ist.
Für weitere Unterteilungen existiert noch eine Third-Level-Domain, die auch als Sub-Level-Domain oder Subdomain bezeichnet wird. Ganz am Ende der Kette (am Anfang des Domain-Namens) wird dann der optionale Hostname des Computers eingesetzt.

Eine so zusammengesetzte Adresse (zum Beispiel www.elektronik-kompendium.de) ist ein sogenannter Fully Qualified Domain Name (FQDN).

Organisatorische Top-Level-Domains (Auszug)

Domain (gTLD) Organisationsform
.aero Lufttransportindustrie
.arpa Alte Arpanet Domäne
.biz Business, für große und kleinere Unternehmen
.com Kommerzielle Domain
.coop Kooperationen, Genossenschaften
.edu Schulen, Universitäten, Bildungseinrichtungen
.gov Regierungsstellen der Vereinigten Staaten von Amerika
.info Informationsdienste
.int International tätige Institutionen
.mil Militär der Vereinigten Staaten von Amerika
.museum Museen
.name Privatpersonen
.net Netzspezifische Dienste und Angebote
.org Nichtkommerzielle Unternehmungen und Projekte
.pro Professionals, spezielle Berufsgruppen
...

Geografische Top-Level-Domains (Auszug)

Domain (ccTLD) Land
.at Österreich
.au Australien
.cc Kokos-Inseln
.ch Schweiz
.de Deutschland
.fr Frankreich
.gb Großbritannien
.ie Irland
.it Italien
.li Lichtenstein
.nl Niederlande
.no Norwegen
.ru Russland
.to Tonga
.uk Vereinigtes Königreich
...

Nach der Top-Level-Domain (TLD) folgt die Second-Level-Domain (SLD), die einen beliebigen, aber unter der Top-Level-Domain einzigartigen Namen haben kann. Das jeweilige, für die Top-Level-Domain verantwortliche NIC verwaltet die Second-Level-Domains. Für .de (Deutschland) ist das die Denic.
In einigen Ländern, wie beispielsweise Großbritannien, gibt es zur besseren Unterscheidung festgelegte Second-Level-Domains (zum Beispiel .co.uk., .ac.uk. oder .gov.uk.). Unterhalb der Second-Level-Domain können weitere Sub-Level-Domains (Subdomains) vorhanden sein, für die der Inhaber der Second-Level-Domain verantwortlich ist.

Aufgabenteilung im DNS

Eine Aufgabe im Domain Name System ist die Namensauflösung. Eine weitere Aufgabe ist die Verwaltung der DNS-Zonen. An der Spitze stehen die sogenannten Root-Server, die Informationen zu den Top-Level-Domains (TLD) speichern.
Auf den Ebenen darunter tummeln sich weitere Nameserver, die für Domains oder Subdomains zuständig und autoritativ auskunftsberechtigt sind.
Und dann gibt es DNS-Server, die sich nur mit der Namensauflösung beschäftigen und Anfragen weiterleiten und die Antworten erfolgreicher Anfragen zwischenspeichern.
Oder um es anders auszudrücken, ein DNS-Server ist nicht gleich DNS-Server. Jeder hat im DNS eine andere Aufgabe und Zuständigkeit.

DNS-Zonen

Eine DNS-Zone ist ein Verantwortungsbereich oder eine Verwaltungseinheit, die in der Regel an einen Teil eines Domain-Namens gebunden ist. Ein autoritativer DNS-Server ist für eine oder mehrere dieser DNS-Zonen verantwortlich. Das heißt, er ist derjenige, von dem eine DNS-Anfrage eindeutig und korrekt zu seiner Zone beantwortet werden kann.
Die Daten einer Zone liegen in einer lokalen Zonendatei, die vom zuständigen Administrator gepflegt werden muss.

Einträge in einer DNS-Zone bzw. Zonendatei

Die Einträge in einer DNS-Zone werden als Resource Records bezeichnet. Jeder Resource Record bezieht sich auf einen anderen Record-Type, der eine bestimmte Information enthält. Zum Beispiel eine IP-Adresse oder die Mailserver-Adresse eines Domain-Namens bzw. der Zone.

DNS-Server / Nameserver

Die Bezeichnungen DNS-Server und Nameserver benennen das gleiche. Während der Nameserver eine allgemeine Bezeichnung für einen Server ist, der für die Namensauflösung zuständig ist, bezeichnet der DNS-Server einen Nameserver im Domain Name System.

Den einen DNS-Server gibt es nicht. Man unterscheidet zwischen verschiedenen Arten von DNS-Servern, die unterschiedliche Verantwortungsbereiche, Aufgaben und Funktionen haben.

DNS-Root-Server: DNS-Root-Server, Root-Name-Server oder auch nur Root-Server sind autoritative Nameserver für die Root-Zone. Sie beantworten Anfragen zur Root-Zone oder geben eine Liste mit autoritativen Namenservern für eine bestimmte Top-Level-Domain (TLD) zurück.
Um Manipulationen der Root-Zone zu verhindern gibt es weltweit über hundert Root-Name-Server, die dem DNS Root Server System Advisory Committee der ICANN unterstehen.

Autoritativer Nameserver: Ein autoritativer Nameserver ist für eine (oder mehrere) Zonen zuständig und beantwortet auch nur Anfrage für diese Zonen. Autoritativ bedeutet, dass die Informationen dieses Nameservers als verbindlich gelten.

Nicht-autoritativer Nameserver: Ein nicht-autoritativer Nameserver ist nicht selbst für eine DNS-Zone verantwortlich und muss deshalb die Informationen zu einer Zone aus zweiter oder dritter Hand mit einer rekursiven oder iterativen DNS-Abfrage ermitteln. Dieser Nameserver und seine DNS-Auskunft ist deshalb nicht-autoritativ.

In der Praxis unterscheidet man grob zwischen autoritativen und rekursiven DNS-Servern. Ein rekursiver DNS-Server ist dabei nur ein Proxy-Server. Er holt die angefragten Informationen ab und stellt das Ergebnis den Hosts zur Verfügung. Er hält die Informationen eine Zeit lang vor, damit bei einer erneuten Anfrage diese nicht noch einmal ins Netz geschickt werden muss. Von einem rekursiven DNS-Server erhält man immer "non-authoritative", also nicht autorisierte Antworten. Das bedeutet, dass der Inhalt der Antwort nicht richtig sein muss. Weil er im Prinzip nur das nachplappert, was er von woanders ermittelt hat.

Weitere Eigenschaften von Nameservern sind Caching (speichern) und Forwarding (weiterleiten).

Caching-Server: Ein Caching-Server erhält Informationen von einem anderen Nameserver und speichert die Auskünfte eine Zeit lang zwischen. Dieser Server muss die Information erst dann wieder einholen, wenn sie nicht mehr zur Verfügung steht. Die Lebensdauer (Time-To-Live, TTL) bestimmt der autoritative Nameserver.

Forwarding-Server: Ein Forwarding-Server leitet alle DNS-Anfragen ausnahmslos an einen anderen Nameserver weiter.

Resolver: Die meisten DNS-Server sind keine autoritativen DNS-Server, sondern nur DNS-Resolver mit Caching- und/oder Forwarding-Funktion. Typischerweise sind DNS-Resolver in einem lokalen Netzwerk für die Namensauflösung der Clients zuständig. Ein als Resolver agierender DNS-Server befinden sich lokal auf einem Computer oder auch als Server-Funktion in einem Router im lokalen Netzwerk. Der in der IP-Konfiguration enthaltene DNS-Server ist demnach ein DNS-Resolver.

Resolver (DNS-Client)

Ein Resolver ("to resolve", "auflösen") ist ein Programm, das Informationen aus dem Domain Name System besorgt. Das Programm ist eine Art Vermittlungsstelle zwischen einer Anwendungen und dem DNS.
Der Resolver ist direkt in TCP/IP integriert und steht dort als Software-Bibliothek für die Namensauflösung zur Verfügung. Der Resolver wird mit den Funktionen "gethostbyname" und "gethostbyaddr" angesprochen. Er liefert die IP-Adresse eines Domain-Namens bzw. dem Haupt-Domain-Namen einer IP-Adresse zurück.
Damit der Resolver arbeiten kann benötigt er die IP-Adresse von einem, besser von zwei DNS-Servern, die in der IP-Konfiguration eingetragen sein müssen. In der Regel erhält ein IP-Host die IP-Adresse des oder der DNS-Server per DHCP oder die IP-Adresse muss manuell eingetragen werden.

Primärer und Sekundärer DNS-Server / Primary und Secondary Nameserver

Damit ein DNS-Server die ganze Last der DNS-Anfrage nicht alleine tragen muss, gibt es sogenannte Primary und Secondary Nameserver. Sie sind voneinander unabhängig und redundant ausgelegt, so dass mindestens immer ein Server verfügbar ist. Der Secondary Nameserver gleicht in regelmäßigen Abständen seine Daten mit dem Primary Nameserver ab und dient so als Backup-Server. Ein zweiter Nameserver ist sinnvoll, weil ein Ausfall des primären Nameservers dazu führt, dass Internet-Verbindungen ohne Namensauflösung nicht mehr möglich sind. Um dann trotzdem Verbindungen aufbauen zu können, müsste man als Anwender die IP-Adressen der kontaktierten Server kennen.

Ablauf einer Namensauflösung mit DNS (DNS-Abfrage)

Grundsätzlich unterscheidet man zwischen der rekursiven und der iterativen Namensauflösung. Einer der beiden Abfragetypen wird zusammen mit dem Domain-Namen von einem beliebigen Host an den zuständigen Resolver bzw. DNS-Server übermittelt.
Wie genau der Ablauf der Namensauflösung (rekursiv oder iterativ) erfolgt, kann im Vorfeld nicht bestimmt werden. Es kommt darauf an, wie der Nameserver reagiert, der einen DNS-Request bekommt.

Rekursion

Rekursive DNS-Abfrage

Der Client übergibt seinen DNS-Request an seinen zuständigen Resolver (1.). Wenn dieser den Domain-Namen nicht auflösen kann, dann würde er bei einer rekursiven Namensauflösung weitere DNS-Server befragen (2.), bis der Domain-Name aufgelöst ist (3.) und die Antwort an den Client zurückliefern (4.). Der Resolver würde in dem Fall als Stellvertreter (Proxy) für den Client arbeiten. Der Client würde die erhaltene IP-Adresse an das Anwendungsprogramm übergeben.

Iteration

Iterative DNS-Abfrage

Die iterative Namensauflösung erfolgt meist zwischen DNS-Servern. Die meisten Clients und Resolver können damit nicht umgehen.
Der zuständige DNS-Server übergibt seinen DNS-Request an einen in der Hierarchie höher stehenden DNS-Server (1.). Der beantwortet den DNS-Request mit einem Verweis auf andere Nameserver (2.), die den Namen auflösen können (z. B. autoritative Nameserver). Der DNS-Server muss sich dann um einen erneuten DNS-Request kümmern (3.), bis der Domain-Name vollständig aufgelöst ist (4.).

DNS-Protokoll

DNS ist auf der Anwendungsschicht des OSI-Schichtenmodells angeordnet. Deshalb nutzt es zur Übertragung TCP und UDP auf dem Port 53. In der Regel verwendet der Resolver das UDP-Protokoll. Wenn die Antwort größer als 512 Byte ist, werden nur 512 Byte übertragen. Anschließend muss der Resolver seine Anfrage noch mal über TCP wiederholen, damit die Antwort in mehrere Segmente aufgeteilt werden kann. Der Datenaustausch zwischen dem Primary und Secondary DNS-Server wird ausschließlich mit TCP geregelt.

OpenDNS

OpenDNS ist ein kostenloser Dienst, der DNS-Abfragen beantwortet. OpenDNS bietet Auflösung von DNS-Namen für Privatpersonen und Firmen an. Es handelt sich dabei um eine Alternative zur Nutzung des DNS-Servers des eigenen Internet Service Providers (ISP).

DNSSEC

In der regulären Kommunikation zwischen einem DNS-Client und DNS-Server ist es nicht vorgesehen, die Kommunikation zu verschlüsseln oder zu prüfen, ob ein DNS-Response von einem vertrauenswürdigen DNS-Server stammt. Hier besteht die Gefahr des DNS-Spoofings. Das heißt, ein Angreifer fängt DNS-Requests ab und beantwortet sie noch vor dem eigentlich kontaktierten DNS-Server.

Mit der Erweiterung DNSSEC gibt es die Möglichkeit zu prüfen, ob ein DNS-Response von einem vertrauenswürdigen DNS-Server stammt und ob der Transport unverfälscht erfolgt ist.

Übersicht: Namensauflösung

Weitere verwandte Themen:

Die Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel ist im iBookstore erhältlich Die Netzwerktechnik-Fibel für Amazon Kindle erhältlich