Lo primero que debemos tener en cuenta, es que Round Robin es una opción del servidor DNS que suele estar habilitado por defecto, pero cabe la posibilidad de que no lo esté, en cuyo caso también se devolverán todas las IPs asignadas al mismo nombre, pero siempre en el mismo orden.
A modo de ejemplo, hemos creado dos registros A para el mismo nombre (ABCD), de tal modo que responda a dos IPs (10.0.0.1 y 10.0.0.2). Adicionalmente hemos creado un Alias DNS apuntando a dicho registro A. No tenemos ninguna máquina con dichas IPs, pero para comprobar la resolución de nombres, es suficiente.
Los registros A los hemos creado con el TTL por defecto de 1 minuto.
Sin embargo, el Alias lo hemos creado con un TTL de 2 minutos.
El TTL (Time to Live) es el tiempo que puede permanecer en Caché un registro de DNS. Al ejecutar una consulta DNS, esta puede quedar almacenada en Caché, de tal modo que sucesivas consultas DNS para el mismo registro se puedan resolver directamente desde la Caché, evitando realizar una consulta a los servidores DNS, y en consecuencia, minimizando Latencias. Una vez que un registro en Caché ha expirado su tiempo de vida (TTL), la siguiente consulta para dicho registro se tendrá que realizar de nuevo contra los servidores DNS. De este modo, es posible ajustar el valor de TTL para minimizar el número de consultas DNS, pero permitiendo que ante un cambio en DNS, no tenga que pasar demasiado tiempo hasta que tome efecto por completo (lo que se llama el tiempo Propagación de DNS).
Empezando con nuestros ejercicios, lo primero que vamos a hacer es utilizar la herramienta nslookup para comprobar el funcionamiento de Round Robin, consultando el registro A que hemos creado con varias direcciones IP asignadas. Cada consulta DNS que se realice devolverá todas las IPs asignadas al nombre, pero cambiando el orden. Sin Round Robin, siempre se devolverían las IPs en el mismo orden.
Si hacemos un par de PINGs seguidos, el segundo PING devolverá la misma IP que el primero, ya que resolverá desde la caché local, sin hacer una nueva consulta DNS, excepto que el registro esté expirado en la Caché Local (TTL) y tenga que realizar una nueva consulta DNS. Con el comando ipconfig /displaydns podemos comprobar la Caché local, así como el valor actual del TTL de cada registro en Caché.
Si deseamos vaciar la Caclé DNS de Cliente para hacer alguna prueba (o por cualquier otro motivo) es suficiente con ejecutar el comando ipconfig /flushdns.
Por otro lado, en caso de que se esté utilizando un Alias DNS, y se realicen consultas DNS tanto al Alias como al registro A, existirán dos entradas diferentes en la Caché, que podrían incluir las IPs en mismo o distinto orden.
Si comprobamos el tiempo de vida de ambos registros, vemos que está en ambos casos a 1m (3600seg), es decir, aunque hemos configurado el Alias a 2m, como los registros A a los que apuntan están limitados a 1m, en ambos casos se queda con un valor de 1m (se respeta).
Si dejamos el Alias con un TTL de 2m, y los registros A con un TTL mayor (3m), vemos que entonces que también se respetan estos valores, es decir, en este caso el Alias no se ve limitado por los registros A, al tener un valor más restrictivo.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.