El DNS round-robin es una técnica de distribución de carga , equilibrio de carga o tolerancia a fallas que proporciona múltiples hosts de servicios de protocolo de Internet redundantes, por ejemplo, servidores web o servidores FTP , mediante la gestión de las respuestas del Sistema de nombres de dominio (DNS) para abordar solicitudes de computadoras cliente de acuerdo con un modelo estadístico apropiado. [1]
En su implementación más simple, el DNS round-robin funciona respondiendo a las solicitudes DNS no solo con una única dirección IP potencial , sino con una lista de direcciones IP potenciales correspondientes a varios servidores que alojan servicios idénticos. [2] [3] El orden en el que se devuelven las direcciones IP de la lista es la base del término round-robin . Con cada respuesta DNS, se permuta la secuencia de direcciones IP en la lista . [4] Tradicionalmente, los clientes IP intentan inicialmente conexiones con la primera dirección devuelta de una consulta DNS, [5] de modo que en diferentes intentos de conexión, los clientes recibirían servicio de diferentes proveedores, distribuyendo así la carga general entre los servidores.
Algunos solucionadores intentan reordenar la lista para dar prioridad a las redes numéricamente "más cercanas". Este comportamiento se estandarizó durante la definición de IPv6 y se lo ha culpado de anular el equilibrio de carga por turnos. [6] [7] [8] Algunos clientes de escritorio intentan direcciones alternativas después de un tiempo de espera de conexión de hasta 30 segundos. [2]
El DNS round-robin se utiliza a menudo para equilibrar la carga de las solicitudes entre varios servidores web . Por ejemplo, una empresa tiene un nombre de dominio y tres copias idénticas del mismo sitio web que residen en tres servidores con tres direcciones IP. El servidor DNS se configurará de modo que el nombre de dominio tenga varios registros A, uno para cada dirección IP. Cuando un usuario accede a la página de inicio, se le enviará a la primera dirección IP. El segundo usuario que accede a la página de inicio será enviado a la siguiente dirección IP y el tercer usuario será enviado a la tercera dirección IP. En cada caso, una vez que se proporciona la dirección IP, va al final de la lista. Por lo tanto, el cuarto usuario será enviado a la primera dirección IP, y así sucesivamente.
En raras ocasiones, a un nombre DNS round-robin se lo denomina "rotor" debido a la rotación entre registros A alternativos.
Aunque es fácil de implementar, el DNS round-robin tiene una serie de desventajas, como las que surgen del almacenamiento en caché de registros en la propia jerarquía del DNS, así como el almacenamiento en caché y la reutilización de direcciones del lado del cliente, cuya combinación puede ser difícil de gestionar. El DNS round-robin no debe depender únicamente de la disponibilidad del servicio. Si falla un servicio en una de las direcciones de la lista, el DNS seguirá distribuyendo esa dirección y los clientes seguirán intentando comunicarse con el servicio inoperativo.
El DNS round-robin puede no ser la mejor opción para equilibrar la carga por sí solo, ya que simplemente alterna el orden de los registros de direcciones cada vez que se consulta un servidor de nombres. Debido a que no tiene en cuenta el tiempo de transacción, la carga del servidor ni la congestión de la red, funciona mejor para servicios con una gran cantidad de conexiones distribuidas uniformemente a servidores de capacidad equivalente. De lo contrario, simplemente realiza una distribución de carga . [9]
Existen métodos para superar estas limitaciones. Por ejemplo, los servidores DNS modificados (como lbnamed [10] ) pueden consultar de forma rutinaria la disponibilidad y el factor de carga de los servidores reflejados. Si un servidor no responde como se requiere, se lo puede eliminar temporalmente del grupo de DNS hasta que informe que está nuevamente operando dentro de las especificaciones.
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ) {{cite journal}}
: Requiere citar revista |journal=
( ayuda )