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.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
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).
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.
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.
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.
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.
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.
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.
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é.
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:
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.
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.
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).
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.
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é:
Descubre qué diferencia al DNS de Cloudflare de otros proveedores de DNS.