Namensauflösung

Als Namensauflösung bezeichnet man Verfahren, die es ermöglichen, Namen von Rechnern beziehungsweise Diensten in vom Computer bearbeitbare, meist numerische Adressen zu übersetzen.

Für Menschen sind Namen wie beispielsweise „www.wikipedia.org“ einfacher zu merken und zu verwenden als numerische Adressen. Für Computer und Netzwerkkomponenten sind Zeichenketten hingegen unhandlich beziehungsweise ineffizient verarbeitbar. Die Namensauflösung vermittelt zwischen diesen beiden Anforderungen, indem sie Namen in Adressen und unter Umständen auch zurück übersetzen kann. Im Fall von Web-Adressen (URLs) wird die enthaltene Domain (zum Beispiel „www.wikipedia.org“) mit dem Domain Name System in eine IP-Adresse (zum Beispiel „91.198.174.232“) konvertiert.

Anwendungsfälle

Namensauflösung wird in vielen Bereichen verwendet. Ein sehr bekannter Anwendungsfall ist das Übersetzen von Rechnernamen beziehungsweise Domainnamen in Netzwerkadressen. Darüber hinaus sind auch vielen Netzwerkdiensten Namen zugewiesen. Das in Webbrowsern wie Firefox zum Abrufen von Webseiten verwendete „http“ Protokoll wird beispielsweise zur eben erwähnten Netzwerkadresse und zum TCP-Port „80“ aufgelöst. Protokollnamen wie „TCP“ haben ihrerseits wieder eine zugehörige Nummer, zum Beispiel „17“ (Protocol-ID im Header) für „UDP“.

Unter Unix ist jedem Benutzer und jeder Gruppe eine Identifikationsnummer (UID beziehungsweise GID) zwischen 0 und 65535 zugeordnet. Auch hier meldet sich der Benutzer mit seinem Namen an, die Überprüfung von Zugriffsrechten erfolgt jedoch anhand der numerischen UID und der GIDs der Gruppen, zu denen der Benutzer gehört. Programme wie „ls“ und „ps“ konvertieren hingegen die numerischen IDs wieder zu Namen, um für den Benutzer eine gut lesbare Ausgabe zu erzeugen.

Verfahren

Es gibt mehrere Verfahren, die zur Namensauflösung eingesetzt werden können. Oft kommen mehrere Verfahren zum Einsatz, die in einer bestimmten Reihenfolge abgefragt werden, bis eines eine gültige Antwort liefern konnte.

Die Namensauflösung beispielsweise eines Windows-Rechners in einem SMB-Netzwerk (Hybrid-Knoten) erfolgt in dieser Reihenfolge:

  1. DNS-Namenszwischenspeicher (DNS-Cache): Der DNS-Cache auf dem lokalen Computer wird durchsucht.
  2. Hosts-Datei: Die Hosts-Datei auf dem lokalen Computer wird durchsucht.
  3. DNS-Abfrage: Es wird eine Anfrage an einen DNS-Server im Netzwerk gesendet.
  4. NetBIOS-Namenszwischenspeicher: Der NetBIOS-Namenszwischenspeicher wird auf dem lokalen Computer durchsucht.
  5. WINS-Abfrage: Es wird eine Anfrage an einen WINS-Server im Netzwerk gesendet.
  6. Broadcast: Es wird ein NetBIOS-Broadcast an das eigene Subnetz gesendet.
  7. Lmhosts-Datei: Die Lmhosts-Datei auf dem lokalen Computer wird durchsucht.

Lokale Konfigurationsdateien

Die einfachste Möglichkeit der Namensauflösung stellen lokale Dateien dar, die eine entsprechende Zuordnung enthalten. In Textdateien wird – wie in einer Tabelle – einem Namen eine oder mehrere Adressen beziehungsweise Nummern zugeordnet.

Verwendet werden lokale Konfigurationsdateien, wenn eine zentrale Organisation der Daten nicht erforderlich ist oder wenn sich die Daten sehr selten ändern. Da diese Dateien lokal vorhanden sind, funktioniert die Auflösung auch dann noch, wenn das Netzwerk ganz oder teilweise ausgefallen ist. Daher werden sehr wichtige Daten häufig (auch) in lokale Dateien eingetragen.

Beispiele (UNIX):

Bildlicher Vergleich:
Das Adressbuch in einem Mobiltelefon ist vergleichbar mit einer lokalen Konfigurationsdatei: Die gespeicherten Telefonnummern kann man nachschlagen, ohne eine andere Person zu fragen. Die Information ist auch dann verfügbar, wenn die Telefonauskunft aufgrund eines technischen Fehlers nicht erreichbar ist. Dafür wird das Adressbuch nicht automatisch gepflegt: Eine etwaige neue oder geänderte Telefonnummer erscheint nicht automatisch im Adressbuch.

Broadcast

Über einen Broadcast im direkt angeschlossenen Netz wird versucht, den Namen ausfindig zu machen. Dieses Vorgehen wird beispielsweise von ARP in Ethernet-Netzwerken verwendet, um die MAC-Adresse zu einer IPv4-Adresse herauszufinden.

Bildlicher Vergleich:
Man ruft im Großraumbüro, in dem man sich befindet, den Namen des Partners, mit dem man telefonieren möchte und bittet um seine Telefonnummer. Wenn man diese bekommen hat, kann man den gewünschten Partner anrufen. Prinzipbedingt können nur Personen erreicht werden, die sich im selben Raum aufhalten.

Spezielle Dienste

Der Rechner erfragt die gewünschte Information bei einem speziellen Netzwerkdienst. Je nach Anwendungsfall kommen andere Dienste zum Einsatz. Durch die zentrale Datenhaltung können Änderungen an einer Stelle durchgeführt werden, abfragende Rechner müssen nicht angepasst werden.

Beispiele:

Bildlicher Vergleich:
Man kennt (lediglich) die Telefonnummer der Telefonauskunft. Diese ruft man an, um die Telefonnummer einer dritten Person herauszufinden. Neue Telefonnummern müssen lediglich der Auskunft, nicht aber jedem Telefonbesitzer mitgeteilt werden. Wenn die Auskunft technische Probleme hat, kann man hingegen nur noch telefonieren, wenn man eine alternative Möglichkeit hat die Telefonnummer ausfindig zu machen.

Lokaler Cache

Der Computer sieht in seinem lokalen Cache nach, ob er diesen Namen schon einmal aufgelöst hat. Wenn ja, befindet sich im Cache die benötigte Adresse / Nummer, die er wiederverwenden kann. Dieses Zwischenspeichern wird insbesondere in Verbindung mit Namensdiensten verwendet, um die Anzahl der Zugriffe zu reduzieren und um die Auflösung zu beschleunigen.

Bildlicher Vergleich:
Man möchte jemanden anrufen, mit dem man vor kurzem schon einmal telefoniert hat. Also drückt man einfach die Wahlwiederholung, da das Telefon die letzten Nummern noch gespeichert hat.

Reihenfolge

Die Reihenfolge ist nicht standardisiert, sondern hängt von verschiedenen Faktoren ab.

Sonderformen

Mit diesem Verfahren kann ein Webserver so konfiguriert werden, dass Websites unterschiedlichen Namens dieselbe IP-Adresse haben. Zur Unterscheidung nutzt der Webserver den im HTTP-Request enthaltenen Host Header. Die verschiedenen Websites werden in diesem Fall auch als (namensbasierte) Virtual Hosts bezeichnet.

Bildlicher Vergleich:
Man ruft eine Telefonnummer an, die man auf einem der oben beschriebenen Wege ermittelt hat. Dem sich (unter dieser Nummer) meldenden Gesprächspartner sagt man, wen genau man sprechen möchte.

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 13.08. 2022