Fundamentos del Sistema de Nombres de Dominio (DNS): Estructura y Funcionamiento

1. Introducción al Servicio DNS y Nombres de Dominio

1.1 ¿Qué es un servicio DNS?

El Sistema de Nombres de Dominio (*Domain Name System*) es un sistema que hace legibles para los usuarios las direcciones IP. Para ello, asocia direcciones numéricas con direcciones alfanuméricas.

  • Permite localizar equipos y servicios mediante nombres fáciles de recordar (alfanuméricos).
  • Sin DNS, el usuario debería acceder a los recursos mediante el uso de las direcciones IP.

1.2 Nombres de Dominio

Cuando hablamos de nombres de dominio, nos referimos a una base de datos que relaciona nombres de un ordenador o de un conjunto de ellos.

Historia del DNS

El DNS surge para reemplazar el sistema de nombres planos, el cual se basaba en un archivo hosts que vinculaba los nombres de los equipos con sus IPs. A medida que la red creció y se volvió más compleja, surgió la necesidad de un sistema más escalable y jerárquico.

En 1984, se introdujo el DNS, un sistema descentralizado y jerárquico organizado en forma de árbol. El DNS permitió una manera más eficiente y escalable de relacionar nombres con direcciones IP.

El ICANN es el organismo especializado en la gestión de dominios, encargado de los directorios .com, .org, etc.

1.2.1 Espacio de Nombres

Los datos que gestiona un DNS se conocen como nombres de dominio y están organizados en forma de árbol invertido. Cada nodo se llama dominio y recibe una etiqueta, como por ejemplo “.com”.

  • El nombre de dominio de un nodo se crea mediante la suma de todas las etiquetas, comenzando por dicho nodo y terminando en la raíz.
  • En el sistema DNS, un nodo puede tener un nombre de hasta 63 caracteres, y la profundidad de nodos está limitada a 127 niveles.
  • El primer nodo se conoce como raíz (*root*).

Definición de FQDN

El FQDN (*Fully Qualified Domain Name*) indica el nombre completo de un recurso, comenzando por un nodo y acabando en la raíz.

El servicio DNS no suele utilizarse de manera independiente, sino con otros servicios como HTTP, FTP, DHCP, etc.

2. Estructura Jerárquica de Dominios

Dominio Genérico (TLD)

Los dominios del primer nivel o raíz se llaman TLD (*Top-Level Domain*) y no pueden ser comprados por los usuarios. Cuando se desea adquirir un dominio, debemos hacerlo con uno del segundo nivel.

Los dominios de primer nivel son gestionados por estados e instituciones independientes y se dividen en tres grupos:

  1. Infraestructura
  2. Dominios Genéricos (gTLD)
  3. Dominios Geográficos (ccTLD)

Clasificación de TLDs

  • Infraestructura: Usado para obtener el FQDN. Ej: .arpa
  • gTLD (Dominio Genérico): Se divide en:
    • uTLD: Sin restricciones, gestionado por el ICANN. Ej: .com, .org
    • sTLD: Con limitaciones, patrocinado por distintas instituciones. Ej: .asia, .jobs
  • ccTLD (Geográfico): Existen 243, gestionados por los distintos gobiernos. Ej: .es, .uk, .ru

La adquisición de un dominio en Internet se llama registro de dominios.

3. Gestión y Administración de Zonas DNS

Zonas

La parte de la base de datos de nombres de dominio alojada en un servidor DNS recibe el nombre de zona. Una zona puede ser gestionada por más de un servidor. Estos servidores tienen la base de datos con la información completa de la zona, por lo que se les conoce como servidores autoritativos.

  • La zona primaria es la que está supervisada por el servidor primario y existe únicamente una.
  • Las zonas secundarias las forman los servidores secundarios. Cuando se reinicia el servidor secundario, este debe copiar la información del primario.
  • Una zona puede estar formada por varios dominios. Un dominio puede subdividirse en subdominios.

Transferencia de Zonas

Es la operación mediante la cual un servidor primario transfiere el contenido del archivo de la base de datos de zona DNS a un servidor secundario. La transferencia se inicia cuando:

  • Se inicia el servicio DNS en el servidor secundario.
  • Caduca el tiempo de actualización (*TTL*).
  • Se guardan los cambios en la base de datos de la zona principal.

Delegación de Zonas

Mecanismo que permite llevar a cabo una administración descentralizada.

El dominio de nivel superior que ha delegado la zona pierde el control sobre ella y únicamente conoce la dirección de los servidores DNS de la misma.

La zona del nivel superior se conoce como padre y la inferior como hijo.

4. Funcionamiento y Clasificación de Servidores

Funcionamiento de DNS

El servicio de nombres de dominio se implementa a través del protocolo DNS. Este estándar especifica que, para la comunicación que se realice entre el cliente y el servidor, se haga uso del puerto 53, tanto para UDP como para TCP.

4.1 Clasificación de Servidores de Nombre

Los servidores de nombre almacenan y gestionan la información sobre los dominios y responden a las consultas de resolución de nombres de los clientes.

Atendiendo a la cantidad de datos que almacenan, podemos diferenciar dos categorías:

Servidores Autoritativos

Almacenan los datos de una zona completa. Las zonas suelen tener dos o más servidores autoritativos sobre diferentes redes para mantener activo el servicio ante posibles fallos.

  • Servidor Primario o Maestro: Permite configurar la zona, como por ejemplo, dar de alta y baja nombres de dominio.
  • Servidor Secundario o Esclavo: Este servidor copia los datos de la zona mediante un proceso de replicación denominado transferencia de zonas.

Servidores No Autoritativos

Son aquellos que no almacenan los datos de una zona completa.

  • Reenviador (*Forwarder*): Reenvía las peticiones hacia los servidores DNS de la intranet.
  • Caché (*Caching Server*): Almacena durante un período de tiempo las consultas enviadas. Si vuelve a recibir la misma petición, la devolverá desde la caché sin hacer la consulta completa.

Consultas Interactivas

Si un cliente realiza una petición interactiva, el servidor devuelve una respuesta a esa petición.

Cliente DNS (*Resolvers*)

Los clientes DNS (*resolvers*) son programas que hacen de interfaz entre las aplicaciones del usuario y el DNS.

  • Eliminan los retrasos de la red y alivian la sobrecarga de consultas. Esto lo hacen mediante la caché.

5. Resolución de Nombres y Base de Datos DNS

Resolución o Búsqueda de Nombres

El trabajo del cliente es resolver las peticiones de las aplicaciones en el dispositivo cliente. La resolución depende de si lo que se busca es una IP o un dominio. Existen dos tipos:

  • Resolución Directa: Este proceso consiste en tomar como entrada un nombre de dominio y determinar su correspondiente dirección IP.
  • Resolución Inversa: Toma como entrada una IP y determina su nombre de dominio.

Base de Datos DNS: Tipos de Registros

Las bases de datos DNS contienen los archivos de zonas, distribuidos entre los servidores de nombres. Estos archivos permiten asociar los dominios con IPs.

Los archivos de zona son ficheros de texto plano que almacenan Registros de Recursos (RR).

Estructura de un Registro de Recurso (RR)

Un registro está formado por los siguientes campos:

  • Propietario: Indica el nombre de dominio en el que se encuentra el recurso que se define en el RR.
  • TTL (*Time To Live*): Indica el tiempo de vida de este registro en la caché.
  • Clase: Indica la clase de protocolos que se debe utilizar (generalmente IN para Internet).
  • Tipo: Indica el tipo de recurso para este registro.
  • Datos: Es el valor que se desea asociar al campo nombre de dominio.

Tipos de Registros de Recursos Comunes (Clase IN)

Los tipos de RR más comunes para la clase IN son:

  • RR SOA (*Start of Authority*): Indica dónde comienza una zona y el servidor de nombres que tendrá su autoridad. (Solo 1 por zona).
  • RR NS (*Name Server*): Define los servidores de nombres autoritativos para una zona.
  • RR A (*Address*): Permite la resolución directa (asocia nombre a IPv4).
  • RR CNAME (*Canonical Name*): Hace referencia a un mismo equipo usando nombres diferentes (alias).
  • RR PTR (*Pointer*): O registro inverso. Asocia una dirección IP con un nombre de dominio.
  • RR MX (*Mail Exchanger*): Define un servidor de correo para un dominio.

6. Evolución del Protocolo DNS

Con el paso del tiempo han aparecido necesidades y amenazas, lo cual ha perfeccionado el protocolo DNS. Así surgen DDNS (DNS Dinámico) y DNSSEC (DNS Seguro).

  • DDNS (Actualizaciones Dinámicas)

    El protocolo DDNS establece la forma de actualizar en tiempo real la base de datos gestionada por un servidor de nombres. Un cliente puede añadir, reemplazar o eliminar los registros de recursos de un servidor DNS primario. Se puede actualizar desde Internet o desde un servidor DNS local.

  • DNSSEC (DNS Seguro)

    Es un conjunto de extensiones de seguridad para DNS. Con estas queda certificada la autenticidad y la integridad de la comunicación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.