CAPITULO IV
Sistema
de Nombre de Dominio (DNS)
Los protocolos descritos anteriormente utilizan enteros de 32 bits, llamados
direcciones de protocolo internet (dir. IP) para identificar máquinas. Aún
cuando cada dirección proporciona una representación compacta y conveniente
para identificar la fuente y el destino en paquetes enviados a traves de la red,
los usuarios prefieren asignar a las máquinas nombres fáciles de recordar.
El
DNS tiene dos aspectos conceptualmente independientes. El primero es abstracto.
Especifica la sintaxis del nombre y las reglas para delegar la autoridad
respecto a los nombres. El segundo es concreto: especifica la implantación de
un sistema de computación distribuido que transforma eficientemente los nombres
en direcciones.
Conceptualmente, la resolución de nombres de dominio procede de arriba hacia
abajo, comenzando con el servidor de nombres raiz y siguiendo luego hacia los
servidores localizados en las ramas del arbol de la red.
Hay
dos forma de utilizar en sistema de nombres de dominio: contactar un servidor de
nombres cada vez o solicitar al sistema de servidores de nombres que realice la
traducción completa. En este caso, el software cliente forma una solicitud de
nombres de dominio que contiene el nombre a resolver, una declaración sobre la
clase del nombre, el tipo de respuesta deseada y un código que especifica si el
servidor de nombres debe traducir el nombre completamente. Se envía la
solicitud a un servidor de nombre para su resolución.
Cuando
un servidor de nombres de dominio recibe una solicitud, verifica si el nombre señala
un subdominio sobre el cual tenga autoridad. Si es así, traduce el nombre a una
dirección de acuerdo con su base de datos y anexa una repuesta a la solicitud,
antes de enviarla de regreso al cliente. Si el DNS no puede resolver el nombre
completamente, verifica que tipo de interacción especificó el cliente. Si el
cliente solicita una traducción completa (una resolución recursiva en la terminologia DNS), el servidor se pone
en contacto con un servidor de nombres de dominio que pueda resolver el problema
del nombre y devuelve la respuesta al cliente.
Si
el cliente solicita una resolución no recursiva (resolución iterativa), el
servidor de nombres no puede dar una respuesta. Se genera una réplica que
especifica el nombre del servidor que el cliente deberá contactar la próxima
vez para resolver el nombre.
Como
encuentra un cliente un DNS para comenzar la búsqueda ?
Como
encuentra un DNS a otros DNSs que puedan responder a las solicitudes que el no
puede responder ?
La
respuesta es sencilla: Un cliente debe saber como contactar al ultimo DNS para
asegurarse de que el DNS puede alcanzar a otros, el sistema de dominio requiere
que cada servidor conozca la dirección del último servidor en la raiz. Además,
un servidor podría conocer la dirección de un servidor para el dominio de un
nivel inmediatamente superior (llamado padre).
Los
DNSs utilizan un puerto de protocolo bien conocido para toda comunicación, así,
los clientes saben cómo comunicarse con un servidor una vez que conocen la
dirección IP de la máquina que se conecta al servidor. No hay forma estándar
que los anfitriones localicen una máquina en el entorno local, el cuaul corre
un DNS; esto se encuentra abbierto para quien diseñe el software cliente.