01.00 CDNs Introdução Redes de Distribuição de Conteúdos
Introdução A Web surgiu enquanto forma de partilha de conteúdos e serviços Aumento de utilizadores e conteúdos, aumenta a necessidade de largura de banda necessária A maioria dos Web sites não consegue lidar com esta necessidade As Content Delivery Networks, surgiram para suprimir estas limitações oferecem uma infra-estrutura e mecanismos para se poder escalar
Aplicações Instituições académicas Empresas de publicidade Datacenters ISPs Lojas de música online Operadores de telemóveis Fabricantes de equipamento electrónico
Índice Fundamentos das CDNs Estado da arte Técnicas de replicação Gestão e entrega dos conteúdos Técnicas de caching Mecanismos de redireccionamento de pedidos Modelação e Performance de CDNs Aplicações e Plataformas Avançadas das CDNs CDNs dinâmicas Streaming cooperativo Serviços de vídeo em CDNs Disseminação de Informação em CDNs móveis Internetworking de CDNs
01.01 CDNs Fundamentos Redes de Distribuição de Conteúdos
Introdução Existe um constante desafio em desenvolver formas mais eficientes de entregar conteúdos aos utilizadores Situações de pico são criticas, por exemplo em alturas de incidentes mundiais Os picos são conhecidos como flash crowds, ou efeito Slashdot Geração de um hotspot num determinado instante, devido à relevância do conteúdo Uma Content Delivery Network, é uma colecção de elementos de rede, cooperantes entre si, existentes na Internet, onde o conteúdo é replicado em múltiplos servidores, de forma a permitir uma entrega eficaz e transparente do conteúdo aos utilizadores.
Introdução (2) As CDNs são uma forma de contornar as limitações de QoS que os utilizadores podem sentir. Fornecem serviços que melhoram a performance da rede, maximizando a largura de banda, acessibilidade e fiabilidade do conteúdo (através da replicação de dados).
Funcionalidades Serviços de redireccionamento de pedidos e entrega de conteúdos Permite direccionar o pedido ao cache server mais próximo, usando mecanismos para ultrapassar a congestão Outsourcing de conteúdos e serviços de distribuição Replica e/ou faz cache do conteúdo a partir da origem para servidores Web distribuídos Serviços de negociação de conteúdos Para satisfazer a necessidade de um utilizador individual (ou grupo de utilizadores) Serviços de gestão Para gerir os componentes de rede, efectuar o accounting e monitorizar e criar relatórios da utilização do conteúdo As CDNs estão em constante evolução, novos serviços/utilizações são adicionados todos os dias.
Modelo de uma CDN
Terminologia Entrega do conteúdo refere-se à acção de servir o conteúdo aos pedidos vindos dos utilizadores Conteúdo é o conjunto de recursos em formato digital que contêm duas partes Dados codificados dados estáticos, dinâmicos e contínuos Metadata descrição do conteúdo, permite a identificação, descoberta e gestão dos dados multimédia As CDNs podem ser vistas como uma nova camada do modelo OSI Fornece serviços de rede baseando-se em protocolos da camada de aplicação, tais como o HTTP ou o RTSP/RTP. As 3 principais entidades numa CDN são: Produtor/Fornecedor de conteúdos Fornecedor da CDN Utilizador final Edge/Surrogate server servidor da CDN que replica ou faz cache dos conteúdos Web cluster conjunto de servidores de edge
Componentes
Conteúdos/serviços fornecidos por uma CDN
Evolução Inicialmente tentou-se modificar a arquitectura da Web melhorando no hardware do servidor Web aumentando o número de processadores, memória, espaço em disco, etc Leva a que num ponto no tempo tenhamos de andar a trocar de servidores Web constantemente Caching Proxies, introduzidos pelos ISPs para benificar utilizadores com larguras de banda reduzidas De alguma forma o pedido do utilizador tem de ir parar às webcaches, que já contêm os dados armazenados e não precisam assim de os ir buscar ao servidor de origem Hierarquia de Caching Proxies (locais, regionais, internacionais) Server farms conjuntos de servidores com o mesmo conteúdo, que atendem os pedidos dos clientes Usa-se um L4-L7 switch para redireccionar os pedidos dos clientes (baseando-se no URL, tipo de conteúdo, utlizador, etc.) O 9/11 foi um impulsionador nesta área, começaram nesta altura a surgir RFCs do IETF, bem como outras organizações que tentam normalizar as redes de distribuição de conteúdos: Broadband Services Forum ICAP Forum Internet Streaming Media Alliance A maioria das CDNs são proprietárias e privadas operadas por empresas
Evolução (2)
Sistemas relacionados Vários sistemas partilham funcionalidades com as CDNs: Data grids Ambiente de computação intensiva, usado para manipulação de grandes quantidades de dados Funcionalidades básicas: Mecanismo de alta performance para transferência de dados Mecanismo escalável de recoberta e gestão de réplicas Distributed databases Colecção de dados distribuída em por diferentes locais físicos, ligados por uma rede de dados Redes Peer-2-Peer Desenhadas para partilha de recursos entre computadores sem a existência de uma autoridade centralizada Tarefas distribuidas
Sistemas relacionados Comparação
Estado da arte CDNs comerciais Akamai Formada a partir de um grupo do MIT, dedicada a resolver o problema das flash crowds Cria múltiplas caches a partir do servidor de origem, o número de réplicas aumenta automaticamente em alturas de maior afluência Redirecciona os clientes para o servidor mais próximo através de servidores de DNS especializados Calcula o servidor mais próximo a partir do BGP, cruzando esta informação com traceroutes Fornece conteúdo sobre HTTP ou HTTPS Suporta streaming multimédia Edgestream Vocacionada para streaming Aplicações embebidas Baseada em módulos cliente-servidor Do lado do clientes o módulo é integrado com o Windows Media Player ou Real Player Limelight Usa mecanismos baseados em DNS e BGP tal como a Akamai Mirror Image Usa o DNS para redireccionar para um servidor mais próximo, se esse servidor não tiver o conteúdo o cliente é redireccionado (através de HTTP) para o servidor original.
Estado da arte CDNs Académicas Uso de P2P generalizado em CDNs académicas Lida facilmente com picos e falhas de nós CoDeeN Sistema de proxies P2P garante a premissa de que a performance é melhor assim do que na maioria dos sites Rede de proxies abertos O cliente acede a um dos proxies que caso não tenha os dados tenta obtê-los a partir de outros proxies, em ultima instância do servidor original Coral O objectivo é efectuar mirrors de sites web Para um utilizador usar a CoralCDN, basta adicionar.nyud.net:8090 ao link para um site que se imagine que tenha bastante tráfego Um cliente ao fazer isto é redireccionado para a webcache mais próxima Usa proxies HTTP DNS especializado
Futurologia Conteúdo Dinâmico Criação de técnicas para replicar as formas de criação do conteúdo dinâmico Alguns fornecedores de CDNs comerciais já o fazem Web services Replicação de web services CDN adaptativa para streaming multimédia CDN dinâmica para redes móveis Internetworking de CDNs