Ejemplos de ubicación de caché de DNS u otros criterios cuando un cliente ignora una respuesta

2

¿Existe un conjunto conciso de reglas que describan lo que acepta el 99% de los respondedores de DNS?

A la inversa, ¿hay un conjunto de reglas que definen cuándo las consultas de DNS no son válidas?

Creo que la respuesta que busco es así:

  

Si el servidor DNS encuentra un FQDN que no es igual a la ubicación de recorrido actual, debe descartar cualquier registro adicional que se envíe en la consulta y atravesar la jerarquía DNS desde la raíz.

    
pregunta random65537 10.02.2012 - 19:11
fuente

1 respuesta

2

Me imagino que hay una gran diferencia entre lo que sucede y lo que debería . Además, hay una cantidad decente de inconsistencias en este comportamiento que depende (al menos en teoría) de si el servidor cree que se supone que debe estar haciendo consultas recursivas.

La sección "Información adicional" está ahí para evitar búsquedas adicionales (de lo contrario inevitables), reduciendo así el tiempo total de búsqueda y también la tensión en el servidor DNS.

La "regla", como ha sido ampliamente aceptada por la comunidad, divide los servidores en dos grupos: "servidores de nombres autorizados" y "servidores de nombres de resolución". Es decir, se usa un servidor DNS para servir un conjunto específico de dominios, o se usa para actuar como un proxy que realiza búsquedas de DNS recursivas a otros servidores en nombre de un cliente.

Para los servidores de nombres autorizados, se aplican las siguientes reglas:

  1. No devuelva ningún registro para el cual el servidor no sea la autoridad
  2. (Corolario) No haga búsquedas recursivas (que violarían la regla 1)
  3. No almacene en caché nada (lo cual, por supuesto, sería completamente innecesario de todos modos si se siguen las reglas 1 y 2; lo que es una especie de punto)

Para resolver servidores de nombres, se aplican las siguientes reglas:

  1. No almacene en caché ni devuelva ningún registro que no haya solicitado específicamente (o que hubiera solicitado a ese servidor específico)
  2. No almacene en caché ni devuelva ningún registro que provenga de una fuente que no tenga autoridad para ese dominio (hacer 2 probablemente implique 1, que de nuevo es el punto)

El resultado final es que los dominios solo provendrán de los servidores de nombres autorizados o de los servidores de resolución que solicitaron directamente la información de los servidores de nombres autorizados. Esto, por definición, significa que el envenenamiento de caché no está ocurriendo.

Obtendrá información adicional de un servidor de nombres cuando piense que tiene información adicional que podría ayudarlo. Si realiza la búsqueda desde un servidor de nombres autorizado, su información adicional debe limitarse solo a lo que está almacenado en el servidor. Eso puede significar que si su respuesta es un CNAME a un dominio extranjero, entonces todo lo que obtiene es una lista de los servidores raíz. Pero si el servidor tiene la respuesta correcta para usted (como cuando el nombre canónico está dentro de la misma zona que el registro CNAME), debe obtener la información más específica disponible.

Si, por otro lado, está haciendo solicitudes a un resolvedor de almacenamiento en caché, entonces el servidor a menudo hará solicitudes adicionales para que la respuesta que obtenga sea algo que pueda usar. Esto es particularmente cierto en el caso de los registros CNAME, pero también puede aplicarse en otros casos.

    
respondido por el tylerl 12.02.2012 - 06:53
fuente

Lea otras preguntas en las etiquetas