¿Qué es un servidor DNS?

Cuando los usuarios escriben los nombres de dominio en la barra de direcciones de su navegador, los servidores DNS se encargan de traducir esos nombres de dominio a direcciones IP numéricas, llevándoles al sitio web correcto.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir un servidor DNS
  • Resumir una búsqueda típica de DNS
  • Explica cómo funciona el almacenamiento en caché del DNS
  • Entender las consecuencias de un fallo del servidor DNS

Copiar enlace del artículo

¿Qué es un servidor DNS?

El Sistema de nombres de dominio (DNS) es la agenda telefónica de Internet. Cuando los usuarios escriben nombres de dominio como "google.com" o "nytimes.com" en los navegadores web, el DNS se encarga de encontrar la dirección IP correcta para esos sitios. A continuación, los navegadores utilizan esas direcciones para comunicarse con los servidores de origen o los servidores perimetrales de CDN para acceder a la información del sitio web. Todo esto sucede gracias a los servidores DNS: máquinas dedicadas a responder a las consultas DNS.

¿Qué es un servidor?

Un servidor es un dispositivo o programa dedicado a prestar servicios a otros programas, denominados "clientes". Los clientes DNS, que están integrados en la mayoría de los sistemas operativos modernos de los ordenadores de escritorio y dispositivos móviles, permiten a los navegadores web interactuar con los servidores DNS. Para más información, consulta El modelo cliente-servidor.

¿Cómo resuelven los servidores DNS una consulta DNS?

En una consulta DNS típica sin ningún tipo de almacenamiento en caché, hay cuatro servidores que trabajan en conjunto para entregar una dirección IP al cliente: solucionadores recursivos, servidores de nombres raíz, servidores de nombres de primer nivel y servidores de nombres autoritativos.

El recursor DNS (también llamado solucionador DNS) es un servidor que recibe la consulta del cliente DNS, y luego interactúa con otros servidores DNS para buscar la IP correcta. Una vez que el solucionador recibe la petición del cliente, este se comporta como un cliente, consultando a los otros tres tipos de servidores DNS en busca de la IP correcta.

Búsqueda de DNS

Primero, el solucionador consulta el servidor de nombre raíz. El servidor raíz es el primer paso para traducir (solucionar) los nombres de dominio legibles para humanos a direcciones IP. Luego, el servidor raíz responde al solucionador con la dirección de un servidor DNS del dominio de primer nivel (TLD) (como .com o .net), que almacena la información de sus dominios.

A continuación, el solucionador consulta al servidor de primer nivel. El servidor de primer nivel responde con la dirección IP del servidor de nombres autoritativo del dominio. Entonces, el recursor consulta al servidor de nombres autoritativo, que responderá con la dirección IP del servidor de origen.

Finalmente, el solucionador devolverá al cliente la dirección IP del servidor de origen. Con esta dirección IP, el cliente puede iniciar una consulta directamente al servidor de origen, y este responderá enviando datos del sitio web que el navegador puede mostrar e interpretar.

¿Qué es el almacenamiento en caché de DNS?

Además del proceso descrito anteriormente, los solucionadores recursivos también pueden resolver consultas DNS utilizando datos almacenados en caché. Después de recuperar la dirección IP correcta de un sitio web determinado, el solucionador almacenará esa información en su caché durante un tiempo limitado. Durante este periodo de tiempo, si otros clientes envían solicitudes para ese nombre de dominio, el solucionador puede saltarse el típico proceso de búsqueda de DNS y simplemente responder al cliente con la dirección IP guardada en la caché.

Una vez que el límite de tiempo de caché caduca, el solucionador debe recuperar la dirección IP de nuevo, y crea una nueva entrada en su caché. Este límite de tiempo, denominado tiempo de vida (TTL) se establece explícitamente en los registros DNS para cada sitio. Normalmente, el TTL está en el rango de 24-48 horas. Un TTL es necesario porque los servidores web cambian ocasionalmente sus direcciones IP, así que los solucionadores no pueden servir la misma IP desde la caché de forma indefinida.

¿Qué pasa cuando fallan los servidores DNS?

Los servidores DNS pueden fallar por muchas razones, como apagones, ciberataques y fallos de hardware. En los primeros días de Internet, las interrupciones del servidor DNS podían tener un impacto relativamente importante. Afortunadamente, en la actualidad hay mucha redundancia integrada en DNS. Por ejemplo, hay muchas instancias de los servidores DNS raíz y de los servidores de nombres de primer nivel, y la mayoría de los ISP tienen solucionadores recursivos de reserva para sus usuarios. (Los usuarios individuales también pueden utilizar solucionadores de DNS públicos, como el 1.1.1.1. de Cloudflare.) La mayoría de los sitios web más famosos también tienen varias instancias de sus servidores de nombres autoritativos.

En el caso de una interrupción importante del servidor DNS, algunos usuarios pueden experimentar retrasos debido a la cantidad de solicitudes que están gestionando los servidores de reserva, pero se necesitaría una interrupción del DNS de enormes proporciones para que una parte significativa de Internet dejara de estar disponible. (De hecho, esto ocurrió en 2016, cuando el proveedor de DNS Dyn sufrió uno de los mayores ataques DDoS de la historia). Cloudflare ofrece un servicio de DNS gestionado, que viene con seguridad de DNS incorporada, que está destinada a proteger los servidores DNS de los ataques, así como de otras fuentes habituales que provocan fallos en el servidor.