Actualmente, los servicios multimedia en entornos digitales están experimentando gran aceptación y demanda entre los usuarios. Gran parte del tráfico que se transporta sobre Internet está generado por servicios de esta naturaleza tales como el vídeo bajo demanda, la difusión de eventos en vivo o la descarga de contenidos audiovisuales.
A pesar de que los estándares de compresión de audio y vídeo están muy evolucionados y reducen notablemente el 'bitrate'necesario para obtener una buena calidad subjetiva, el tráfico multimedia exige un gran de ancho de banda. Consecuencia de esto es que los nuevos servicios constituyen un problema para las redes de transporte sobre las que se prestan.
En las redes actuales, los contenidos son servidos desde un mismo punto, es decir, desde servidores en una ubicación concreta. Por lo que todos los usuarios reciben los contenidos desde ese punto, tanto para el contenido que se genera en tiempo real (vivo) como el almacenado y consumido bajo demanda. Esto tiene un impacto muy grande tanto en la red como en los servidores. Claramente se ve que este esquema no es válido en un escenario donde miles de usuarios distribuidos piden al mismo tiempo un audio o video clip , ya que la información tendría que ser replicada a través de la red para cada cliente.
Por este motivo, los operadores de las redes se ven obligados a rediseñarlas para intentar aliviar la carga de transmisión que tienen que soportar.
Su gran opción son las redes de distribución de contenidos (CDN, Content Delivery Network). CDN es un término que se acuñó a finales de los 90 para describir un sistema de ordenadores conectados a Internet y que colaboran de forma transparente para distribuir contenidos, especialmente contenidos multimedia muy grandes, a los usuarios finales, formando una red que cuenta con una estructura eficiente para este tipo de servicios. El número de nodos y de servidores que forman estas redes varía, dependiendo de la arquitectura, pudiendo alcanzar miles de nodos con decenas de miles de servidores.
Ejemplos prácticos son las redes basadas en jerarquías de almacenamiento en cachés o en servidores completamente distribuidos. Los sistemas completamente distribuidos, altamente redundantes, se diseñan para no requerir la modificación de sus contenidos, y más importante aún, para no tener puntos únicos de fallo. Los sistemas jerárquicos se diseñan asumiendo que un único nodo gestor de distribución, conectado en algún punto de la red, es capaz de soportar cualquier tipo de fallo o de ataque. Además, añadir elementos de gestión centrales incrementa siempre la latencia del servicio, es decir, cada petición individual tarda más en servirse.
La otra alternativa ofrecida es el multicast , que permite lograr más eficiencia en las transmisiones de una misma información a varios destinos. Esta funcionalidad, más eficiente para la distribución simultánea de información a un grupo de destinatarios, usa la estrategia de enviar sólo una vez los mensajes (no una copia para cada destino) a través de cada enlace de la red y crear copias sólo cuando el camino hacia los destinos se ramifica minimizando así la carga en la red. El concepto multicast es conceptualmente muy sencillo pero difícil de implementar y aún no se ha demostrado un mecanismo que permita al modelo ampliarse para millones de remitentes y millones de grupos receptores como se necesitaría en aplicaciones prácticas de multicast para Internet comercial.
Además, en el lado de los usuarios de Internet, se está produciendo un fenómeno interesante desde el punto de vista de la distribución de contenidos multimedia y que se presentan como otra alternativa: los sistemas P2P (peer to). Se trata de aplicaciones que permiten compartir ficheros entre un gran número de internautas. A través de estas aplicaciones, la información multimedia se difunde a gran velocidad sorteando en gran medida muchas de las limitaciones estructurales de la Red.
LA PROBLEMÁTICA DE LA DISTRIBUCIÓN DE CONTENIDOS
Considerando la problemática asociada a la distribución de contenidos a los usuarios, es necesario distinguir dos casos diferenciados:
Distribución de contenidos 'en bloque': se trata de la situación en la que un fichero, que puede ser de gran tamaño está accesible para su descarga por parte de los usuarios. Ejemplo típico es la descarga de programas o de películas. En este modelo no existe relación entre el tiempo de descarga y el tiempo de consumo. Habitualmente la descarga puede requerir mucho más tiempo que el consumo o bien producirse 'a tirones', es decir la velocidad de descarga en cada momento no es la velocidad de consumo.
Distribución de contenidos ' en streaming' : engloba aquellos servicios en los que se envía un flujo (stream) continuo, generalmente de vídeo o audio, que es recibido en tiempo real por el usuario que lo solicita. En este caso la velocidad de entrega de datos debe ser exactamente la velocidad de consumo. Si recibo un stream de una película de 60 minutos el stream durará 60 minutos, y en cada instante ofrecerá el caudal de datos exacto necesario para visualizar ese instante de película. En este caso, se trata de un flujo de datos constante por usuario, sostenido en el tiempo, lo que lo hace más restrictivo en cuanto a exigencias de red puesto que la pérdida de un paquete no se puede solucionar con una retransmisión (por ejemplo, se produciría un salto en el partido que estemos viendo). En el caso de distribución en bloque, la pérdida de paquetes producirá una retransmisión de los mismos sin mayores consecuencias para el usuario final, salvo un mayor tiempo en la descarga.
Además, dentro de los servicios de streaming se pueden distinguir dos casos diferenciados:
Contenidos bajo demanda: el contenido, que está pregrabado, se envía a cada usuario cuando lo solicita de forma independiente. Usualmente se permite a cada usuario un control individualizado del flujo, es decir se le permite enviar comandos a la fuente para avanzar a mayor velocidad, retroceder, pausar o saltar dentro del contenido.
Eventos en vivo: el contenido se genera en ese instante, y por tanto no hay posibilidad de controlar el flujo. Es habitual ofrecer este contenido en el mismo momento en el que se genera a un número grande de usuarios que reciben todos exactamente lo mismo.
En los siguientes apartados se describen las diferentes alternativas que se han esbozado en la introducción de este artículo.
DIFICULTADES DE LAS REDES ACTUALES
Los distintos tipos de 'atascos' que se pueden encontrar en una red global como Internet están en estos lugares:
en la conexión del servidor a la red (segmento de conexión de servidor),
en la red troncal del servidor backbone de la red autónoma, llamadas en internet 'sistemas autónomos': AS),
en los puntos de interconexión peering points: puntos en los que se interconectan los AS)
en la conexión del usuario (red de acceso).
A continuación se describe brevemente la naturaleza de estos 'atascos'.
El atasco producido en el segmento de conexión de servidor es debido a la capacidad de los enlaces que comunican un servidor con el resto de Internet. Este problema ocurre cuando el contenido se encuentra únicamente en el servidor (enfoque centralizado). Este problema tiene solución mediante el acercamiento del contenido a los usuarios con dispositivos de borde.
El cuello de botella debido a los puntos de contacto o'peering points' es más difícil de solucionar. El motivo por el que existe un punto de contacto entre dos redes autónomas es la expresa necesidad de algún subconjunto de usuarios de ambas redes de comunicarse entre sí. La creación de esos contactos beneficia por igual a ambas redes, por lo que es difícil encontrar uno sólo de los dos lados implicados que tome la iniciativa de crear un nuevo punto. Los dueños de redes suelen cobrar por el tráfico que atraviesa estos puntos. La creación de un nuevo peering point lleva tiempo y a menudo el enlace que se pone en servicio es ocupado completamente en poco tiempo. La capacidad de estos enlaces es siempre menor que la demanda. Esto crea dos efectos negativos: la pérdida de paquetes en el enlace y la elevación de la latencia de los paquetes que logran cruzar el enlace. Los análisis efectuados a escala global sobre el tráfico que se cursa en Internet demuestran que ninguna red cursa en exclusiva una porción significativa del tráfico de acceso, de modo que el tráfico que circula a través de Internet necesariamente pasa por una gran cantidad de puntos de contacto entre redes. El problema de los puntos de interconexión es más económico que tecnológico y por la naturaleza de Internet, en donde el número de ASs crece constantemente, este problema tiende a agravarse.
El problema debido a las redes troncales o 'backbones' se debe a la tecnología de conmutación actualmente disponible. El tráfico que puede atravesar un sistema autónomo depende directamente de la capacidad de los enlaces y conmutadores con que está construido. La tecnología de los conmutadores va claramente por detrás de las velocidades de los enlaces, siendo enormemente costoso equipar todos los enlaces con conmutadores que operen a velocidad de línea. Los conmutadores añaden un enorme coste a la red y no son capaces de mantener el throughput agregado de la red a la altura de la tecnología de transmisión. Los sistemas de acceso de usuarios se crean con la idea de 'concentración', de manera que el backbone nunca tiene el througput necesario para cursar el tráfico que generarían el 100 por cien de los usuarios, si se conectaran simultáneamente y pretendieran utilizar su acceso en toda su capacidad. Una vez más, puede apreciarse que un enfoque de servicio centralizado de contenidos se ve afectado por esta limitación tecnológica. Tratar de generar un único flujo hacia un único punto de servicio pronto superaría la capacidad de los enlaces y conmutadores implicados en dicha ruta. Este problema de naturaleza tecnológica tiende a mejorar a la velocidad con que mejoran los equipos de conmutación y transmisión, y tiende a empeorar a la velocidad con que los usuarios demandan contenidos más complejos. Desgraciadamente los usuarios van por delante de la tecnología en sus demandas.
El problema de la red de acceso de usuario se debe a la espectacular mejora que están experimentando recientemente este tipo de redes, mejora producida por el uso de módems digitales DSL (ADSL, entre otros). En contra de lo que se pueda pensar esta espectacular mejora en el acceso no producirá una mejora espectacular en los servicios globales (que impliquen comunicación a través de Internet), ya que como se ha analizado anteriormente el problema pasa al backbone, el cual por su construcción económica no tiene capacidad para conmutar el 100 por cien del tráfico potencial de acceso. En las capas superiores de la jerarquía de red los puntos de interconexión entre ASs no tienen ni de lejos la capacidad necesaria para soportar el desvío de una parte significativa del tráfico de un backbone a otro (como ocurre, por ejemplo, con motivo de un evento de interés mundial).
Las redes de distribución de contenidos se presentan como alternativas técnicas para minimizar la problemática que se ha descrito, permitiendo la descarga de grandes ficheros a múltiples terminales de la red de una manera eficiente y escalable. Las aproximaciones que se siguen para la implementación de estas redes, y que se exponen en los siguientes apartados, son las siguientes:
Las redes de distribución de contenidos basadas en cachés:. Este escenario requiere la introducción en la red de una jerarquía de cachés, de manera que cada equipo replica los contenidos hacia los equipos de jerarquía inferior, apoyándose en protocolos unicast.
Las redes de distribución basadas en ¿multicast¿. Se trata de una solución eficiente, si bien este tipo de solución requiere disponer de redes TCP/IP que soporten multicast.
Además de lo anterior, en el presente artículo también se describen los sistemas de distribución de contenidos colaborativos, o aplicaciones P2P (peer to peer), cuyo auge en Internet está modificando el modelado tradicional del tráfico generado por los usuarios, afectando gravemente a la capacidad que inicialmente fue dimensionada para los enlaces.
DISTRIBUCIÓN DE CONTENIDOS BASADAS EN CACHÉS
Esta opción es adecuada para la distribución de contenidos pregrabados sin exigencias de tiempo real, siendo contenidos que estarán accesibles para que los usuarios se los descarguen individualmente, como el caso de películas, archivos de música, programas u otros similares. La arquitectura típica de las redes de distribución de contenidos basadas en cachés está formada por un Gestor de Distribuciones, uno o varios puntos de inserción de contenidos, una serie de elementos replicadores intermedios agrupados jerárquicamente y finalmente, unos dispositivos de borde.
El Gestor de Distribución es el dispositivo central desde el que se controla la Red de Distribución de Contenidos. Es el elemento encargado de gestionar la replicación selectiva de los contenidos. Para ello mantiene información de la jerarquía de la red, así como el estado de cada uno de los elementos y evolución de las distribuciones. Estos elementos permiten programar y controlar las distribuciones empleando diferentes políticas tanto en los servidores origen como en los dispositivos destino.
Puntos de inserción : son los dispositivos por los que los contenidos son introducidos en la red de distribución de contenidos y desde los que se inician las replicaciones al resto de elementos de la jerarquía.
Elementos replicadores intermedios : están agrupados en niveles jerárquicos de forma que cada elemento conoce los miembros de su nivel y los del inmediatamente posterior, a los que debe inyectar los contenidos. El Gestor de Distribución determina la composición de los niveles así como qué contenidos se deben replicar y a quién. De esta forma, cada elemento establece una conexión para recibir los contenidos de su inmediatamente superior (padre) y otra con cada uno de los miembros del nivel inferior a los que debe inyectar los contenidos (hijos).
Dispositivos de borde : constituyen el último nivel de elementos de la Red de Distribución de Contenidos. Se trata de dispositivos de caché situados en puntos estratégicos de la red próximos al usuario, genéricamente denominados PoPs (Point of Presence). Los PoPs constituyen localizaciones geográficas donde se hospedan contenidos de la Red de Distribución de Contenidos y desde donde la información es servida de forma distribuida hasta los usuarios en lugar de hacerse desde el punto centralizado. El envío de la información desde estos puntos es transparente para el usuario, para el que aparentemente es servida desde el servidor central.
DISTRIBUCIÓN DE CONTENIDOS BASADA EN MULTICAST
En la solución anterior existe un problema fundamental, sobre todo cuando se trata de un mismo contenido que se distribuye a la vez a muchos destinos: la transmisión física de los ficheros desde un repositorio principal hasta elementos extremos.
Multicast es un modo de comunicación entre un emisor y varios receptores. Se caracteriza porque permite transmitir de manera única un mismo paquete a varios receptores simultáneamente, sin necesidad de repetir el envío para cada uno de ellos. Frente al broadcast , que es la otra posibilidad de transmisiones punto a multipunto que soportan los protocolos IP, en multicast los envíos se pueden realizar a un grupo determinado de receptores, no necesariamente a todos los que existan en la red. Por tanto, esta funcionalidad se hace interesante para aplicaciones de difusión controlada de información (transmisión de una misma información a un grupo determinado de receptores).
Sin embargo, las transmisiones multicast tienen unas limitaciones importantes. Actualmente la mayor parte del multicast es 'multicast de red' es decir, gestionado por la capa 3 de la torre OSI de protocolos y está realizado como 'servicio no orientado a conexión'. Por tanto no se garantiza la recepción de los paquetes; además, la información puede llegar desordenada y los emisores desconocen el estado de los receptores. Además, los elementos de red que implementan el multicast: los 'routers' tienen una capacidad finita de manejo de grupos y una capacidad más reducida aún de replicación de paquetes. Un router con multicast habilitado reduce sensiblemente su capacidad de manipular tráfico. Adicionalmente la potencialidad de replicación de tráfico hace que una propagación multicast errónea (una sóla) pueda bloquear una red entera. Aún más, esta capacidad de bloqueo puede ser aprovechada por atacantes intencionados.
La distribución de contenidos tiene unos fuertes requisitos de calidad, un contenido que se descarga a un servidor debe estar íntegro e incorrupto puesto que cualquier defecto heredado de la fase de distribución afectará a todos los usuarios que accedan a él posteriormente. Por tanto, si se quiere utilizar multicast en la distribución de contenidos parece lógico pensar en la necesidad de disponer de capas superiores que implementen un cierto control para garantizar las transmisiones.
SERVICIOS GLOBALES
La solución al problema de distribución de contenidos es tecnológica, aunque buena parte de los problemas de los servicios globales son económicos más que tecnológicos. De manera que las compañías que pretenden prestar servicios globales deben ajustar las soluciones tecnológicas de forma inteligente para resolver el problema global. Diversas empresas han impulsado la evolución de estos servicios globales de contenidos. Algunas de las empresas más relevantes son Akamai, Speedera, Volera, Cisco,...
Akamai y muchas de las otras empresas que han creado servicios globales (en el caso de Akamai podemos citar FreeFlow y Edge Suite) se benefician de las tecnologías de caché y aportan sus propias patentes en muchos casos y sus propios desarrollos de HW y SW para crear estas soluciones. Estas compañías no realizan una simple instalación y configuración de elementos de red y SW comprados a terceros, sino que, además, tienen sus propios sistemas de medición del estado de la red y alcanzan un gran número de acuerdos de nivel de servicio para configurar una Red de Distribución de Contenidos superpuesta a la propia Internet.
El gran logro de estas compañías es alcanzar la posibilidad de enrutar contenidos a través de Internet haciéndolos pasar a través de nodos que los tratan como parte de un contenido con el objetivo de maximizar el beneficio del usuario que hizo la petición original, a diferencia de los dispositivos de enrutamiento de Internet, que por pertenecer al nivel de red ignoran la entidad del contenido y enrutan sus paquetes integrantes de acuerdo a otros objetivos que colisionan con el anterior tales como: optimización de las rutas en redes locales, optimización del uso de los enlaces y otros.
Los servicios de compañías como Akamai, pionera en la construcción de CDNs de nivel de aplicación, son utilizados incluso por el estado español: distribución del programa PADRE de la Hacienda Publica para el cálculo de la declaración de I.R.P.F.
REDES P2P
Durante los últimos años han aparecido y proliferado en Internet una serie de herramientas para el intercambio de contenidos conocidas como utilidades P2P (Peer to Peer). Se trata de redes distribuidas basadas solo en SW y que no se adhieren a estándares para el manejo de los dispositivos de borde. No se basan en HW propietario, sino en la colaboración de los nodos intermedios, y no se someten a ninguna política de control central. Su efectividad se basa en la gratuidad de la colaboración y al alto número de nodos participantes, así como a la sofisticación de los servicios de directorio.
Así pues, no son redes de distribución de contenidos en el sentido estricto analizado en el texto, pero persiguen los mismos objetivos: la recepción de contenidos por parte de múltiples clientes geográficamente distribuidos. Realmente se trata de aplicaciones de intercambio de ficheros con un modelo 'n a n' de usuarios conectados a una red. Por tanto, por sus características, facilitan la distribución de contenidos entre usuarios sin necesidad de costosa infraestructura y optimizando el uso de la red.
La solución que ofrece una red P2P al problema de efectuar una descarga de servidor central es óptima en el sentido en que todos los nodos interesados cooperan compartiendo información. El criterio de carga para los enlaces entre nodos se hace corresponder con la 'popularidad' del contenido, es decir, a mayor demanda de un determinado objeto en una zona de la red mayor actividad de los enlaces de esa zona, y mayor probabilidad de que un nuevo nodo local pueda recibir servicio (partes del objeto) de sus nodos locales. Una distribución de este tipo optimiza el problema de que partes de un objeto viajen dos veces por un mismo enlace. El número de copias innecesarias es mínimo gracias al almacenamiento intermedio que proporcionan los nodos cooperantes.
Para lograr la máxima eficiencia en una distribución 'no de tiempo real' de un contenido, los mejores resultados los ofrecen las redes P2P. Al ser estas redes gestionadas por la demanda de sus nodos, y con almacenamiento intermedio en los mismos se produce un rápido ajuste de las comunicaciones a las demandas de los nodos y un óptimo empleo de los enlaces de comunicaciones. Por descontado no es necesario resolver problemas de distribución en el nivel de red (como hace el multicast de red), pues las redes P2P superponen una red de 'nodos de aplicación' a la red subyacente mejorando enormemente sus prestaciones para el objetivo concreto de la aplicación P2P.
|