stringtranslate.com

DNS de operación por turnos

El DNS round-robin es una técnica de distribución de carga , equilibrio de carga o tolerancia a fallos 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 las solicitudes de las 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.

Desventajas

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 del 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á entregando 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.

Referencias

  1. ^ "DNS Round-Robin". Cloudflare . Cloudflare, Inc . Consultado el 16 de agosto de 2019 .
  2. ^ ab Feenberg, Daniel (25 de julio de 2016). «DNS round robin para conmutación por error de servidor web» . Consultado el 10 de enero de 2020 .
  3. ^ "¿Cuál es la diferencia entre una política de enrutamiento de respuestas de múltiples valores y una política de enrutamiento simple?". Amazon Web Services, Inc. 3 de agosto de 2018. Consultado el 10 de enero de 2020 .
  4. ^ Liska, A.; Stowe, G. (2016). "Entendiendo el DNS". Seguridad DNS . pág. 19.
  5. ^ Pan, Jianping; Hou, Y. Thomas; Li, Bo (2003). "Una descripción general de las selecciones de servidores basados ​​en DNS en redes de distribución de contenido". Redes informáticas . 43 (6): 695–711. doi :10.1016/S1389-1286(03)00293-7.Icono de acceso cerrado
  6. ^ "getaddrinfo con DNS round robin y ojos felices". 3 de enero de 2012.
  7. ^ Draves, R.; Matsumoto, A.; Chown, T.; Chown, T. (2012). Thaler, D. (ed.). "RFC 6724 - Selección de dirección predeterminada para el Protocolo de Internet versión 6 (IPv6)". doi : 10.17487/RFC6724 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  8. ^ "La regla 9 para IPv4 causó serios problemas operativos (¡los sitios FTP [de Debian Linux] fallaron!".
  9. ^ Brisco, Thomas P. (abril de 1995). "RFC 1794 - Compatibilidad de DNS para el equilibrio de carga". doi :10.17487/RFC1794 . Consultado el 24 de agosto de 2019 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  10. ^ lbnamed, un servidor DNS con equilibrio de carga implementado en el lenguaje de programación Perl