Existen dos tipos de consultas que un cliente puede hacer a un servidor DNS:
- Iterativa
Las resoluciones iterativas consisten en la respuesta completa que el servidor de nombres pueda dar. El servidor de nombres consulta sus datos locales (incluyendo su caché) buscando los datos solicitados. El servidor encargado de hacer la resolución realiza iterativamente preguntas a a los diferentes DNS de la jerarquía asociada al nombre que se desea resolver, hasta descender en ella hasta la máquina que contiene la zona autoritativa para el nombre que se desea resolver.
- Recursiva
En las resoluciones recursivas, el servidor no tiene la información en sus datos locales, por lo que busca y se pone en contacto con un servidor DNS raíz, y en caso de ser necesario repite el mismo proceso básico (consultar a un servidor remoto y seguir a la siguiente referencia) hasta que obtiene la mejor respuesta a la pregunta.
Cuando existe más de un servidor autoritario para una zona, Bind utiliza el menor valor en la métrica RTT (round-trip time) para seleccionar el servidor. El RTT es una medida para determinar cuánto tarda un servidor en responder una consulta.
El proceso de resolución normal se da de la siguiente manera:
- El servidor A recibe una consulta recursiva desde el cliente DNS.
- El servidor A envía una consulta recursiva a B.
- El servidor B refiere a A otro servidor de nombres, incluyendo a C.
- El servidor A envía una consulta recursiva a C.
- El servidor C refiere a A otro servidor de nombres, incluyendo a D.
- El servidor A envía una consulta recursiva a D.
- El servidor D responde.
- El servidor A regresa la respuesta al resolver.
- El resolver entrega la resolución al programa que solicitó la información.
fuente.wikipedia