El sistema DNS (Domain Name System) es el medio por el cual los clientes que consultan a una cierta dirección URL traducen el nombre del dominio a una dirección IP (IPv4 o IPv6), a la cual se hará conexión para solicitar un determinado recurso.
Para este fin, el sistema cuenta con diferentes servidores ubicados en distintas partes del mundo para traducir nombres de dominino a direcciones IP.
Supongamos que queremos acceder a la página www.ejemplo.com desde nuestro navegador.
Al generar la solicitud, el navegador primero consulta a la caché DNS de nuestro sistema operativo, que, para evitar latencia en consultas reiteradas, guarda dominios que hayamos visitado con sus correspondientes IP. Por ejemplo, en Windows, podemos ver la caché DNS a través del comando ipconfig /displaydns
.
Allí, consulta si existe una dirección IP asociada al nombre de dominio www.ejemplo.com.
Si está, la solicitud se realiza a esa dirección IP.
Si no, nuestro sistema operativo consulta los datos la IP de este nombre de dominio a nuestro servidor DNS de nuestro ISP, el Resolver de nuestro ISP. Éste también cuenta con una caché DNS en este caso, a la cual también consulta para responder con la dirección IP correspondiente a www.ejemplo.com.
Si no la encuentra en su caché, éste consulta a un servidor raíz asociado. Los servidores raíces son una red de servidores distribuidos en el mundo que se encargan de ubicar la ruta DNS raíz y son configurados en la raíz DNS por 13 servidores principales manejados por 12 organizaciones independientes, que luego redirigen las consultas a direcciones de dominio a su correspondiente servidor TLD (Top Level Domain): aquellos que manejan espacios de dominio .com, .net, .org, etc.
Estos servidores no almacenan direcciones IP específicas para un dominio, pero sí la dirección IP del servidor de Nombres Autoritario que le corresponde. En el ejemplo, aquél que maneja el espacio de nombres de .com.
Este es el servidor donde el registrante de nombres de dominio registra la IP relacionada a un dominio específico, al comprar un servicio de hosting que proporcione un dominio para la IP de nuestra página. Ejemplos de éstos son Hostinger, IONOS, GoDaddy.
Ya el servidor de Nombres Autoritario responde a la solicitud con la dirección IP relacionada con el nombre de dominio al que enviamos la solicitud.
Ahora el navegador tiene la dirección IP a la cual se conectará para hacer la transferencia de datos.
Como la caché de nuestro sistema ahora conoce la dirección IP relacionada al nombre de dominio, la guarda en la caché DNS.
Inicialmente, lo que vino a resolver el DNS fue la manera de almacenar las direcciones IP de los dispositivos y servidores en la Web que habían aumentado con la evolución de Internet. Luego, además de identificar de una manera más fácil la dirección IP a la cual hacer una petición con el nombre de dominio, el sistema DNS vino a resolver el tráfico y la carga que suponía la consulta hacia muchas páginas Web registradas: la resolución de nombre de dominio está distribuida sobre muchos servidores en todo el mundo, y, de expandirse la red a un lugar donde antes no llegaba, se sumaría otro servidor que se encargue de resolver la consulta sobre el nombre de dominio. Ahora, además de almacenar la información para la resolución de nombres de dominio y así distribuir la carga, y asociar direcciones IP de servidores de páginas Web a nombres de dominio más amigables para la lectura, también facilita el registro de nuevos nombres de dominio y la baja de aquéllos que ya no estén vigentes.
Fuentes:
Domain Names - Concepts and Facilities. IETF. https://tools.ietf.org/html/rfc882
Domain - Implementation and Specification. IETF. https://tools.ietf.org/html/rfc883 root-servers.org https://root-servers.org/
Root Servers. IANA. https://www.iana.org/domains/root/servers
CCNP Enterprise Design ENSLD 300-420 Official Cert Guide: Designing Cisco Enterprise Networks (Certification Guide). Anthony Bruno, Steve Jordan. 2020.