Was ist ein kanonischer Name?
Ein kanonischer Name ist ein Begriff, der in Computernetzwerken verwendet wird, um den tatsächlichen Namen eines Computers im Internet-Namenssystem zu identifizieren. Es wird am häufigsten in Bezug auf einen Ressourceneintrag im Domain Name System (DNS) verwendet, der für die Übersetzung von IP-Adressen (obscure Internet Protocol) in besser erkennbare Namen verantwortlich ist. In diesem Fall heißt der Ressourceneintrag im DNS CNAME und ermöglicht, dass ein anderer Name oder Alias auf den tatsächlichen Namen des Computers verweist.
Wenn ein Computer beispielsweise nach einer Website sucht, vergleicht er den im Webbrowser eingegebenen Namen mit speziellen Servern, auf denen die DNS-Einträge gehostet werden. Wenn der Name, nach dem in den DNS-Einträgen gesucht wird, in einem CNAME-Eintrag angegeben ist, erhält er den kanonischen Namen und führt dann eine zweite Suche anhand des kanonischen Namens durch, um die IP-Adresse des Hostcomputers aufzulösen. Ein häufiges Beispiel ist, wenn ein einzelner Computer mehrere Dienste hostet, z. B. eine Website und einen FTP-Dienst (File Transfer Protocol) zum Übertragen von Daten.
In einem Webbrowser kann ein Benutzer www.example.com eingeben. Während der DNS-Suche wird der kanonische Name in einem CNAME-Eintrag gefunden, der auf einen Server mit dem Namen foo.example.com verweist. Ein anderer Benutzer verwendet möglicherweise einen FTP-Client und gibt die Adresse des FTP-Servers unter ftp.example.com ein. Bei der DNS-Suche wird ein weiterer CNAME-Eintrag gefunden, der ebenfalls auf foo.example.com verweist, genau denselben Hostcomputer, der für die Website verwendet wird. In diesem Fall wurden dem DNS jedoch zwei verschiedene Namen gegeben, die zum kanonischen Namen des Servers führten.
In beiden oben genannten Fällen führt der DNS dann eine zweite Suche nach dem kanonischen Namen durch, um seine IP-Adresse im Netzwerk aufzulösen. Die IP-Adresse wird dann an den Computer zurückgesendet, der die Web- oder FTP-Anfrage stellt, damit die Datenpakete fließen können. Dies eröffnet Netzwerkadministratoren natürlich mehrere Möglichkeiten, die DNS-CNAME-Einträge auf andere Weise zu verwenden. Eine andere übliche Technik, die von Website-Hosting-Diensten verwendet wird, ermöglicht, dass ein einzelner Host-Computer mehrere Webserver mit jeweils unterschiedlichen Namen ausführt.
Aufgrund des heiklen Charakters des DNS besteht jedoch eine Reihe von Gefahren für die Implementierung kanonischer Namen mit CNAME-Einträgen, sodass die Verwendung eingeschränkt ist. Am gefährlichsten ist die Möglichkeit, während der Namenssuche eine Endlosschleife zu erstellen. Daher sollte kein CNAME-Datensatz auf einen anderen CNAME-Datensatz verweisen. Wenn beispielsweise zwei CNAME-Einträge verwendet werden, bei denen www.example.com auf den kanonischen Namen foo.example.com und dann foo.example.com auf www.example.com verweist, überprüft die Suche endlos einen Namen gegen den anderen.