Domain Name System

Aus Foxwiki

topic kurze Beschreibung

Beschreibung

Domain Name System (DNS)
Familie: Internetprotokollfamilie
Einsatzgebiet: Namensauflösung
Ports:

53/UDP
53/TCP
853/TCP (nur mit TLS, RFC 7858)
853/UDP (nur mit DTLS, RFC 8094)

Vorlage:Netzwerk-TCP-UDP-IP-Anwendungsprotokoll

Standards: RFC 1034 (1987)

RFC 1035 (1987)

Das Domain Name System, deutsch Domain-Namen-System[1], (DNS) ist ein hierarchisch unterteiltes Bezeichnungssystem in einem meist IP-basierten Netz zur Beantwortung von Anfragen zu Domain-Namen (Namensauflösung).

Das DNS funktioniert ähnlich wie eine Telefonauskunft.

  • Der Benutzer kennt die Domain (den für Menschen merkbaren Namen eines Rechners im Internet) – zum Beispiel example.org.
  • Diese sendet er als Anfrage in das Internet.
  • Die Domain wird dann dort vom DNS in die zugehörige IP-Adresse (die „Anschlussnummer“ im Internet) umgewandelt – zum Beispiel eine IPv4-Adresse der Form 192.0.2.42 oder eine IPv6-Adresse wie 2001:db8:85a3:8d3:1319:8a2e:370:7347 – und führt so zum richtigen Rechner.

Überblick

Das DNS ist ein weltweit auf Tausenden von Servern verteilter hierarchischer Verzeichnisdienst, der den Namensraum des Internets verwaltet
  • Dieser Namensraum ist in sogenannte Zonen unterteilt, für die jeweils unabhängige Administratoren zuständig sind.
  • Für lokale Anforderungen – etwa innerhalb eines Firmennetzes – ist es auch möglich, ein vom Internet unabhängiges DNS zu betreiben.
Hauptsächlich wird das DNS zur Umsetzung von Domainnamen in IP-Adressen (Vorlage:Lang) benutzt
  • Dies ist vergleichbar mit einem Telefonbuch, das die Namen der Teilnehmer in ihre Telefonnummer auflöst.
  • Das DNS bietet somit eine Vereinfachung, weil Menschen sich Namen weitaus besser merken können als Zahlenketten.
  • So kann man sich einen Domainnamen wie example.org in der Regel leichter merken als die dazugehörende IP-Adresse 192.0.32.10.
  • Dieser Punkt gewinnt im Zuge der Einführung von IPv6 noch mehr an Bedeutung, denn dann werden einem Namen jeweils IPv4- und IPv6-Adressen zugeordnet.
  • So löst sich beispielsweise der Name www.kame.net in die IPv4-Adresse 203.178.141.194 und die IPv6-Adresse 2001:200:dff:fff1:216:3eff:feb1:44d7 auf.
Ein weiterer Vorteil ist, dass IP-Adressen – etwa von Web-Servern – relativ risikolos geändert werden können
  • Da Internetteilnehmer nur den (unveränderten) DNS-Namen ansprechen, bleiben ihnen Änderungen der untergeordneten IP-Ebene weitestgehend verborgen.
  • Da einem Namen auch mehrere IP-Adressen zugeordnet werden können, kann sogar eine einfache Lastverteilung per DNS (Vorlage:Lang) realisiert werden.
Mit dem DNS ist auch eine umgekehrte Auflösung von IP-Adressen in Namen ([[Reverse DNS|Vorlage:Lang]]) möglich
  • In Analogie zum Telefonbuch entspricht dies einer Suche nach dem Namen eines Teilnehmers zu einer bekannten Rufnummer, was innerhalb der Telekommunikationsbranche unter dem Namen Inverssuche bekannt ist.
Das DNS wurde 1983 von Paul Mockapetris entworfen und in RFC 882 und RFC 883 (RFC = Request for Comments) beschrieben
  • Beide wurden inzwischen von RFC 1034 und RFC 1035 abgelöst und durch zahlreiche weitere Standards ergänzt.
  • Ursprüngliche Aufgabe war es, die lokalen hosts-Dateien abzulösen, die bis dahin für die Namensauflösung zuständig waren und der enorm zunehmenden Zahl von Neueinträgen nicht mehr gewachsen waren.
  • Aufgrund der erwiesenermaßen hohen Zuverlässigkeit und Flexibilität wurden nach und nach weitere Datenbestände in das DNS integriert und so den Internetnutzern zur Verfügung gestellt (siehe unten: Erweiterung des DNS).
DNS zeichnet sich aus durch
  • dezentrale Verwaltung
  • hierarchische Strukturierung des Namensraums in Baumform
  • Eindeutigkeit der Namen
  • Erweiterbarkeit

Komponenten

Datei:Schematische Darstellung DNS Hierarchie.png
DNS-Hierarchie

Domain-Namensraum

  • Baumförmige Struktur
  • Blätter und Knoten werden als Labels bezeichnet
  • Kompletter Domainname = Verkettung aller Labels eines Pfades
  • Labels werden durch Punkt getrennt
  • Domainname wird mit Punkt abgeschlossen

Fully Qualified Domain Name (FQDN)

Der vollständige Name einer Domain wird als ihr Fully Qualified Domain Name (FQDN) bezeichnet

Der Domain-Name ist in diesem Fall eine absolute Adresse und darf inklusive aller Punkte maximal 255 Bytes lang sein.

Der FQDN www.itw-berlin.net. ergibt sich durch:

3rd-level-label. | 2nd-level-label. | Top-Level-Domain. | root-label
------------------------------------------------------------------
www              . itw-berlin       . net               .

Ein Domainname wird immer von rechts nach links delegiert und aufgelöst, das heißt je weiter rechts ein Label steht, umso höher steht es im Baum.

.net.itw-berlin.www

root-label. | Top-Level-Domain. | 2nd-level-label. | 3rd-level-label.
------------------------------------------------------------------
            . net               . itw-berlin       . www

Nameserver

Bieten Namensauflösung an

autoritativ

Verantwortlich für eine Zone
  • Wird als gesichert angesehen
Redundanz vorgeschrieben
  • Primärer Nameserver
  • Sekundärer Nameserver
  • Zonentransfer

nicht-autoritativ

Bezieht Informationen von anderen Nameservern
  • wird als nicht gesichert angesehen
  • speichert Informationen im RAM (caching)

Zusammenarbeit der Nameserver

Ein nicht-autoritativer Nameserver bedient sich folgender Strategien, um Informationen über andere Teile des Namensraumes zu finden:

Delegierung
  • leitet Anfragen an Subdomain Nameserver weiter
Weiterleitung (forwarding)

Bei außerhalb liegenden Namensräumen

  • Weiterleitung an fest konfigurierten Nameserver
  • Oder Auflösung über die Root-Nameserver (ausschließlich Beantwortung iterativer Anfragen)

Aufbau der DNS-Datenbank

Das Domain Name System kann als verteilte Datenbank mit baumförmiger Struktur aufgefasst werden.

  • Beim Internet-DNS liegen die Daten auf einer Vielzahl von weltweit verstreuten Servern, die untereinander über Verweise – in der DNS-Terminologie Delegierungen genannt – verknüpft sind.

In jedem beteiligten Nameserver existieren eine oder mehrere Dateien – die sogenannten Zonendateien – die alle relevanten Daten enthalten.

  • Bei diesen Dateien handelt es sich um Listen von Resource Records.
  • Von großer Bedeutung sind sieben Record-Typen:
  • Mit dem SOA Resource Record werden Parameter der Zone, wie z. B. Gültigkeitsdauer oder Seriennummer, festgelegt.
  • Mit dem NS Resource Record werden die Verknüpfungen (Delegierungen) der Server untereinander realisiert.
  • Mit folgenden Record-Typen werden die eigentlichen Daten definiert:
  • Er stellt eine Besonderheit dar, da er sich auf einen speziellen Dienst im Internet, nämlich die E-Mailzustellung mittels SMTP, bezieht.
  • Alle anderen Dienste nutzen CNAME, A und AAAA Resource Records für die Namensauflösung.
    • Ein PTR Resource Record weist einer IP-Adresse einen Namen zu (Reverse Lookup) und wird für IPv4 und IPv6 gleichermaßen benutzt, nur für IPv4 unterhalb der Domain „IN-ADDR.ARPA.“ und für IPv6 unterhalb von „IP6.ARPA.“.
    • Ein TXT Resource Record kann einem Namen einen frei definierbaren Text zuweisen.
  • Eine Einsatzmöglichkeit hier ist die Abwehr von Spam.

Im Laufe der Zeit wurden neue Typen definiert, mit denen Erweiterungen des DNS realisiert wurden.

  • Dieser Prozess ist noch nicht abgeschlossen.
  • Eine umfassende Liste findet sich unter Resource Record.

Beispiele:

Folgender NS Resource Record sei in der Zonendatei der Domain „org.“ definiert: Die Zonendatei für die Domain „example.org.“ befindet sich auf dem Server „ns0.example.org.“.

  • Der Punkt am Ende ist wichtig, da dieser klarstellt, dass kein relativer Name gemeint ist, also hinter „org“ nichts mehr zu ergänzen ist. „IN“ meint, dass der Eintrag die Klasse „Internet“ besitzt und die Zahl davor bedeutet die Time To Live (TTL) in Sekunden, sie besagt, wie lange diese Information in einem Cache zwischengespeichert werden könnte, bevor sie neu erfragt werden sollte.
  • Bei dynamischen IP-Adressen liegt diese Zahl meistens zwischen 20 und 300 Sekunden.
example   86400  IN  NS   ns0.example.org.

Folgender CNAME Resource Record in der Zonendatei der Domain „example.org.“ definiert: Der Name „de.example.org.“ verweist auf den Namen „rr.example.net.“.

de          3600   IN  CNAME   rr.example.net.

Folgende Resource Records in der Zonendatei der Domain „example.net“ definieren: Der Name „rr.example.net.“ verweist auf den Namen „rr.esams.example.net.“ und diesem wiederum ist die IPv4-Adresse 203.0.113.232 zugewiesen.

rr          600    IN  CNAME   rr.esams
rr.esams    3600   IN  A       203.0.113.232

Letztlich müssen also alle Rechner, die sich mit „de.example.org.“ verbinden möchten, IPv4-Pakete an die IP-Adresse 203.0.113.232 senden.

Resolver

DNS-Auflösung

Programme Prüfung der Namensauflösung sind dig oder nslookup

Resolver sind einfach aufgebaute Software-Module, die auf dem Rechner eines DNS-Teilnehmers installiert sind und die Informationen von Nameservern abrufen können.
  • Sie bilden die Schnittstelle zwischen Anwendung und Nameserver.
  • Der Resolver übernimmt die Anfrage einer Anwendung, ergänzt sie, falls notwendig, zu einem FQDN und übermittelt sie an einen normalerweise fest zugeordneten Nameserver.
Resolver arbeiten rekursiv oder iterativ

rekursiv

  • Resolver schickt Nameserver die Anfrage
  • kennt der Nameserver die Antwort erhält der Resolver die Antwort direkt, sonst schickt er die Anfrage weiter (s. Zusammenarbeit der einzelnen Nameserver)
  • am Ende erhält der Resolver die endgültige ANtwort

iterativ

  • Resolver erhält entweder die Antwort vom ersten Nameserver oder den Verweis zum nächsten Nameserver
  • in diesem Fall fragt der Resolver den nächsten Nameserver
  • dies geschieht so lange, bis er eine Antwort hat

Protokoll

  • DNS-Anfragen normalerweise per UDP-Port 53 zum Namensserver
  • bei DNS-UDP-Paketen grösser als 512 Bytes werden die Antworten abgeschnitten
  • Client wird dann per Truncate-Flag informiert und kann Anfrage per TCP-Port 53 wiederholen
  • Zonentransfers immer über TCP-Port 53, Auslösung aber per UDP.

Konfiguration

Dateien

Sicherheit

Siehe auch

Dokumentation

RFC

RFCs

  1. RFC 1034 – Domain Names – Concepts and Facilities
  2. RFC 1035 – Domain Names – Implementation and Specification
  3. RFC 2181 – Clarifications to the DNS Specification
  4. RFC 2782 – A DNS RR for specifying the location of services (DNS SRV)

Man-Pages

Info-Pages

Links

Einzelnachweise

  1. Artikel 4 Nr. 14 der Vorlage:EU-Richtlinie

Projekt

Weblinks

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5