Red de entrega de contenidos - Content delivery network

(Izquierda) Distribución de servidor único
(Derecha) Esquema de distribución CDN

Una red de entrega de contenido , o red de distribución de contenido ( CDN ), es una red distribuida geográficamente de servidores proxy y sus centros de datos . El objetivo es proporcionar alta disponibilidad y rendimiento mediante la distribución espacial del servicio en relación con los usuarios finales . Las CDN surgieron a fines de la década de 1990 como un medio para aliviar los cuellos de botella de rendimiento de Internet, ya que Internet comenzaba a convertirse en un medio de misión crítica para personas y empresas. Desde entonces, las CDN han crecido para servir una gran parte del contenido de Internet en la actualidad, incluidos objetos web (texto, gráficos y scripts), objetos descargables (archivos multimedia, software, documentos), aplicaciones ( comercio electrónico , portales ), transmisión en vivo. medios, medios de transmisión a pedido y sitios de redes sociales.

Las CDN son una capa en el ecosistema de Internet. Los propietarios de contenido, como las empresas de medios y los proveedores de comercio electrónico, pagan a los operadores de CDN para que entreguen su contenido a sus usuarios finales. A su vez, una CDN paga a los proveedores de servicios de Internet (ISP), operadores y operadores de red por alojar sus servidores en sus centros de datos.

CDN es un término general que abarca diferentes tipos de servicios de entrega de contenido: transmisión de video , descargas de software, aceleración de contenido web y móvil, CDN administrado / con licencia, almacenamiento en caché transparente y servicios para medir el rendimiento de CDN, equilibrio de carga , conmutación y análisis de CDN múltiple y nube. inteligencia. Los proveedores de CDN pueden pasar a otras industrias como la seguridad, con protección DDoS y firewalls de aplicaciones web (WAF) y optimización WAN.

Tecnología

Los nodos CDN generalmente se implementan en múltiples ubicaciones, a menudo en múltiples redes troncales de Internet . Los beneficios incluyen la reducción de los costos de ancho de banda, la mejora de los tiempos de carga de la página o el aumento de la disponibilidad global de contenido. El número de nodos y servidores que componen una CDN varía, según la arquitectura, y algunos llegan a miles de nodos con decenas de miles de servidores en muchos puntos de presencia remotos (PoP). Otros construyen una red global y tienen una pequeña cantidad de PoP geográficos.

Las solicitudes de contenido generalmente se dirigen algorítmicamente a nodos que son óptimos de alguna manera. Al optimizar el rendimiento, se pueden elegir las ubicaciones que sean mejores para ofrecer contenido al usuario. Esto puede medirse eligiendo ubicaciones que tengan la menor cantidad de saltos , la menor cantidad de segundos de red lejos del cliente solicitante o la mayor disponibilidad en términos de rendimiento del servidor (tanto actual como histórico), para optimizar la entrega a través de las redes locales. Al optimizar el costo, se pueden elegir ubicaciones que sean menos costosas. En un escenario óptimo, estos dos objetivos tienden a alinearse, ya que los servidores de borde que están cerca del usuario final en el borde de la red pueden tener una ventaja en el rendimiento o el costo.

La mayoría de los proveedores de CDN proporcionarán sus servicios a través de un conjunto de PoP variable y definido, según la cobertura deseada, como Estados Unidos, Internacional o Global, Asia-Pacífico, etc. Estos conjuntos de PoP se pueden llamar "bordes", " nodos de borde "," servidores de borde "o" redes de borde ", ya que serían el borde más cercano de los activos de CDN al usuario final.

Seguridad y privacidad

Los proveedores de CDN se benefician de las tarifas directas pagadas por los proveedores de contenido que utilizan su red, o se benefician del análisis de usuarios y los datos de seguimiento recopilados a medida que sus scripts se cargan en los sitios web de los clientes dentro del origen de su navegador . Como tales, estos servicios se están señalando como una posible intrusión en la privacidad con el propósito de segmentar el comportamiento y se están creando soluciones para restaurar el servicio de origen único y el almacenamiento en caché de los recursos.

Las CDN que sirven JavaScript también se han apuntado como una forma de inyectar contenido malicioso en las páginas que las utilizan. El mecanismo de integridad de los recursos secundarios se creó en respuesta para garantizar que la página cargue un script cuyo contenido sea conocido y esté restringido a un hash al que hace referencia el autor del sitio web.

Técnicas de redes de contenido

Internet se diseñó de acuerdo con el principio de extremo a extremo . Este principio mantiene la red central relativamente simple y mueve la inteligencia tanto como sea posible a los puntos finales de la red: los hosts y los clientes. Como resultado, la red central está especializada, simplificada y optimizada para reenviar solo paquetes de datos.

Las redes de entrega de contenido aumentan la red de transporte de un extremo a otro al distribuir en ella una variedad de aplicaciones inteligentes que emplean técnicas diseñadas para optimizar la entrega de contenido. La superposición resultante, estrechamente integrada, utiliza almacenamiento en caché web, equilibrio de carga del servidor, enrutamiento de solicitudes y servicios de contenido.

Los cachés web almacenan contenido popular en servidores que tienen la mayor demanda del contenido solicitado. Estos dispositivos de red compartidos reducen los requisitos de ancho de banda, reducen la carga del servidor y mejoran los tiempos de respuesta del cliente para el contenido almacenado en la caché. Los cachés web se completan en función de las solicitudes de los usuarios (almacenamiento en caché de extracción) o en función del contenido precargado que se difunde desde los servidores de contenido (almacenamiento en caché de inserción).

El equilibrio de carga del servidor utiliza una o más técnicas, incluidas las basadas en servicios (equilibrio de carga global) o basadas en hardware (es decir , conmutadores de capa 4-7 , también conocidos como conmutador web, conmutador de contenido o conmutador multicapa) para compartir el tráfico entre varios de servidores o cachés web. Aquí, al conmutador se le asigna una única dirección IP virtual . El tráfico que llega al conmutador se dirige a uno de los servidores web reales conectados al conmutador. Esto tiene la ventaja de equilibrar la carga, aumentar la capacidad total, mejorar la escalabilidad y proporcionar una mayor confiabilidad al redistribuir la carga de un servidor web fallido y proporcionar comprobaciones del estado del servidor.

Se puede formar un clúster de contenido o un nodo de servicio utilizando un conmutador de capa 4 a 7 para equilibrar la carga entre varios servidores o varias cachés web dentro de la red.

El enrutamiento de solicitudes dirige las solicitudes de los clientes a la fuente de contenido que mejor puede atender la solicitud. Esto puede implicar dirigir una solicitud de cliente al nodo de servicio más cercano al cliente o al que tiene más capacidad. Se utilizan una variedad de algoritmos para enrutar la solicitud. Estos incluyen equilibrio de carga de servidor global, enrutamiento de solicitudes basado en DNS, generación dinámica de metarchivos, reescritura de HTML y anycasting . La proximidad (la elección del nodo de servicio más cercano) se estima mediante una variedad de técnicas que incluyen sondeo reactivo, sondeo proactivo y monitoreo de conexiones.

Las CDN utilizan una variedad de métodos de entrega de contenido que incluyen, entre otros, copia manual de activos, cachés web activos y balanceadores de carga de hardware globales.

Protocolos de servicio de contenido

Varios conjuntos de protocolos están diseñados para proporcionar acceso a una amplia variedad de servicios de contenido distribuidos a través de una red de contenido. El Protocolo de Adaptación de Contenido de Internet (ICAP) se desarrolló a finales de la década de 1990 para proporcionar un estándar abierto para conectar servidores de aplicaciones. El protocolo Open Pluggable Edge Services (OPES) proporciona una solución sólida y definida más recientemente . Esta arquitectura define las aplicaciones de servicio OPES que pueden residir en el propio procesador OPES o ejecutarse de forma remota en un servidor de llamadas. Edge Side Included o ESI es un pequeño lenguaje de marcado para el ensamblaje de contenido web dinámico de nivel de borde. Es bastante común que los sitios web hayan generado contenido. Podría deberse a cambios de contenido como catálogos o foros, o debido a la personalización. Esto crea un problema para los sistemas de almacenamiento en caché. Para superar este problema, un grupo de empresas creó ESI.

CDN de igual a igual

En las redes de entrega de contenido de igual a igual (P2P) , los clientes proporcionan recursos y los utilizan. Esto significa que, a diferencia de los sistemas cliente-servidor , las redes centradas en contenido pueden funcionar mejor a medida que más usuarios comienzan a acceder al contenido (especialmente con protocolos como Bittorrent que requieren que los usuarios compartan). Esta propiedad es una de las principales ventajas de usar redes P2P porque hace que los costos de instalación y funcionamiento sean muy pequeños para el distribuidor de contenido original.

CDN privados

Si los propietarios de contenido no están satisfechos con las opciones o los costos de un servicio CDN comercial, pueden crear su propia CDN. Esto se llama CDN privado. Una CDN privada consta de PoP (puntos de presencia) que solo sirven contenido para su propietario. Estos PoP pueden ser servidores de caché, proxies inversos o controladores de entrega de aplicaciones. Puede ser tan simple como dos servidores de almacenamiento en caché o lo suficientemente grande como para servir petabytes de contenido.

Las grandes redes de distribución de contenido pueden incluso crear y configurar su propia red privada para distribuir copias de contenido a través de ubicaciones de caché. Estas redes privadas se utilizan generalmente junto con las redes públicas como una opción de respaldo en caso de que la capacidad de la red privada no sea suficiente o haya una falla que conduzca a una reducción de la capacidad. Dado que el mismo contenido debe distribuirse en muchas ubicaciones, se puede utilizar una variedad de técnicas de multidifusión para reducir el consumo de ancho de banda. En redes privadas, también se ha propuesto seleccionar árboles de multidifusión de acuerdo con las condiciones de carga de la red para utilizar de manera más eficiente la capacidad de red disponible.

Tendencias CDN

Aparición de CDN de telecomunicaciones

El rápido crecimiento del tráfico de transmisión de video utiliza grandes gastos de capital por parte de los proveedores de banda ancha para satisfacer esta demanda y retener a los suscriptores al brindar una experiencia de calidad suficientemente buena .

Para abordar esto, los proveedores de servicios de telecomunicaciones (TSP) han comenzado a lanzar sus propias redes de entrega de contenido como un medio para disminuir las demandas en la red troncal y reducir las inversiones en infraestructura.

Ventajas de Telco CDN

Debido a que poseen las redes a través de las cuales se transmite el contenido de video, las CDN de telecomunicaciones tienen ventajas sobre las CDN tradicionales.

Son dueños de la última milla y pueden entregar contenido más cerca del usuario final porque se puede almacenar en caché en sus redes. Este almacenamiento en caché profundo minimiza la distancia que viajan los datos de video a través de Internet en general y los entrega de manera más rápida y confiable.

Las CDN de telecomunicaciones también tienen una ventaja de costo incorporada, ya que las CDN tradicionales deben alquilarles ancho de banda y construir el margen del operador en su propio modelo de costos.

Además, al operar su propia infraestructura de entrega de contenido, los operadores de telecomunicaciones tienen un mejor control sobre la utilización de sus recursos. Las operaciones de gestión de contenido realizadas por las CDN se suelen aplicar sin (o con muy poca) información sobre la red (por ejemplo, topología, utilización, etc.) de los operadores de telecomunicaciones con los que interactúan o tienen relaciones comerciales. Estos plantean una serie de desafíos para los operadores de telecomunicaciones que tienen un ámbito de acción limitado ante el impacto de estas operaciones en la utilización de sus recursos.

Por el contrario, el despliegue de Telco-CDN permite a los operadores implementar sus propias operaciones de gestión de contenido, lo que les permite tener un mejor control sobre la utilización de sus recursos y, como tal, proporcionar una mejor calidad de servicio y experiencia a sus usuarios finales.

CDN federados

En junio de 2011, StreamingMedia.com informó que un grupo de TSP había fundado un Operator Carrier Exchange (OCX) para interconectar sus redes y competir más directamente contra grandes CDN tradicionales como Akamai y Limelight Networks , que tienen extensos PoP en todo el mundo. De esta manera, las empresas de telecomunicaciones están construyendo una oferta de CDN federada, que es más interesante para un proveedor de contenido que desee entregar su contenido a la audiencia agregada de esta federación.

Es probable que en un futuro próximo se creen otras federaciones CDN de telecomunicaciones. Crecerán mediante la inscripción de nuevas empresas de telecomunicaciones que se unirán a la federación y llevarán la presencia de la red y sus bases de suscriptores de Internet a las existentes.

Mejora del rendimiento de CDN con la opción EDNS0

La latencia (RTT) experimentada por los clientes con resolutores no locales ("alta") se redujo drásticamente cuando un CDN implementó la extensión EDNS0 en abril de 2014, mientras que la latencia de los clientes con resolutores locales no se vio afectada por el cambio ("baja" ).

Tradicionalmente, las CDN han utilizado la IP del solucionador de DNS recursivo del cliente para ubicar geográficamente al cliente. Si bien este es un enfoque sólido en muchas situaciones, esto conduce a un rendimiento deficiente del cliente si el cliente utiliza un solucionador de DNS recursivo no local que está lejos. Por ejemplo, una CDN puede enrutar las solicitudes de un cliente en la India a su servidor de borde en Singapur, si ese cliente utiliza un sistema de resolución de DNS público en Singapur, lo que provoca un rendimiento deficiente para ese cliente. De hecho, un estudio reciente mostró que en muchos países donde los resolutores de DNS públicos son de uso popular, la distancia media entre los clientes y sus resolutores de DNS recursivos puede ser de hasta mil millas. En agosto de 2011, un consorcio global de proveedores de servicios de Internet líderes liderados por Google anunció su implementación oficial del borrador de Internet IETF edns-client-subnet, que tiene como objetivo localizar con precisión las respuestas de resolución de DNS. La iniciativa involucra a un número limitado de proveedores de servicios DNS líderes, como Google Public DNS y también proveedores de servicios CDN. Con la opción edns-client-subnet EDNS0 , las CDN ahora pueden utilizar la dirección IP de la subred del cliente solicitante al resolver solicitudes de DNS. Este enfoque, llamado mapeo de usuario final, ha sido adoptado por las CDN y se ha demostrado que reduce drásticamente las latencias de ida y vuelta y mejora el rendimiento para los clientes que utilizan DNS públicos u otros solucionadores no locales. Sin embargo, el uso de EDNS0 también tiene inconvenientes, ya que disminuye la eficacia de las resoluciones de almacenamiento en caché en los resolutores recursivos, aumenta el tráfico de resolución de DNS total y plantea una preocupación de privacidad al exponer la subred del cliente.

CDN virtual (vCDN)

Las tecnologías de virtualización se están utilizando para implementar CDN virtuales (vCDN) con el objetivo de reducir los costos del proveedor de contenido y, al mismo tiempo, aumentar la elasticidad y disminuir la demora del servicio. Con los vCDN, es posible evitar las limitaciones tradicionales de CDN, como el rendimiento, la confiabilidad y la disponibilidad, ya que los cachés virtuales se implementan dinámicamente (como máquinas virtuales o contenedores) en servidores físicos distribuidos en la cobertura geográfica del proveedor. Como la ubicación de la caché virtual se basa tanto en el tipo de contenido como en la ubicación geográfica del servidor o del usuario final, los vCDN tienen un impacto significativo en la entrega de servicios y la congestión de la red.

Optimización y entrega de imágenes (CDN de imágenes)

En 2017, Addy Osmany de Google comenzó a referirse a soluciones de software que podrían integrarse de forma natural con el paradigma de diseño web receptivo (con especial referencia al elemento <picture>) como Image CDN . La expresión se refería a la capacidad de una arquitectura web para servir múltiples versiones de la misma imagen a través de HTTP, dependiendo de las propiedades del navegador que la solicita, según lo determine el navegador o la lógica del lado del servidor. El propósito de las CDN de imágenes era, en la visión de Google, ofrecer imágenes de alta calidad (o, mejor, imágenes percibidas como de alta calidad por el ojo humano) mientras se preserva la velocidad de descarga, contribuyendo así a una gran experiencia de usuario (UX).

Podría decirse que el término Image CDN era originalmente un nombre inapropiado, ya que ni Cloudinary ni Imgix (los ejemplos citados por Google en la guía de 2017 de Addy Osmany) eran, en ese momento, un CDN en el sentido clásico del término. Sin embargo, poco después, varias empresas ofrecieron soluciones que permitieron a los desarrolladores ofrecer diferentes versiones de sus activos gráficos de acuerdo con varias estrategias. Muchas de estas soluciones se crearon sobre CDN tradicionales, como Akamai , CloudFront , Fastly , Verizon Digital Media Services y Cloudflare . Al mismo tiempo, otras soluciones que ya proporcionaban un servicio de servicios múltiples de imágenes se unieron a la definición de Image CDN ofreciendo funcionalidad CDN de forma nativa (ImageEngine) o integrándose con una de las CDN existentes (Cloudinary / Akamai, Imgix / Fastly).

Si bien es posible que no sea posible proporcionar una definición universalmente acordada de lo que es una CDN de imagen, en términos generales, una CDN de imagen admite los siguientes tres componentes:

  • Una red de entrega de contenido (CDN) para la entrega rápida de imágenes.
  • Manipulación y optimización de imágenes, ya sea sobre la marcha a través de directivas de URL , en modo por lotes (mediante la carga manual de imágenes) o completamente automático (o una combinación de estos).
  • Detección de dispositivos (también conocida como Inteligencia de dispositivos), es decir, la capacidad de determinar las propiedades del navegador y / o dispositivo solicitante mediante el análisis de la cadena Usuario-Agente , encabezados HTTP Accept, Sugerencias de cliente o JavaScript .

La siguiente tabla resume la situación actual con los principales CDN de software en este espacio:

CDN de imagen principal en el mercado
Nombre CDN Optimización de imagen Detección de dispositivos
ImageManager de Akamai Y Por lotes basado en el encabezado HTTP Accept
Polaco Cloudflare Y completamente automatico basado en el encabezado HTTP Accept
Cloudinary A través de Akamai Lote, directivas de URL Aceptar encabezado, sugerencias para el cliente
Rápidamente IO Y Directivas de URL basado en el encabezado HTTP Accept
ImageEngine Y completamente automatico WURFL , Sugerencias para el cliente, Aceptar encabezado
Imgix Rápidamente completamente automatico Aceptar encabezado / Sugerencias para el cliente
PageCDN Y Directivas de URL basado en el encabezado HTTP Accept

Proveedores de servicios de entrega de contenido notables

CDN gratuitos

CDN comerciales tradicionales

CDN de telecomunicaciones

CDN comerciales que utilizan P2P para la entrega

CDN múltiple

CDN interno

Ver también

Referencias

Otras lecturas