DNS
Cuando un cliente DNS necesita buscar un nombre que se utiliza en un programa, consulta los servidores DNS para resolver el nombre. Cada mensaje de consulta que envía el cliente contiene tres grupos de información, que especifican una pregunta que tiene que responder el servidor:
Las consultas DNS se resuelven de diferentes formas. A veces, un cliente responde a una consulta localmente mediante la información almacenada en la caché obtenida de una consulta anterior. El servidor DNS puede utilizar su propia caché de información de registros de recursos para responder a una consulta. Un servidor DNS también puede consultar o ponerse en contacto con otros servidores DNS en nombre del cliente solicitante para resolver el nombre por completo y, a continuación, enviar una respuesta al cliente. Este proceso se llama recursividad.
Además, el mismo cliente puede intentar ponerse en contacto con servidores DNS adicionales para resolver un nombre. Cuando un cliente lo hace, utiliza consultas adicionales e independientes en función de respuestas de referencia de los servidores. Este proceso se llama iteración.
En general, el proceso de consulta DNS se realiza en dos partes:
- Un nombre de dominio DNS especificado, indicado como un nombre de dominio completo (FQDN)
- Un tipo de consulta especificado, que puede establecer un registro de recursos por tipo o un tipo especializado de operación de consulta
- Una clase especificada para el nombre de dominio DNS.
Para servidores DNS de Windows, esto se debe especificar siempre como la clase Internet (IN).
Las consultas DNS se resuelven de diferentes formas. A veces, un cliente responde a una consulta localmente mediante la información almacenada en la caché obtenida de una consulta anterior. El servidor DNS puede utilizar su propia caché de información de registros de recursos para responder a una consulta. Un servidor DNS también puede consultar o ponerse en contacto con otros servidores DNS en nombre del cliente solicitante para resolver el nombre por completo y, a continuación, enviar una respuesta al cliente. Este proceso se llama recursividad.
Además, el mismo cliente puede intentar ponerse en contacto con servidores DNS adicionales para resolver un nombre. Cuando un cliente lo hace, utiliza consultas adicionales e independientes en función de respuestas de referencia de los servidores. Este proceso se llama iteración.
En general, el proceso de consulta DNS se realiza en dos partes:
- La consulta de un nombre comienza en un equipo cliente y se pasa al solucionador, el servicio Cliente DNS, para proceder a su resolución.
- Cuando la consulta no se puede resolver localmente, se puede consultar a los servidores DNS según sea necesario para resolver el nombre.
Parte 1: el solucionador local
En la figura siguiente se muestra un resumen del proceso de consulta DNS completo.
Como se muestra en los pasos iniciales del proceso de consulta, en un programa del equipo local se utiliza un nombre de dominio DNS. A continuación, la solicitud se pasa al servicio Cliente DNS para proceder a su resolución mediante la información almacenada en la caché local. Si se puede resolver el nombre consultado, se responde a la consulta y el proceso finaliza.
La caché del solucionador local puede incluir información de nombres obtenida de dos orígenes posibles:

La caché del solucionador local puede incluir información de nombres obtenida de dos orígenes posibles:
- Si un archivo Hosts está configurado localmente, las asignaciones de nombre a dirección de host de ese archivo se cargan previamente en la caché cuando se inicia el servicio Cliente DNS.
- Los registros de recursos obtenidos en las respuestas de consultas DNS anteriores se agregan a la caché y se mantienen durante un período.
Parte 2: consultar un servidor DNS
Como se indicó en la figura anterior, el cliente consulta un servidor DNS preferido. El servidor real utilizado durante la parte de la consulta inicial cliente-servidor del proceso se selecciona de una lista global.
Cuando el servidor DNS recibe una consulta, primero comprueba si puede responder la consulta con autoridad en función de la información de registro de recursos contenida en una zona configurada localmente en el servidor. Si el nombre consultado coincide con un registro de recursos correspondiente en la información de zona local, el servidor responde con autoridad y usa esta información para resolver el nombre consultado.
Si no existe ninguna información de zona para el nombre consultado, a continuación el servidor comprueba si puede resolver el nombre mediante la información almacenada en la caché local de consultas anteriores. Si aquí se encuentra una coincidencia, el servidor responde con esta información. De nuevo, si el servidor preferido puede responder al cliente solicitante con una respuesta coincidente de su caché, finaliza la consulta.
Si el nombre consultado no encuentra una respuesta coincidente en su servidor preferido, ya sea en su caché o en su información de zona, el proceso de consulta puede continuar y se usa la recursividad para resolver completamente el nombre. Esto implica la asistencia de otros servidores DNS para ayudar a resolver el nombre. De forma predeterminada, el servicio Cliente DNS solicita al servidor que utilice un proceso de recursividad para resolver completamente los nombres en nombre del cliente antes de devolver una respuesta. En la mayor parte de los casos, el servidor DNS se configura, de forma predeterminada, para admitir el proceso de recursividad como se muestra en el gráfico siguiente.
Para que el servidor DNS realice la recursividad correctamente, primero necesita información de contacto útil acerca de los otros servidores DNS del espacio de nombres de dominio DNS. Esta información se proporciona en forma de sugerencias de raíz, una lista de los registros de recursos preliminares que puede utilizar el servicio DNS para localizar otros servidores DNS que tienen autoridad para la raíz del árbol del espacio de nombres de dominio DNS. Los servidores raíz tienen autoridad para el dominio raíz y los dominios de nivel superior en el árbol del espacio de nombres de dominio DNS. Para obtener más información, vea Actualizar sugerencias de raíz.
Un servidor DNS puede completar el uso de la recursividad utilizando las sugerencias de raíz para encontrar los servidores raíz. En teoría, este proceso permite a un servidor DNS localizar los servidores que tienen autoridad para cualquier otro nombre de dominio DNS que se utiliza en cualquier nivel del árbol del espacio de nombres.
Por ejemplo, piense en la posibilidad de usar el proceso de recursividad para localizar el nombre "host-b.ejemplo.microsoft.com." cuando el cliente consulte un único servidor DNS. El proceso ocurre cuando un servidor y un cliente DNS se inician y no tienen información almacenada en la caché local disponible para ayudar a resolver la consulta de un nombre. El servidor supone que el nombre consultado por el cliente es para un nombre de dominio del que el servidor no tiene conocimiento local, según sus zonas configuradas.
Primero, el servidor preferido analiza el nombre completo y determina que necesita la ubicación del servidor con autoridad para el dominio de nivel superior, "com". A continuación, utiliza una consulta iterativa al servidor DNS "com" para obtener una referencia al servidor "microsoft.com". Después, desde el servidor "microsoft.com" se proporciona una respuesta de referencia al servidor DNS para "ejemplo.microsoft.com".
Finalmente, se entra en contacto con el servidor "ejemplo.microsoft.com.". Ya que este servidor contiene el nombre consultado como parte de sus zonas configuradas, responde con autoridad al servidor original que inició la recursividad. Cuando el servidor original recibe la respuesta que indica que se obtuvo una respuesta con autoridad a la consulta solicitada, reenvía esta respuesta al cliente solicitante y se completa el proceso de consulta recursiva.
Aunque el proceso de consulta recursiva puede usar muchos recursos cuando se realiza como se describe anteriormente, tiene algunas ventajas en el rendimiento para el servidor DNS. Por ejemplo, durante el proceso de recursividad, el servidor DNS que realiza la búsqueda recursiva obtiene información acerca del espacio de nombres de dominio DNS. Esta información se almacena en la caché del servidor y se puede utilizar de nuevo para ayudar a acelerar la obtención de respuestas a consultas subsiguientes que la utilizan o concuerdan con ella. Con el tiempo, esta información almacenada en caché puede crecer hasta ocupar una parte significativa de los recursos de memoria del servidor, aunque se limpia siempre que el servicio DNS se activa y desactiva.
Cuando el servidor DNS recibe una consulta, primero comprueba si puede responder la consulta con autoridad en función de la información de registro de recursos contenida en una zona configurada localmente en el servidor. Si el nombre consultado coincide con un registro de recursos correspondiente en la información de zona local, el servidor responde con autoridad y usa esta información para resolver el nombre consultado.
Si no existe ninguna información de zona para el nombre consultado, a continuación el servidor comprueba si puede resolver el nombre mediante la información almacenada en la caché local de consultas anteriores. Si aquí se encuentra una coincidencia, el servidor responde con esta información. De nuevo, si el servidor preferido puede responder al cliente solicitante con una respuesta coincidente de su caché, finaliza la consulta.
Si el nombre consultado no encuentra una respuesta coincidente en su servidor preferido, ya sea en su caché o en su información de zona, el proceso de consulta puede continuar y se usa la recursividad para resolver completamente el nombre. Esto implica la asistencia de otros servidores DNS para ayudar a resolver el nombre. De forma predeterminada, el servicio Cliente DNS solicita al servidor que utilice un proceso de recursividad para resolver completamente los nombres en nombre del cliente antes de devolver una respuesta. En la mayor parte de los casos, el servidor DNS se configura, de forma predeterminada, para admitir el proceso de recursividad como se muestra en el gráfico siguiente.

Un servidor DNS puede completar el uso de la recursividad utilizando las sugerencias de raíz para encontrar los servidores raíz. En teoría, este proceso permite a un servidor DNS localizar los servidores que tienen autoridad para cualquier otro nombre de dominio DNS que se utiliza en cualquier nivel del árbol del espacio de nombres.
Por ejemplo, piense en la posibilidad de usar el proceso de recursividad para localizar el nombre "host-b.ejemplo.microsoft.com." cuando el cliente consulte un único servidor DNS. El proceso ocurre cuando un servidor y un cliente DNS se inician y no tienen información almacenada en la caché local disponible para ayudar a resolver la consulta de un nombre. El servidor supone que el nombre consultado por el cliente es para un nombre de dominio del que el servidor no tiene conocimiento local, según sus zonas configuradas.
Primero, el servidor preferido analiza el nombre completo y determina que necesita la ubicación del servidor con autoridad para el dominio de nivel superior, "com". A continuación, utiliza una consulta iterativa al servidor DNS "com" para obtener una referencia al servidor "microsoft.com". Después, desde el servidor "microsoft.com" se proporciona una respuesta de referencia al servidor DNS para "ejemplo.microsoft.com".
Finalmente, se entra en contacto con el servidor "ejemplo.microsoft.com.". Ya que este servidor contiene el nombre consultado como parte de sus zonas configuradas, responde con autoridad al servidor original que inició la recursividad. Cuando el servidor original recibe la respuesta que indica que se obtuvo una respuesta con autoridad a la consulta solicitada, reenvía esta respuesta al cliente solicitante y se completa el proceso de consulta recursiva.
Aunque el proceso de consulta recursiva puede usar muchos recursos cuando se realiza como se describe anteriormente, tiene algunas ventajas en el rendimiento para el servidor DNS. Por ejemplo, durante el proceso de recursividad, el servidor DNS que realiza la búsqueda recursiva obtiene información acerca del espacio de nombres de dominio DNS. Esta información se almacena en la caché del servidor y se puede utilizar de nuevo para ayudar a acelerar la obtención de respuestas a consultas subsiguientes que la utilizan o concuerdan con ella. Con el tiempo, esta información almacenada en caché puede crecer hasta ocupar una parte significativa de los recursos de memoria del servidor, aunque se limpia siempre que el servicio DNS se activa y desactiva.
Respuestas de consultas alternativas
En las afirmaciones anteriores acerca de las consultas DNS se supone que el proceso finaliza con una respuesta positiva devuelta al cliente. Sin embargo, las consultas también pueden devolver otras respuestas. Las más habituales son:
Una respuesta positiva puede estar formada por el registro de recursos consultado o por una lista de registros de recursos (también llamada RRset) que se ajusta al nombre de dominio DNS consultado y el tipo de registro especificado en el mensaje de la consulta.
Una respuesta de referencia contiene registros de recursos adicionales no especificados por el nombre o el tipo de la consulta. Si el proceso de recursividad no se admite, se devuelve al cliente este tipo de respuesta. Los registros deben actuar como respuestas de referencia útiles que el cliente puede utilizar para continuar la consulta mediante la iteración.
Una respuesta de referencia contiene datos adicionales como registros de recursos (RR) distintos de los del tipo consultado. Por ejemplo, si el nombre de host consultado era "www" y no se encontró ningún registro de recursos de dirección (A) para este nombre en esta zona pero, en su lugar, se encontró un registro de recursos de CNAME para "www", el servidor DNS puede incluir esa información cuando responda al cliente.
Si el cliente puede utilizar la iteración, puede hacer consultas adicionales con la información de referencia en un intento de resolver completamente el nombre por sí mismo.
Una respuesta negativa del servidor puede indicar que se encontró uno de los dos resultados posibles mientras el servidor intentaba procesar y resolver de forma recursiva la consulta completamente y con autoridad:
- Una respuesta con autoridad
- Una respuesta positiva
- Una respuesta de referencia
- Una respuesta negativa
Una respuesta positiva puede estar formada por el registro de recursos consultado o por una lista de registros de recursos (también llamada RRset) que se ajusta al nombre de dominio DNS consultado y el tipo de registro especificado en el mensaje de la consulta.
Una respuesta de referencia contiene registros de recursos adicionales no especificados por el nombre o el tipo de la consulta. Si el proceso de recursividad no se admite, se devuelve al cliente este tipo de respuesta. Los registros deben actuar como respuestas de referencia útiles que el cliente puede utilizar para continuar la consulta mediante la iteración.
Una respuesta de referencia contiene datos adicionales como registros de recursos (RR) distintos de los del tipo consultado. Por ejemplo, si el nombre de host consultado era "www" y no se encontró ningún registro de recursos de dirección (A) para este nombre en esta zona pero, en su lugar, se encontró un registro de recursos de CNAME para "www", el servidor DNS puede incluir esa información cuando responda al cliente.
Si el cliente puede utilizar la iteración, puede hacer consultas adicionales con la información de referencia en un intento de resolver completamente el nombre por sí mismo.
Una respuesta negativa del servidor puede indicar que se encontró uno de los dos resultados posibles mientras el servidor intentaba procesar y resolver de forma recursiva la consulta completamente y con autoridad:
- Un servidor con autoridad informó de que el nombre consultado no existe en el espacio de nombres DNS.
- Un servidor con autoridad informó de que el nombre consultado existe, pero no existen registros del tipo especificado para ese nombre.
- Si la respuesta resultante de una consulta es demasiado larga para poderla enviar y resolver en un sólo paquete de mensaje UDP, el servidor DNS puede iniciar una respuesta de conmutación por error a través del puerto 53 de TCP para responder al cliente completamente en una sesión conectada de TCP.
- Generalmente, se deshabilita el uso de la recursividad en un servidor DNS cuando los clientes DNS se limitan a la resolución de nombres en un servidor DNS específico, como el que se encuentra en una intranet. También se puede deshabilitar la recursividad cuando el servidor DNS no puede resolver nombres DNS externos y se espera que los clientes conmuten por error a otro servidor DNS para la resolución de estos nombres.
Puede deshabilitar el uso de la recursividad mediante la configuración de las propiedades Avanzadas en la consola DNS del servidor correspondiente. Para obtener más información, vea Deshabilitar la recursividad en el servidor DNS. - Si deshabilita la recursividad en el servidor DNS, no podrá utilizar reenviadores en el mismo servidor.
- De forma predeterminada, los servidores DNS utilizan varios tiempos predeterminados cuando realizan una consulta recursiva y se ponen en contacto con otros servidores DNS. Son los siguientes:
- Un intervalo de reintento de recursividad de tres segundos. Éste es el tiempo que espera el servicio DNS antes de reintentar una consulta realizada durante una búsqueda recursiva.
- Un intervalo de tiempo de espera de recursividad de quince segundos. Se trata del tiempo que espera el servicio DNS antes de dar como errónea una búsqueda recursiva que se ha reintentado.
Cómo funciona la iteración
La iteración es el tipo de resolución de nombres que se utiliza entre clientes y servidores DNS cuando se dan las condiciones siguientes:
Cuando se utiliza la iteración, un servidor DNS responde al cliente en función de su propio conocimiento específico acerca del espacio de nombres, sin tener en cuenta los datos de los nombres que se están consultando. Por ejemplo, si un servidor DNS de una intranet recibe una consulta de un cliente local para "www.microsoft.com", es posible que devuelva una respuesta de su caché de nombres. Si el nombre consultado no está almacenado actualmente en la caché de nombres del servidor, puede que, para responder, el servidor proporcione una referencia, es decir, una lista de registros de recursos de dirección (A) y de servidor de nombres (NS) para otros servidores DNS que estén más cerca del nombre consultado por el cliente.
Cuando se proporciona una referencia, el cliente DNS asume la responsabilidad de continuar efectuando consultas iterativas a otros servidores DNS configurados para resolver el nombre. Por ejemplo, en el caso más complicado, el cliente DNS puede expandir su búsqueda a los servidores de dominio raíz en Internet en un esfuerzo por localizar los servidores DNS que tienen autoridad para el dominio "com". Una vez en contacto con los servidores raíz de Internet, puede recibir más respuestas iterativas de estos servidores DNS que señalan a los servidores DNS de Internet reales para el dominio "microsoft.com". Cuando se proporcionan registros de estos servidores DNS al cliente, éste puede enviar otra consulta iterativa a los servidores DNS externos de Microsoft en Internet, que pueden responder con una respuesta definitiva y con autoridad.
Cuando se utiliza la iteración, un servidor DNS puede ayudar en la resolución de la consulta de un nombre además de devolver su mejor respuesta propia al cliente. En la mayor parte de las consultas iterativas, un cliente utiliza su lista de servidores DNS configurada localmente para entrar en contacto con otros servidores de nombres a través del espacio de nombres DNS si su servidor DNS principal no puede resolver la consulta.
- El cliente solicita el uso de la recursividad, pero ésta se encuentra deshabilitada en el servidor DNS.
- El cliente no solicita el uso de la recursividad cuando consulta el servidor DNS.
Cuando se utiliza la iteración, un servidor DNS responde al cliente en función de su propio conocimiento específico acerca del espacio de nombres, sin tener en cuenta los datos de los nombres que se están consultando. Por ejemplo, si un servidor DNS de una intranet recibe una consulta de un cliente local para "www.microsoft.com", es posible que devuelva una respuesta de su caché de nombres. Si el nombre consultado no está almacenado actualmente en la caché de nombres del servidor, puede que, para responder, el servidor proporcione una referencia, es decir, una lista de registros de recursos de dirección (A) y de servidor de nombres (NS) para otros servidores DNS que estén más cerca del nombre consultado por el cliente.
Cuando se proporciona una referencia, el cliente DNS asume la responsabilidad de continuar efectuando consultas iterativas a otros servidores DNS configurados para resolver el nombre. Por ejemplo, en el caso más complicado, el cliente DNS puede expandir su búsqueda a los servidores de dominio raíz en Internet en un esfuerzo por localizar los servidores DNS que tienen autoridad para el dominio "com". Una vez en contacto con los servidores raíz de Internet, puede recibir más respuestas iterativas de estos servidores DNS que señalan a los servidores DNS de Internet reales para el dominio "microsoft.com". Cuando se proporcionan registros de estos servidores DNS al cliente, éste puede enviar otra consulta iterativa a los servidores DNS externos de Microsoft en Internet, que pueden responder con una respuesta definitiva y con autoridad.
Cuando se utiliza la iteración, un servidor DNS puede ayudar en la resolución de la consulta de un nombre además de devolver su mejor respuesta propia al cliente. En la mayor parte de las consultas iterativas, un cliente utiliza su lista de servidores DNS configurada localmente para entrar en contacto con otros servidores de nombres a través del espacio de nombres DNS si su servidor DNS principal no puede resolver la consulta.
Cómo funciona el almacenamiento en caché
Cuando los servidores DNS procesan las consultas de los clientes mediante la recursividad o la iteración, descubren y adquieren un almacén significativo de información acerca del espacio de nombres DNS. A continuación, el servidor almacena en caché esta información.El almacenamiento en caché aumenta el rendimiento de la resolución DNS para las consultas subsiguientes de nombres muy utilizados, al tiempo que reduce sustancialmente el tráfico de las consultas relativas a DNS en la red.
Cuando los servidores DNS realizan consultas recursivas en nombre de clientes, almacenan temporalmente en caché los registros de recursos. Los registros de recursos almacenados en caché contienen información obtenida de los servidores DNS que tienen autoridad para los nombres de dominio DNS aprendidos durante las consultas iterativas para buscar y responder por completo una consulta recursiva realizada en nombre de un cliente. Posteriormente, cuando otros clientes realizan consultas nuevas que solicitan información de un registro de recursos que coincide con los registros de recursos almacenados en la caché, el servidor DNS puede utilizar la información de registro de recursos almacenada en la caché para responderlas.
Cuando la información se almacena en la caché, se aplica el valor Tiempo de vida (TTL) a todos los registros de recursos almacenados en la caché. Mientras el tiempo de vida de un registro de recursos almacenado en la caché no caduque, un servidor DNS puede seguir almacenando el registro de recursos en la caché y utilizándolo de nuevo al responder a consultas de sus clientes que coincidan con estos registros de recursos. Al valor de los TTL del almacenamiento en caché usados por los registros de recursos en la mayor parte de las configuraciones de zona se le asigna el TTL mínimo (predeterminado) que se utiliza en el registro de recursos de inicio de autoridad (SOA) de la zona. De forma predeterminada, el tiempo de vida mínimo es de 3.600 segundos (1 hora), pero se puede ajustar o, si es necesario, se pueden establecer tiempos de vida individuales de almacenamiento en caché para cada registro de recursos.
Zonas de Autoridad
Las zonas de autoridad contienen las características sobre las cuales nuestro dominio actuara, en ella se configuran los aspectos importantes así como las opciones especificas de cada zona, estas configuraciones hechas a las zonas son cargadas desde el servidor maestro. La información de cada Zona de Autoridad es almacenada de forma local en un fichero en el Servidor DNS. Este fichero puede incluir varios tipos de registros como pueden ser:CNAME | Canonical Name – (Nombre Canónico) Se usa para crear nombres de hosts adicionales, o alias, para los hosts de un dominio. |
A | Address – (Dirección) Este registro se usa para traducir nombres de hosts a direcciones IP. |
NS | Name Server – (Servidor de Nombres) Define la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de nombres. |
MX | Mail Exchange – (Intercambiador de Correo) Define el lugar donde se aloja el correo que recibe el dominio. |
PTR | Pointer – (Indicador) También conocido como 'registro inverso', funciona a la inversa del registro A, traduciendo IPs en nombres de dominio. |
SOA | Start of authority – (Autoridad de la zona) Proporciona información sobre la zona. |
HINFO | Host Information – (Información del sistema informático) Descripción del host, permite que la gente conozca el tipo de máquina y sistema operativo al que corresponde un dominio. |
TXT | Text - ( Información textual) Permite a los dominios identificarse de modos arbitrarios. |
LOC | Localización - Permite indicar las coordenadas del dominio. |
WKS | Generalización del registro MX para indicar los servicios que ofrece el dominio. Obsoleto en favor de SRV. |
SRV | Servicios - Permite indicar los servicios que ofrece el dominio. |
No hay comentarios:
Publicar un comentario