¿Qué es DNS? | Como funciona DNS

DNS permite a los usuarios conectarse a sitios web usando nombres de dominio en vez de direcciones IP. Obtén información sobre cómo funciona DNS.

Metas de aprendizaje

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

  • Definir DNS
  • Entender cómo funciona DNS
  • Diferenciar entre búsquedas iterativas y recursivas de DNS
  • Separar los servidores de nombres autoritativos de las resoluciones de DNS recursivas
  • Explorar cómo funciona el almacenamiento en caché de DNS

Contenido relacionado


¿Quieres saber más?

Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar el enlace del artículo

¿Qué es DNS?

El sistema de nombres de dominio (DNS) es la agenda telefónica de Internet. Las personas acceden a la información en línea a través de nombres de dominio, tales como nytimes.com o espn.com. Los navegadores web interactúan mediante direcciones de protocolo de Internet (IP). DNS traduce los nombres de dominio a direcciones IP para que los navegadores puedan cargar los recursos de Internet.

Cada dispositivo conectado a Internet tiene una dirección IP única que pueden usar otras máquinas para encontrar el dispositivo. Con los servidores DNS, no es necesario que las personas memoricen direcciones IP, tales como 192.168.1.1 (en IPv4) o nuevas direcciones IP alfanuméricas más complejas, tales como 2400:cb00:2048:1::c629:d7a2 (en IPv6).

DNS: la lupa examina las direcciones IP, encuentra www.example.com

¿Cómo funciona DNS?

El proceso de resolución de DNS consiste en convertir un nombre de host (tal como www.example.com) en una dirección IP fácil de usar en un computadora (tal como 192.168.1.1). Se otorga una dirección IP a cada dispositivo en Internet y esa dirección será necesaria para encontrar el dispositivo apropiado de Internet, al igual que se usa la dirección de una calle para encontrar una casa en particular. Cuando un usuario quiere cargar una página web, se debe hacer una traducción entre lo que un usuario escribe en su navegador web (example.com) y la dirección fácil de usar para la máquina que se necesitará para localizar la página web example.com.

Para entender el proceso de la resolución de DNS, es importante conocer los diferentes componentes de hardware entre los que debe pasar una consulta de DNS. Para el navegador web, la búsqueda de DNS se produce "en segundo plano" y no requiere ninguna interacción del computador del usuario, aparte de la solicitud inicial.

Informe
Radar GigaOm for DNS Security 2023
Informe
Consulta el Informe sobre el panorama de las amenazas DDoS del 4.º trimestre de 2023

Hay 4 servidores DNS que intervienen al cargar un sitio web:

  • Recursor DNS: el recursor se puede comparar con un bibliotecario al que se le pide que busque un libro específico en alguna parte en una biblioteca. El recursor DNS es un servidor diseñado para recibir consultas de los equipos de los clientes mediante aplicaciones, tales como los navegadores web. En general, el recursor será entonces el responsable de hacer solicitudes adicionales para satisfacer la consulta de DNS del cliente.
  • Servidor de nombres raíz: el servidor raíz es el primer paso para traducir (resolver) nombres de host legibles por los seres humanos en direcciones IP. Se puede comparar a un índice en una biblioteca que apunta a diferentes estantes de libros, por lo general, sirve como referencia para otras ubicaciones más específicas.
  • Servidor de nombres TLD: el servidor de dominio de nivel superior (TLD) se puede comparar con una estantería de libros en una biblioteca. Es el paso siguiente en la búsqueda de una dirección IP específica, y contiene la última parte de un nombre de servidor (en ejemplo.com, el servidor TLD es “com”).
  • Servidor de nombres autorizado: este servidor de nombres final se puede comparar a un diccionario en un estante de libros, en el que un nombre específico se puede traducir a su definición. El servidor de nombres autorizado es la última parada en la consulta del servidor de nombres. Si el servidor de nombres autorizado tiene acceso al registro solicitado, devolverá la dirección IP para el nombre de host solicitado al recursor DNS (el bibliotecario) que hizo la solicitud inicial.
DNS seguro y rápido
El DNS gratuito se incluye con cualquier plan de Cloudflare

¿Cuál es la diferencia entre un servidor DNS autorizado y una resolución de DNS recursiva?

Ambos conceptos se refieren a servidores (grupos de servidores) que son integrales para la infraestructura de DNS, pero cada uno desempeña un rol diferente y se encuentra en diferentes ubicaciones dentro del trayecto de una consulta de DNS. Una forma de pensar acerca de la diferencia es que la resolución recursiva está al inicio de la consulta de DNS y el servidor de nombres autorizado está al final.

Resolución de DNS recursiva

La resolución recursiva es la computadora que responde a una solicitud recursiva de un cliente y se toma el tiempo necesario para inspeccionar el registro de DNS. Hace esto mediante una serie de solicitudes hasta que alcanza el servidor de nombres DNS autorizado para el registro solicitado (o se vuelve inactiva o devuelve un error si no encuentra ningún registro). Afortunadamente, las resoluciones de DNS recursivas no siempre tienen que hacer solicitudes múltiples para inspeccionar los registros necesarios para responder a un cliente; el almacenamiento en caché es un proceso de persistencia de datos que ayuda a saltarse las solicitudes necesarias y ofrece antes el registro de recurso solicitado en la búsqueda de DNS.

Secuencia de solicitud de registro DNS: el solucionador recursivo de DNS recibe la solicitud del cliente

Servidor DNS autorizado

Básicamente, un servidor DNS autorizado es un servidor que contiene realmente los registros de recursos DNS y es responsable de ellos. Este es el servidor al final de la cadena de búsqueda de DNS que responderá con el registro del recurso consultado, lo que finalmente permite que el navegador web que hace la solicitud alcance la dirección IP necesaria para acceder a un sitio web u otros recursos web. Un servidor de nombres autorizado puede satisfacer consultas desde sus propios datos sin necesidad de consultar otra fuente, ya que es la fuente final de confianza para ciertos registros de DNS.

Secuencia de solicitud de registro DNS: la consulta DNS llega al servidor de nombres autoritativo para cloudflare.com

Es importante mencionar que, en los casos en los que la consulta es para un subdominio, tal como foo.example.com o blog.cloudflare.com, se añadirá un servidor de nombres adicional a la secuencia después del servidor de nombres autorizado, que es el responsable de almacenar el registro CNAME del subdominio.

Secuencia de solicitud de registro DNS: consulta DNS al registro CNAME para el subdominio blog.cloudflare.com

Hay una diferencia fundamental entre muchos servicios de DNS y el que proporciona Cloudflare. Diferentes resoluciones recursivas de DNS, tales como Google DNS, OpenDNS y proveedores como Comcast, mantienen instalaciones de centro de datos de resoluciones recursivas de DNS. Estas resoluciones permiten consultas rápidas y fáciles mediante clústeres optimizados de sistemas informáticos optimizados para DNS, pero son esencialmente diferentes de los servidores de nombres alojados por Cloudflare.

Cloudflare mantiene servidores de nombres a nivel de infraestructura que son esenciales para el funcionamiento de Internet. Un ejemplo clave es la red de servidor f-root, de cuyo alojamiento es parcialmente responsable Cloudflare. El F-root es uno de los componentes de la infraestructura del servidor de nombres DNS a nivel de raíz responsable de miles de millones de solicitudes en Internet cada día. Nuestra red Anycast nos permite gestionar grandes volúmenes de tráfico de DNS sin interrumpir el servicio.

¿Cuáles son los pasos en una búsqueda de DNS?

En la mayoría de los casos, DNS se ocupa de que un nombre de dominio se traduzca a la dirección IP apropiada. Para saber cómo funciona este proceso, resulta útil seguir la ruta de una búsqueda de DNS desde un navegador web a través del proceso de búsqueda de DNS, y de regreso. Veamos los pasos.

Nota: A menudo, la información de búsqueda de DNS se almacenará en caché, en forma local dentro de la computadora que realiza la consulta o remota en la infraestructura de DNS. En una búsqueda de DNS, por lo general, hay 8 pasos. Cuando la información de DNS se almacena en caché, se omiten pasos del proceso de búsqueda de DNS, lo que acelera el proceso. El ejemplo a continuación resume los 8 pasos cuando no se almacena nada en caché.

Los 8 pasos en una búsqueda de DNS:

  1. Un usuario escribe “example.com” en un navegador web y la consulta viaja por Internet y es recibida por una resolución DNS recursiva.
  2. A continuación, la resolución consulta un servidor de nombres raíz de DNS (.).
  3. Luego, el servidor raíz responde con la dirección de un servidor DNS de dominios de primer nivel (TLD) (tales como as .com o .net), que almacena la información para sus dominios. Al buscar example.com, nuestra solicitud apuntará hacia el dominio de primer nivel .com.
  4. A continuación, la resolución hará una solicitud al dominio de primer nivel .com.
  5. Luego, el servidor de dominio de primer nivel responderá con la dirección IP del servidor de nombres de dominio, example.com.
  6. Por último, la resolución recursiva envía una consulta al servidor de nombres de dominio.
  7. La dirección IP example.com se devolverá a la resolución desde el servidor de nombres.
  8. A continuación, la resolución de DNS responderá al navegador web con la dirección IP del dominio solicitado inicialmente.

  9. Una vez que los 8 pasos de la búsqueda de DNS han devuelto la dirección IP para example.com, el navegador podrá hacer la solicitud para la página web:

  10. El navegador hará una solicitud de HTTP a la dirección IP.
  11. El servidor en esa IP devuelve la página web para que se procese en el navegador (paso 10).
Completar búsqueda de DNS y consulta de sitio web - 10 pasos

¿Qué es una resolución de DNS?

La resolución de DNS es la primera parada en la búsqueda de DNS, y tiene la responsabilidad de tratar con el cliente que hizo la solicitud inicial. La resolución inicia la secuencia de consultas que finalmente lleva a una URL traducida en la dirección IP necesaria.

Nota: una búsqueda de DNS no almacenado en caché incluirá consultas recursivas e iterativas.

Es importante diferenciar entre una consulta de DNS recursiva y una resolución de DNS recursiva. La consulta se refiere a la solicitud hecha a una resolución de DNS que requiere la resolución de la consulta. Una resolución recursiva de DNS es la computadora que acepta una consulta recursiva y procesa la respuesta haciendo las solicitudes necesarias.

La consulta DNS recursiva va del cliente DNS al solucionador recursivo de DNS

¿Qué son los tipos de consultas de DNS?

En una consulta común de DNS hay tres tipos de consultas. Al usar una combinación de estas consultas, un proceso optimizado para la resolución de DNS puede resultar en una reducción de la distancia recorrida. En una situación ideal, los datos de registro almacenados en la memoria caché estarán disponibles, y permitirán que un servidor de nombre de DNS devuelva una consulta no recursiva.

3 tipos de consultas de DNS:

  1. Consulta recursiva: en una consulta recursiva, un cliente DNS exige que un servidor DNS (en general, una resolución DNS recursiva) responda al cliente con el registro del recurso solicitado o un mensaje de error si la resolución no puede encontrar el registro.
  2. Consulta iterativa: en esta situación, el cliente DNS permitirá que un servidor DNS devuelva la mejor respuesta posible. Si el servidor DNS consultado no tiene una coincidencia para el nombre de la consulta, devolverá una referencia a un servidor DNS autorizado para un nivel más bajo del espacio de nombres del dominio. A continuación, el cliente DNS hará una consulta a la dirección de referencia. Este proceso continúa con servidores DNS adicionales por la cadena de consulta hasta que se produzca un error o se supere el tiempo de espera.
  3. Consulta no recursiva: por lo general, se produce cuando un cliente de resolución de DNS consulta a un servidor DNS sobre un registro al que tiene acceso, ya sea porque es autorizado para el registro o porque el registro existe dentro de su caché. En general, un servidor DNS almacenará en caché registros de DNS para evitar el consumo de banda ancha adicional y cargar en servidores en sentido ascendente.

¿Qué es el caché de DNS? ¿Dónde se produce el caché de DNS?

El objetivo del almacenamiento en caché es guardar datos temporalmente en una ubicación que produzca mejoras en rendimiento y fiabilidad para las solicitudes de datos. El almacenamiento en caché de DNS consiste en almacenar datos más cerca del cliente que los solicita para que la consulta de DNS se pueda resolver antes y se puedan evitar las consultas adicionales más abajo de la cadena de búsqueda de DNS, mejorar de este modo los tiempos de carga y reducir el consumo de banda ancha/CPU. Los datos de DNS se pueden almacenar en caché en diversas ubicaciones; cada una de ellas guardará los registros de DNS durante un período de tiempo determinado por un tiempo de vida (TTL).

Almacenamiento en caché de DNS del navegador

Los navegadores web modernos están diseñados, de forma predeterminada, para almacenar en caché registros de DNS por un período de tiempo establecido. El objetivo aquí es evidente: cuanto más cerca esté el almacenamiento en caché de DNS del navegador web, menos pasos de procesamiento habrá que tomar para verificar el caché y hacer las solicitudes correctas para una dirección IP. Cuando se realiza una solicitud para un registro de DNS, el caché del navegador será la primera ubicación verificada por el registro solicitado.

En Chrome, puedes ver el estado de tu caché de DNS en chrome://net-internals/#dns.

Almacenamiento en caché de DNS a nivel del sistema operativo (SO)

La resolución de DNS a nivel del sistema operativo es la segunda y última parada local antes de que una consulta de DNS deje tu equipo. Al proceso dentro de tu sistema operativo, diseñado para gestionar esta consulta, se le denomina habitualmente “resolución stub” o cliente DNS. Cuando una resolución stub recibe una solicitud de una aplicación, primero comprobará su propio caché para ver si tiene el registro. Si no lo tiene, envía una consulta de DNS (con un marcador recursivo establecido) fuera de la red local a una resolución de DNS recursiva dentro del proveedor de servicios de Internet (ISP).

Cuando la resolución recursiva dentro del ISP recibe una consulta de DNS, como en todos los pasos anteriores, también verificará si la traducción solicitada de la dirección IP al host ya está almacenada dentro de la capa persistente local.

La resolución recursiva también tiene una funcionalidad adicional según los tipos de registros que tenga en su caché:

  1. Si la resolución no tiene los registros A, pero tiene los registros NS para los servidores de nombres autorizados, consultará a estos servidores de nombres directamente, y omitirá varios pasos en la consulta de DNS. Este atajo evita búsquedas desde la raíz y servidores de nombres .com (en nuestra búsqueda para example.com) y ayuda a que la resolución de la consulta de DNS sea más rápida.
  2. Si la resolución no tiene los registros NS, enviará la consulta a los servidores TLD (.com en nuestro caso), y omitirá el servidor raíz.
  3. En el caso improbable de que la resolución no tenga registros apuntando a los servidores TLD, consultará entonces a los servidores raíz. Este evento se produce, en general, tras hacer una purga de caché de DNS.

Descubre qué diferencia al DNS de Cloudflare de otros proveedores de DNS.