¿Cuál es el propósito de los servidores de nombres raíz?

¿Cuál es el propósito de los servidores de nombres raíz?

Dehttps://www.cloudflare.com/en-au/learning/dns/dns-server-types/

Los 13 servidores de nombres raíz DNS son conocidos por todos los solucionadores recursivos, y son la primera parada en la búsqueda de registros DNS de un solucionador recursivo. Un servidor raíz acepta una consulta de resolución recursiva que incluye un nombre de dominio, y el servidor de nombres raíz responde dirigiendo el solucionador recursivo a un servidor de nombres TLD, según la extensión de ese dominio (.com, .net, .org, etc.).

Pero, ¿por qué los solucionadores recursivos no pueden consultar directamente los servidores TLD? Según tengo entendido, solo hay aproximadamente 1500 servidores TLD, que podrían distribuirse fácilmente a todos los servidores de resolución.

Se necesitaría algo así como un servidor raíz para distribuir todos los servidores TLD a los resolutores. Pero sólo se les debe encuestar una vez para inicializar la lista de TLD. Según tengo entendido, cada solicitud de DNS le preguntará al servidor raíz, por ejemplo, "¿dónde está el servidor TLD para .com?" ¿Eso parece bastante ineficiente?

Respuesta1

Pero, ¿por qué los solucionadores recursivos no pueden consultar directamente los servidores TLD? Según tengo entendido, solo hay aproximadamente 1500 servidores TLD, que podrían distribuirse fácilmente a todos los servidores de resolución.

Porque cuando tienes una lista de 1500 servidores, necesitas distribuir actualizaciones con mucha más frecuencia, y evitar la necesidad de distribuir dicha lista a todos los usuarios (incluso si son solo aquellos que ejecutan un solucionador) es una de las razones por las que se incorporó DNS. El primer lugar.

Sería posible hacer esto, sí (y en algunas situaciones realmente se hace), pero aún necesitarías tener esos servidores raíz Xpor distribuir la listaDe todos modos, es más fácil simplemente usar los mecanismos existentes; lo más probable es que seanmáseficiente que recuperar la lista completa en cada inicio.

Se necesitaría algo así como un servidor raíz para distribuir todos los servidores TLD a los resolutores. Pero sólo se les debe encuestar una vez para inicializar la lista de TLD. Según tengo entendido, cada solicitud de DNS le preguntará al servidor raíz, por ejemplo, "¿dónde está el servidor TLD para .com?" ¿Eso parece bastante ineficiente?

Sí, cada solicitud de DNS necesitará dicha consulta, pero la mayoría de las veces se realizará directamente desde la memoria caché del solucionador, siempre que su TTL lo permita. No hay nada especial en las consultas raíz en ese sentido: se almacenan en caché como todas las demás consultas de la cadena (así como la consulta final, por supuesto).

Como cada TLD se almacena en caché individualmente, es probable que esto sea más eficiente que recuperar la lista completa: para un solucionador cuyos usuarios necesitan principalmente 10 TLD, solo tiene que realizar 10 consultas a los servidores raíz aproximadamente una vez al día. Con una lista grande de 1500 servidores, actualizar la lista completa con la misma frecuencia consumiría muchos recursos en los servidores raíz, e incluso si usara la transferencia incremental seguiría recibiendo muchos cambios queno necesito.

Respuesta2

Como señala @gantendo, el almacenamiento en caché existe.

Dehttps://en.m.wikipedia.org/wiki/Domain_Name_System

Este mecanismo supondría una gran carga de tráfico para los servidores raíz, si cada resolución en Internet requiriera comenzar en la raíz. En la práctica, el almacenamiento en caché se utiliza en los servidores DNS para descargar los servidores raíz y, como resultado, los servidores de nombres raíz en realidad participan sólo en una fracción relativamente pequeña de todas las solicitudes.

En otras palabras, los servidores raíz sólo se sondean ocasionalmente para inicializar la lista de TLD.

información relacionada