Saltar al contenido
Electrónica Online

sistema de nombres de dominio (DNS)

dns que es

¿Qué es DNS?

El sistema de nombres de dominio (DNS) es una base de datos de nombres en la que se localizan los nombres de dominio de Internet y se traducen en direcciones de Protocolo de Internet (IP). El sistema de nombres de dominio asigna el nombre que la gente utiliza para localizar un sitio web a la dirección IP que una computadora utiliza para localizar ese sitio web.

Por ejemplo, si alguien escribe «ejemplo.com» en un navegador web, un servidor entre bastidores asigna ese nombre a la dirección IP correspondiente. Una dirección IP tiene una estructura similar a 203.0.113.72.

La navegación web y la mayoría de las demás actividades de Internet dependen del DNS para proporcionar rápidamente la información necesaria para conectar a los usuarios con hosts remotos. El mapeo DNS se distribuye por Internet en una jerarquía de autoridad. Los proveedores de acceso y las empresas, así como los gobiernos, universidades y otras organizaciones, suelen tener asignados sus propios rangos de direcciones IP y un nombre de dominio. También suelen tener servidores DNS para gestionar la asignación de esos nombres a esas direcciones. La mayoría de los localizadores uniformes de recursos (URL) se construyen en torno al nombre de dominio del servidor web que recibe las peticiones de los clientes.

Cómo funciona el DNS

Los servidores DNS convierten las URL y los nombres de dominio en direcciones IP que las computadoras puedan entender y utilizar. Traducen lo que un usuario escribe en un navegador a algo que la máquina puede utilizar para encontrar una página web. Este proceso de traducción y búsqueda se denomina resolución DNS.

El proceso básico de una resolución DNS sigue estos pasos:

  1. El usuario introduce una dirección web o un nombre de dominio en un navegador.
  2. El navegador envía un mensaje, llamado consulta DNS recursiva, a la red para averiguar a qué dirección IP o de red corresponde el dominio.
  3. La consulta se dirige a un servidor DNS recursivo, también llamado resolver recursivo, que suele estar gestionado por el proveedor de servicios de Internet (ISP). Si el resolver recursivo tiene la dirección, la devolverá al usuario y la página web se cargará.
  4. Si el servidor DNS recursivo no tiene una respuesta, consultará a una serie de otros servidores en el siguiente orden: Servidores de nombres raíz DNS, servidores de nombres de dominio de nivel superior (TLD) y servidores de nombres autoritativos.
  5. Los tres tipos de servidores trabajan juntos y continúan redireccionando hasta que recuperan un registro DNS que contiene la dirección IP consultada. Envía esta información al servidor DNS recursivo y se carga la página web que busca el usuario. Los servidores de nombres raíz DNS y los servidores TLD redirigen principalmente las consultas y rara vez proporcionan ellos mismos la resolución.
  6. El servidor recursivo almacena, o guarda en caché, el registro A del nombre de dominio, que contiene la dirección IP. La próxima vez que reciba una solicitud para ese nombre de dominio, puede responder directamente al usuario en lugar de consultar a otros servidores.
  7. Si la consulta llega al servidor autoritativo y éste no puede encontrar la información, devuelve un mensaje de error.

Todo el proceso de consulta a los distintos servidores dura una fracción de segundo y suele ser imperceptible para el usuario.

Los servidores DNS responden a preguntas tanto desde dentro como desde fuera de sus propios dominios. Cuando un servidor recibe una petición desde fuera del dominio para obtener información sobre un nombre o dirección dentro del dominio, proporciona la respuesta autorizada.

Cuando un servidor recibe una petición desde dentro de su dominio para un nombre o dirección fuera de ese dominio, reenvía la petición a otro servidor, normalmente uno gestionado por su ISP.

Estructura del DNS

El nombre de dominio suele estar contenido en una URL. Un nombre de dominio se compone de varias partes, denominadas etiquetas. La jerarquía del dominio se lee de derecha a izquierda y cada sección denota una subdivisión.

El TLD aparece después del punto en el nombre de dominio. Ejemplos de dominios de primer nivel son .com, .org y .edu, pero hay muchos otros. Algunos pueden denotar un código de país o ubicación geográfica, como .us para Estados Unidos o .ca para Canadá.

Cada etiqueta a la izquierda del TLD denota otro subdominio del dominio situado a la derecha. Por ejemplo, en la URL www.electronicaonline.net, «electronicaonline» es un subdominio de .net, y «www.» es un subdominio de electronicaonline.net.

Puede haber hasta 127 niveles de subdominios, y cada etiqueta puede tener hasta 63 caracteres. La longitud total de caracteres del dominio puede tener hasta 253 caracteres. Otras normas son no empezar ni terminar las etiquetas con guiones y no tener un nombre de TLD totalmente numérico.

El Grupo de Trabajo de Ingeniería de Internet (IETF) ha especificado normas sobre la implementación de nombres de dominio en el Request for Comments (RFC) 1035.

Tipos de servidores DNS

Hay varios tipos de servidores involucrados en completar una resolución DNS. La siguiente lista describe los cuatro servidores de nombres en el orden en que una consulta pasa por ellos. Proporcionan el nombre de dominio que se busca o remiten a otros servidores de nombres.

  1. Servidor recursivo. El servidor recursivo recibe consultas DNS de una aplicación, como un navegador web. Es el primer recurso al que accede el usuario y proporciona la respuesta a la consulta si la tiene almacenada en caché o accede al servidor del siguiente nivel si no la tiene. Este servidor puede pasar por varias iteraciones de consulta antes de devolver una respuesta al cliente.
  2. Servidor de nombres raíz. Este servidor es el primer lugar al que el servidor recursivo envía una consulta si no tiene la respuesta almacenada en caché. El servidor de nombres raíz es un índice de todos los servidores que tendrán la información consultada. Estos servidores están supervisados por la Corporación de Internet para la Asignación de Nombres y Números (ICANN), concretamente por una rama de ICANN llamada Autoridad de Asignación de Números de Internet.
  3. Servidor TLD. El servidor raíz dirige la consulta basándose en el dominio de primer nivel — el .com, .edu o .org de la URL. Se trata de una parte más específica de la búsqueda.
  4. Servidor de nombres autorizado. El servidor de nombres autorizado es el punto de control final de la consulta DNS. Estos servidores lo saben todo sobre un dominio determinado y se ocupan de la parte de subdominio del nombre de dominio. Estos servidores contienen registros de recursos DNS con información específica sobre un dominio, como el registro A. Devuelven el registro necesario al servidor recursivo para que lo envíe de vuelta al cliente y lo almacena en caché más cerca del cliente para futuras búsquedas.

Una forma sencilla de ver el proceso es que el servidor recursivo pregunta principalmente en nombre del usuario y el servidor autorizado responde principalmente a la consulta del usuario. Los servidores raíz y TLD gestionan la consulta mientras viaja desde el servidor recursivo a la autoridad adecuada.

Tipos de consultas DNS

Los siguientes tipos de consultas DNS son los principales que tienen lugar en diferentes puntos de la resolución DNS:

  • Las consultas DNS recursivas son las que tienen lugar entre el servidor recursivo y el cliente. La respuesta proporcionada es la resolución completa del nombre o un mensaje de error diciendo que no se puede encontrar el nombre. Las consultas recursivas terminan con la respuesta o con un error.
  • Las consultas DNS iterativas tienen lugar entre el resolutor recursivo, que es un servidor DNS local, y los servidores de nombres no locales, como la raíz, el TLD y los servidores de nombres autoritativos. Las consultas iterativas no exigen una resolución del nombre; en su lugar, los servidores de nombres pueden responder con una remisión. El servidor raíz remite al servidor recursivo al TLD, que lo remite a un servidor autoritativo. El servidor autoritativo proporciona el nombre de dominio al servidor recursivo si lo tiene. Las consultas iterativas se resuelven con una respuesta o una remisión.
  • Las consultas no recursivas son aquellas para las que el resolver recursivo ya sabe dónde obtener la respuesta. La respuesta se almacena en caché en el servidor recursivo o el servidor recursivo sabe que debe omitir los servidores raíz y TLD e ir directamente a un servidor autoritativo específico. Es no recursiva porque no hay necesidad (y, por tanto, no hay solicitud) de realizar más consultas. Las consultas no recursivas se resuelven en la respuesta. Si un resolver recursivo ha almacenado en caché una dirección IP de una sesión anterior y sirve esa dirección en la siguiente petición, se considera una consulta no recursiva.

En el proceso DNS básico, un cliente realiza una consulta recursiva al resolver recursivo, que a su vez realiza una serie de consultas iterativas que resultan en referencias a la siguiente consulta iterativa. Finalmente, la consulta se dirige al servidor autoritativo, el cual, si el resolver recursivo sabe que allí encontrará la respuesta, realiza una consulta no recursiva para recuperarla. La información se almacena entonces en el resolvedor recursivo (véase la sección «Caché DNS») para que una consulta no recursiva pueda recuperarla en el futuro.

Registros DNS comunes

Los registros DNS son la información que busca una consulta. Dependiendo de la consulta, cliente o aplicación, se requiere diferente información. Algunos registros son obligatorios, como el registro A.

Hay muchos tipos de registros DNS, cada uno con su propio propósito a la hora de indicar cómo debe tratarse una consulta. Los registros DNS más comunes son los siguientes:

  • Registro A. Significa dirección y contiene la dirección IP de un dominio. Los registros A sólo se aplican a las direcciones IPv4. En cambio, las direcciones IPv6 tienen registros AAAA, que utilizan el formato más largo de las direcciones IPv6. La mayoría de los sitios web sólo tienen un registro A, pero algunos sitios más grandes tienen varios, lo que ayuda a equilibrar la carga sirviendo diferentes registros A a diferentes usuarios en caso de tráfico intenso.
  • Registro NS. Estos registros de servidor de nombres indican qué servidor autoritativo es responsable de tener toda la información sobre un dominio determinado. A menudo, los dominios tienen servidores de nombres primarios y de reserva para aumentar la fiabilidad, y se utilizan varios registros NS para dirigir las consultas a ellos.
  • Registro TXT. Los registros TXT permiten a los administradores introducir texto en DNS. El propósito original era poner notas legibles por humanos en DNS, pero hoy en día, a menudo se ponen notas legibles por máquinas. Los registros TXT se utilizan para confirmar la propiedad del dominio, proteger el correo electrónico y contrarrestar el spam.
  • Registro CNAME. Los registros de nombres canónicos se utilizan en lugar de un registro A cuando hay un alias. Se utilizan para reintentar la consulta de la misma dirección IP con dos dominios diferentes. Un ejemplo sería en la URL www.electronicaonline.net, donde el CNAME consultaría electronicaonline.net.

¿Cómo el DNS aumenta el rendimiento de la web?

Los servidores pueden almacenar en caché los registros A, o direcciones IP, que reciben de las consultas DNS durante un tiempo determinado. El almacenamiento en caché fomenta la eficiencia, permitiendo a los servidores responder rápidamente la próxima vez que llegue una solicitud para la misma dirección IP.

Por ejemplo, si todo el mundo en una oficina necesita acceder al mismo vídeo de formación en un sitio web concreto el mismo día, el servidor DNS local sólo tendría que resolver el nombre una vez, y entonces podría servir todas las demás peticiones desde su caché. El tiempo que se mantiene el registro — también conocido como tiempo de vida (TTL) — lo fijan los administradores y depende de varios factores. Los periodos más largos reducen la carga de los servidores y los más cortos garantizan respuestas más precisas.

Caché DNS

El objetivo del almacenamiento en caché de DNS es reducir el tiempo que se tarda en obtener una respuesta a una consulta DNS. El almacenamiento en caché permite al DNS almacenar respuestas anteriores a las consultas más cerca de los clientes y obtener esa misma información más rápidamente la próxima vez que se consulte.

Los datos DNS pueden almacenarse en caché en varios lugares. Algunos de los más comunes son los siguientes:

  • Navegador. La mayoría de los navegadores, como Apple Safari, Google Chrome y Mozilla Firefox, guardan en caché los datos DNS por defecto durante un tiempo determinado. El navegador es la primera caché que se comprueba cuando se realiza una petición DNS, antes de que la petición salga de la máquina hacia un servidor de resolución DNS local.
  • Sistema operativo (SO). Muchos sistemas operativos incorporan resolutores DNS llamados stub resolvers que almacenan en caché los datos DNS y gestionan las consultas antes de que se envíen a un servidor externo. El sistema operativo suele ser consultado después del navegador u otra aplicación de consulta.
  • Resolver recursivo. La respuesta a una consulta DNS también puede almacenarse en caché en el resolver DNS recursivo. Los resolvedores pueden tener algunos de los registros necesarios para devolver una respuesta y ser capaces de saltarse algunos pasos en el proceso de resolución DNS. Por ejemplo, si el resolver tiene registros A pero no registros NS, el resolver puede saltarse el servidor raíz y consultar directamente al servidor TLD.

Seguridad DNS

DNS tiene algunas vulnerabilidades que se han descubierto con el tiempo. El poisoning de la caché DNS es una de estas vulnerabilidades. En el poisoning de caché DNS, los datos se distribuyen a los resolvers de caché, haciéndose pasar por un servidor de origen autoritativo. Los datos pueden presentar información falsa y afectar al TTL. Las solicitudes de aplicaciones reales también pueden redirigirse a una red de host maliciosa.

Un individuo con intenciones maliciosas puede crear un sitio web peligroso con un título engañoso e intentar convencer a los usuarios de que el sitio web es real, dando al hacker acceso a la información del usuario. Mediante la sustitución de un carácter en un nombre de dominio con un carácter de aspecto similar – como la sustitución del número 1 por la letra l, que puede parecer similar – un usuario podría ser engañado para seleccionar un enlace falso. Esto se aprovecha comúnmente en los ataques de phishing.

Los particulares pueden utilizar las Extensiones de Seguridad DNS para mayor seguridad. Admiten respuestas firmadas criptográficamente.

Breve historia del DNS

En la década de 1970, todos los nombres de host y sus correspondientes direcciones numéricas estaban contenidos en un único archivo llamado «HOSTS.TXT» y eran mantenidos por Elizabeth Feinler del Stanford Research Institute. Se conocía como el directorio de la Red de la Agencia de Proyectos de Investigación Avanzada, o ARPANET, y Feinler asignaba manualmente direcciones numéricas a los nombres de dominio. Para añadir un nuevo nombre al directorio había que llamar por teléfono a Feinler.

En los años 80, este sistema se volvió demasiado ineficaz para mantenerlo. En 1983, se creó el sistema de nombres de dominio para distribuir lo que inicialmente era un archivo centralizado con todas las direcciones en múltiples servidores y ubicaciones.

En 1986, el IETF incluyó el DNS entre los estándares originales de Internet. Esta organización publicó dos documentos — RFC 1034 y RFC 1035 — que describían el protocolo DNS y los tipos de datos que podía transportar.

Desde entonces, el DNS se ha actualizado y ampliado constantemente para adaptarse a la creciente complejidad de Internet. Hoy en día, grandes empresas ubicuas de tecnologías de la información, como Microsoft y Google, ofrecen sus propios servicios de alojamiento de DNS.

¿Te ha resultado útil esta información?

No
¡Gracias por tus comentarios!