Namensauflösung: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:
===== Weblinks =====
===== Weblinks =====


= TMP =
'''topic''' - Kurzbeschreibung
Als '''Namensauflösung''' bezeichnet man Verfahren, die es ermöglichen, Namen von Rechnern beziehungsweise [[Netzwerkdienst|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 [[Netzwerkkomponente]]n sind [[Zeichenkette]]n 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 ([[Uniform Resource Locator|URLs]]) wird die enthaltene [[Domain (Internet)|Domain]] (zum Beispiel „www.wikipedia.org“) mit dem [[Domain Name System]] (kurz DNS) in eine [[IP-Adresse]] (zum Beispiel „91.198.174.232“) konvertiert.
Als '''Namensauflösung''' bezeichnet man Verfahren, die es ermöglichen, Namen von Rechnern beziehungsweise [[Netzwerkdienst|Diensten]] in vom Computer bearbeitbare, meist numerische Adressen zu übersetzen
 
== Beschreibung ==
Als '''Namensauflösung''' bezeichnet man Verfahren, die es ermöglichen, Namen von Rechnern beziehungsweise [[Netzwerkdienst|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 [[Netzwerkkomponente]]n sind [[Zeichenkette]]n 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 ([[Uniform Resource Locator|URLs]]) wird die enthaltene [[Domain (Internet)|Domain]] (zum Beispiel „www.wikipedia.org“) mit dem [[Domain Name System]] (kurz DNS) in eine [[IP-Adresse]] (zum Beispiel „91.198.174.232“) konvertiert


== Anwendungsfälle ==
== 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 Protokoll [[Hypertext Transfer Protocol|HTTP]] wird beispielsweise zur eben erwähnten Netzwerkadresse und zum [[Port (Protokoll)|Port]] „80“ vom [[Transmission Control Protocol]] aufgelöst
* Namen des [[Protokoll (IP)|IP-Protokolls]] haben ihrerseits wieder eine zugehörige Nummer
* So ist z. B
* dem Transmission Control Protocol (kurz TCP) im IP-Protokoll die ID „6“ zugewiesen, dem [[User Datagram Protocol]] (kurz UDP) die ID „17“


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 Protokoll [[Hypertext Transfer Protocol|HTTP]] wird beispielsweise zur eben erwähnten Netzwerkadresse und zum [[Port (Protokoll)|Port]] „80“ vom [[Transmission Control Protocol]] aufgelöst. Namen des [[Protokoll (IP)|IP-Protokolls]] haben ihrerseits wieder eine zugehörige Nummer. So ist z. B. dem Transmission Control Protocol (kurz TCP) im IP-Protokoll die ID „6“ zugewiesen, dem [[User Datagram Protocol]] (kurz UDP) die ID „17“.
Bei [[Unix-Dateirechte]]n ist jedem Benutzer (engl. ''user'') und jeder Gruppe (engl. ''group'') eine Identifikationsnummer (ID) zwischen 0 und 65535 zugeordnet – die UID (''user ID'') beziehungsweise GID (''group ID'')
 
* 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
Bei [[Unix-Dateirechte]]n ist jedem Benutzer (engl. ''user'') und jeder Gruppe (engl. ''group'') eine Identifikationsnummer (ID) zwischen&nbsp;0 und&nbsp;65535 zugeordnet – die UID (''user ID'') beziehungsweise GID (''group ID''). 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. <!-- Wie schaut das unter Windows aus? Wird hier eine UUID verwendet? -->
* Programme wie „ls“ und „ps“ konvertieren hingegen die numerischen IDs wieder zu Namen, um für den Benutzer eine gut lesbare Ausgabe zu erzeugen. <!-- Wie schaut das unter Windows aus? Wird hier eine UUID verwendet? -->


== Verfahren ==
== 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


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 [[Server Message Block|SMB]]-Netzwerk (Hybrid-Knoten) erfolgt in dieser Reihenfolge:
 
# DNS-Namenszwischenspeicher ([[DNS-Caching|DNS-Cache]]): Der DNS-Cache auf dem lokalen Computer wird durchsucht
Die Namensauflösung beispielsweise eines [[Windows]]-Rechners in einem [[Server Message Block|SMB]]-Netzwerk (Hybrid-Knoten) erfolgt in dieser Reihenfolge<ref name="elkomp">{{Internetquelle |url=http://www.elektronik-kompendium.de/sites/net/0901081.htm |titel=Namensauflösung (DNS WINS) |werk=Elektronik-Kompendium.de |abruf=2022-11-30}}</ref>:
# Hosts-Datei: Die Hosts-Datei auf dem lokalen Computer wird durchsucht
# DNS-Namenszwischenspeicher ([[DNS-Caching|DNS-Cache]]): Der DNS-Cache auf dem lokalen Computer wird durchsucht.
# DNS-Abfrage: Es wird eine Anfrage an einen DNS-Server im Netzwerk gesendet
# Hosts-Datei: Die Hosts-Datei auf dem lokalen Computer wird durchsucht.
# [[NetBIOS]]-Namenszwischenspeicher: Der NetBIOS-Namenszwischenspeicher wird auf dem lokalen Computer durchsucht
# DNS-Abfrage: Es wird eine Anfrage an einen DNS-Server im Netzwerk gesendet.
# [[Windows Internet Naming Service|WINS]]-Abfrage: Es wird eine Anfrage an einen WINS-Server im Netzwerk gesendet
# [[NetBIOS]]-Namenszwischenspeicher: Der NetBIOS-Namenszwischenspeicher wird auf dem lokalen Computer durchsucht.
# [[Broadcast]]: Es wird ein NetBIOS-Broadcast an das eigene Subnetz gesendet
# [[Windows Internet Naming Service|WINS]]-Abfrage: Es wird eine Anfrage an einen WINS-Server im Netzwerk gesendet.
# Lmhosts-Datei: Die Lmhosts-Datei auf dem lokalen Computer wird durchsucht
# [[Broadcast]]: Es wird ein NetBIOS-Broadcast an das eigene Subnetz gesendet.
# Lmhosts-Datei: Die Lmhosts-Datei auf dem lokalen Computer wird durchsucht.


=== Lokale Konfigurationsdateien ===
=== Lokale Konfigurationsdateien ===
Die einfachste Möglichkeit der Namensauflösung stellen lokale Dateien dar, die eine entsprechende Zuordnung enthalten
* In Textdateien werden–&nbsp;wie in einer Tabelle&nbsp;– einem Namen eine oder mehrere Adressen beziehungsweise Nummern zugeordnet


Die einfachste Möglichkeit der Namensauflösung stellen lokale Dateien dar, die eine entsprechende Zuordnung enthalten. In Textdateien werden–&nbsp;wie in einer Tabelle&nbsp;– 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
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.
* Daher werden sehr wichtige Daten häufig (auch) in lokale Dateien eingetragen


'''Beispiele (UNIX):'''
'''Beispiele (UNIX):'''
* <code>/etc/passwd</code><br />Lokale Benutzerdatenbank. Hier sind der Administrator-Benutzer („root“) und System-Benutzer von Diensten (beispielsweise der Benutzer, mit dessen Rechten der [[Webserver]] arbeitet) eingetragen. Findet keine zentrale Benutzerverwaltung statt, sind hier auch „normale“ Benutzer eingetragen.
* <code>/etc/passwd</code><br />Lokale Benutzerdatenbank
* <code>/etc/protocols</code><br />Von der [[IANA]] zugewiesene Protokollnamen und -nummern. Diese Daten ändern sich sehr selten.
* Hier sind der Administrator-Benutzer („root“) und System-Benutzer von Diensten (beispielsweise der Benutzer, mit dessen Rechten der [[Webserver]] arbeitet) eingetragen
* <code>/etc/hosts</code> (s.&nbsp;[[hosts (Datei)|hosts]]-Datei)<br />Lokale Tabelle für Hostnamen. Hier ist zum Beispiel der Alias „localhost“ definiert. Ein Webserver könnte hier den Namen des Datenbankservers eintragen, um auch dann noch mit der Datenbank kommunizieren zu können, wenn die netzwerkbasierte Namensauflösung ausfällt.
* Findet keine zentrale Benutzerverwaltung statt, sind hier auch „normale“ Benutzer eingetragen
* <code>/etc/protocols</code><br />Von der [[IANA]] zugewiesene Protokollnamen und -nummern
* Diese Daten ändern sich sehr selten
* <code>/etc/hosts</code> (s.&nbsp;[[hosts (Datei)|hosts]]-Datei)<br />Lokale Tabelle für Hostnamen
* Hier ist zum Beispiel der Alias „localhost“ definiert
* Ein Webserver könnte hier den Namen des Datenbankservers eintragen, um auch dann noch mit der Datenbank kommunizieren zu können, wenn die netzwerkbasierte Namensauflösung ausfällt


''Bildlicher Vergleich:''<br />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.
''Bildlicher Vergleich:''<br />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 ===
=== Broadcast ===
Über einen [[Broadcast]] im direkt angeschlossenen Netz wird versucht, den Namen ausfindig zu machen
* Dieses Vorgehen wird beispielsweise von [[Address Resolution Protocol|ARP]] in [[Ethernet]]-Netzwerken verwendet, um die [[MAC-Adresse]] zu einer [[IPv4-Adresse]] herauszufinden


Über einen [[Broadcast]] im direkt angeschlossenen Netz wird versucht, den Namen ausfindig zu machen. Dieses Vorgehen wird beispielsweise von [[Address Resolution Protocol|ARP]] in [[Ethernet]]-Netzwerken verwendet, um die [[MAC-Adresse]] zu einer [[IPv4-Adresse]] herauszufinden.
''Bildlicher Vergleich:''<br />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
''Bildlicher Vergleich:''<br />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.
* Prinzipbedingt können nur Personen erreicht werden, die sich im selben Raum aufhalten


=== Spezielle Dienste ===
=== Spezielle Dienste ===
 
Der Rechner erfragt die gewünschte Information bei einem speziellen Netzwerkdienst
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.
* 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:'''
'''Beispiele:'''
* [[Domain Name System]] (DNS)<br />Kann Hostnamen beziehungsweise Domainnamen zu Adressen auflösen. Dieser Dienst ist die im Internet verwendete Namensauflösung, beispielsweise um die IP-Adresse für „www.wikipedia.de“ nachzuschlagen.
* [[Domain Name System]] (DNS)<br />Kann Hostnamen beziehungsweise Domainnamen zu Adressen auflösen
* [[Windows Internet Naming Service]] (WINS)<br />Löst NetBIOS-Namen auf. Die Daten werden von Client-Rechnern an den WINS-Server gemeldet, so dass eine manuelle Konfiguration nicht notwendig ist.
* Dieser Dienst ist die im Internet verwendete Namensauflösung, beispielsweise um die IP-Adresse für „www.wikipedia.de“ nachzuschlagen
* [[Lightweight Directory Access Protocol]] (LDAP)<br />Kann zur Benutzer- und Gruppenverwaltung von [[POSIX]]-Accounts verwendet werden. LDAP bildet auch die Grundlage für den [[Active Directory|Active-Directory]]-Dienst von Windows-Systemen.
* [[Windows Internet Naming Service]] (WINS)<br />Löst NetBIOS-Namen auf
* Die Daten werden von Client-Rechnern an den WINS-Server gemeldet, so dass eine manuelle Konfiguration nicht notwendig ist
* [[Lightweight Directory Access Protocol]] (LDAP)<br />Kann zur Benutzer- und Gruppenverwaltung von [[POSIX]]-Accounts verwendet werden
* LDAP bildet auch die Grundlage für den [[Active Directory|Active-Directory]]-Dienst von Windows-Systemen


''Bildlicher Vergleich:''<br />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.
''Bildlicher Vergleich:''<br />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 ===
=== 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


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:''<br />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
''Bildlicher Vergleich:''<br />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 ===
=== Reihenfolge ===
Die Reihenfolge der Namensauflösung hängt von verschiedenen Faktoren ab, darunter das verwendete Betriebssystem, die verwendeten Protokolle ([[IP-Adresse|IP]] oder [[NetBIOS]] over TCP/IP) sowie Konfigurationsdateien und Optionen. Hier sind einige Beispiele:
Die Reihenfolge der Namensauflösung hängt von verschiedenen Faktoren ab, darunter das verwendete Betriebssystem, die verwendeten Protokolle ([[IP-Adresse|IP]] oder [[NetBIOS]] over TCP/IP) sowie Konfigurationsdateien und Optionen
* Hier sind einige Beispiele:


# [[Betriebssystem]]: Die Priorisierung der Namensauflösung kann je nach dem verwendeten Betriebssystem unterschiedlich sein. Zum Beispiel priorisieren [[Microsoft Windows XP|Windows XP]] und [[Microsoft Windows 2000|Windows 2000]] die DNS-Namensauflösung, während [[Windows NT]] die NetBIOS-Namensauflösung bevorzugt.
# [[Betriebssystem]]: Die Priorisierung der Namensauflösung kann je nach dem verwendeten Betriebssystem unterschiedlich sein
# Verwendete Protokolle: Die Art der verwendeten Protokolle kann ebenfalls die Reihenfolge der Namensauflösung beeinflussen. Wenn nur das IP-Protokoll verwendet wird, erfolgt die Namensauflösung in eine IP-Adresse ausschließlich über die DNS-Namensauflösung. Wenn NetBIOS over TCP/IP verwendet wird, können sowohl die NetBIOS- als auch die DNS-Namensauflösung verwendet werden.
* Zum Beispiel priorisieren [[Microsoft Windows XP|Windows XP]] und [[Microsoft Windows 2000|Windows 2000]] die DNS-Namensauflösung, während [[Windows NT]] die NetBIOS-Namensauflösung bevorzugt
# Konfigurationsdateien und Optionen: Die Reihenfolge der Namensauflösung kann auch durch Konfigurationsdateien und Optionen festgelegt werden. Zum Beispiel legt bei UNIX-artigen Systemen die Datei "/etc/nsswitch.conf" (oder "/etc/netsvc.conf" bei [[AIX]]) die Reihenfolge fest. Samba- und Samba-TNG-Server bieten die Option "name resolve order" zur Anpassung der Prioritäten. In Windows kann die Reihenfolge seit [[Microsoft Windows NT 3.5|Windows NT 3.5]] unter dem Registry-Key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\ServiceProvider" eingestellt werden. Hierbei gilt: Eine niedrige Zahl bedeutet eine höhere Priorität. Standardmäßig unter [[Microsoft Windows 7|Windows 7]] ist die Reihenfolge 1. lokaler Name, 2. Einträge in der "hosts"-Datei, 3. DNS und 4. NetBIOS.<ref>{{Internetquelle |url=https://support.microsoft.com/de-de/topic/reihenfolge-der-microsoft-tcp-ip-hostnamensaufl%C3%B6sung-dae00cc9-7e9c-c0cc-8360-477b99cb978a |titel=Reihenfolge der Microsoft TCP/IP-Hostnamensauflösung |werk=Microsoft Support |abruf=2022-11-30}}</ref>
# Verwendete Protokolle: Die Art der verwendeten Protokolle kann ebenfalls die Reihenfolge der Namensauflösung beeinflussen
* Wenn nur das IP-Protokoll verwendet wird, erfolgt die Namensauflösung in eine IP-Adresse ausschließlich über die DNS-Namensauflösung
* Wenn NetBIOS over TCP/IP verwendet wird, können sowohl die NetBIOS- als auch die DNS-Namensauflösung verwendet werden
# Konfigurationsdateien und Optionen: Die Reihenfolge der Namensauflösung kann auch durch Konfigurationsdateien und Optionen festgelegt werden
* Zum Beispiel legt bei UNIX-artigen Systemen die Datei "/etc/nsswitch.conf" (oder "/etc/netsvc.conf" bei [[AIX]]) die Reihenfolge fest
* Samba- und Samba-TNG-Server bieten die Option "name resolve order" zur Anpassung der Prioritäten
* In Windows kann die Reihenfolge seit [[Microsoft Windows NT 3.5|Windows NT 3.5]] unter dem Registry-Key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\ServiceProvider" eingestellt werden
* Hierbei gilt: Eine niedrige Zahl bedeutet eine höhere Priorität
* Standardmäßig unter [[Microsoft Windows 7|Windows 7]] ist die Reihenfolge 1.&nbsp;lokaler Name, 2.&nbsp;Einträge in der "hosts"-Datei, 3.&nbsp;DNS und 4.&nbsp;NetBIOS


== Sonderformen ==
== Sonderformen ==
*'''[[Host Header]] (HTTP-Server)'''
*'''[[Host Header]] (HTTP-Server)'''
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 Hosting|Virtual Hosts]] bezeichnet.
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 Hosting|Virtual Hosts]] bezeichnet
 
''Bildlicher Vergleich:''<br />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


''Bildlicher Vergleich:''<br />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.
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Links ====
===== Weblinks =====


[[Kategorie:Rechnernetze]]
[[Kategorie:Rechnernetze]]
</noinclude>
</noinclude>

Version vom 16. März 2024, 09:31 Uhr

topic - Kurzbeschreibung

Beschreibung

Anhang

Siehe auch

Links

Weblinks

topic - Kurzbeschreibung

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

Beschreibung

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 (kurz DNS) 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 Protokoll HTTP wird beispielsweise zur eben erwähnten Netzwerkadresse und zum Port „80“ vom Transmission Control Protocol aufgelöst
  • Namen des IP-Protokolls haben ihrerseits wieder eine zugehörige Nummer
  • So ist z. B
  • dem Transmission Control Protocol (kurz TCP) im IP-Protokoll die ID „6“ zugewiesen, dem User Datagram Protocol (kurz UDP) die ID „17“

Bei Unix-Dateirechten ist jedem Benutzer (engl. user) und jeder Gruppe (engl. group) eine Identifikationsnummer (ID) zwischen 0 und 65535 zugeordnet – die UID (user ID) beziehungsweise GID (group ID)

  • 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 werden– 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):

  • /etc/passwd
    Lokale Benutzerdatenbank
  • Hier sind der Administrator-Benutzer („root“) und System-Benutzer von Diensten (beispielsweise der Benutzer, mit dessen Rechten der Webserver arbeitet) eingetragen
  • Findet keine zentrale Benutzerverwaltung statt, sind hier auch „normale“ Benutzer eingetragen
  • /etc/protocols
    Von der IANA zugewiesene Protokollnamen und -nummern
  • Diese Daten ändern sich sehr selten
  • /etc/hosts (s. hosts-Datei)
    Lokale Tabelle für Hostnamen
  • Hier ist zum Beispiel der Alias „localhost“ definiert
  • Ein Webserver könnte hier den Namen des Datenbankservers eintragen, um auch dann noch mit der Datenbank kommunizieren zu können, wenn die netzwerkbasierte Namensauflösung ausfällt

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

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:

  • Domain Name System (DNS)
    Kann Hostnamen beziehungsweise Domainnamen zu Adressen auflösen
  • Dieser Dienst ist die im Internet verwendete Namensauflösung, beispielsweise um die IP-Adresse für „www.wikipedia.de“ nachzuschlagen
  • Windows Internet Naming Service (WINS)
    Löst NetBIOS-Namen auf
  • Die Daten werden von Client-Rechnern an den WINS-Server gemeldet, so dass eine manuelle Konfiguration nicht notwendig ist
  • Lightweight Directory Access Protocol (LDAP)
    Kann zur Benutzer- und Gruppenverwaltung von POSIX-Accounts verwendet werden
  • LDAP bildet auch die Grundlage für den Active-Directory-Dienst von Windows-Systemen

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 der Namensauflösung hängt von verschiedenen Faktoren ab, darunter das verwendete Betriebssystem, die verwendeten Protokolle (IP oder NetBIOS over TCP/IP) sowie Konfigurationsdateien und Optionen

  • Hier sind einige Beispiele:
  1. Betriebssystem: Die Priorisierung der Namensauflösung kann je nach dem verwendeten Betriebssystem unterschiedlich sein
  1. Verwendete Protokolle: Die Art der verwendeten Protokolle kann ebenfalls die Reihenfolge der Namensauflösung beeinflussen
  • Wenn nur das IP-Protokoll verwendet wird, erfolgt die Namensauflösung in eine IP-Adresse ausschließlich über die DNS-Namensauflösung
  • Wenn NetBIOS over TCP/IP verwendet wird, können sowohl die NetBIOS- als auch die DNS-Namensauflösung verwendet werden
  1. Konfigurationsdateien und Optionen: Die Reihenfolge der Namensauflösung kann auch durch Konfigurationsdateien und Optionen festgelegt werden
  • Zum Beispiel legt bei UNIX-artigen Systemen die Datei "/etc/nsswitch.conf" (oder "/etc/netsvc.conf" bei AIX) die Reihenfolge fest
  • Samba- und Samba-TNG-Server bieten die Option "name resolve order" zur Anpassung der Prioritäten
  • In Windows kann die Reihenfolge seit Windows NT 3.5 unter dem Registry-Key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\ServiceProvider" eingestellt werden
  • Hierbei gilt: Eine niedrige Zahl bedeutet eine höhere Priorität
  • Standardmäßig unter Windows 7 ist die Reihenfolge 1. lokaler Name, 2. Einträge in der "hosts"-Datei, 3. DNS und 4. NetBIOS

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


Anhang

Siehe auch

Links

Weblinks