Las máquinas en internet se identifican entre sí
mediante una dirección IP (como por ejemplo 216.32.74.52)
que las identifica. Sin embargo los seres humanos preferimos utilizar
nombres (como www.yahoo.com), porque son más fáciles
de recordar y porque ofrecen la flexibilidad de poder cambiar la
máquina en la que están alojados (cambiaría
entonces la dirección IP) sin necesidad de cambiar las referencias
al nombre. Para realizar esta conversión entre nombres y
direcciones IP se utilizan los servidores DNS.
Si alguna vez has utilizado un programa explorador o navegador,
un programa de FTP o cualquier otra aplicación parecida de
internet, entonces probablemente hayas usado un servidor DNS.
Este sistema de nombres de dominio (DNS) es, en realidad, un conjunto
de protocolos y servicios que permite a los usuarios utilizar estos
nombres, en vez de tener que recordar direcciones IP. Esta es ciertamente
la función más conocida de los protocolos DNS: la
asignación de nombres a direcciones IP. Por ejemplo, si la
dirección IP del sitio FTP de La Isla de Internet es 217.76.128.4,
la mayoría de la gente llega a este equipo especificando
ftp.laisla.com y no la dirección IP. Además de ser
más fácil de recordar, el nombre es más fiable.
La dirección numérica podría cambiar por muchas
razones, pero el nombre siempre sirve.
Antes de la implementación del DNS, la utilización
de nombres de equipos se realizaba a través del uso de archivos
("HOSTS") que contenían una lista de nombres y
sus direcciones IP asociadas. En internet, este archivo se administraba
de forma centralizada (un único equipo almacenaba esta información),
y cada ubicación descargaba periódicamente una nueva
copia. A medida que fue creciendo el número de equipos en
internet, esta solución se hizo inviable. Este fue el motivo
de la aparición del sistema de DNS.
La estructura
Un sistema de nombres de dominio (DNS) consta de una base de datos
de nombres distribuida. Los nombres de la base de datos DNS establecen
una estructura lógica de árbol, conocida como espacio
de nombres del dominio. Cada nodo o dominio del espacio de nombres
del dominio tiene un nombre y puede contener subdominios. Los dominios
y subdominios se agrupan en zonas para permitir la administración
distribuida del espacio de nombres (las zonas se describen más
adelante).
El nombre del dominio identifica la posición del mismo en
la jerarquía lógica del DNS respecto de su dominio
principal, al separar cada rama del árbol con un punto. En
la siguiente figura se muestran varios dominios superiores, entre
los que se encuentra Midominio, y un host llamado host, dentro del
dominio midominio.com. Si alguien quisiera contactar con ese host,
usaría el nombre completo host.midominio.com.

Servidores DNS e internet
El centro de información de la red internet (Internet
Network Information Center) administra la raíz de la
base de datos DNS eniInternet. Los dominios superiores se han asignado
a organizaciones y países. Estos nombres de dominio siguen
un estándar internacional. Para los países se usan
abreviaturas de dos y de tres letras, y se han reservado varias
abreviaturas para que las usen las organizaciones, como se muestra
en los siguientes ejemplos:
Nombre
dominio
DNS |
Tipo
de organización |
.com |
Comercial (por ejemplo, microsoft.com
para Microsoft) |
.edu |
Educacional (por ejemplo, udg.edu
para Universidad de Girona |
.org |
Organizaciones no comerciales (por
ejemplo, fidonet.org para FidoNet) |
Dominios
Cada nodo del árbol de una base de datos DNS, junto con
todos los nodos por debajo del mismo, se llama dominio. Los dominios
pueden contener host (equipos) y otros dominios (subdominios). Por
ejemplo, el dominio Midominio (midominio.com), podría contener
a la vez equipos, como host.midominio.com, y subdominios, como subdom.midominio.com,
que a su vez podría contener host, como por ejemplo host.subdom.midominio.com.
Por norma general, los nombres de host y de dominio tienen restricciones
en cuanto a los caracteres que pueden formarlos. Sólo está
permitido el uso de los caracteres `a-z', `A-Z', `0-9', y `-'.
Servidores de nombres
Los servidores DNS almacenan información acerca del espacio
de nombres del dominio y son conocidos como servidores de nombres.
Los servidores de nombres suelen ser responsables de una o más
zonas (entendiendo como zona un archivo físico que almacena
registros de la base de datos de una parte del espacio de nombres
DNS). El servidor de nombres se dice que tiene autoridad sobre esas
zonas. Cuando se configura un servidor de nombres DNS (como vamos
a ver con el registro 'NS'), se indica cuáles son los restantes
servidores de nombres DNS que se encuentran en el mismo dominio.
Servidores de nombres principal y secundario
Un servidor de nombres principal es un servidor de nombres que
obtiene los datos de sus zonas de archivos locales. Los cambios
en una zona, como la adición de dominios, se realizan en
el servidor de nombres principal.
Un servidor de nombres secundario obtiene los datos de sus zonas
de otro servidor de nombres de la red que tiene autoridad para
esa zona (normalmente de un servidor de nombres principal). El
proceso de obtención de información de estas zonas
por red (es decir, el archivo de base de datos), se conoce como
una transferencia de zona.
La razón fundamental para la existencia de un servidor
de nombres secundario es la de la redundancia. Se necesitan al
menos dos servidores de nombres DNS que sirvan cada zona, uno
principal y al menos uno secundario, para que en caso de fallo,
alguno de ellos responda a las peticiones de nombres.
En el proceso de resolución de nombres, los servidores
de nombres almacenan en caché las respuestas obtenidas
fuera de su zona para evitar tiempo en la resolución de
respuestas a peticiones similares. En este proceso, se realiza
la búsqueda a través de la jerarquía de nodos
de nombres del DNS hasta encontrar la resolución de la
petición. Existe un tiempo de vida (TTL Time To Live) que
se especifica a través de los datos que se intercambian
los servidores de nombres y que controla el tiempo que se almacenarán
estos datos. Evidentemente, a menor tiempo de vida, mayor carga
para el servidor de nombres, pero más fiabilidad de los
datos del dominio.
Los archivos del DNS
Hasta el momento hemos explicado un poco la terminología
y el funcionamiento general del sistema de DNS. Ahora vamos a tratar
de explicar, un poco por encima, la estructura de un archivo del
DNS dentro del servidor de nombres.
Un archivo de base de datos del servidor de nombres (o archivo
DNS) es un 'archivo de zona' que contiene los registros (líneas
del archivo) para la parte del dominio de la que es responsable
la zona. Es decir, es un archivo que contiene los datos para poder
resolver las peticiones de nombres asociadas al dominio en direcciones
IP. A continuación enumeraremos algunos de estos registros
para ver el formato general de un archivo DNS:
Registro SOA
El primer registro de cualquier archivo de base de datos es el
registro SOA. Este registro se forma con una serie de parámetros
a tener en cuenta:
- host origen: El host en el que se mantiene
el archivo.
- correo electrónico de contacto: La dirección
de correo electrónico de internet de la persona responsable
del archivo de base de datos de este dominio. No olvides
que en lugar de escribir el símbolo '@' en el nombre
de correo electrónico, como se suele hacer, éste
se sustituye por un punto cuando se coloca en el archivo de
zonas.
- número de serie: El "número
de versión" de este archivo de base de datos. Este
número debería aumentar cada vez que cambie el
archivo de base de datos.
- tiempo de actualización: El tiempo
(en segundos) que esperará un servidor secundario entre
comprobaciones de su servidor maestro para ver si el archivo
de base de datos ha cambiado y si hay que pedir una transferencia
de zona.
- tiempo de reintento: El tiempo (en segundos)
que esperará un servidor secundario antes de volver a
intentar una transferencia de zona que haya fallado.
- tiempo de caducidad: El tiempo (en segundos)
que un servidor secundario seguirá intentando descargar
una zona. Cuando haya pasado este tiempo, se rechazará
la información antigua de la zona.
- tiempo de vida (TTL): El tiempo (en segundos)
que un servidor DNS tiene permitido acumular en el caché
cualquier registro del recurso de este archivo de base de datos.
Ten en cuenta que cualquier nombre de dominio del archivo de
base de datos que no termine con un punto, tendrá el dominio
raíz anexado al final. Para que un registro de recurso
abarque una línea en un archivo de base de datos, los saltos
de línea deben incluirse entre paréntesis. En un
archivo de zona, el símbolo '@' representa el dominio raíz
de la zona.
Ejemplo:
1; número de serie
10800; actualizar [3 horas]
3602; reintentar [1 hora]
604800; caducar [7 días]
86400; tiempo de vida [1 día]
Registro NS
El Registro NS (name server o servidor de nombres) enumera los
servidores de nombres de este dominio, permitiendo que otros servidores
de nombres miren los nombres de su dominio. Su formato es el siguiente:
dominio IN NS nombreservidorhost
Ejemplos:
@ IN NS ns3.servidoresdns.net
@ IN NS ns4.servidoresdns.net
Registro MX
El Registro de intercambio de correo (mail exchange) indica qué
host procesa el correo de este dominio. Si existen múltiples
registros de intercambio de correo, el resolvedor de nombres intentará
ponerse en contacto con los servidores de correo en orden de preferencia,
empezando por los valores inferiores (mayor prioridad) hasta el
valor superior (menor prioridad). Su formato es el siguiente:
dominio IN MX preferencia servidorcorreohost
Al usar los siguientes registros de ejemplo, el correo enviado
a prueba@midominio.com se envía primero a prueba@servidorcorreo0.midominio.com,
si es posible, y luego a prueba@servidorcorreo1.midominio.com
si servidorcorreo0 no está disponible.
Ejemplos:
@ IN MX 10 servidorcorreo0
@ IN MX 20 servidorcorreo1
El servidorcorreohost debe indicarse a través de un nombre
y no de una dirección IP.
Registro A
Un registro de dirección A (address) sirve para asociar
nombres de host a direcciones IP dentro de una zona. Éstos
son los registros que componen la mayor parte del archivo de base
de datos. Su formato es el siguiente
nombrehost IN A direcciónIPdehost
Ejemplos:
machine1 IN A 157.55.201.143
nombreservidor2 IN A 157.55.200.2
El Registro CNAME
Estos registros también reciben el nombre de alias, aunque
son conocidos como entradas de "nombre canónico"
(CNAME o canonical name). La utilidad principal de los mismos
es la de usar más de un nombre para apuntar a un único
host. Esto puede simplificar operaciones como albergar a la vez
un servidor FTP y un servidor web en el mismo equipo. Su formato
es el siguiente:
nombrealiashost IN CNAME nombrehost
Ejemplo:
Supongamos que www.midominio.com y que ftp.midominio.com se encuentran
en el mismo equipo. Si éste es el caso, entonces podría
tener las siguientes entradas en su archivo de zona:
servidorarchivos IN A 157.55.200.41
ftp IN CNAME servidorarchivos
www IN CNAME servidorarchivos
Conclusión y referencias
Esta guía de referencia al servicio DNS trata de dar una
visión general del funcionamiento del mismo, mostrando el
proceso de resolución de nombres en direcciones IP. Para
una información más detallada sobre esta funcionalidad,
puede consultar los documentos RFC
1034 que establecen las propuestas oficiales (reglamento) para
el servicio del DNS. También encontrará enlaces a
información sobre el DNS en la web www.dns.net.
|