Qu'est-ce qu'un nom canonique?
Un nom canonique est un terme utilisé en réseau pour identifier le nom réel d'un ordinateur dans le système de nommage Internet. Il est le plus souvent utilisé en référence à un enregistrement de ressource dans le système de noms de domaines (DNS), chargé de traduire les adresses IP (protocole Internet) obscures en noms plus reconnaissables. Dans ce cas, l'enregistrement de ressource dans le DNS s'appelle CNAME et permet à un autre nom, ou alias, de pointer vers le vrai nom de l'ordinateur.
Lorsqu'un ordinateur recherche un site Web, par exemple, il compare le nom saisi dans le navigateur Web à des serveurs spéciaux hébergeant les enregistrements DNS. Si le nom recherché dans les enregistrements DNS est spécifié dans un enregistrement CNAME, il reçoit le nom canonique, puis effectue une seconde recherche sur le nom canonique pour résoudre l'adresse IP de l'ordinateur hôte. Un exemple assez courant est celui où un seul ordinateur héberge plusieurs services, tels qu'un site Web et un service de protocole de transfert de fichiers (FTP) pour le transfert de données.
Dans un navigateur Web, un utilisateur peut saisir www.example.com. Lors de la recherche DNS, il rencontre le nom canonique dans un enregistrement CNAME qui pointe vers un serveur nommé foo.example.com. Un autre utilisateur peut alors utiliser un client FTP et taper l'adresse du serveur FTP à l'adresse ftp.example.com. La recherche DNS rencontre une autre entrée CNAME qui pointe également vers foo.example.com, le même ordinateur hôte que celui utilisé pour le site Web. Dans ce cas, cependant, deux noms différents ont été attribués au DNS, ce qui a conduit au nom canonique du serveur.
Dans l'un ou l'autre des cas ci-dessus, le DNS effectue ensuite une deuxième recherche du nom canonique afin de résoudre son adresse IP sur le réseau. L'adresse IP est ensuite renvoyée à l'ordinateur à l'origine de la requête Web ou FTP afin que les paquets de données puissent commencer à circuler. Bien entendu, cela offre aux administrateurs réseau plusieurs possibilités pour utiliser les enregistrements DNS CNAME d'une autre manière. Une autre technique couramment utilisée par les services d'hébergement de sites Web permet à un seul ordinateur hôte d'exécuter plusieurs serveurs Web, chacun portant un nom différent.
En raison de la nature délicate du DNS, cependant, l’implémentation de noms canoniques avec des enregistrements CNAME présente un certain nombre de dangers, de sorte que son utilisation est soumise à des restrictions. Le plus dangereux est la possibilité de créer une boucle infinie lors de la recherche d'un nom. Par conséquent, aucun enregistrement CNAME ne doit pointer vers un autre enregistrement CNAME. Si, par exemple, deux enregistrements CNAME sont utilisés, www.example.com désignant le nom canonique foo.example.com, puis foo.example.com renvoyant à www.example.com, la recherche vérifiera sans cesse un nom. contre l'autre.