Domain Name System

Geräte in einem Netzwerk oder auch im Internet kommunizieren im Kern mit sogenannten IP-Adressen. Entweder in der Version 4 (IPv4) oder Version 6 (IPv6). Diese Adressen sind allerdings numerisch bzw. Alphanumerisch. Da wir als Menschen uns schwerer an 16 Ziffern erinnern können als an ganze Namen, wurde das Domain Name System (DNS) entwickelt.

Die Hauptaufgabe des DNS ist es die Übersetzung von Domains, bspw. www.example.com, in eine IP-Adresse welche dann weiterverarbeitet werden kann. Häufig findet man auch die Analogie, dass ein DNS das “Telefonbuch” des Internet sei.

Ablauf

Um nun eine DNS Anfrage durch einen Browser oder einer Anwendung bearbeiten zu können muss der Namen aufgelöst werden. Und im Hintergrund gibt es mehr als nur “den einen DNS Server”.

1. Client Cache

Möchte man sich per Browser auf something.contoso.com verbinden. So schau die Anwendung zunächst in den eigenen Cache bzw. dem Cache vom Betriebssystem. Sollte die Adresse dort gefunden werden mit der jeweiligen IP-Adresse so wird versucht sich auf dieser Adresse zu verbinden. Wird man nicht im Cache fündig, so wird beim einem DNS Resolver nachgefragt.

2. DNS Resolver / Non-Authoritative Name Server

Der DNS Resolver ist ein Server, welche für die Zwischenspeicherung und Bearbeitung von DNS Anfragen im Internet verantwortlich ist. Häufig wird auch der Name Non-Authoritative Name Server verwendet. Dabei spricht eine Anwendung aufgrund des hierarchischen Aufbaus nie mit einem Root Nameserver oder Top Level Domain (TLD) Server. So schaut der DNS Resolver in seinem eigenen Cache ob er die passende IP-Adresse zur Domain schon hat oder nicht. Falls ja, kann er die Antwort sofort liefern. Andernfalls muss bei einem Root Server nachgefragt werden. Ein DNS Resolver kann bspw. ein PiHole im eigenen Netzwerk sein oder einen vom Internet Service Provider betriebener Server.

3. DNS Root Nameserver / Root DNS Server

Sollte eine Anfrage zum Root Server erfolgen, so antwortet dieser mit der IP-Adresse eines TLD Name Server der angefragten Domain Adresse. In unserem Beispiel einem .com TLD Server. Der TLD Server speichert die Adressinformationen zu den Domains ihrer TLD. Allerdings weiß der TLD in der Regel auch nicht welche DNS Records (A, TXT oder MX) sich hinter der Domain verbirgt. Denn er speichert nur die dazugehörigen Authoritative Nameserver der jeweiligen Domain, welcher der DNS Resolver als Antwort erhält. Er sagt also nur “Hey, die Authoritative Nameserver für die Domain contoso.com findest du hier.” und gibt entweder den DNS Namen oder direkt die IP Adresse zurück.

4. Authoritative Nameserver

Zuletzt fragt der DNS Resolver den von dem TLD Server erhaltenen Authoritative Nameserver für die Domain contoso.com nach der IP-Adresse von something.contoso.com. Der Authoritative Nameserver hält den eigentlichen DNS Eintrag mit dazugehöriger IP-Adresse und nennt diese den Resolver. Dieser leitet wiederum die Anfrage mit IP-Adresse zurück an den Client.


Private DNS TLD

Da die ICANN immer mehr TLDs registierbar macht, wie bspw. .zip oder .ai, wurde sich final entschlossen die TLD .internal für den privaten Gebrauch zu reservieren.1

References

Footnotes

  1. https://www.icann.org/en/public-comment/proceeding/proposed-top-level-domain-string-for-private-use-24-01-2024