CDN - por qué los sitios del otro lado del mundo cargan rápido
Cuando accedes desde Japón a un servidor en Estados Unidos, solo cruzar el cable submarino genera más de 50 ms de latencia en un sentido. Sin embargo, al ver Netflix o YouTube, apenas percibes esta latencia. La razón es el CDN (Content Delivery Network).
Un CDN distribuye copias del contenido en servidores (servidores edge) por todo el mundo, entregando el contenido desde el servidor más cercano al usuario. Cuando accedes a IP Check-san, ¿alguna vez te has preguntado desde qué servidor llega la respuesta?
Cómo funciona un CDN - 3 tecnologías clave
1. Distribución de servidores edge
Los grandes proveedores de CDN tienen servidores en cientos o miles de ubicaciones en todo el mundo. Cloudflare tiene presencia en más de 300 ciudades, y Akamai en más de 130 países. Dentro de Japón también hay múltiples servidores edge instalados en Tokio, Osaka y otras ciudades.
2. Enrutamiento basado en DNS
Cuando un usuario accede a un sitio que utiliza CDN, el DNS devuelve la dirección IP del servidor edge más cercano a la ubicación del usuario. A un usuario en Tokio se le asigna el servidor edge de Tokio, y a uno en Londres, el de Londres.
3. Caché
Los servidores edge almacenan en caché (guardan temporalmente) el contenido obtenido del servidor de origen. Las solicitudes posteriores del mismo contenido se sirven instantáneamente desde la caché del servidor edge, sin consultar al servidor de origen.
Los 3 problemas que resuelve un CDN
Reducción de la latencia
La velocidad de la luz tiene un límite, y la latencia debida a la distancia física es inevitable. Un CDN minimiza esta latencia física colocando el contenido cerca del usuario. Cuando un usuario en Tokio accede al servidor de origen en EE.UU., el RTT supera los 100 ms, pero desde un servidor edge en Tokio es inferior a 5 ms.
Reducción de la carga del servidor de origen
Incluso si millones de personas acceden simultáneamente a un sitio popular, la mayoría de las solicitudes se procesan desde la caché de los servidores edge, reduciendo drásticamente la carga sobre el servidor de origen.
Mitigación de ataques DDoS
La infraestructura distribuida del CDN dispersa el tráfico de ataques DDoS entre servidores edge de todo el mundo, mitigando los ataques concentrados en un único servidor. Cloudflare y Akamai ofrecen servicios que integran CDN y protección DDoS.
Detrás del CDN - la magia de Anycast
Uno de los mecanismos que permite al CDN enrutar al "servidor más cercano" es Anycast. Con Anycast, múltiples servidores en todo el mundo comparten la misma dirección IP. Cuando un usuario accede a esa dirección IP, el enrutamiento BGP lo dirige automáticamente al servidor más cercano en términos de red.
El servicio DNS de Cloudflare (1.1.1.1) es un ejemplo representativo de Anycast. Desde cualquier parte del mundo, al acceder a 1.1.1.1, se llega al servidor Cloudflare más cercano.
Cómo identificar si un sitio usa CDN
- Encabezados de respuesta HTTP: encabezados como
Server: cloudflare,X-Cache: HIToVia: 1.1 varnishconfirman el uso de CDN - CNAME en DNS: al consultar el DNS del dominio, a menudo se encuentra un CNAME apuntando al dominio del proveedor CDN (ej:
d1234.cloudfront.net) - traceroute: si el último salto está dentro de la red del proveedor CDN, se está accediendo a través del CDN
Resumen
El CDN es la solución más práctica de internet ante la limitación insuperable de la distancia física. Al acercar el contenido al usuario, "esquiva" los límites de la velocidad de la luz.
Cuando accedas a IP Check-san, revisa los encabezados de respuesta en las herramientas de desarrollo del navegador. Podrás leer información sobre el estado de la caché del CDN y la ubicación del servidor edge.