¿Dónde se puede realizar el almacenamiento en caché en la jerarquía DNS y cómo se reenvían las consultas?

¿Dónde se puede realizar el almacenamiento en caché en la jerarquía DNS y cómo se reenvían las consultas?

Para que un nombre de host se resuelva en su dirección IP, existen varios servidores DNS que pueden consultarse. Suponiendo que el almacenamiento en caché no ocurre, va desde quien realizó la solicitud (el cliente), el DNS recursivo, el DNS raíz, el DNS de TLD y finalmente el servidor de nombres autorizado.

¿Tengo bien el pedido? ¿Se reenvían las solicitudes o el servidor simplemente responde con la dirección IP del servidor en el siguiente nivel con el que el cliente debe contactar? Por ejemplo, ¿el servidor de nombres recursivo realiza realmente la consulta en el servidor raíz o simplemente pasa la dirección IP del servidor raíz? Supongo que es el primero con fines de almacenamiento en caché. Además, ¿en qué etapas puede ocurrir el almacenamiento en caché? Por ejemplo, ¿el servidor raíz tendría una respuesta en caché del servidor TLD? Dado que sólo hay 13 servidores raíz únicos, ¿cuál es el punto de tener ese nivel en lugar de simplemente ir directamente al servidor TLD?

Respuesta1

Este es un tema profundo, así que esto es sólo la superficie, pero consideren que hay un par de maneras en que se pueden responder las consultas.

En general, el tipo de consulta disponible determinará cuántas solicitudes debe realizar el cliente para resolver una ruta como a.b.c.com.

Para la resolución recursiva, el cliente consulta al servidor una vez para obtener el nombre completo que se busca. El servidor manejará las consultas a los servidores raíz y luego resolverá los servidores de nombres para Cy luego By consultará Bel nombre de host A. el servidor local enviará de vuelta unsolterorespuesta al cliente.

Para una resolución no recursiva, el cliente enviará una solicitud solicitando los servidores de nombres para C.com, luego consultará a ese servidor para los servidores de nombres para B.C.comy luego consultará a esos servidores para el host A. que es la respuesta real que queríamos desde el principio. en este caso, sin embargo, elEl cliente tuvo que hacer 3 consultas separadas.para conseguirlo.

Existe un concepto relacionado de "reenviadores", donde un solucionador local puede reenviar consultas desconocidas (no locales) a otro servidor para su resolución. La interacción entre el servidor local y el solucionador ascendente puede ser recursiva o no, pero el resultado se envía de vuelta al cliente como una respuesta única, por lo que es recursiva desde la perspectiva del cliente.

Ahora, en el tema del almacenamiento en caché, el caché es más valioso desde la perspectiva del rendimiento de la red cuanto más cerca esté del cliente. Sin embargo, dicho esto, la desventaja es que si el caché está demasiado cerca y representa un conjunto poco diverso de respuestas almacenadas en caché, es posible que el caché no se use mucho. colocar el caché una o dos capas en sentido ascendente, de modo que el caché represente los resultados combinados de más usuarios y, por lo tanto, sea más probable que tenga respuestas, puede ser valioso.

Respuesta2

¿Tengo bien el pedido?

El orden general sí, pero no es una línea recta: el servidor raíz no reenvía su consulta a ningún otro lugar, sino que regresa al solucionador con una respuesta de referencia (diciéndole al solucionador que consulte en otro lugar). Lo mismo ocurre con el servidor TLD y el servidor de dominio.

¿Se reenvían las solicitudes o el servidor simplemente responde con la dirección IP del servidor en el siguiente nivel con el que el cliente debe contactar?

Ambos comportamientos ocurren, pero en lugares diferentes.

Por ejemplo, ¿el servidor de nombres recursivo realiza realmente la consulta en el servidor raíz o simplemente pasa la dirección IP del servidor raíz?

El servidor recursivo realiza la consulta real. Esto es literalmente lo que lo convierte en un servidor recursivo: después de haber aceptado la consulta del cliente, él mismo realizará más consultas hasta que pueda devolver el resultado final. (Esto se debe a que el cliente que se ejecuta en su sistema operativo es solo un solucionador de código auxiliar que no tiene todas las funciones necesarias).

Los servidores raíz/TLD/dominio, sin embargo, no son recursivos: solo responden por los dominios para los que tienen autoridad y solo brindan redireccionamientos (referencias) para el resto. Nunca hacen más consultas por su cuenta.

Además, ¿en qué etapas puede ocurrir el almacenamiento en caché? Por ejemplo, ¿el servidor raíz tendría una respuesta en caché del servidor TLD?

El almacenamiento en caché ocurre en sistemas que envían consultas y reciben respuestas. Esto significa que sólo los solucionadores recursivos realizan el almacenamiento en caché, porque reciben información almacenable en caché de otra persona.

Por otro lado, los servidores raíz/TLD/dominio nunca manejan consultas recursivas; no consultan nada más, por lo que no hay nada que necesiten almacenar en caché. (Sólo responden por dominios que sonautoritarioacerca de.)

Dado que sólo hay 13 servidores raíz únicos, ¿cuál es el punto de tener ese nivel en lugar de simplemente ir directamente al servidor TLD?

¿Cómo sabrían los solucionadores de todos dónde están los servidores TLD?

Tenga en cuenta que no existe "el" servidor TLD. Hay servidores de TLD para cada TLD; por ejemplo, el comTLD tiene un conjunto de servidores y el euTLD tiene otro. Hay literalmente cientos de TLD, por lo que una lista estática no sería suficiente.

La raíz DNS simplifica este problema: en lugar de una lista de todos los TLD y sus servidores, solo hay un dominio raíz con sus servidores, lo que resulta en una lista inicial mucho más pequeña y que cambia.muyrara vez, por lo que el software de resolución podría incluir una copia del mismo. La mayoría de los solucionadores recursivos incluyen una copia de las "sugerencias raíz".

(Además, tenga en cuenta que hay 13 direcciones de servidor raíz porque en los primeros días una dirección significaba exactamente un host, pero ese ya no es el caso: Internet admite el enrutamiento anycast, por lo que casi cada una de esas direcciones en realidad corresponde a cientos de instancias únicas. en realidad.)

información relacionada