| 
				   | 
				
| Zeile 8: | 
Zeile 8: | 
 | ==== Links ====  |  | ==== Links ====  | 
 | ===== Weblinks =====  |  | ===== Weblinks =====  | 
 | 
  |  | 
 | = TMP =
  |  | 
 | 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 ==
  |  | 
 | 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
  |  | 
 | * 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 ==
  |  | 
 | 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
  |  | 
 | # Hosts-Datei: Die Hosts-Datei auf dem lokalen Computer wird durchsucht
  |  | 
 | # DNS-Abfrage: Es wird eine Anfrage an einen DNS-Server im Netzwerk gesendet
  |  | 
 | # [[NetBIOS]]-Namenszwischenspeicher: Der NetBIOS-Namenszwischenspeicher wird auf dem lokalen Computer durchsucht
  |  | 
 | # [[Windows Internet Naming Service|WINS]]-Abfrage: Es wird eine Anfrage an einen WINS-Server im Netzwerk gesendet
  |  | 
 | # [[Broadcast]]: Es wird ein NetBIOS-Broadcast an das eigene Subnetz gesendet
  |  | 
 | # 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):'''
  |  | 
 | * <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/protocols</code><br />Von der [[IANA]] zugewiesene Protokollnamen und -nummern
  |  | 
 | * Diese Daten ändern sich sehr selten
  |  | 
 | * <code>/etc/hosts</code> (s. [[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
  |  | 
 | 
  |  | 
 | === 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
  |  | 
 | 
  |  | 
 | ''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
  |  | 
 | 
  |  | 
 | === 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)<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
  |  | 
 | * [[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
  |  | 
 | 
  |  | 
 | === 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:''<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 ===
  |  | 
 | 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
  |  | 
 | # 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. lokaler Name, 2. Einträge in der "hosts"-Datei, 3. DNS und 4. NetBIOS
  |  | 
 | 
  |  | 
 | == Sonderformen ==
  |  | 
 | *'''[[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
  |  | 
 | 
  |  | 
 | ''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
  |  | 
 | 
  |  | 
  | 
 | [[Kategorie:Rechnernetze]]  |  | [[Kategorie:Rechnernetze]]  | 
 | </noinclude>  |  | </noinclude>  |