1. Startseite
  2. DNS
  3. Wie funktioniert DNS?

Wie funktioniert DNS?

Übersicht

DNS ordnet einen Hostnamen (bestehend aus einem Domänennamen + optionaler Subdomäne, z. B. example.com oder www.example.com) einem adressierbaren Rechner (nach IP-Adresse) irgendwo im Internet zu. DNS arbeitet, indem es mehrere rekursive Abfragen durchführt, bis die Rechneradresse aufgelöst ist.

Prozess

Erste Abfrage

Ein ganz triviales Beispiel: Nehmen wir an, ein Browser greift zum ersten Mal auf http://example.com zu. Da dies der erste Zugriff auf den Hostnamen ist, muss ein vollständiger Lookup durchgeführt werden:

  • (0 ms) Der Browser fragt den lokalen DNS-Resolver (auf demselben Computer) ab, wo example.com ist
    • Der lokale DNS antwortet mit einem negativen Ergebnis
  • Browser verwendet die in seiner Netzwerkkonfiguration konfigurierten DNS-Server, um abzufragen, wo example.com ist
  • (2 ms) DNS-Server fragt die Wurzel (.) Nameserver, bei denen com. ist
  • (42 ms) Root-Nameserver geben autoritative TLD-Server an den DNS-Server zurück
  • DNS-Server fragt autoritative TLD-Server, wo Beispiel.com. ist
  • (26 ms) TLD-Server antwortet zurück mit dem Webhost Nameserver delegiert an Beispiel.com.
  • DNS-Server fragt Webhost-Nameserver zurück, was Beispiel.com. ist
  • (15 ms) Webhost-Nameserver antworten, dass der A-Eintrag für Beispiel.com. ist 1.2.3.4
  • Browser sendet GET / HTTP/1.1 für Beispiel.com. an 1.2.3.4:80
  • Webserver, der auf 1.2.3.4:80 lauscht, sucht seine Konfiguration im Speicher nach, findet eine Übereinstimmung und entspricht Indexdateiund serviert es unter einer HTTP/1.1 200 OK Antwort
  • Browser rendert Ihre Webseite

Eingeklammerte Begriffe sind der Overhead, der bei jedem Schritt der Abfrage entsteht. In diesem Beispiel beträgt der gesamte DNS-Overhead 85 ms. Der Netzwerk-Overhead variiert in Abhängigkeit von der physischen Entfernung von jedem DNS-Resolver, der abgefragt wird, um eine Antwort zu erhalten: größere Entfernung -> mehr Netzwerkkabel, die zu überwinden sind.

Gepufferte Abfrage

Aufgrund des Overheads, der bei der Auflösung von IP-Adressen entsteht, wird in jedem Schritt der Abfrage ein Cache eingebaut, um die Netzwerklatenz zu reduzieren. Dieser Wert wird bestimmt durch den TTL (time-to-live) Parameter, ein Überbleibsel von DNS-Spezifikation, eingeführt 1987, als die Netzwerklatenz hoch war, die Verbindungen sporadisch waren und eine rekursive Abfrage bis zu 30 Sekunden dauern konnte, wenn sie nicht sogar ganz ausfiel.

  • (0 ms) Der Browser fragt den lokalen DNS-Resolver (auf demselben Computer) ab, wo example.com ist
  • (1 ms) lokaler DNS-Resolver hat Ergebnis im Cache, liefert 1.2.3.4
  • Browser sendet GET / HTTP/1.1 für Beispiel.com. an 1.2.3.4:80
  • Webserver, der auf 1.2.3.4:80 sucht seine Konfiguration im Speicher nach, findet eine Übereinstimmung, entsprechend Indexdateiund serviert es unter einer HTTP/1.1 200 OK Antwort
  • Browser rendert Ihre Webseite

Da eine DNS-Antwort auf demselben Computer, der die Seite anfordert, im Speicher erfolgt, werden alle weiteren DNS-Schritte übersprungen, was zu einer DNS-Antwortzeit von 1 ms führt.

Siehe auch

Aktualisiert am März 7, 2021

Verwandte Artikel