El sistema
de nombres de dominio (DNS, por sus siglas en inglés, Domain
Name System) es un sistema de nomenclatura jerárquico descentralizado para
dispositivos conectados a redes IP como Internet o una red privada. Este sistema asocia información variada con nombre de dominio asignado
a cada uno de los participantes. Su función más importante es
"traducir" nombres inteligibles para las personas en identificadores
binarios asociados con los equipos conectados a la red, esto con el propósito
de poder localizar y direccionar estos equipos mundial mente.
El servidor DNS utiliza una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar
diferentes tipos de información a cada nombre, los usos más comunes son la
asignación de nombres de dominio a direcciones IP y la localización de los servidores
de correo electrónico de
cada dominio.
La asignación de nombres a direcciones IP es
ciertamente la función más conocida de los protocolos DNS. Por ejemplo, si la
dirección IP del sitio Google es 216.58.210.163, la mayoría de la gente llega a
este equipo especificando www.google.es 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, sin que tenga que cambiar el nombre
del sitio web.
COMPONENTES
Para la operación práctica del sistema DNS se
utilizan tres componentes principales:
·
Los Clientes
fase 1: Un programa cliente DNS que se ejecuta en la computadora del
usuario y que genera peticiones DNS de resolución de nombres a un servidor
DNS (Por ejemplo: ¿Qué
dirección IP corresponde a nombre. Dominio?)
·
Los Servidores
DNS: Que contestan las peticiones de los clientes. Los servidores
recursivos tienen la capacidad de reenviar la petición a otro servidor si no
disponen de la dirección solicitada.
·
Las Zonas
de autoridad: Es una parte del espacio de nombre de dominios sobre
la que es responsable un servidor DNS, que puede tener autoridad sobre varias
zonas. (Por ejemplo: subdominio.wikipedia.ORG, subdominio.COM, etc.) Los
usuarios generalmente no se comunican directamente con el servidor DNS: la
resolución de nombres se hace de forma transparente por las aplicaciones del
cliente (por ejemplo, navegadores, clientes de correo y
otras aplicaciones que usan Internet). Al realizar una petición que requiere
una búsqueda de DNS, la petición se envía al servidor DNS local del sistema
operativo. El sistema operativo, antes de establecer alguna comunicación,
comprueba si la respuesta se encuentra en la memoria caché. En el caso de que
no se encuentre, la petición se enviará a uno o más servidores DNS,6 el usuario puede utilizar los servidores propios de
su ISP, puede usar un servicio gratuito de resolución de dominios o contratar
un servicio avanzado de pago que por lo general son servicios contratados por
empresas por su rapidez y la seguridad que estos ofrecen.
La mayoría de usuarios
domésticos utilizan como servidor DNS el proporcionado por el proveedor de
servicios de Internet salvo quienes personalizan sus equipos o enrutadores para
servidores públicos determinados. La dirección de estos servidores puede ser
configurada de forma manual o automática mediante DHCP (IP
dinámica). En otros casos, los administradores de red tienen configurados sus
propios servidores DNS. En cualquier caso, los servidores DNS que reciben la
petición, buscan en primer lugar sí disponen de la respuesta en la memoria
caché. Si es así, sirven la respuesta; en caso contrario, iniciarían la
búsqueda de manera recursiva. Una vez encontrada la respuesta, el servidor DNS
guardará el resultado en su memoria caché para futuros usos y devuelve el
resultado.
Típicamente el protocolo DNS transporta las
peticiones y respuestas entre cliente y servidor usando el protocolo UDP, ya que es
mucho más rápido. Las ocasiones donde se usa el protocolo TCP son: cuando se necesitan transportar
respuestas mayores de 512 bytes de longitud (por ejemplo al usar DNSSEC) y
cuando se intercambia información entre servidores (por ejemplo al hacer una
transferencia de zona), por razones de fiabilidad.
TIPOS DE RESOLUCIÓN
Existen
dos tipos de consultas que un cliente puede hacer a un servidor DNS, la
iterativa y la recursiva
RESOLUCION ITERATIVA
Las
resoluciones iterativas consisten en la respuesta completa que el servidor de
nombres pueda dar. El servidor de nombres consulta sus datos locales
(incluyendo su caché) buscando los datos solicitados. El servidor encargado de
hacer la resolución realiza iterativamente preguntas a los diferentes DNS de la
jerarquía asociada al nombre que se desea resolver, hasta descender en ella
hasta la máquina que contiene la zona autoritativa para el nombre que se desea
resolver.
RESOLUCION
RECURSIVA
En las resoluciones recursivas, el servidor no
tiene la información en sus datos locales, por lo que busca y se pone en
contacto con un servidor DNS raíz, y en caso de ser necesario repite el mismo
proceso básico (consultar a un servidor remoto y seguir a la siguiente
referencia) hasta que obtiene la mejor respuesta a la pregunta.
Cuando existe más de un servidor autoritario para
una zona, BIND utiliza el menor valor en la métrica RTT (tiempo de ida y
vuelta) para seleccionar el servidor. El RTT es una medida para determinar
cuánto tarda un servidor en responder una consulta.
El proceso de resolución normal se da de la
siguiente manera:
1. El servidor A
recibe una consulta iterativa desde el cliente DNS.
2. El servidor A envía
una consulta iterativa a B.
3. El servidor B
refiere a A otro servidor de nombres, incluyendo a C.
4. El servidor A envía
una consulta iterativa a C.
5. El servidor C
refiere a A otro servidor de nombres, incluyendo a D.
6. El servidor A envía
una consulta iterativa a D.
7. El servidor D
responde.
8. El servidor A
regresa la respuesta al resolver.
9. El servidor entrega
la resolución al programa que solicitó la información.
Comentarios
Publicar un comentario