Ein DNS-Resolver ist die Software, die eine Domain in eine IP-Adresse auflöst. Er ist der aktive Teil der Namensauflösung: Der Nutzer tippt eine Adresse ein, der Resolver holt die passende Antwort aus dem verteilten DNS und liefert sie an die Anwendung zurück.

Stub-Resolver und rekursiver Resolver

Technisch arbeiten zwei Rollen zusammen: Der Stub-Resolver sitzt im Betriebssystem oder in der Anwendung des Clients und kennt nur die Adresse eines rekursiven Resolvers (vom Provider oder öffentlich wie 8.8.8.8 oder 1.1.1.1). Er stellt eine einzige Anfrage und wartet auf die fertige Antwort. Die eigentliche Sucharbeit übernimmt der rekursive Resolver im Netzwerk: Er fragt die Namensserver der Hierarchie nacheinander ab.

Rekursive und iterative Auflösung

Bei der rekursiven Auflösung übernimmt der Resolver die komplette Verantwortung für den Client: Er startet bei den Root-Nameservern, folgt den Verweisen auf die TLD-Nameserver (zum Beispiel .de) und gelangt so zum autoritativen Nameserver der angefragten Zone. Dessen Antworten sind iterativ — jeder Server nennt nur den nächsten zuständigen Server, ohne selbst weiterzusuchen. Am Ende steht die IP-Adresse, die der Resolver an den Client zurückgibt.

Caching und TTL

Damit nicht jede Anfrage die ganze Kette durchläuft, speichert der Resolver Antworten zwischen. Die Gültigkeitsdauer bestimmt der TTL-Wert (Time to Live) des DNS-Eintrags. Übliche Nebenwirkungen: Der erste Aufruf einer Domain dauert etwas länger, spätere Antworten kommen direkt aus dem Cache. Auch negative Antworten (Name existiert nicht) werden kurz zwischengespeichert.

Verschlüsselte Auflösung

Klassische Resolver-Anfragen laufen unverschlüsselt über UDP. Wer das vermeiden will, nutzt DNS over HTTPS (DoH): Der Resolver wird dabei über eine HTTPS-Verbindung angesprochen, sodass niemand im Netzwerk die angefragten Namen mitlesen kann.

Verwandte Grundlagen: DNS-Query, DNS-Zone, DNS, IP-Adresse, DNS (Domain Name System)., dig-Befehle.