Introducción al DNS

El direccionamiento de Internet se basa en las direcciones IP, éstas forman el esquema básico de direccionamiento de Internet y consisten en direcciones de 32 bits en el caso de IPv4 y 128 bits en el caso de IPv6. Las direcciones IPv4 se representan con una notación que consiste en escribir los bytes que forman la dirección separados por puntos, siguiendo el formato xxx.yyy.zzz.ttt (por ejemplo 192.168.0.1).

Este direccionamiento está diseñado para facilitar el trabajo de los routers pero es poco manejable para las personas, ya que requiere memorizar secuencias numéricas. Para solucionar este problema se asignaron nombres a los equipos.

Inicialmente la correlación entre nombres y direcciones IP se realizaba mediante el fichero de hosts que contenía la relación entre todos los nombres y todas las direcciones IP y se mantenía de forma centralizada para después distribuirlo a todos los equipos de la red. Cuando la red fue creciendo esta fórmula se volvió impracticable y se optó por mover la estructura de nombres a un sistema de directorio jerárquico basado en lo que se llama nombres de dominio.

Para el DNS se creó una estructura jerárquica que encajase con las estructuras organizativas de las instituciones que poseían equipos conectados a Internet, lo cual dio lugar a una estructura de nombres jerárquica en la que los niveles de la jerarquía (dominios) y los nombres están separados por un ".". Los nombres como por ejemplo www.example.org están compuestos de un dominio, example.org, y un nombre de host, www. El nombre de dominio se compone de dos partes org que es el dominio de primer nivel y, en el caso de los .org, está gestionado por el Public Interest Registry (PIR) y por example que correspondería a la organización, que a su vez podría crear delegaciones en subdominios.

En el DNS, cada dominio es gestionado por la institución que lo controla, de manera que no existe una base de datos centralizada que contenga toda la información del DNS, sino que existen unos servidores denominados servidores raíz (root servers en inglés) que contienen información de los servidores que contienen los dominios de primer nivel (TLD: Top Level Domain en inglés) y estos a su vez contienen la información de los servidores que contienen los dominios de segundo nivel y así sucesivamente. Los servidores contienen también la información de los equipos de host que pertenecen a ese dominio, los servidores de correo para ese dominio e información de los servidores de DNS que tienen información autoritativa sobre ese dominio.

Esta estructura hace que las búsquedas se inicien en los servidores raíz, siguiendo la estructura de dominios hasta llegar al dominio que contiene el nombre de host o la información solicitada. Los servidores pueden hacer búsquedas recursivas, de manera que un cliente puede hacer la petición a un servidor por defecto que es el encargado de recorrer el árbol y que envía la respuesta al cliente. Este servidor está autorizado a guardar la respuesta durante un tiempo especificado por el origen en la respuesta.

Un ejemplo de la estructura de árbol del DNS sería la siguiente:

Esquema de la estructura del DNS

En ella se puede ver como los servidores raíz apuntan a los TLDs y estos a los dominios de segundo nivel, que tienen tanto hosts como subdominios.