Domain Name System

Aus Foxwiki
Version vom 30. Dezember 2022, 01:40 Uhr von Dirkwagner (Diskussion | Beiträge) (Dirkwagner verschob die Seite DNS:Domain Name System nach Domain Name System, ohne dabei eine Weiterleitung anzulegen)

Das Domain Name System (DNS) spielt eine essentielle Rolle in IP-basierten Netzwerken. Seine Hauptaufgabe ist die Beantwortung von Anfragen zur Namensauflösung.

Ü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.
  • Das DNS funktioniert ähnlich wie eine Telefonauskunft.
    • Der Benutzer kennt die Domain (den für Menschen merkbaren Namen eines Rechners im Internet) – zum Beispiel itw-berlin.net.
    • 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 88.99.60.173 oder eine IPv6-Adresse wie 2a01:4f8:10a:cec::2, und führt so zum richtigen Rechner.
  • Hauptsächlich wird das DNS zur Umsetzung von Domainnamen in IP-Adressen (forward lookup) 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.
    • 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.itw-berlin.net in die IPv4-Adresse 88.99.60.173 und die IPv6-Adresse 2a01:4f8:10a:cec::2 auf.
  • Mit dem DNS ist auch eine umgekehrte Auflösung von IP-Adressen in Namen (reverse lookup) 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.

Komponenten

Domain-Namensraum

  • Baumförmige Struktur
  • Blätter und Knoten werden als Labels bezeichnet
  • Kompletter Domainname besteht aus einer Verkettung aller Labels eines Pfades
  • Labels werden durch einen Punkt getrennt
  • Voll qualifizierte Domainnamen enden mit einem Punkt

DNS-Hierarchie

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

  • bietet Namensauflösung an
    • autoritativ
      • verantwortlich für eine Zone
      • wird als gesichert angesehen
      • redundant
        • 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 einzelnen 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 ausserhalb liegenden Namensräumen, Weiterleitung an fest konfigurierten Nameserver
    • oder Auflösung über die Root-Nameserver (ausschliesslich Beantwortung iterativer Anfragen)

Resolver

DNS-Auflösung

  • 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.
    • Ein Resolver arbeitet entweder 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
  • Bekannte Programme zur Überprüfung der Namensauflösung sind nslookup und dig.

Protokoll

  • DNS-Anfragen normalerweise per UDP-Port 53 zum Namensserver
  • bei DNS-UDP-Packeten grösser als 512 Bytes werden die Antworten abgeschnitten
  • Clienst 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.