Cómo funciona DNS
Aprende cómo DNS traduce nombres de dominio en direcciones IP para que los clientes puedan encontrar y conectarse a los servicios.
Por qué existe DNS
Los humanos piensan en nombres de dominio, pero las computadoras se comunican usando direcciones IP — DNS conecta esa diferencia.
- Los humanos prefieren nombres legibles como google.com, no direcciones IP numéricas.
- Las redes enrutan el tráfico usando direcciones IP como 142.250.x.x.
- DNS traduce nombres de dominio en direcciones IP para que la comunicación pueda comenzar.
Detalles
Cuando escribes un nombre de dominio en un navegador, tu computadora no puede usar ese nombre directamente para enviar datos a través de Internet. Los routers no entienden palabras — reenvían paquetes basándose en direcciones IP numéricas.
Por ejemplo, escribir google.com eventualmente debe resolverse en algo como 142.250.190.14. Esa dirección IP identifica el servidor de destino en la red global.
Sin un sistema de traducción, cada usuario tendría que memorizar direcciones IP para cada servicio que usa. Esto es claramente irreal a escala de Internet.
El Sistema de Nombres de Dominio (DNS) actúa como la guía telefónica distribuida de Internet. Asigna nombres legibles por humanos a direcciones IP legibles por máquinas para que la comunicación realmente pueda comenzar.
Dónde encaja DNS en el ciclo de vida de la solicitud
La resolución DNS ocurre antes de que pueda producirse cualquier conexión TCP o solicitud HTTP.
- DNS primero debe resolver un nombre de dominio en una dirección IP.
- TCP no puede establecer una conexión sin una IP de destino.
- HTTP depende por completo de la conexión creada después de DNS.
Detalles
Cuando escribes una URL en tu navegador, el sistema no puede enviar una solicitud HTTP de inmediato. Primero necesita saber a dónde enviar esa solicitud.
La resolución DNS es el primer paso de red. El navegador pregunta: “¿Qué dirección IP corresponde a este nombre de dominio?” Solo después de recibir la dirección IP el sistema puede iniciar un handshake TCP con el servidor de destino.
La secuencia es estricta:
DNS → conexión TCP → solicitud HTTP → respuesta del servidor
Si DNS falla, todo el proceso se detiene de inmediato. No hay intento de conexión, no hay negociación de cifrado y no hay comunicación en la capa de aplicación. DNS es el guardián que permite todo lo demás en el ciclo de vida de la solicitud.
Resolución DNS recursiva: el recorrido completo
Si una dirección IP no está almacenada en caché localmente, la resolución DNS se convierte en una búsqueda recursiva de varios pasos a través de la jerarquía global de DNS.
- El sistema verifica varias cachés antes de consultar servidores DNS externos.
- Un resolvedor recursivo realiza búsquedas jerárquicas en nombre del cliente.
- La resolución fluye desde Root → TLD → servidor autoritativo → de vuelta al cliente.
Detalles
Cuando solicitas un nombre de dominio, el navegador no contacta de inmediato con la infraestructura global de DNS. Primero revisa las fuentes locales:
- Caché del navegador
- Caché del sistema operativo
- Caché del router
Si no existe ningún resultado en caché, la solicitud se envía a un resolvedor DNS recursivo, normalmente operado por tu ISP o por un proveedor público como 8.8.8.8.
Luego, el resolvedor realiza una búsqueda jerárquica:
- Pregunta a un servidor Root: “¿Dónde puedo encontrar
.com?” - El Root responde con la dirección del servidor TLD (Top-Level Domain) correspondiente.
- El resolvedor pregunta al servidor TLD: “¿Dónde está
example.com?” - El TLD responde con el servidor de nombres autoritativo para ese dominio.
- El resolvedor pregunta al servidor autoritativo por la dirección IP real.
Una vez que el servidor autoritativo devuelve la IP, el resolvedor la envía de vuelta al cliente y la almacena en caché para usos futuros.
Todo este proceso suele ocurrir en milisegundos, pero estructuralmente implica que varios servidores distribuidos globalmente trabajen juntos para resolver un solo nombre de dominio.
Caché y TTL
DNS sería demasiado lento y estaría sobrecargado si cada consulta llegara a los servidores raíz, así que el caché almacena resultados temporalmente para reducir búsquedas repetidas.
- Las respuestas DNS se almacenan en caché en varios niveles para evitar búsquedas globales repetidas.
- TTL (Time To Live) define cuánto tiempo puede almacenarse un registro DNS.
- El caché reduce drásticamente la latencia y la carga de infraestructura.
Detalles
Si cada búsqueda de dominio requiriera contactar a los servidores raíz, a los servidores TLD y a los servidores autoritativos cada vez, DNS se convertiría rápidamente en un cuello de botella global.
Para evitar esto, las respuestas DNS se almacenan en caché en varios puntos: el navegador, el sistema operativo, el router y el resolvedor recursivo. Una vez que se resuelve un dominio, el resultado se almacena temporalmente para que las solicitudes futuras puedan omitir el recorrido recursivo completo.
Cada registro DNS incluye un valor de TTL (Time To Live), medido en segundos. TTL indica a los resolvedores cuánto tiempo pueden conservar el registro antes de que deba actualizarse desde la fuente autoritativa.
Los valores de TTL cortos permiten a los propietarios de dominios cambiar direcciones IP más rápidamente, mientras que los valores de TTL largos mejoran el rendimiento y reducen el tráfico DNS. TTL es el equilibrio entre flexibilidad y eficiencia.
El caché es la razón por la que la resolución DNS normalmente se siente instantánea, aunque el sistema subyacente esté distribuido globalmente.
Tipos de registros que importan
Los diferentes tipos de registros DNS definen cómo un dominio se asigna a direcciones IP u otros servicios.
- Los registros A y AAAA asignan un dominio directamente a direcciones IPv4 o IPv6.
- CNAME crea un alias que apunta un dominio a otro.
- Los registros MX definen qué servidores de correo gestionan el email de un dominio.
Detalles
DNS hace más que traducir un nombre a una sola IP. Almacena registros estructurados que definen cómo deben comportarse los distintos servicios.
Un registro A asigna un nombre de dominio a una dirección IPv4 (por ejemplo, example.com → 93.184.216.34).
Un registro AAAA cumple la misma función, pero para direcciones IPv6.
Un registro CNAME (Canonical Name) crea un alias. En lugar de apuntar directamente a una dirección IP, apunta un nombre de dominio a otro nombre de dominio. Esto se usa comúnmente cuando los servicios están alojados en plataformas externas.
Un registro MX (Mail Exchange) especifica qué servidores de correo son responsables de gestionar el email de un dominio. Incluye valores de prioridad para admitir servidores de correo de respaldo.
Entender estos tipos de registros básicos explica cómo se resuelven los sitios web, cómo funcionan los alias y cómo se controla el enrutamiento del correo a través de DNS.
DNS y balanceo de carga
DNS puede distribuir el tráfico devolviendo diferentes direcciones IP para el mismo nombre de dominio.
- Un dominio puede asignarse a múltiples direcciones IP.
- Los resolvers pueden rotar las respuestas usando un comportamiento round-robin.
- DNS puede enrutar usuarios según su ubicación geográfica.
Detalles
Un solo sitio web rara vez está alojado en un único servidor. Los servicios con mucho tráfico operan múltiples servidores en distintas regiones para mejorar el rendimiento y la confiabilidad.
DNS permite una distribución básica de la carga asociando un dominio con múltiples registros A o AAAA. Cuando un resolver consulta el dominio, puede recibir diferentes direcciones IP en orden alternado. Esto se llama DNS round-robin.
Las configuraciones más avanzadas usan DNS basado en geolocalización, donde el resolver devuelve una dirección IP según la ubicación aproximada del usuario. Por ejemplo, un usuario en Europa puede ser dirigido a un centro de datos europeo en lugar de uno en Norteamérica.
Aunque el balanceo de carga basado en DNS es relativamente simple en comparación con los balanceadores de carga de la capa de aplicación, es escalable a nivel global y ocurre antes incluso de que se establezca una conexión.
Por lo tanto, DNS hace más que traducir nombres: puede influir en el rendimiento, la disponibilidad y la distribución del tráfico a escala de Internet.
¿Qué sucede si falla DNS?
Si DNS no puede resolver un nombre de dominio, todo el ciclo de vida de la solicitud se detiene antes de que se establezca cualquier conexión.
Búsqueda DNS
Handshake TCP
TLS
Solicitud HTTP
- Si un dominio no se resuelve, no puede comenzar ninguna comunicación TCP ni HTTP.
- Los fallos pueden ocurrir en el resolver, en el servidor autoritativo o debido a registros caducados.
- Los problemas de DNS suelen aparecer como errores de “servidor no encontrado” o “no se puede resolver el host”.
Detalles
DNS es el punto de entrada al ciclo de vida de una solicitud en Internet. Si falla, todo lo que depende de él falla automáticamente.
Los escenarios comunes de fallo incluyen:
- El recursive resolver no está disponible o está mal configurado.
- El authoritative name server está caído.
- El registro DNS se cambió recientemente, pero aún no se ha propagado por completo.
- El TTL expiró y una nueva consulta no puede obtener una respuesta válida.
- El dominio en sí está mal configurado o ya no existe.
Desde la perspectiva del usuario, los fallos de DNS suelen aparecer como mensajes como “DNS_PROBE_FINISHED_NXDOMAIN” o “Server not found.” Estos errores ocurren antes de que comience cualquier handshake TCP o negociación TLS.
Como DNS opera antes del establecimiento de la conexión, su fallo bloquea toda la comunicación de la capa de aplicación. El sistema no puede conectarse a lo que no puede localizar.
Sección de preguntas
1 / 5