¿Cómo eligen los clientes DNS una dirección IP cuando obtienen múltiples respuestas?

25

Cuando un servidor DNS está buscando una dirección IP para un cliente y recibe una lista de múltiples servidores DNS para consultar, ¿cómo elige uno? De manera similar, cuando un cliente DNS recibe una lista de múltiples direcciones IP para un FQDN, ¿cómo elige una? ¿Es específico de la implementación o está cubierto en un RFC?

bpfinn
fuente

Respuestas:

18

Un servidor DNS que resuelve una consulta puede priorizar el orden en que utiliza los servidores enumerados en función de los datos históricos del tiempo de respuesta (RFC1035 sección 7.2). También puede priorizar por una subred más cercana (he visto esto en RFC pero no recuerdo cuál). Si no hay un historial o prioridad de subred disponible, puede elegir al azar o simplemente elegir el primero. He visto implementaciones de servidor DNS haciendo varias combinaciones de las anteriores.

Un programa cliente que elige una dirección IP de una lista (de registros A / AAAA) generalmente intentará las direcciones en el orden en que fueron devueltas por el servidor DNS (round robin). Si el cliente no puede conectarse a la primera dirección IP devuelta, debe probar la segunda y así sucesivamente. Por ejemplo, todos los principales navegadores hacen esto, sin embargo, muchos otros programas de cliente de Internet "olvidan" este paso y fallan si no pueden conectarse a la primera dirección IP.

Jesper
fuente
4

RFC 1794 cubre la pregunta Round Robin que estás haciendo.

En cuanto a las respuestas, la mayoría de los clientes DNS usarán la primera dirección IP de la lista, algunos hacen cálculos de subred para determinar cuál está más cerca, otros eligen al azar, pero la mayoría depende del servidor DNS para enviar la lista.

Mark Turner
fuente
3

Depende del cliente; de ​​particular relevancia para cualquiera que tenga una tienda de Windows es el hecho de que Vista \ Windows Server 2008 elegirá la dirección usando un mecanismo diferente (si está instalada la pila ipv6) para versiones anteriores de Windows que elegirían la primera dirección . En muchos casos, esto significa que siempre elegirán el mismo, es decir, no "honrarán" las respuestas de round robin de DNS de la misma manera que las versiones anteriores. Hay una explicación detallada de esto en este artículo del blog de Technet .

El artículo vinculado indica que Windows 7 y Server 2008 R2 cambian este comportamiento predeterminado nuevamente, pero no puedo encontrar nada que lo respalde.

También vale la pena señalar que, por lo que puedo decir, este es el comportamiento compatible con los estándares para ipv6, aunque me alegraría mucho saber que me equivoqué.

Helvick
fuente