Dentro de la estructura global de Internet existen diversos procesos que nos permiten acceder de manera casi inmediata a los distintos sitios a los que ingresamos a diario. Te contamos cómo funciona la Publicación y Resolución del Sistema de Nombres de Dominio.
El DNS
El Sistema de Nombres de Dominio o DNS (por su sigla en inglés) permite asociar cada dirección IP - identificador numérico que posee cada dispositivo conectado a la red - con un nombre que sea más fácil de recordar: un nombre de dominio. Por ejemplo, al colocar en el navegador ‘nic.ar’, el DNS resuelve esta consulta haciendo una traducción de nombre (dominio) a número (IP) para traer el contenido que está alojado en esa dirección asociada a ese dominio. Por este motivo cada nombre de dominio es único y está compuesto por una serie de elementos que lo categorizan y ubican en la red.
Los Nombres de Dominio de Nivel Superior
Dentro de los Nombres de Dominio de Nivel Superior (Top Level Domains o TLDs) encontramos distintas categorías, por un lado los “ccTLDs” o Dominios de Nivel Superior de Código de País (‘.ar’, ‘.gt’, etc.) y por el otro los “gTLD” o Dominios de Nivel Superior Genéricos, de tres o más letras (‘.com’, ‘.musica’, etc.)
Existen cientos de organizaciones encargadas de administrar los DNS, y una de sus funciones principales es la de publicar la información de la porción de los nombres de dominio de la cual son responsables a través de servidores autoritativos.
En ese sentido, los servidores autoritativos de la raíz publican la información de delegación que permite ubicar los servidores autoritativos de cada uno de los TLD, como por ejemplo NIC Argentina que publica la zona ‘.ar’.
Como la información del DNS está distribuida en millones de servidores, averiguar la dirección asociada a un nombre de dominio determinado requiere de un proceso que consiste en averiguar cuáles son los servidores autoritativos que contienen la información de ese nombre y consultar a alguno de ellos para obtenerla.
El mecanismo para realizar dicha averiguación y consulta se denomina resolución de nombres de dominio y normalmente las organizaciones conectadas a Internet y los proveedores de servicios de Internet proveen servidores llamados resolutores iterativos de DNS que realizan esta tarea específica. Si bien el servicio de publicación autoritativa y el de resolución iterativa utilizan el mismo protocolo (DNS), cumplen distintas funciones.
Resolución de nombres de dominio
Cuando un dispositivo (teléfono, computadora, tablet) necesita conectarse con otro, por ejemplo un servidor web, se inicia el proceso de resolución de ese nombre. El dispositivo cuenta con un resolutor básico que simplemente tiene configurada la dirección IP de uno o más resolutores iterativos.
Un resolutor iterativo tiene configuradas las direcciones IP de los servidores autoritativos de la raíz, de modo de poder comenzar desde la raíz a resolver los nombres de dominio de la siguiente forma:
1. El usuario ingresa el nombre del servidor al que se quiere conectar. Por ejemplo, en el navegador ingresa www.unam.edu.ar. Éste le solicita al resolutor básico - que es interno al dispositivo - la dirección IP asociada al nombre www.unam.edu.ar.
2. El resolutor básico se conecta a un resolutor iterativo (del cual ya sabe la dirección IP) y le solicita que resuelva el nombre www.unam.edu.ar a una dirección IP.
3. Suponiendo que el resolutor iterativo no tiene ninguna información más allá de la configuración inicial, contacta a uno de los servidores raíz (que tiene configurados) y le solicita la dirección IP del nombre www.unam.edu.ar en forma autoritativa.
4. Como el servidor raíz no tiene información autoritativa de ese nombre pero sí conoce los servidores de los TLD .ar (porque esa zona está delegada desde la raíz), en su respuesta indica los nombres de los servidores autoritativos de esta zona y las direcciones IP de dichos servidores.
5. Conociendo esta información, el resolutor iterativo contacta a uno de los servidores autoritativos de la zona .ar, operados por NIC Argentina, y le solicita la dirección IP del nombre www.unam.edu.ar en forma autoritativa.
6. El servidor de la zona .ar tampoco tiene información autoritativa de ese nombre, pero sí sabe de los servidores de la zona .edu.ar, por ello, al igual que en el caso anterior responde cuáles son esos servidores de nombre.
7. Ahora el resolutor iterativo contacta a uno de los servidores autoritativos de la zona .edu.ar, operados por la Asociación Redes de Interconexión Universitaria – ARIU, y le solicita la dirección IP del nombre www.unam.edu.ar en forma autoritativa.
8. El servidor de la zona .edu.ar tampoco tiene información autoritativa de ese nombre, pero sí sabe de los servidores de la zona .unam.edu.ar, entonces responde indicando cuáles son esos servidores de nombre.
9. Una vez más, el resolutor iterativo contacta a uno de los servidores autoritativos de la zona .unam.edu.ar (operados por la Universidad Nacional de Misiones) y le solicita la dirección IP del nombre www.unam.edu.ar en forma autoritativa.
10. Como este servidor conoce la información y es responsable de ella, contesta con la dirección IP asociada a ese nombre indicando que la respuesta es autoritativa.
11. Ahora el resolutor iterativo cuenta con la respuesta a la consulta recibida en el paso 2, entonces le responde al resolutor básico del dispositivo del usuario la dirección IP asociada al nombre www.unam.edu.ar.
Dado lo largo del proceso y la cantidad de consultas que debe hacer el resolutor iterativo, normalmente, dicho servidor incluye una memoria cache local que utiliza para guardar todas las respuestas obtenidas de servidores autoritativos, tanto las intermedias como las finales. De este modo, cada dato autoritativo que obtiene lo almacena en dicha memoria con un detalle de la hora en que se almacenó y el tiempo por el cual será válida esa respuesta.
En base a esto, el proceso de resolución en una primera instancia busca la información en la memoria cache, y de encontrarlo, verifica si la respuesta almacenada aun es válida, caso contrario, inicia el proceso de consulta.
De esta manera se evidencia que, aunque ingresar a un sitio web parezca un acto instantáneo e incorporado con tanta naturalidad en nuestra cotidianeidad, detrás hay todo un proceso complejo llevado a cabo por computadoras y servidores que intervienen e interactúan constantemente. Y no solo eso, sino que también, detrás de ellos existen organizaciones y organismos encargados de administrarlos y asegurar su buen funcionamiento. El hecho de que al buscar un sitio lleguemos a su contenido, es un índice de que esa responsabilidad es llevada adelante eficientemente.