¿Cómo funcionan las redes de entrega de contenido (CDN) punto a punto (P2P)?

Para responder a su pregunta, primero veamos cómo funciona un CDN tradicional (o basado en HTTP). Las CDN basadas en HTTP incluyen compañías como Akamai, Level 3, Amazon CloudFront, Limelight Networks, etc. Todas las CDN tradicionales funcionan de la misma manera: implementan muchos servidores HTTP en todo el mundo y almacenan (o almacenan) contenido web (como imágenes, texto, videos, etc.) en estos servidores. La idea es acercar físicamente el contenido a los usuarios finales (sin importar en qué parte del mundo se encuentren) para que el contenido se pueda descargar más rápidamente a dichos usuarios finales. Las empresas que desean que su contenido se cargue más rápido contratan con los CDN para almacenar dicho contenido en los servidores del CDN. Cuando un usuario final visita un sitio web que ha sido almacenado en caché por un CDN, las solicitudes HTTP de su navegador serán redirigidas al servidor periférico de CDN más cercano y, voila, el sitio se cargará más rápido para ese usuario final, en comparación con un sitio que no es t en caché.

Un CDN P2P no utiliza ningún servidor HTTP. De hecho, en Peer5, nos describimos como el CDN “sin servidor”. Nuestro objetivo es aprovechar nuestra tecnología P2P para crear el CDN más grande del mundo sin implementar un solo servidor, tal como Uber ha creado la compañía de transporte más grande del mundo sin comprar un solo vehículo y AirBnB ha creado la compañía de alojamiento más grande del mundo sin comprar ningún inmueble.

¿Entonces, cómo funciona?

Antes de saltar a la respuesta, primero definamos el problema que estamos tratando de resolver. Nuestro CDN P2P no está destinado a ser un CDN de propósito general, es decir, uno que sirve a todo tipo de contenido web. Estamos enfocados únicamente en la distribución escalable y eficiente de video (tanto en vivo como bajo demanda). Creemos que esta es un buen área de enfoque dadas las recientes afirmaciones de que el video representa el 80% de todo el tráfico de Internet.

¿Cómo funciona la transmisión de video? A riesgo de responder una pregunta que no se hizo, tomemos un pequeño desvío aquí, ya que necesita comprender cómo funciona la transmisión para comprender cómo funciona nuestra CDN P2P. Los protocolos de transmisión estándar de la industria como HLS (HTTP Live Streaming) y MPEG-DASH se basan en el concepto de segmentación. Toma un video (no importa cuán largo o corto) y lo corta en segmentos individuales (o segmentos o fragmentos). Estos segmentos individuales pueden durar 10 segundos, 3 segundos, 5 segundos, etc. No importa realmente, la idea es que no está descargando un solo archivo de video grande, en realidad está descargando muchos segmentos pequeños . Hay un archivo “manifiesto” que le dice a su reproductor de video: esta es la URL del segmento 1, esta es la URL del segmento 2, etc., y su reproductor de video realiza solicitudes HTTP para buscar estos segmentos. Estas solicitudes HTTP se enrutan al servidor de borde CDN más cercano y, voila, obtiene los segmentos. Una vez recibidos, estos segmentos se almacenan en un búfer y se extraen según sea necesario, y su reproductor de video los une para darle la (con suerte) suave versión HD del episodio de “Juego de Tronos” que quería ver.

Por lo tanto, la transmisión moderna se basa en la segmentación y la existencia de un búfer donde se almacenan fragmentos de video individuales hasta que se usan. Imagine una situación en la que mucha gente (como usted) está tratando de transmitir ese episodio particular de “Juego de Tronos”. Bueno, todos los que están viendo el mismo contenido al mismo tiempo están tratando de obtener los mismos segmentos subyacentes. ¿Por qué todos deberían obtener los mismos segmentos una y otra vez desde el servidor perimetral de CDN cuando es posible (y con frecuencia más eficiente) obtenerlos de otros espectadores?

Por lo tanto, nuestra CDN P2P funciona creando una red de malla que consiste en usuarios que están viendo el mismo contenido y coordinando a los usuarios para que se envíen segmentos de video entre sí en lugar de que todos siempre obtengan los segmentos de un servidor perimetral.

Específicamente, presentamos una solución híbrida donde una emisora ​​nos usa en combinación con uno o más CDN basados ​​en HTTP, es decir, “no elimine su infraestructura CDN existente, solo agregue Peer5 como otra opción en su cartera de CDN múltiples”. Nuestro punto de integración es a través de una línea de Javascript que implementa un conmutador híbrido: una vez que estamos integrados, los usuarios pueden obtener segmentos de un servidor perimetral o de su grupo de pares, cualquier canal que funcione mejor en ese momento dado. A medida que el grupo de pares maneja más solicitudes de fragmentos (una noción que llamamos “eficiencia de pares”), vemos reducciones dramáticas en la carga del servidor y, en consecuencia, flujos de mayor calidad (tiempos de carga más rápidos, menos almacenamiento en búfer, sesiones de visualización más largas).

Utilizamos WebRTC (WebRTC Home | WebRTC) para crear las conexiones punto a punto (P2P), lo que significa que los usuarios finales no necesitan descargar ni instalar ningún software de cliente.

Aquí hay un diagrama que muestra cómo una CDN punto a punto como Peer5 se integra con la infraestructura del servidor HTTP existente:

Después de implementar Peer5, cada sesión de video aún comienza con un intercambio estándar entre el espectador y el servidor HTTP. Si se requería la autorización del usuario antes de implementar Peer5, se requerirá autorización después de implementar Peer5. La actividad P2P solo comienza a funcionar DESPUÉS de que el usuario esté autorizado por el servidor HTTP. El servidor ve las mismas solicitudes exactas (tokens, claves, cookies, etc.) antes y después de habilitar Peer5. En resumen, todo funciona exactamente como lo hacía antes, incluidos los esquemas de protección de contenido y geovallado. Todo lo que hace Peer5 es reducir la cantidad de solicitudes HTTP que el servidor tiene que manejar, lo que resulta en transmisiones de mayor calidad para todos los espectadores y una escalabilidad y cobertura geográfica muy mejoradas.

¿Dónde escuchó que Facebook y Twitter usan la tecnología P2P para sus sitios web? De todos modos, cuando se trata de P2P-CDN, la palabra mágica aquí es a menudo WebRTC . Los P2P-CDN como PeerCDN (ahora vendido a Yahoo) aprovecharon el canal de datos de WebRTC para entregar contenido de un navegador a otro.
También hay varios proyectos en marcha para integrar BitTorrent de manera más fluida en los navegadores para entregar datos basados ​​en el protocolo BitTorrent (no HTTP).

Hola. Como Huan ya ha cubierto los detalles de cómo funcionan las CDN, me sumergiré directamente en las CDN asistidas por pares.

Muchas empresas, como Streamroot (de las cuales soy cofundador y CPO) ofrecen tecnologías que ofrecen soluciones híbridas de transmisión de video P2P y HTTP CDN. Si bien el contenido aún debe servirse desde un servidor de origen o de borde, el componente punto a punto es un complemento de las redes tradicionales de entrega de contenido. Considérelo como una capa adicional sobre el marco existente para que las CDN sean más eficientes y rentables.

Dichas tecnologías híbridas son posibles gracias a WebRTC (comunicaciones web en tiempo real), que permite que estos intercambios entre pares se realicen de forma totalmente segura y sin la necesidad de que el usuario final instale un complemento o extensión de ningún tipo. Si desea más información, no dude en visitar nuestro sitio web o blog.

Consulte ¿Cómo funciona BitTorrent en términos simples?