Saltar la navegación

DNS (Domain Name Server)

DNS (Domain Name Server).

Como hemos visto, los equipos dentro de una red, o la red misma se identifican a través de sus IPs, pero a los humanos nos cuesta recordar cifras de cierto tamaño, por lo que se sustituyen por nombres de dominio porque resultan más fáciles de recordar.

Es por este motivo se hacen imprescindibles los servidores DNS (Domain Name Server) son los que resuelven el nombre de un dominio en una dirección IP. Cada servidor mantiene una base de datos de nombres y direcciones para el dominio local. Para satisfacer las solicitudes fuera del dominio local, cada servidor almacenará también los nombres y direcciones de otros DNSs. Todo este proceso es transparente para el usuario.

El DNS se utiliza para distintos propósitos. Los más comunes son:

  • Resolución de nombres: Dado el nombre completo de un host (por ejemplo blog.smaldone.com), obtener su dirección IP (en este caso, 208.97.175.41).
  • Resolución inversa de direcciones: Es el mecanismo inverso al anterior. Consiste en, dada una dirección IP, obtener el nombre asociado a la misma.

DNS Global.

A nivel global (para toda Internet) el sistema está estructurado en forma de “árbol“. Cada nodo del árbol está compuesto por un grupo de servidores que se encargan de resolver un conjunto de dominios (zona de autoridad). Un servidor puede delegar en otro (u otros) la autoridad sobre alguna de sus subzonas (esto es, algún subdominio de la zona sobre la que él tiene autoridad). Un subdominio puede verse como una especialización de un dominio de nivel anterior. Por ejemplo, “smaldone.com.ar” es un subdominio de “com.ar“, que a su vez lo es del TLD “ar“.

Los servidores con autoridad sobre los TLD son los llamados “root servers” (o “servidores raíz“) del
sistema. Estos son fijos, ya que rara vez cambian, siendo actualmente 22.

Proceso de resolución de nombres.

Cuando una aplicación (cliente) necesita resolver un FQHN envía un requerimiento al servidor de nombres configurado en el sistema (normalmente, el provisto por el ISP). A partir de entonces se desencadena el proceso de resolución del nombre:

  1. El servidor de nombres inicial consulta a uno de los servidores raíz (cuya dirección IP debe conocer previamente).
  2. Este devuelve el nombre del servidor a quien se le ha delegado la sub-zona.
  3. El servidor inicial interroga al nuevo servidor.
  4. El proceso se repite nuevamente a partir del punto 2 si es que se trata de una sub-zona delegada.
  5. Al obtener el nombre del servidor con autoridad sobre la zona en cuestión, el servidor inicial lo interroga.
  6. El servidor resuelve el nombre correspondiente, si este existe.
  7. El servidor inicial informa al cliente el nombre resuelto.

Mecanismos de caché.

Cada vez que un servidor de nombres envía una respuesta, lo hace adjuntando el tiempo de validez de la misma (TTL o “tiempo de vida“). Esto posibilita que el receptor, antes la necesidad de volver a resolver la misma consulta, pueda utilizar la información previamente obtenida en vez de realizar un nuevo requerimiento.

Esta es la razón por la cual los cambios realizados en el DNS no se propagan instantáneamente a través del sistema. Dependiendo de la naturaleza de los mismos (y de la configuración de cada servidor), la propagación puede tardar desde algunos minutos hasta varios días.