¿Qué es anycast?
Anycast, también conocido como IP anycast, es una técnica de red que permite que varias máquinas compartan la misma dirección IP. En función de la ubicación de la solicitud del usuario, los enrutadores la envían a la máquina de la red más cercana. Esto es beneficioso ya que, entre otras cosas, reduce la latencia y aumenta la redundancia. Si un centro de datos en particular se desconectara, una IP anycasted elegiría la mejor ruta para los usuarios y los redirigiría automáticamente al centro de datos más cercano. A continuación se describen algunos de los pros y los contras que están asociados con la configuración de anycast.
Pros
- Velocidad. El tráfico que va a un nodo anycast se enrutará al nodo más cercano, reduciendo así la latencia entre el cliente y el nodo en sí. Esto garantiza que las velocidades se optimizarán sin importar a dónde solicite información el cliente.Redundancia
- . Anycast mejora la redundancia al colocar varios servidores en todo el mundo utilizando la misma IP. Esto permite que el tráfico se redirija al servidor más cercano en caso de que un servidor falle o se desconecte.
- Mitigación de DDoS. Los ataques DDoS son causados por redes de bots que pueden generar tanto tráfico que abruman a una máquina de unidifusión típica. El beneficio de tener una configuración anycast en esta situación es que cada servidor es capaz de «absorber» una parte del ataque, lo que resulta en una menor tensión en el servidor en general.
- Equilibrio de carga. El equilibrio de carga se puede utilizar en el caso de que haya varios nodos, todos dentro de la misma distancia geográfica desde la solicitud. Esto elimina algunos de los requisitos de recursos de un nodo singular y los dispersa en varios nodos.
Cons
- Difícil de implementar. La implementación de IP anycast es una tarea compleja que requiere hardware adicional, proveedores de upstream confiables y enrutamiento de tráfico adecuado.
El protocolo de puerta de enlace de frontera y los sistemas autónomos
El Protocolo de puerta de enlace de Frontera (BGP) y los Sistemas Autónomos (AS) son partes integrales en la forma en que las funciones IP anycast. El BGP intercambia información de enrutamiento y accesibilidad entre AS. Toma decisiones de enrutamiento basadas en rutas, políticas y conjuntos de reglas, que es un componente clave de lo que ofrece IP anycast. Dentro del enrutamiento BGP hay varias rutas para la misma dirección IP que apuntan a diferentes ubicaciones.
Un sistema autónomo es una única o colección de redes, todas administradas por el mismo administrador. Los sistemas autónomos tienen un ASN único, o Número de Sistema Autónomo, para su uso en enrutamiento BGP, ya que cada ASN identifica cada red en Internet.
Herramientas como ExaBGP se pueden usar para transformar mensajes BGP en texto o JSON que luego se pueden manejar mediante scripts simples. Esto permite a los administradores detectar y gestionar fácilmente los fallos de la red o del servicio.
¿Cómo funciona anycast?
Como se mencionó anteriormente, anycast dirige las solicitudes de los usuarios al nodo más cercano para reducir la latencia de la página. Lo hace siguiendo estos pasos.
- Varias instancias de servicio anuncian que comparten la misma dirección IP.
- Cuando el navegador del usuario hace una solicitud, el enrutador recibe esa solicitud y simplemente elige la ruta con la distancia más corta al servidor más cercano en función de la ruta AS.
Usando unidifusión, que se explicará en la siguiente sección, la ruta solo conduciría a un destino sin importar la distancia. Usando anycast, la ruta está optimizada debido a que siempre selecciona la mejor ruta. En el caso de que un servidor esté inactivo, el BGP simplemente encontrará la siguiente mejor ruta y enrutará la solicitud allí.
Sin embargo, debe tenerse en cuenta que anycast se puede configurar no solo para enrutar la solicitud en función de la distancia, sino también otros factores, por ejemplo:
- Disponibilidad del servidor
- Número de conexiones
- Tiempo de respuesta
Otros métodos de direccionamiento
También existen otras metodologías de direccionamiento para enrutar solicitudes de usuario a un punto final de red en particular. Estos incluyen unidifusión, multidifusión, difusión y geocast. Vamos a entrar en más detalles para cada uno en las secciones a continuación.
Unidifusión
La mayor parte de Internet utiliza hoy en día este método. Unicast restringe que una dirección IP se asocie a un solo nodo en particular de una red. Esto se conoce como una asociación uno a uno. Aunque gran parte de Internet utiliza este método, es subóptimo debido a las restricciones de solo poder asociar una dirección IP con un nodo.
Multidifusión
Multidifusión utiliza una asociación de uno a muchos de muchos o muchos a muchos de muchos. La multidifusión permite enrutar una solicitud de un remitente a varios puntos de conexión seleccionados simultáneamente. Esto permite que un cliente descargue un archivo en trozos desde varios hosts al mismo tiempo (útil para transmitir audio o vídeo). La multidifusión a menudo se confunde con anycast, sin embargo, la principal diferencia es que anycast enruta al remitente a un nodo específico a pesar de que hay varios nodos disponibles para su uso.
Broadcast
Broadcast utiliza una asociación uno a todos. Un datagrama de un remitente singular se enruta a todos los extremos asociados con la dirección broadbast. La red replica automáticamente los datagramas para poder llegar a todos los destinatarios dentro de la transmisión, que generalmente consiste en una subred de red completa.
Geocast
Geocast es algo similar a multidifusión en que las solicitudes de un remitente se enrutan a varios puntos de conexión simultáneamente, sin embargo, la diferencia es que la red se define por su ubicación geográfica.
Anycast e IPv4 vs IPv6
Anycast no es compatible oficialmente con IPv4, sin embargo, esto se puede solucionar utilizando BGP. Esencialmente, a varios hosts se les da la misma IP de unidifusión y las rutas se anuncian a través de BGP. Por lo tanto, los enrutadores interpretan esto como múltiples rutas al mismo destino, mientras que de hecho, se enrutan a diferentes destinos con la misma dirección.
El inconveniente de este enfoque, sin embargo, es que la red puede realizar lo que se llama un «conmutador POP» que cambia los paquetes de enrutamiento en caso de que haya congestión o cambios en la red.
IPv6 por otro lado soporta explícitamente anycast. Los enrutadores IPv6 normalmente no distinguen un paquete anycast de un paquete unicast a través de la red, aunque se requiere un manejo especial de los enrutadores cerca del destino.
Además, el mismo proceso utilizado en IPv4 también se puede usar en IPv6. Este método no depende de enrutadores compatibles con cualquier emisión, sin embargo, se encontrará con los mismos problemas que se discutieron anteriormente.
Resumen
Está claro que anycast es una técnica poderosa para, entre otras cosas, reducir la latencia de la página y mitigar los ataques. Aunque es un esfuerzo complejo de implementar, la recompensa es vasta tanto para los usuarios como para los proveedores de servicios.
KeyCDN se complace en ofrecer anycast para ayudar a mejorar la eficiencia general de los servicios a nuestros clientes.