Resolución Reversa / DNS

Domain Name System (DNS)

Introducción

DNS o Domain Name System, es un sistema de base de datos distribuido que permite la traducción de un nombre para dirección IP (Internet Protocol address).

Ese sistema es parte fundamental de la infraestructura de Internet, por lo tanto de gran importancia.

En el comienzo de la Internet, era pequeño el numero de computadoras conectadas a esa red, lo que permitía el mantenimiento de un archivo conteniendo el nombre y respectiva dirección IP de cada una de esas computadoras.

Mismo siendo pequeña la cantidad de computadoras, aún así, era mas fácil memorizar nombres de que direcciones IP.

Ese archivo quedabase disponible en un sitio central para ser entonces copiado por los administradores de los demás sitios.

Con el crecimiento de Internet, y el consecuente aumento del número de computadoras conectadas, se hizo difícil mantener ese archivo con nombres y direcciones de todas las computadoras.

La solución fue crear un sistema distribuido para resolución de nombres para direcciones IP.

En ese sistema, hay una jerarquía de nombres de dominio donde cada sitio es responsable solamente por mantener las informaciones de su dominio. Por eso es considerado un sistema distribuido.

En esa jerarquía cada parte del nombre, o sea, cada dominio es separado por "." siendo la parte más a izquierda aquella más especifica.

Por ejemplo: www.example.org. el nombre más a izquierda representa un servidor (en general servidor web) y es la parte más específica dentro del dominio example; lo cual por su vez está dentro do dominio org, que es la parte menos específica de ese nombre.

Cada parte del nombre de dominio puede estar sob la responsabilidad de una entidad diferente. O sea, la entidade que está responsable pela zona org no necesariamente es la misma responsable por la zona example.

Ese sistema DNS está compuesto básicamente por tres componentes: servidores autoridad, servidores recursivos y clientes (resolvers).

El cliente (resolver) es lo que se encuentra instalado en las computadoras con software TCP/IP, lo que de una manera general, son todos aquellos que se conectan a Internet.

Ese software cliente inicia una resolución DNS en respuesta a solicitación de otros softwares, en ejecución en la computadora, para acceder a alguna computadora a través de su nombre.

La configuración de un resolver es bien simple y necesita solamente de la dirección IP de un servidor recursivo.

El servidor recursivo es aquel que recibe las consultas DNS de los resolvers y se encarga de ejecutar toda la resolución para entonces devolver la respuesta final al cliente (resolver). Servidores recursivos consultan servidores hasta obtener la respuesta para la consulta.

Finalmente, el servidor autoridad (authoritative server), es aquel que tiene autoridad acerca un nombre de dominio. O sea, es la fuente confiable acerca de la información de un nombre de dominio.

Es en ese servidor que se encuentran las informaciones de cuales direcciones IP están asociados as computadoras que utilizan el nombre de dominio en cuestión.

Una resolución de nombre de dominio se inicia en el software cliente, que la envía a un servidor recursivo. Eses otro servidor, en general, inicia la resolución consultando los servidores raíces (root servers), que son los servidores responsables por el topo de la jerarquía de nombres de dominio.

En seguida, con base en la información recibida de los servidores raíces, el servidor recursivo consulta a otros servidores hasta llegar a aquel responsable por el dominio deseado.