# Hostname

Der Hostname (auch Computername oder Sitename) ist eine Bezeichnung eines Rechners in einem Netzwerk. Er wird vorwiegend beim elektronischen Datenaustausch (z. B. E-Mail, Usenet, FTP) benutzt, um den Kommunikationspartner in einem von Menschen les- und merkbaren Format anzugeben. Die Umsetzung des Hostname in eine maschinenlesbare Adresse erfolgt im Internet heute vorwiegend über das Domain Name System (DNS), historisch über die hosts-Datei. In lokalen Netzen erfolgt die Umsetzung teils per DNS, teils noch mit NIS und anderen proprietären Protokollen. Welche Namen technisch zulässig sind, regelt das im jeweiligen Fall verwendete Protokoll zur Namensauflösung – im Internet also das Domain Name System.

## Hostname als Name eines physischen Systems

Der Hostname eines physischen Systems (Computer, Host) ist der Name, unter dem sich das System selbst kennt und mit dem sich das System meldet. Sichtbar kann dieser Hostname werden, wenn ein Rechner eine System-Mail verschickt, beispielsweise im Absender von Status-Meldungen oder Bounce Messages oder wenn sich ein Benutzer auf einem Server anmeldet.
Der Hostname kann auf UNIX-artigen Systemen traditionell mit dem Kommando hostname gesetzt und ausgelesen werden. Modernes Linux hat nicht nur einen, sondern drei Rechnernamen wie localhost, die zu zwei Dritteln Punkte ausschließen, mittels des Befehls hostnamectl ausgelesen und auf verschiedene Weise gesetzt werden können. Seine Fully Qualified Domain Names (FQDNs) ermittelt Linux durch Namensauflösung seines entsprechenden Hostnamens.
Der Hostname kann weitgehend frei gewählt werden. Häufig wird er genutzt, um den Verwendungszweck der Rechner (z. B. ns, mail, ftp, serv1, serv2, serv3 etc.) zu kennzeichnen, nicht selten wird er aber auch willkürlich in Anlehnung an Figuren aus Literatur und Film, an Fabelwesen oder Götter vergeben.

## Hostname als Name eines Netzwerkknotens

NetBIOS over TCP/IP sieht Dateien namens LMHOSTS oder auch Broadcasts zur Registrierung von Computernamen vor. NetBIOS selbst erlaubt bis zu 16 Zeichen lange Stationsnamen. Sowohl NetBIOS over TCP/IP per Broadcasts als auch NetBEUI ermöglicht kein Routing.
Multicast DNS, kurz mDNS, arbeitet mit Multicasts und auf .local endenden Hostnamen.
Im Domain Name System werden AAAA-Resource-Records (IPv6) und A-Resource-Records eingetragen, die einem Namen eine IP-Adresse zuordnen. Dieser Name kann, muss aber nicht der Hostname sein, den der Host mit dieser IP-Adresse führt. Dadurch kann ermöglicht werden, dass ein Host unter verschiedenen Namen erreichbar ist.
Beispiel:
    Auf einem Host läuft ein Webserver, der mehrere Kunden betreut. Die Website des einen ist über beispiel1.de, die des anderen über beispiel2.de erreichbar. Beide Namen werden mit derselben IP-Adresse im Domain Name System eingetragen.
Der vollständige Name eines Netzwerkknotens ist meist zusammengesetzt aus einem Teil, der einen Dienst beschreibt (z. B. www, mail, ftp etc.) und einem Domain-Teil (z. B. wikipedia.org). Diese Praxis ist jedoch historisch gewachsen und nur dann sinnvoll, wenn diese Dienste von unterschiedlichen Hosts bereitgestellt werden. Da für das Domain-Name-System kein Unterschied zwischen Domains und Subdomains existiert, lassen sich A- und AAAA-Resource-Records auch direkt auf den Domain-Teil eintragen, z. B.:
Eine Unterscheidung mit Bezug auf den aufgerufenen Hostname ist regelmäßig nur bei HTTP möglich.

## Richtlinien

Hostnames bestehen, wie alle Domainnamen, aus mehreren „Labels“, die untereinander durch einen Punkt getrennt werden. Jedes Label muss 1–63 Zeichen lang sein, maximal darf der Domainname insgesamt 255 Zeichen umfassen.
Im Gegensatz zu Domainnamen dürfen Hostnames nur aus den ASCII-Zeichen a–z bzw. A–Z (zwischen Groß- und Kleinbuchstaben wird nicht unterschieden), den Ziffern 0–9 und dem Bindestrich-Minus - bestehen. Die einzelnen Labels dürfen nicht mit einem Bindestrich anfangen oder aufhören. Andere Sonderzeichen als der Bindestrich (und der Punkt zwischen den Labels) sind nicht erlaubt, obwohl sie gelegentlich trotzdem verwendet werden. Obwohl laut RFC 952 nicht zulässig, kann man auf Windows-Systemen Unterstriche verwenden, wenn man die Warnmeldungen des Systems ignoriert. Manche Systeme, so zum Beispiel DKIM und der SRV Resource Record, verwenden den Unterstrich absichtlich, um sicherzustellen, dass ihre speziellen Domains nicht mit Hostnames verwechselt werden. Da nur bestimmte Systeme die Gültigkeit von Hostnames überprüfen, hat die Benutzung ungültiger Zeichen wie zum Beispiel des Unterstriches zu verschiedenen Problemen in Systemen geführt, die mit der ganzen Welt verbunden sind.
Der Hostname de.wikipedia.org besteht also aus den DNS-Labels de, wikipedia und org. Labels wie 2600 und 3com dürfen in Hostnames benutzt werden, -hi- und *hi* sind dagegen ungültig.

## Geschichte

* RFC 226 – Standardization of host mnemonics. 20. September 1971 (6 Zeichen zur Beschreibung eines Hostname, im Beispiel werden nur Großbuchstaben und Zahlen genutzt, englisch).
* RFC 229 – Standard host names. 22. September 1971 (8 Zeichen zur Beschreibung eines Hostname, im Beispiel werden nur Großbuchstaben, Zahlen und Bindestrich genutzt, englisch).
* RFC 237 – NIC view of standard host names. 5. Oktober 1971 (mindestens 8 Zeichen mit Hinweis auf die Nutzung von bis zu 12 Zeichen bei der NIC, englisch).
* RFC 280 – A Draft of Host Names. 17. November 1971 (eine erste Entwurfs-Übersicht über Hosts mit Hostname im Netzwerk; genutzt werden bis zu 11 Zeichen, englisch).
* RFC 289 – What we hope is an official list of host names. 21. Dezember 1971 (eine erste offizielle Übersicht über Hosts mit Hostname im Netzwerk; genutzt werden bis zu 11 Zeichen, englisch).
* RFC 597 – Host Status. 12. Dezember 1973 (Übersicht über Hosts mit Hostname im Netzwerk; genutzt werden bis zu 12 Zeichen, englisch).
* RFC 608 – Host names on-line. 10. Januar 1974 (48 Zeichen zur Beschreibung eines Hostname, bestehend aus Großbuchstaben, Zahlen und dem Bindestrich, englisch).
* RFC 810 – DoD Internet host table specification. 1. März 1982 (24 Zeichen zur Beschreibung eines Hostname, bestehend aus Großbuchstaben, Zahlen, dem Bindestrich und einem Punkt, englisch).
* RFC 952 – DoD Internet host table specification. Oktober 1985 (der Punkt darf nur benutzt werden, um Domain-Namen voneinander zu trennen, englisch).
* RFC 1123 – Requirements for Internet Hosts – Application and Support. Oktober 1989 (Software zur Auflösung von Hostnames muss bis zu 63 Zeichen unterstützen und sollte bis zu 255 Zeichen unterstützen, englisch).