El DNS ( Domain Name Service) es un sistema de nombres que permite traducir de nombre de dominio a dirección IP y vice-versa. Aunque Internet sólo funciona en base a direcciones IP, el DNS permite que los humanos usemos nombres de dominio que son bastante más simples de recordar (pero que también pueden causar muchos conflictos, puesto que los nombres son activos valiosos en algunos casos).
El sistema de nombres de dominios en Internet es un sistema distribuido, jerárquico, replicado y tolerante a fallas. Aunque parece muy difícil lograr todos esos objetivos, la solución no es tan compleja en realidad. El punto central se basa en un árbol que define la jerarquía entre los dominios y los sub-dominios. En un nombre de dominio, la jerarquía se lee de derecha a izquierda. Por ejemplo, en dcc.uchile.cl, el dominio más alto es cl. Para que exista una raíz del árbol, se puede ver como si existiera un punto al final del nombre: dcc.uchile.cl., y todos los dominios están bajo esa raíz (también llamada ``punto").
Cada componente del dominio (y también la raíz) tiene un servidor primario y varios servidores secundarios.
Todos estos servidores tienen la misma autoridad para responder por ese dominio, pero el primario es el único con derecho para hacer modificaciones en él. Por ello, el primario tiene la copia maestra y los secundarios copian la información desde él. El servidor de nombres es un programa que típicamente es una versión de BIND ( Berkeley Internet Name Daemon). En general es mucho mejor traer la última versión desde Internet ( www.isc.org) que usar la que viene con el Sistema Operativo, porque es un servidor que ha cambiado mucho a lo largo del tiempo.
La raíz del sistema de dominios es servida por algunos servidores ``bien conocidos''. Todo servidor de nombres debe ser configurado con la lista de los servidores raíz bien conocidos (en general lo vienen de fábrica). Estos servidores dicen qué dominios de primer nivel existen y cuales son sus servidores de nombres. Recursivamente, los servidores de esos dominios dicen qué sub-dominios existen y cuales son sus servidores.
Existe un conflicto de competencia entre el servidor de un dominio y el de un sub-dominio: ambos deben saber cuales son los servidores de nombres del sub-dominio. En un inicio, estarán de acuerdo, pero con el tiempo los servidores pueden ir cambiando, y las versiones de ambos pueden ser inconsistentes. Actualmente, el que manda es el servidor del sub-dominio, y su información es la más importante. Por ejemplo, si el servidor de .cl dice que uchile.cl es servido por los servidores A y B, y luego el servidor A dice que uchile.cl es servido por A y C, la información que se recibirá en el mundo es que los servidores son A y C. El único requisito es que por lo menos uno de los servidores de nombres que figuran en el dominio debe corresponder a uno de los que lista el sub-dominio. Si no es así, el dominio queda sin servidores y es inaccesible del resto del mundo.
En general, la regla ideal es que la lista de servidores que figura en el dominio sea un sub-conjunto de la lista que figura en el sub-dominio.
No hay comentarios:
Publicar un comentario