sdecoret - stock.adobe.com

Wie die Namensauflösung im Netzwerk funktioniert

Die Namensauflösung ist ein Verfahren, um Host-Namen und IP-Adressen umzuwandeln. Erfahren Sie, wie sich damit Host-Namen auflösen, Server abfragen und IP-Adressen finden lassen.

Die Namensauflösung dient dazu, Namen von Rechnern in IP-Adressen zu übersetzen. Es handelt sich um einen der wichtigsten Dienste in einem Netzwerk.

Menschen verstehen beschreibende Namen, aber die Netzwerkkommunikation erfordert Adressen, die man sich nur schwer merken kann. Während es für Netzwerkadministratoren sehr einfach ist, sich mit webserver3 zu verbinden, benötigt ein Computer die IP-Adresse des Zielservers, um eine Kommunikation aufzubauen.

Dieser Artikel befasst sich mit den Host-Identitäten im Netzwerk und dem Prozess der DNS-Namensauflösung (Domain Name System). Die nächsten beiden Artikel dieser Reihe behandeln das Troubleshooting aus Sicht von Clients und DNS-Servern.

Host-Identitäten

Die Hosts in einem TCP/IP-Netzwerk besitzen mehrere Identitäten. Netzwerkgeräte nutzen diese Identitäten, um Daten an die richtigen Hosts zu übermitteln.

Dabei handelt es sich um die folgenden drei Identitäten:

  1. MAC-Adresse (Media Access Control). Die Netzwerkkarte (Network Interface Card, NIC) verfügt über eine MAC-Adresse, die in ihrer Firmware gespeichert ist.
  2. IP-Adresse. Die NIC besitzt auch eine ihr zugewiesene logische IP-Adresse.
  3. Host-Name. Das System trägt zudem einen für Menschen einfacher zu merkenden Host-Namen, der bei der Installation des Betriebssystems festgelegt wurde.

Mit diesen Identitäten lässt sich ein bestimmter Knoten in einem Netzwerk oder Netzwerksegment finden.

Abbildung 1: Die Befehle hostname und ip addr zeigen Informationen zur Netzwerkidentität an, unter anderem Host-Name, IP-Adresse und MAC-Adresse (link/ether).
Abbildung 1: Die Befehle hostname und ip addr zeigen Informationen zur Netzwerkidentität an, unter anderem Host-Name, IP-Adresse und MAC-Adresse (link/ether).

Aufgrund der unterschiedlichen Identitäten muss eine Möglichkeit existieren, sie miteinander in Beziehung zu setzen. Das Address Resolution Protocol (ARP) beispielsweise ordnet unbekannte MAC-Adressen bekannten IP-Adressen zu. Der Prozess der Namensauflösung, der Host-Namen und IP-Adressen übersetzt, ist allerdings wesentlich komplexer.

Bei der Namensauflösung lässt sich ein Host entweder anhand seines Host-Namens oder seiner IP-Adresse erkennen. Normalerweise arbeiten Menschen am liebsten mit leicht verständlichen und beschreibenden Namen, wie webserver3. Für TCP/IP-Datenpakete sind jedoch Quell- und Zieladressfelder erforderlich – Werte, die Router benötigen, um den Netzwerk-Traffic korrekt zu steuern.

Diese Adressen, zum Beispiel die IPv4-Adresse 192.0.2.127, sind für Menschen viel schwieriger zu handhaben. Stellen Sie sich vor, die Lesezeichen in Webbrowsern würden nur IP-Adressen anstelle von beschreibenden Namen anzeigen.

Abbildung 2: Ein Paketmitschnitt, der die anhand der Host-Namen aufgelösten Quell- und Ziel-IP-Adressen enthält.
Abbildung 2: Ein Paketmitschnitt, der die anhand der Host-Namen aufgelösten Quell- und Ziel-IP-Adressen enthält.

In den meisten Fällen besteht der Prozess der Namensauflösung darin, einem bekannten Host-Namen eine unbekannte IP-Adresse zuzuordnen, etwa wenn ein Administrator den Befehl ping webserver3 absetzt. Der Ping muss an eine IP-Adresse gesendet werden, aber der Admin kann sich den beschreibenden Namen webserver3 leichter merken.

Abbildung 3: Anpingen von webserver3 über den Namen mit aufgelöster IP-Adresse.
Abbildung 3: Anpingen von webserver3 über den Namen mit aufgelöster IP-Adresse.

Der Prozess der Namensauflösung

Wenn alles ordnungsgemäß funktioniert, löst ein System den Host-Namen im Hintergrund auf. Es überprüft zwei Ressourcen, um die erforderliche IP-Adresse zu ermitteln: eine lokale Datei und einen DNS-Datenbankserver.

Die erste Methode stützt sich auf eine Textdatei namens hosts auf der Festplatte des lokalen Rechners. Die hosts-Datei reicht für einen gelegentlichen Eintrag aus. Aber es ist schwierig, sie auf dem neuesten Stand zu halten, da im Netzwerk ständig Geräte hinzukommen und entfernt werden und neue IP-Adresskonfigurationen von den DHCP-Servern (Dynamic Host Configuration Protocol) erhalten. Jeder Host, mit dem sich das System verbinden soll, muss zusammen mit seiner IP-Adresse in der Datei gespeichert werden.

Moderne Netzwerke können Hunderte oder sogar Tausende von Knoten umfassen, so dass die Datei sich schwer pflegen lässt. Jedes Mal, wenn sich der Host-Name oder die IP-Adresse eines Knotens ändert, muss die Datei auf jedem Host im Netzwerk aktualisiert werden. Diese Methode ist deshalb für ein modernes Netzwerk zu umständlich.

Abbildung 4: Die hosts-Datei auf einem Linux-System mit zwei Hosts und ihren zugehörigen IP-Adressen.
Abbildung 4: Die hosts-Datei auf einem Linux-System mit zwei Hosts und ihren zugehörigen IP-Adressen.

Die zweite, dynamischere Methode besteht darin, alle Namen und IP-Adressen auf einem oder mehreren Netzwerkservern zu speichern und die Hosts so zu konfigurieren, dass sie den Server abfragen, um die benötigten Informationen zu erhalten. Die moderne Umsetzung dieser Methode nennt sich DNS.

DNS-Server verwalten eine Datenbank mit Namen und IP-Adressen. Clientsysteme wie Windows, Linux und macOS aktualisieren die Datenbank des DNS-Servers dynamisch, sobald sich ihr Host-Name oder ihre IP-Adresse ändert. Dadurch lässt sich sicherstellen, dass die Datenbank aktuell ist. Die Beziehungen zwischen Host-Namen und IP-Adressen werden in Einträgen gespeichert, die man als Resource Records bezeichnet.

Abbildung 5: Vier A Resource Records, die in einer Windows-DNS-Zone gespeichert sind.
Abbildung 5: Vier A Resource Records, die in einer Windows-DNS-Zone gespeichert sind.

Es gibt viele Arten von Resource Records. Aber dieser Artikel konzentriert sich auf Address Resource Records (A Records) und Pointer Resource Records (PTR Records) bei DNS.

Abbildung 6: Der A Record für webserver3 ist in einer Windows-DNS-Zone gespeichert.
Abbildung 6: Der A Record für webserver3 ist in einer Windows-DNS-Zone gespeichert.
  • A Records ermöglichen die Auflösung von Host-Namen zu IP-Adressen. Diese Art der Abfrage wird als Forward Lookup bezeichnet.
  • PTR Records liefern die Auflösung von IP-Adressen in Host-Namen. Diese Art der Abfrage wird als Reverse Lookup bezeichnet.

Wenn ein Benutzer einen Host-Namen als Teil eines Befehls eingibt, zum Beispiel ping webserver3, fragt das System den DNS-Server nach der IP-Adresse von webserver3. Die Adresse wird in einem A Record gespeichert, so dass der DNS-Server mit der IP-Adresse von webserver3 antworten kann.

Lokale DNS-Abfrage

Moderne Betriebssysteme enthalten einen DNS-Client, der die hosts-Datei überprüft und die DNS-Datenbank abfragt. DNS kommuniziert im Netzwerk über Port 53. Einige DNS-Übertragungen sind TCP-basiert, andere nutzen das User Datagram Protocol (UDP). UDP-Übertragungen werden für Clientabfragen verwendet, während TCP für Zonentransfers zwischen DNS-Servern eingesetzt wird. Per Zonentransfer aktualisieren sich DNS-Server gegenseitig.

Beachten Sie, dass Host- und Netzwerk-Firewalls die Kommunikation über Port 53/UDP zulassen müssen, damit Abfragen zur Namensauflösung erfolgreich sind.

Interne Clients, die nach internen Ressourcen suchen, nutzen interne DNS-Server. Angenommen, der Computer eines Endanwenders muss so konfiguriert werden, dass er eine Verbindung zu einem Netzwerkdrucker namens salesprinter3 herstellen kann. Der Techniker, der den Computer konfiguriert, identifiziert salesprinter3 einfach anhand des Namens und verwendet die Windows-Funktion für das Hinzufügen von Netzwerkdruckern, um die Verbindung herzustellen.

Der Clientcomputer fragt automatisch das DNS nach der IP-Adresse, die dem Namen salesprinter3 zugeordnet ist. Der DNS-Server überprüft seine Resource Records und liefert als Antwort die Adresse zurück. Das Clientsystem kann nun problemlos den Netzwerkdrucker ansprechen und ihm TCP/IP-Pakete senden. In diesem Beispiel erfolgt die gesamte Namensauflösung über interne Ressourcen.

Der Prozess ist für jeden TCP/IP-Client gleich, etwa für Windows-, Linux- und macOS-Systeme.

DNS-Abfrage über das Internet

Die grundlegende Idee gilt auch für internetbasierte Ressourcen, aber der Prozess ist komplexer. Internetnamen sind hierarchisch in Domänen unterteilt, beginnend mit der Route-Ebene – dargestellt durch einen einzelnen Punkt. Danach folgen die Top-Level-Domänen, wie com, de, org etc. Anfragen zur Namensauflösung werden von einer Ebene zur nächsten weitergegeben, bis der Name aufgelöst oder festgestellt wird, dass er sich nicht auflösen lässt.

Abbildung 7: Wireshark-Paketmitschnitt, der eine DNS-Antwort auf eine Anfrage zur Namensauflösung für getfedora.org zeigt.
Abbildung 7: Wireshark-Paketmitschnitt, der eine DNS-Antwort auf eine Anfrage zur Namensauflösung für getfedora.org zeigt.

Internetnamen sind im Grunde Pfade von einer Domäne zur nächsten. Zum Beispiel wird der Name webserver3.example.com von rechts nach links gelesen als „gehe zu com, finde example und finde dann webserver3“. Diese Namenskonvention wird als Fully Qualified Domain Name bezeichnet.

Fazit

Die Namensauflösung ist ein wichtiger Netzwerkdienst. System- und Netzwerkadministratoren müssen in der Lage sein, die Namensauflösung zu konfigurieren und Probleme zu beheben. Es gilt zunächst, den Zweck der Namensauflösung und den Unterschied zwischen der Auflösung über die hosts-Datei und per DNS zu verstehen.

Außerdem ist es erforderlich, sich mit DNS-Abfragen auszukennen. Der nächste Artikel in dieser Reihe behandelt Methoden für das Troubleshooting bei der Namensauflösung. Er zeigt Windows-, Linux- und macOS-Befehle, mit denen man die Namensauflösung testen und dabei auftretende Probleme lösen kann. Der dritte Artikel erklärt dann, wie sich der DNS-Serverdienst überprüfen lässt, um zu gewährleisten, dass er aktiviert ist, funktioniert und keine Tippfehler enthält.

Erfahren Sie mehr über Netzwerksoftware