Cómo Funciona Anycast para Acercar el Contenido a Tus Visitantes

Cuando escribes www.someplace.com en la barra de direcciones de su navegador y presione entrar, el sitio se mostrará en su navegador en (con suerte) unos segundos. Hay una serie de cosas que suceden detrás de escena para dirigir su solicitud a ese sitio para que pueda ver el contenido. El protocolo de puerta de enlace fronteriza (BGP) garantiza que su solicitud llegue al servidor de ese sitio a través de la mejor ruta a través de Internet.

Hay algunas metodologías para abordar el servidor de destino, y en este post discutiremos una de ellas, el direccionamiento de transmisión anycast, en detalle.

¿Qué es Anycast?

En anycast, una colección de servidores comparten la misma dirección IP y envían datos desde un ordenador de origen al servidor topográficamente más cercano. Esto ayuda a reducir los costos de latencia y ancho de banda, mejora el tiempo de carga para los usuarios y mejora la disponibilidad. Es importante recordar que topográficamente más cerca no significa intrínsecamente más cerca geográficamente, aunque este es a menudo el caso.

Anycast está vinculado con el protocolo BGP, que garantiza que todos los vecinos de un enrutador conozcan las redes a las que se puede llegar a través de ese enrutador y la distancia topográfica a esas redes. El principio principal de anycast es que se anuncia un rango de direcciones IP en los mensajes BGP de varios enrutadores. A medida que esto se propaga a través de Internet, los enrutadores se dan cuenta de cuál de sus vecinos proporciona la ruta topográfica más corta a la dirección IP anunciada.

Métodos de direccionamiento

Estos otros métodos de direccionamiento primario están disponibles para enrutar el tráfico.

  • El direccionamiento de unidifusión utiliza una asociación uno a uno, en la que cada dirección de destino se identifica de forma única como un único extremo receptor. Las implementaciones de DNS tradicionales se configuran con direcciones de unidifusión.
  • El direccionamiento de multidifusión utiliza una asociación de muchos de uno a único, en la que los datagramas se enrutan de un solo remitente a varios puntos finales seleccionados en una sola transmisión, utilizando una dirección de grupo de multidifusión. Un uso común de la multidifusión es la transmisión de audio, en la que el audio se publica a través de direcciones de multidifusión y los clientes recogen la transmisión enrutada como un canal.
  • El direccionamiento de difusión utiliza una asociación de uno a muchos, en la que los datagramas se enrutan desde un único remitente a todos los demás puntos finales conectados en una sola transmisión, utilizando una dirección de difusión. La red replica automáticamente los datagramas según sea necesario para todos los segmentos de red (enlaces) que contienen un receptor elegible.

DNS Anycast

Con Unidifusión, las resoluciones de cliente DNS se pueden configurar con varios destinos de servidor de nombres DNS. En caso de que el solucionador no reciba ninguna respuesta del primer servidor de la lista, normalmente esperará un valor de tiempo de espera antes de cambiar al segundo servidor (y los servidores posteriores) de la lista de solucionadores. La próxima vez que el solucionador tenga que realizar una búsqueda, no «recordará» que los servidores de la lista no respondían, y comenzará a consultar con el primer servidor de la lista aunque todavía no esté disponible. Dependiendo del sistema operativo del cliente, puede tardar de uno a cinco segundos a medida que gira a través de la lista de resolución cada vez, intentando el servidor fallido.

Las resoluciones de cliente DNS configuradas con direcciones anycast eliminan virtualmente esta latencia, ya que la resolución es manejada por el protocolo de enrutamiento. En el diagrama que aparece a continuación, se muestra una única estación de trabajo cliente DNS, configurada con la dirección IP DNS anycast de 123.10.10.10, que realiza una resolución DNS contra su servidor de nombres DNS más cercano implementado con la misma dirección IP anycast.

El solucionador DNS del cliente puede resolver contra cualquiera de los tres servidores DNS mostrados arriba. El enrutamiento de capa 3 enviaría los paquetes de nuestro cliente DNS a través del enrutador R1 debido a la topología de enrutamiento. Si el enrutador R1 o el servidor fallan, los paquetes de nuestro cliente DNS se redirigirán automáticamente al servidor DNS más cercano a través de los enrutadores R2 y R3. Además, la ruta a nuestro servidor A, se eliminaría de las tablas de enrutamiento, evitando así el uso posterior de ese servidor de nombres. El servidor A no se utilizará hasta que se restaure y las rutas de direcciones IP anycast se reinyecten a la red.

Dibujemos una analogía de la vida cotidiana para hacer todo esto un poco más comprensible.

Imagine que los zapatos que ha deseado están a la venta y están disponibles en todas las sucursales de una cadena de grandes almacenes. Al igual que en anycast, puede recibir servicios en muchos sitios idénticos, sin razón para preferir un sitio específico. Así que introduce «Marks and Spencer» en Waze, y el navegador le llevará a la sucursal más cercana disponible para comprar esos zapatos. Si el camino a la sucursal más cercana está bloqueado, Waze te llevará a la sucursal más cercana.

¿Por qué Anycast?

La pregunta, que podría estar preguntando, es por qué usar enrutamiento anycast en lugar del enrutamiento unicast más simple, que llevará su solicitud a la misma dirección IP.

El enrutamiento unicast es ciertamente adecuado y apropiado para un sitio con un solo servidor web para acomodar una cantidad moderada de tráfico. Imagine que está sentado con su computadora en un café en el Canal Grande y accediendo www.venicegazette.com, que tiene 843 visitas por hora. Ese sitio tendrá un servidor web y su solicitud se enrutará rápidamente a esa dirección de unidifusión.

Sin embargo, no será tan simple la próxima vez que acceda www.dailyplanet.com para leer el último artículo de Lois Lane. Dado que ese periódico tiene millones de suscriptores, hay varios servidores web, cada uno con la misma dirección IP, dispersos geográficamente, para atender las solicitudes.

Las ventajas de anycast en tal escenario son:

  • Mejora del rendimiento: el tráfico se enruta con una latencia insignificante para el usuario, como se mencionó anteriormente
  • Fiabilidad del servicio: Con servidores redundantes, el servicio está más disponible. Por ejemplo, si el servidor Paris está en mantenimiento, el servicio se enrutará automáticamente a un servidor disponible con la siguiente mejor ruta.
  • Equilibrio de carga: El enrutamiento a varios servidores equilibrará efectivamente la carga entre los servidores, mejorando la velocidad del sitio
  • Reduce el impacto de los ataques DoS: El ataque de denegación de servicio probablemente se localizará en un servidor y, por lo tanto, no afectará a todo el servicio

Anycast en Incapsula

Para proporcionar estas ventajas, Incapsula (ahora Imperva Cloud Application Security) utiliza de anycast en su red CDN. Cuando los usuarios finales establecen una conexión con una dirección IP de Incapsula dentro de un rango de IP anycasted, llegarán a la ventana emergente de Incapsula que está más cerca de ellos.

Echa un vistazo a estos servicios de Incapsula que utilizan direcciones IP anycasted:

  • Sistema DNS Incapsula
  • Servicio de protección IP

Deja una respuesta

Tu dirección de correo electrónico no será publicada.