DNS [SP]

INTRODUCCIÓN

DNS, o sistema de nombres de dominio. Este sistema responde a la necesidad, casi natural, de “dar nombre” a las máquinas que pueblan Internet. Todos estamos acostumbrados a conectarnos al Yahoo, de forma instantánea, con nuestro navegador, pero la realidad es bastante más compleja que teclear “yahoo.com” la Red no entiende de nombres, sino de números. Más exactamente, de direcciones IP. De ahí que ningún router sepa llegar hasta la máquina “yahoo.com”, sino que habrá que decirle cuál es su dirección IP para poder localizarla. Sin embargo, los números y los humanos no tienden a llevarse demasiado bien, en particular cuando hablamos de números grandes (y con 32 bits se pueden hacer números * bastante * grandes, Por lo tanto, surge la necesidad de darle un “nombre” a cada máquina, que nos haga sentirnos más cómodos cuando intentamos llegar hasta ellas.

Cuando los ordenadores conectados a la Red podían contarse por decenas ( los tiempos de la ArpaNet,) bastaba un pequeño archivo de texto(llamado hosts )que contuviera los nombres de las máquinas con sus correspondientes direcciones IP. este sistema exigía que cada ordenador conectado a la red mantuviera su propia copia del archivo de nombres y direcciones, lo cual podía llegar a ser un infierno para los administradores, que además debían asegurarse de que los archivos de direcciones de sus máquinas estuvieran puestos al día. A medida que el número de máquinas en Internet crecía, el propósito originalde DNS fue reemplazar los problemas de administrar archivos HOSTS por medio de una simple base de datos distribuida que permitiera, a través de una estructura de nombres jerárquica, la distribución de la administración, tipos de datos extensibles, una base de datos virtualmente ilimitada, y un rendimiento razonables. DNS es un protocolo de aplicación y usa el puerto 53 tanto UDP como en TCP. Los clientes solicitan a los servidores de DNS sus consultas por medio de UDP para hacer mas rápida la comunicación y utilizan TCP sólo en caso de que llegara a ocurrir una respuesta truncada. La función mas conocida de los protocolos DNS es convertir nombres a direcciones IP, DNS, básicamente se trata de un archivo de nombres y direcciones, al estilo del anterior pero más complejo y con mas funcionalidades, con dos características importantes :

(1) Permite consultas remotas. De esta forma puedo establecer una máquina como servidor DNS y mantener un único archivo de direcciones, Si añadimos, modificamos o borramos una dirección IP, sólo he de modificar el archivo de direcciones del servidor DNS correspondiente.

(2) Es jerárquico. En vez de un único archivo de direcciones, que resultaría de un tamaño enorme y sería difícilmente manejable, el DNS sigue una estructura piramidal en árbol; si quiero buscar la máquina “galileo.fie.us.es”, el cliente DNS preguntará primero a uno de los servidores DNS “root” o raíz , cuyas direcciones son conocidas de antemano, para averiguar qué máquina sirve el dominio “es”. Una vez averiguado, irá a dicha máquina a preguntar quién sirver el dominio “us”, y así sucesivamente; eventualmente, llegará al servidor DNS de la subred donde se halla la máquina que queremos localizar, el cuál devolverá la dirección IP del nodo “galileo.fie.us.es”. La respuesta remontará de nuevo todo el arbol de servidores DNS hasta llegar al servidor raíz consultado inicialmente, el cual devolverá a nuestro cliente la dirección pedida.

DNS E INTERNET

La raíz de la base de datos de DNS en Internet es administrada por el Internet Network Information Center. Los dominios de más alto nivel fueron asignados por tipo de organización y país. Los nombres de dominios siguen el estándar internacional 3166. Abreviaturas de dos y tres letras son usadas para los países, otras están reservadas para el uso de organizaciones:

.com àcomercial

.eduà educacional

.netàorganizadores de red

.orgàorganizadores sin fines lucrativos

DOMINIOS Y ZONAS

DOMINIOS

Cada nodo en el árbol de la base de datos de DNS, junto con todos sus nodos hijo, es llamado un dominio.Los dominios pueden contener computadoras y otros dominios (subdominios). Por ejemplo, el dominio ciber.com puede conter otros computadoras como servidor.ciber.com y subdominios como desarrollo.ciber.com que puede contener a otros nodos como html.desarrollo.ciber.com. Los nombres de dominios y de host tienen restrictiones permitiendo solamente el uso de los caracteres “az”,”A-Z” y “0-9), y “-“. El uso de caracteres como “/”, “.”, y “_” no son permitidos.

ZONAS

Una zona es un archivo físico para almacenar y administrar un conjunto de registros del namespace de DNS. A este archivo se le llama: archivo de zona. Un solo servidor DNS puede ser configurado para administrar uno o varios archivos de zona. Cada zona esta ligada a un nodo de dominio específico, conocido como: dominio raíz de la zona.

SERVIDOR DE NOMBRES

Los servidores de nombres DNS (NS) almacenan la información acerca del espacio de nombres de dominio. Los servidores de nombres generalmente “tienen autoridad” (administran) una o mas zonas. Al configurar el servidor de nombres DNS se le informan de los otros servidores de nombres DNS del mismo dominio.

NOMBRES DE SERVIDORES: PRIMARIOS, SECUNDARIOS Y MAESTROS

Un nombre de servidores primario, obtiene los datos de sus zonas de sus archivos locales. Los cambios a la zona, como añadir otros dominios o nodos, se hacen en el NS Primario.Un nombre de servidor secundario, obtiene los datos de sus zonas del NS autoridad de la zona. El proceso de obtener la información del archivo de la base de datos de la zona por medio de la red, se conoce como:una transferencia de zona.

Hay tres razones para tener NS secundarios. Estas razones son:

· Redundancia. Se necesitan al menos dos NS en cada zona, un primario y al menos un secundario por redundancia. Como cualquier sistema de tolerancia a fallas, las máquinas deben ser independientes, por ejemplo, diferentes redes.

· Localidades Remotas. Para reducir la cantidad de trabajo en el servidor primario. Como la información de cada zona es almacenada en archivos independientes, la designación de primario o secundario, está definida a un nivel de zona. En otras palabras, un NS puede ser primario para ciertas zonas y secundario para otras. Cuando se define una zona con un NS como secundario, se debe especificar un NS del cual obtener la información de la zona.

A la fuente de información de la zona para un NS secundario se le llama: servidor de nombres maestro. Un NS maestro puede ser primario o secundario. Cuando un NS secundario se inicializa, este se comunica con el NS maestro e inicia una transferencia de zona con el servidor.

El uso de servidores secundarios como servidores maestros ayuda mucho, cuando el servidor primario esta muy ocupado, o cuando la forma de comunicación es mas eficiente.

FORWARDERS Y ESCLAVOS

Cuando un NS DNS recibe una solicitud DNS, el intenta localizar la información dentro de sus propios archivos de zona. Si falla porque el servidor no tiene autoridad por el dominio solicitado, el se debe comunicar con otros NS para satisfacer la solicitud.

Para resolver este problema, DNS utiliza el concepto de forwarders. Ciertos NS son seleccionados como forwarders, y solamente ciertos forwarders determinados realizan comunicaciones en Internet. Esta configuración se hace por servidor, no por zonas.

Cuando un servidor configurado para usar forwarders recibe una solicitud DNS que es incapaz de resolver, el transfiere la solicitud a uno de sus forwarders determinados. El forwarder entonces lleva a cabo cualquier comunicación necesario para satisfacer la solicitud y regresar el resultado.

Los esclavos son servidores configurados para utilizar forwarders y para regresar un mensaje de falla si el forwarder no puede satisfacer la solicitud. Los esclavos no intentan contactar a otros NS si el forwarder es incapaz de satisfacer la solicitud.

CACHING-ONLY SERVERS (SERVIDORES SOLO CACHEO)

Aunque tods los NS almacenan temporalmente (caché) las consultas contestadas, los servidores de Caching-only, son NS cuyo único trabajo es ejecutar consultas, almacenar las respuestas, y regresar resultados. En otras palabras, ellos no tienen autoridad sobre ningún dominio y solamente contienen información que han almacenado al satisfacer consultas.

RESOLUCIÓN DE NOMBRES

Hay tres tipos de consultas que un cliente puede hacer a un servidor DNS: recursiva, interactiva e inversa. Estas consultas no solo se realizan entre clientes DNS y servidores DNS sino también entre servidores.

CONSULTAS RECURSIVAS

En una consulta recursiva, el NS responde con el dato solicitado o un estado de error. El NS no puede transferir la consulta a otro NS. Este tipo de consulta es típicamente hecha por un cliente DNS (un resolver) a un servidor DNS. Y cuando un servidor DNS está configurado para usar un forwarder.

CONSULTAS INTERACTIVAS

En una consulta interactiva, el servidor consultado trata de dar la mejor respuesta. Este tipo de consulta es típicamente hecha por un servidor DNS a otro, después de recibir una consulta recursiva desde el resolver (cliente).

CONSULTA INVERSA

Cuando un resolver tiene una dirección IP y desea conocer el nombre del nodo, utiliza una consulta inversa. Debido a que no hay una relación directa entre el espacio de nombres DNS y sus direcciones IP asociadas, solamente una búsqueda en todos los dominios podría garantizar una respuesta correcta. Para remediar este problema, un dominio especial “in-addr.arp.” en el espacio DNS fue creado. Los nodos en el dominio “in-addr.arpa” son nombrados después de sus números en la representación IP de octetos. Sin embargo, como las direcciones IP son mas específicas de derecha a izquierda, y los dominios los son de izquierda a derecha, el orden de los octetos de las direcciones IP deben escribirse al revés. Así, la administración de las “ramas inferiores” del árbol DNS in-addr.arp pueden otorgarse a las compañías en base a sus clases A, B, o C. Cuando el árbol de dominios es construido en la base de datos DNS, un registro apuntador especial es añadido a la dirección IP asociada al nombre de nodo correspondiente. En otras palabras, para encontrar un nombre de nodo en base a una dirección IP, el resolver preguntará por un registro apunto a una dirección IP. Si esta dirección IP esta fuera del dominio local, el servidor DNS comenzará a resolver a otros nodos del dominio.

CACHÉ Y TIEMPO DE VIDA (TIME TO LIVE TTL)

Cuando un servidor de nombres esta procesando una consulta recursiva, posiblemente envíe varias consultas para encontrar una respuesta. El NS almacena en caché toda la información que recibe durante el proceso por cierto tiempo especificado en los datos regresados. Esta cantidad de tiempo se conoce como el: Tiempo de Vida (Time To Live, TTL). El administrador del NS de una zona decide el TTL para sus datos. Valores pequeños de TTL ayudarán a asegurar la consistencia de los datos, sin embargo, incrementa el trabajo para el NS.

Cuando los datos se almacenan en la caché del servidor DNS, este comienza a decrementar su TTL para saber cuando eliminarlo. Si una consulta se satisface en base a los datos en caché, el TTL devuelto será la cantidad de tiempo restante en la caché del servidor DNS. Así, los clientes también conocen cuando expira un dato.

RESOLUCIÓN DE NOMBRES

Hay tres tipos de consultas que un cliente puede hacer a un servidor DNS: recursiva, interactiva e inversa. Estas consultas no solo se realizan entre clientes DNS y servidores DNS sino también entre servidores.

CONSULTAS RECURSIVAS

En una consulta recursiva, el NS responde con el dato solicitado o un estado de error. El NS no puede transferir la consulta a otro NS. Este tipo de consulta es típicamente hecha por un cliente DNS (un resolver) a un servidor DNS. Y cuando un servidor DNS está configurado para usar un forwarder.

CONSULTAS INTERACTIVAS

En una consulta interactiva, el servidor consultado trata de dar la mejor respuesta. Este tipo de consulta es típicamente hecha por un servidor DNS a otro, después de recibir una consulta recursiva desde el resolver (cliente).

CONSULTA INVERSA

Cuando un resolver tiene una dirección IP y desea conocer el nombre del nodo, utiliza una consulta inversa. Debido a que no hay una relación directa entre el espacio de nombres DNS y sus direcciones IP asociadas, solamente una búsqueda en todos los dominios podría garantizar una respuesta correcta. Para remediar este problema, un dominio especial “in-addr.arp.” en el espacio DNS fue creado. Los nodos en el dominio “in-addr.arpa” son nombrados después de sus números en la representación IP de octetos. Sin embargo, como las direcciones IP son mas específicas de derecha a izquierda, y los dominios los son de izquierda a derecha, el orden de los octetos de las direcciones IP deben escribirse al revés. Así, la administración de las “ramas inferiores” del árbol DNS in-addr.arp pueden otorgarse a las compañías en base a sus clases A, B, o C. Cuando el árbol de dominios es construido en la base de datos DNS, un registro apuntador especial es añadido a la dirección IP asociada al nombre de nodo correspondiente. En otras palabras, para encontrar un nombre de nodo en base a una dirección IP, el resolver preguntará por un registro apunto a una dirección IP. Si esta dirección IP esta fuera del dominio local, el servidor DNS comenzará a resolver a otros nodos del dominio.

CACHÉ Y TIEMPO DE VIDA (TIME TO LIVE TTL)

Cuando un servidor de nombres esta procesando una consulta recursiva, posiblemente envíe varias consultas para encontrar una respuesta. El NS almacena en caché toda la información que recibe durante el proceso por cierto tiempo especificado en los datos regresados. Esta cantidad de tiempo se conoce como el: Tiempo de Vida (Time To Live, TTL). El administrador del NS de una zona decide el TTL para sus datos. Valores pequeños de TTL ayudarán a asegurar la consistencia de los datos, sin embargo, incrementa el trabajo para el NS. Cuando los datos se almacenan en la caché del servidor DNS, este comienza a decrementar su TTL para saber cuando eliminarlo. Si una consulta se satisface en base a los datos en caché, el TTL devuelto será la cantidad de tiempo restante en la caché del servidor DNS. Así, los clientes también conocen cuando expira un dato.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s