Anycast vs Unicast: cómo los CDN sirven tan rápido
DNS
21

Dos filosofías de enrutamiento

Cuando escribes una IP en tu navegador, normalmente apuntas a una máquina específica en algún lugar del mundo. Eso se llama unicast: una IP, un destino. Es el modelo tradicional y funciona bien cuando el servicio vive en un solo lugar. Pero hay una alternativa más exótica y poderosa llamada anycast, que es la magia detrás de los CDN, los DNS resolvers públicos y servicios como Cloudflare o Google DNS.

Qué es anycast

En anycast, la misma dirección IP está anunciada desde decenas o cientos de ubicaciones al mismo tiempo. Cada ubicación es un nodo físico en un datacenter distinto. Cuando tu paquete entra a internet, el protocolo BGP (que interconecta las redes del mundo) lo entrega al nodo más cercano en términos de red, no necesariamente el geográficamente más próximo.

El resultado es que, sin que te enteres, hablas con el servidor que tiene menos saltos y menos latencia hacia ti. Si estás en Lima, te responde un nodo en Lima o São Paulo. Si estás en Tokio, te responde uno en Asia. Todo con la misma IP.

Por qué funciona para CDN y DNS

Los CDN (Content Delivery Networks) almacenan copias idénticas de contenido estático (imágenes, CSS, JS, videos) en cada nodo. Como cualquier nodo puede responder igual de bien, anycast es perfecto: cada usuario se conecta al más cercano y el contenido se sirve con latencia mínima.

Lo mismo ocurre con DNS públicos como 8.8.8.8 o 1.1.1.1. Cada nodo tiene la misma base de datos y cualquier respuesta vale. Es la razón por la que esos resolvers se sienten instantáneos en cualquier parte del mundo.

Por qué no sirve para cualquier app

Anycast tiene un problema gordo: no garantiza persistencia de sesión. Si un paquete aterriza en el nodo A y el siguiente en el nodo B (porque BGP cambió la ruta), la sesión TCP se rompe. Por eso anycast funciona bien con:

  • DNS (UDP, sin estado, una pregunta y una respuesta)
  • Contenido estático cacheado
  • Handshakes cortos TLS para sitios con SNI inteligente

Pero no funciona solo para:

  • Bases de datos con conexiones persistentes
  • Juegos en tiempo real con estado
  • Streaming en vivo con conexión única

Implicaciones para sesiones

Cuando los CDN sirven contenido dinámico por anycast, suelen terminar la conexión TCP/TLS en el nodo más cercano y luego usar backends internos para buscar datos reales en el origen. Desde tu punto de vista la IP es anycast, pero el estado vive en otra parte.

¿Necesitas anycast?

Para un sitio WordPress, un ecommerce mediano o un SaaS regional, no lo necesitas: con un buen servidor y un CDN frontal ya tienes velocidad global. Anycast solo tiene sentido si operas tu propia red distribuida a escala global, lo cual es caro y complejo. Lo mejor para la mayoría es contratar un CDN que ya implementa anycast por debajo.