miércoles, 28 de octubre de 2015

Las direcciones IP y el Sistema de Nombres de Dominio (2).-

.../...

Proseguimos por el hiperespacio de Internet intentando dejar constancia de nuestro aprendizaje y trabajo de búsqueda en este cuaderno de bitácora, con pretensión de ser, en el futuro, un buen recordatorio de este apasionante viaje y, en esta nueva entrada nos preguntamos...¿Cómo funciona el Sistema DNS?



Hablábamos en la anterior entrada de la correspondencia que existe entre nombres de dominio y sus correspondientes direcciones IP, como por ejemplo:

                             NOMBRE DE DOMINIO           DIRECCIÓN IP
                                    www.ua.es                          193.145.233.8
                                 www.epn.edu.es                     192.188.57.254
                                     idesweb.es                         185.22.92.56

Y hemos visto como se estructura dentro de las direcciones IP, la forma en que se asignan los nombres de dominio, tanto en el sistema de direccionamiento IPv4 como en el mas actual IPv6.
Ahora nos queda ver, como los nombres de dominio se transforman en direcciones IP mediante el Sistema DNS (Domain Name System), en español, Sistema de Nombres de Dominio.
El funcionamiento de el DNS es un poco complejo, pero básicamente es una base de datos distribuida entre diferentes ordenadores que denominamos servidores DNS y los cuales se comunican entre sí.
Se podría decir,de forma sencilla y con una visión global de su funcionamiento, que cada servidor DNS posee una tabla con la correspondencia entre los nombres de dominio y las direcciones IP; cuando un servidor DNS-x no dispone de una correspondencia concreta, sabe a que servidor DNS-y tiene que preguntar para obtener la respuesta correcta, la cual es enviada de vuelta al solicitante de la consulta. Pero, ¿ cómo se realiza este proceso en profundidad ?, o lo que es lo mismo, ¿ cómo funciona el Sistema DNS ?.
Primeramente hay que decir que el DNS es un sistema de nomenclatura jerárquica para computadoras y cualquier servicio o recurso que esté conectado a Internet o a una red privada. Este sistema asocia información variada con nombres de dominio asignados a participantes de la red. Su función mas importante es traducir nombres inteligibles por nosotros, en identificadores binarios asociados con los equipos conectados a la red, con el propósito de poder localizar y direccionar estos equipos a nivel mundial.
El servidor DNS utiliza una base de datos distribuida y jerárquica (como hemos visto en la entrada del pasado 23 de octubre, un poco a grosso modo, etiqueta:Servidores de raíz), que almacena información asociada a nombres de dominio en redes como Internet, es decir, como base de datos, el DNS es capaz de asociar diferentes tipos de información a cada nombre pero, el uso mas común de el DNS es la asignación de nombres de dominio a direcciones IP y la localización de los servidores de cada dominio. Es pués evidente que ofrece numerosas ventajas, ya que por ejemplo, los nombres de dominio son mas fáciles de recordar que las direcciones IP, además de que son mas fiables (en las consultas) en el sentido de que una dirección IP puede cambiar con el tiempo por diversas razones, sin que tenga que cambiar el nombre de dominio (que es lo que nosotros buscamos). 
Una vez dicho esto, vamos a profundizar en el sistema DNS.
En la práctica, la operativa del sistema DNS utiliza tres componentes principales:
  • Clientes fase 1: en la computadora del usuario se ejecuta un programa cliente DNS el cual genera peticiones DNS de resolución de nombres a un servidor DNS.
  • Servidores DNS: contestan las peticiones de los clientes. 
  • Zonas de autoridad: una parte del espacio de los nombres de dominio sobre la que es responsable un servidor DNS.
De la misma manera que en entradas anteriores hemos visto que los dominios están jerarquizados, podemos decir que el DNS consiste en un conjunto jerárquico de servidores DNS. Cada dominio o subdominio, tiene una o mas zonas de autoridad que publican la información acerca de él y los nombres de servicios de cualquier dominio incluido en dicha zona de autoridad. Por supuesto que, la jerarquía de las zonas de autoridad coincide con la jerarquía de los dominios. Es por ello entendible que al inicio de esa jerarquía, se encuentren los servidores raíz, que son los que responden cuando se trata de resolver un dominio de primer o segundo nivel.
En los gráficos que se muestra a continuación, puede verse  la jerarquía existente en las zonas de autoridad para la solicitud de nombres y también de recursos asociados a esos nombres.

A continuación vamos a ver un resumen del proceso completo de consulta de DNS :

      Como se puede ver, en los pasos iniciales del proceso de consulta, en un programa del equipo local, se solicita un nombre de dominio DNS. La solicitud se transmite al servicio cliente DNS para su resolución mediante la información almacenada en el caché local. Si se puede resolver el nombre consultado, se responde a la consulta y el proceso finaliza.
Si la consulta no coincide con ninguna entrada del caché, la resolución continúa con la consulta del cliente al servidor DNS (el servidor DNS preferido se selecciona de una lista global). Cuando el servidor DNS recibe una consulta, primero comprueba si puede responder a la consulta con autoridad, en función de la información de registros contenida en una zona configurada localmente en el servidor. Si el nombre consultado coincide con algún registro de recursos en dicha zona local, entonces el servidor puede responder con autoridad para resolver el nombre consultado. Si no es así, el servidor comprobará si puede resolverlo con la información almacenada en el caché local de consultas anteriores. Si es así, el servidor puede responder al solicitante y se acaba la consulta.
Si no fuera así, el proceso de consulta continúa mediante la recursividad para resolver completamente el nombre, lo que implica la asistencia de otros servidores DNS para resolver el nombre, como vemos en el siguiente gráfico :



Esto todavía podemos ampliarlo mas, pero creo que con saber esto es suficiente para continuar con nuestro apasionante viaje.

Para finalizar con esta jornada de bitácora, decir que el espacio de nombres de dominio tiene una estructura arborescente :


 Las hojas y los nodos del árbol se utilizan como etiquetas y un nombre de dominio completo de un objeto, consiste en la concatenación de todas las etiquetas de la ruta.
A continuación, un vídeo resúmen :











No hay comentarios:

Publicar un comentario