Un nombre canónico es un término utilizado en redes de computadoras para identificar el nombre real de una computadora dentro del sistema de nombres de Internet. Se utiliza con mayor frecuencia en referencia a un registro de recursos en el sistema de nombres de dominio (DNS), que es responsable de traducir direcciones de protocolo de Internet (IP) poco conocidas en nombres más reconocibles. En este caso, el registro de recursos en el DNS se llama CNAME y permite que otro nombre, o alias, apunte al nombre real de la computadora.
Cuando una computadora está buscando un sitio web, por ejemplo, verifica el nombre escrito en el navegador web con servidores especiales que alojan los registros DNS. Si el nombre que se busca en los registros DNS se especifica en un registro CNAME, recibe el nombre canónico y luego realiza una segunda búsqueda con el nombre canónico para resolver la dirección IP de la computadora host. Un ejemplo bastante común es cuando una sola computadora aloja varios servicios, como un sitio web y un servicio de protocolo de transferencia de archivos (FTP) para transferir datos.
En un navegador web, un usuario puede escribir www.example.com. Durante la búsqueda de DNS, encuentra el nombre canónico en un registro CNAME que apunta a un servidor llamado foo.example.com. Otro usuario puede estar usando un cliente FTP y escribiendo la dirección del servidor FTP en ftp.example.com. La búsqueda de DNS encuentra otra entrada CNAME que también apunta a foo.example.com, la misma máquina host exacta que se está utilizando para el sitio web. En este caso, sin embargo, se le dieron dos nombres diferentes al DNS, lo que llevó al nombre canónico del servidor.
En cualquiera de los casos anteriores, el DNS luego realiza una segunda búsqueda del nombre canónico para resolver su dirección IP en la red. Luego, la dirección IP se envía de regreso a la computadora que realiza la solicitud web o FTP para que los paquetes de datos puedan comenzar a fluir. Por supuesto, esto abre varias posibilidades para que los administradores de red utilicen los registros CNAME de DNS de otras formas. Otra técnica común utilizada por los servicios de alojamiento de sitios web permite que una sola computadora host ejecute varios servidores web, cada uno con un nombre diferente.
Sin embargo, debido a la naturaleza delicada del DNS, existen varios peligros al implementar nombres canónicos con registros CNAME, por lo que existen restricciones para su uso. El más peligroso es la posibilidad de crear un bucle infinito durante la búsqueda de un nombre, por lo que ningún registro CNAME debería apuntar a otro registro CNAME. Si, por ejemplo, se utilizan dos registros CNAME, donde www.example.com apunta al nombre canónico foo.example.com y luego foo.example.com apunta a www.example.com, la búsqueda verificará un nombre sin cesar. contra el otro.