Introdução ao MatLab Aula 3 Sistemas Telemáticos 5ºAno LESI/MCC Universidade do Minho.
Redes de Fornecimento de Conteúdos Content Delivery Networks (CDNs) Sistemas Telemáticos LESI...
Transcript of Redes de Fornecimento de Conteúdos Content Delivery Networks (CDNs) Sistemas Telemáticos LESI...
Redes de Fornecimento de ConteúdosContent Delivery Networks (CDNs)
Sistemas TelemáticosLESI
Grupo de Comunicações por Computador
Departamento de InformáticaUniversidade do Minho
Sumário Motivação Introdução Abordagens de Construção Arquitectura e Tecnologias
Encaminhamento por conteúdo Fornecimento de conteúdos Medição de desempenho
Aplicações Conclusões
Motivação para CDNs
S
C1
C4
C2
C3
- Encaminhador IP
• Muitos saltos entre clientes e servidores Web =>mais congestão!
• Os mesmos dados a fluirem repetidamente sobre as linhas entre os clientese o servidor Web
• Servidor fonte fica estrangulado com muitos clientes
Exemplo de CDNFarm de servidores
Comutador L4-L7
Pedidodegrad.umd.edu
Pedido de ren.cis.udel.edu
Pedido deren.cis.udel.edu
Pedido degrad.umd.edu
www.cnn.com(Cópia 1)
www.cnn.com(Cópia 3)
www.cnn.com(Cópia 2)
Solução simples para o problema de distribuição de conteúdos Arbitra os pedidos dos clientes pelos servidores usando umcomutador inteligente nível 4-7 Bastante usado actualmente
Exemplo de CDNProxy/Cache
Clienteren.cis.udel.edu
Clientemerlot.cis.u
del.edu
Interceptores
Proxy
www.cnn.comInternetTráfegoPorta 80 TCP
Outro tráfegoFSI
• Motivado por interesse do negócio do FSI –redução na largura de banda na Internet do FSI
• Redução do tráfego de rede• Redução da latência percebida pelo utilizador
Exemplo de CDNProblemas : Proxy/Cache e Farm de servidores
Proxy/Cache Só servem os seus clientes
não todos os utilizadores Internet
O servidor fonte não consegue contabilizar os acessos
CNN para efeitos de publicidade
Fornecedores de conteúdos não podem basear-se na implementação correcta das caches
Farm de servidores Não fazem nada em
situações de congestão
Não influenciam latência da rede
Introdução Ideia
Usar a inteligência dos níveis superiores da pilha protocolar para melhorar a qualidade de serviço no fornecimento de informação que é cada vez mais multimédia por natureza
O que são as CDNs? Existem várias definições
Distribuição de Vídeo ou TV sobre a Internet ou sobre Redes Privadas
Comutação com base no conteúdo Melhorar desempenho de sítios Web
Redes optimizadas para distribuir conteúdos específicos tal como Páginas Web estáticas Páginas Web dinâmicas Fluxos de Média (Media Streamming) Vídeo ou Áudio em Tempo real
Objectivos das CDNs São já um caso de sucesso
melhoria do desempenho de sítios Web. Outras possíveis áreas de desenvolvimento:
Custo de Largura de Banda Disponibilidade Desempenho
Empurrar os conteúdos o mais próximo possível dos utilizadores para Minimizar a latência Minimizar o desvio nos atrasos Maximizar o débito
Abordagens para construção de CDNs Modelo de Redes Virtuais (Overlay)
Replicação do conteúdo em milhares de servidores em todo mundo
Servidores de aplicação ou caches em vários pontos da rede
Os encaminhadores sem papel especial Eventualmente serviço garantido para fluxos específicos
Modelo de Rede Desenvolver software para os encaminhadores e
comutadores Reconhecerem certos tipos de aplicação Tomarem decisões de expedição com base em
políticas pré-definidas
Abordagens para construção de CDNs
Base: Modelo de Rede Virtual CDN é uma rede virtual construída
Como uma camada no topo da infra-estrutura de rede que contém entidades pares de
Transporte Encaminhamento IP, QoS Difusão selectiva BGP
Para distribuir conteúdos para determinada audiência
CDNs versus Proxy caching
Proxy/Caches Usadas pelos ISPs
para reduzir o consumo de LB
São reactivas Fornecem os seus
clientes web Não dão qualquer
controlo
CDNs Usadas pelos
fornecedores de serviço para aumentar o QoS aos utilizadores
São proactivas Fornecem aos clientes e
servidores Web Dão o controlo do
conteúdo aos seus fornecedores
Arquitectura genérica
Encaminhadores de rede
Servidores dearmazenamento
Aplicações
Arquitecturas e Tecnologias
A publicação de informação é suportada com base na economia de escala dos
ISPs com as seguintes funções de fornecimento de conteúdos
Grandes capacidades de armazenamento primário e de salvaguarda
Replicação, salvaguarda e gestão de sistema de ficheiros Identificação e gestão de conteúdos em encaminhadores
com capacidades de manipulação de conteúdos Colocação dos conteúdos próximos dos utilizadores Fornecimento de difusão selectiva ou não de fluxos de
média Fornecimento de serviços de reformatação de páginas
para áudio-visualizadores (browsers) sem fios
Redes de Fornecimento de Conteúdos
Três componentes básicos Encaminhamento por Conteúdo Entrega de Conteúdos Medição de Desempenho
Rede de Fornecimento de Conteúdos
Encaminhamento por Conteúdo Tecnologias que colocam o
conteúdo certo junto dos utilizadores certos Redirecção do Serviço de Resolução de
Nomes Comutação nível 4-7 WCCP
Web Caching Communication Protocol Desenhado pela Cisco para comunicação
entre encaminhadores e caches
Encaminhamento por conteúdoMétricas para localização de Conteúdos
Proximidade de rede Informação obtida de tabelas de encaminhamento
Técnicas do BGP (Border Gateway Protocol) Proximidade Geográfica
Usada para redireccionar os utilizadores em certa região para um POP
Tempo de Resposta Redireccionador mantêm informação de tempos de resposta
dos POPs Redirecção é feita para POP mais rápido
Tipo de utilizador Pagante versus não pagante
Baseado em cookies ou processo de autenticação
Encaminhamento por conteúdoTipos de algoritmos
Encaminhamento global Como encontrar a rota do cliente para o POP
mais apropriado? Redirecção do Sistema de Resolução de Nomes Encaminhamento com base no nome
Encaminhamento Local Como encaminhador os pedidos para os
múltiplos servidores num mesmo POP? Comutação camada 4-7 WCCP
Encaminhamento por conteúdoGlobal: Redirecção pelo DNS
Método mais simples
Cada domínio tem vários IPs associados
Dado um pedido, o DNS redirecciona-o para o servidor mais adequado
Não é a melhor forma para encaminhamento por conteúdo
Problemas Latência do DNS
Exposição à latência e atrasos da Internet
Redirecção do DNS não é escalável
O que está disponível é conteúdo pedido
Não há maneira de aumentar a capacidade para manipular nomes de domínio com essa informação
DNS
DNSRaiz
ServidoresWeb
Cliente
HTTP
Encaminhamento por conteúdoGlobal: encaminhamento baseado no nome
Desenvolvido por Investigadores U.Stanford e MIT
Para resolver os problemas do método anterior Propostos 2 protocols:
Internet Name Resolution Protocol (DRP)
Name Based Routing Protocol (NBRP)
EncaminhadorIP
Serviço de Resolução de Nomes
Encaminhador porConteúdo
Servidor WebServiço de Resolução
de Nomes
Servidor de Conteúdos
Um aumento do encaminhamento IP, proxyou gateway NAT
Um aumento do servidor Web, proxyou cache
Armazena opróximo saltopara cada nome
Responde apedidos de conteúdos eanuncia conteúdos
Encaminhamento por conteúdoLocal: comutação camada 4-7
Conhecida como comutação inteligente baseada de informação com o URL, tipo de conteúdo, nome do utilizador
Ligação Lógica Usa o endereço MAC para comutação
com baixa latência Rede
Comutação feita pacote a pacote com base no endereço IP
Transporte Escolhe com base na porta e escolher
o servidor mais adequado (tradução dos endereços NAT)
Aplicação Redirecciona pedidos para outros
servidores Um servidor não precisa de guardar
sites inteiros
Rede
Rapidez
Inteligência
-
+
+
-
Aplicação
Transporte
Ligação Lógica
Física
Comutação HTTPbaseada no URL
Comutação TCPbaseada na porta
Comutação IPbaseada no endereço Comutação Ethernetbaseada no endereço
Não utilizado paracomutação
Encaminhamento por conteúdoLocal: Web Cache Communication Protocol (WCCP)
Encaminhador intercepta pedidos para vários serviços
Fluxos de média Tráfego Web
Passar tráfego Web para uma cache
Cada cache anuncia os protocolos suportados
O encaminhador verifica os protocolos dos pacotes em trânsito e passa-os para a cache
Melhor desempenho para o utilizador final
Menos tráfego na rede
Pode ser associada um conjunto de caches a cada encaminhador
Carga balanceada entre elas, com base em certos parâmetros
Melhor desempenho Maior fiabilidade
Desenvolvido pela Cisco
Encaminhamento por conteúdoLocal: Web Cache Communication Protocol (WCCP)
Cliente
Servidor deContéudo
Cache
1
23 4
Encaminhador
Encaminhamento por conteúdoLocal: Web Cache Communication Protocol (WCCP)
O cliente faz um pedido ao servidor de conteúdos
O encaminhador intercepta o pedido e passa para a cache
Se não tiver o documento pedido, a cache envia o pedido para o servidor de conteúdos
A cache serve o cliente com o documento como se o tivesse localmente Fazendo o pedido ao servidor de conteúdos se
necessário
Fornecimento de conteúdos Lida primariamente com
o fluxo de trabalho e manipulação do conteúdo Desde a codificação à entrega ao utilizador
A codificação optimiza o conteúdo para o seu transporte pela rede
O conteúdo pode ser imagens, áudio e vídeo digital, software e documentos
Conteúdos em tempo real Áudio Vídeo Dados financeiros
}Conteúdo não é simples de indexar automaticamenteÉ necessária inteligência para reconhecer e indexar
Fornecimento de Conteúdos
Fornecimento de conteúdosComponentes
Codificação Cifragem/Segurança Indexação Servidores de Média Servidores Web Caching Cliente de Média Fluxos de Conteúdo
Fornecimento de conteúdosComponentes: Codificação
O média digital precisa de ser codificado para o transporte através da rede
O processo de codificação tem 2 etapas Compressão e empacotamento A compressão utiliza algoritmos designados
por CODECs Há vários CODECs usados para áudio e vídeo
O conteúdo é optimizado para diferentes grupos de utilizadores Usam diferentes algoritmos CODEC
Fornecimento de conteúdosComponentes: Cifragem/Seurança
Objectivos evitar o acesso não autorizado permitir a autenticação da origem verificação da integridade
Os média são cifrados e protegidos Os esquemas de protecção chamam-se
Sistemas de Gestão de Direitos de Autor Digitais Digital Rights Management (DRM) Systems
Fornecimento de conteúdosComponentes: Indexação
Uma grande biblioteca não é útil sem um catálogo ou índice
Ao contrário do texto, o áudio e o vídeo não são indexáveis directamente São necessários pacotes de software
especiais para média Os metadados são gerados em paralelo com a
geração do fluxo de média (media streamming)
Os metadados são publicados na Web e serve como ponto de referência para acesso aos conteúdo dos média
Fornecimento de conteúdosComponentes: Servidores de Média
Servidor que devolve como resposta a pedidos de clientes conteúdo digital codificado
Corre em plataformas Unix ou Windows
É uma espécie de servidor Web para fluxos de média
Responde a pedidos com trechos áudio ou vídeo específicos
Fornecimento de conteúdosComponentes: Servidores Web
Contêm: Os metadados e as referências aos
fluxos de média qualquer outro conteúdo Web que a
CDN possa manipular Tal como nos servidores de média
Os limites de carga precisam de ser estabelecidos
Testes de carga do ambiente específico
Fornecimento de conteúdosComponentes: Caching
As caches mantêm cópias na periferia da rede Quando um pedido é feito mais que
uma vez, são enviadas cópias como resposta
Esta abordagem evita o acesso ao servidor original
Que pode estar distante muitos kilómetros (saltos)
Fornecimento de conteúdosComponentes: Cliente de Média
Tem funções idênticas ao browser Web
Não inter-operacionalidade entre as diferentes plataformas Utilizador precisa de instalar clientes
separados para aceder a conteúdos disponibilizados pelas diferentes plataformas
Fornecimento de conteúdosComponentes: Fluxo de conteúdo
Como o conteúdo é gerado nos sítios dos clientes da CDN Precisa de ser fornecido à CDN
Conteúdos em tempo real Devem ser transferidos de imediato Não são pré-gravados Usa-se um método de transferência diferente
Fonte com localização fixa: linha directa Fonte com localização temporária: satélite
Caching Se os conteúdos forem servidos no
mesmo local A pedido ou em tempo real
Todos clientes obtêm conteúdos do mesmo ponto da rede
Grande impacto nos servidores e na rede Exemplo:
Milhares de clientes a pedirem um trecho áudio ou vídeo
Servidor Webwww.cnn.com
Utilizadorwww.rtp.pt
1000,000clientes
1000,000clientes
2001-9-11
Novos conteúdosNótícias WTC!
conteúdoantigo pedido
pedido
- Caching Proxy
ISP- Congestão / Estrangulamento
Caching Se o conteúdo residir no mesmo local
Tem que ser enviada uma cópia para cada cliente através da rede
Uma estrutura de caching colocada em cada PoP Os clientes são servidos de forma
transparente por caches Conteúdos mais perto dos clientes
Baixa latência Maior disponibilidade Menor carga na rede e nos servidores
Caching
Caching Distribuição de carga
Equipamentos mais baratos em cada local Não linearidade entre o custo de um servidor e a
quantidade de dados a servir Caches suportam protocolos de acesso aos
conteúdos Métrica de avaliação: # de protocolos suportados
HTTP FTP RTSP (Real Time Streamming Protocol) MMS (Multimedia Messaging Service) RTP (Real Time Protocol)
CachingFunções fundamentais
Para facilitar o caching da CDN, a cache precisa de concretizar Caching estático
Caching básico do web Páginas HTML, imagens, documentos
Caching de Fluxos de Média Caching de fluxos (streamming) de média
A cache funciona como servidor de média Divisão de Fluxos em tempo real
Fluxos em tempo real são replicados pelas caches e depois empurrados para servidores de média que atendem os clientes
Caching Internet Cache Protocol (ICP)
Permite às caches interrogar outras caches na mesma CDN
Se uma cache recebe um pedido ICP Serve se tiver o objecto Interroga outras caches
Podemos obter o conteúdo numa localização mais próxima que a fonte
Usado para construir agregados de caches ou relações pai-filho em hierarquias de caches
Caching Internet Cache Protocol (ICP)
ICP é um protocolo para Web caching Versão 2 do ICP está definida no RFC 2186 Usado para distribuir sugestões a respeito
da existência de URLs nas caches vizinhas
Caches trocam interrogações e respostas ICP Colecta de informação selecção da
localização mais apropriada para buscar um objecto
Caching Especificação do ICPv2
Geralmente as caches Web usam o HTTP para transferir objectos
Contudo as caches Web podem beneficiar dum protocolo de comunicação mais simples e mais leve
O ICP é usado principalmente num grafo de caches para localizar objectos específicos nas caches vizinhas Uma cache envia uma interrogação ICP aos seus
vizinhos Os vizinhos enviam respostas com um acerto
("HIT“) ou uma falta ("MISS“)
Caching Concretização do ICP
Actualmente o ICP concretizado sobre UDP Pode correr sobre IP multicast
Não há nenhum requisito que o limite ao UDP ICP sobre TCP oferece algumas vantagens
para as aplicações de Caching Web Troca de interrogação resposta tem que ser
rápida Uma cache só começa a espera desde que pediu
o objecto Uma falha na resposta implica
Percuso de rede quebrado ou congestionado Esse vizinho não dever ser seleccionado
Caching Cache Array Routing Protocol (CARP)
O Microsoft® Proxy Server 2.0 usa o Cache Array Routing Protocol (CARP)
O CARP é uma série de algoritmos que são aplicados no topo do HTTP
Servidores proxy múltiplos são organizados como uma única cache lógica
Não precisa dum novo protocolo de ligação fim-a-fim Usa o HTTP compatível com servidores
firewalls já existentes
Caching Cache Array Routing Protocol (CARP)
Disponibiliza um “percurso de resolução do pedido" determinístico num agregado de proxies
O percurso de resolução do pedido Função de hash para identificadores dos
membros do agregado e para os URLs Para um dado URL, o servidor proxy sabe
onde está ou não está armazenado o objecto
Caching CARP versus ICP
Percurso de resolução de pedido determinístico Evita as mensagens de interrogação entre
os servidores proxy existentes no ICP Elimina a duplicação de conteúdos que
existiriam de outra maneira no agregagdo de proxies
Tem um escalabilidade positiva É mais rápido quanto maior o número de
servidores proxy
CachingMétodos de fornecimento de conteúdos
Caching antecipado (Pre-caching) Os conteúdos são colocados
antecipadamente nas caches São usadas horas de menor carga
Diminuir a carga em horas de pico
Caching em voo (just-in-time) O conteúdo é puxado da fonte quando há
um pedido do cliente Para além de servir o cliente é colocada uma
cópia em cache
CachingConsistência das cópias
Problema comum A cache tem a cópia mais recente do
objecto? Pode ser assegurado com
Etiqueta no conteúdo a indicar quando deve actualizar o conteúdo com a fonte
Programação para verificação periódica da consistência das cópias
CachingPotenciais problemas
Manutenção em cache de conteúdos Detecção pelo utilizador de conteúdos obsoletos HTTP não garante consistência forte
Objectos têm a tendência de permanecer muito tempo Latência da cache
A cache tende a melhorar a latência dos pedidos duplicados
Quando há acertos Quando há faltas a cache aumenta a latência
Ligeiramente: tempo de processamento na cache Alguns documentos são pedidos apenas uma vez Algumas respostas não podem ser mantidas em cache
CachingBenefícios
As funcionalidades do caching tornam a sua actualização atractiva para todos Utilizadores Finais Gestores de Rede Criadores de conteúdos
Vantagens Menores atrasos e maior valor para os
utilizadores Cargas mais leves nos servidores fonte
Menores custos de hardware e suporte Menores tempos de resposta para os utiliza
Gestão e Distribuição de Conteúdos Distribuição de conteúdos
O objectivo da CDN é localizar os conteúdos junto da audiência e encaminhar os conteúdos para um servidor nas proximidades
Com as redes constituídas por centenas ou milhares de servidores localizados em sítios globalmente distribuídos e a disponibilizar conteúdos de vários domínios e clientes independentes, a distribuição da CDN é um componente crítico da solução.
Medição de Desempenho Disponibiliza a possibilidade de
Monitorizar Compreender Projectar desempenho fim-a-fim das CDNs
É conseguido com Sondas hardware e software
Distribuídas pela CDN Registos históricos dos vários servidores Avaliação do desempenho na entrega dos
diversos tipos de conteúdo Fluxos de média Conteúdos Web
Medição de Desempenho Desempenho interno e do ponto de
vista do utilizador (externo) Utilizam técnicas e tecnologias diferentes
Parâmetros usados na medição Perda de pacotes Latência Largura de banda média (fluxos de média) Tempo de arranque (fluxos de média) Taxa de Quadros (fluxos de vídeo)
Medição de DesempenhoInterna
Registos históricos das caches e servidores de média Permitem ter uma ideia do
desempenho dos serviços de fornecimento do conteúdo
Servidores de média permitem colectar estatísticas dos audiovisualizadores
Podemos obter medição de desempenho fim-a-fim
Colocação de sondas hardware e software
Em correlação com os registos históricos de servidores
Determinação das estatísticas de QoS e fornecimento Sondas devem ser colocadas na periferia da
rede Medição dum desempenho próxima da sentida dos
utilizadores Há uma série de ferramentas de geração de
relatórios Podem reconhecer esta informação e gerar
relatórios e gráficos úteis
Medição de DesempenhoInterna
Medição de DesempenhoExterna
Clientes gostam de ter muitas vezes medidas independentes
Havendo medidas de monitorização feitas por terceiros Utilizadores obtém um desempenho comprovado Sondas distribuídas geograficamente
Simulam a actividade dos clientes Com a sua medição obtêm-se a mesma visão dos
utilizadores finais Utiliza-se o desempenho obtido sem CDNs
como referência de base
Aplicações das CDNs Três aplicações
Serviços públicos de conteúdos Serviços privados ou empresariais de conteúdos Serviços de periferia
Aumento de desempenho do Web Servidor original só manipula respostas com
conteúdos dinâmicos Fornecedores de conteúdos e empresas estão
dispostos a pagar por esta melhoria de desempenho
Aplicações das CDNs Custos de largura de banda, aumento
disponibilidade e desempenho Outra linha de força para o negócio das CDNs Empresas grandes estão a mover-se para
uma infra-estrutura CDN Reduzir custos de LB Eliminar restrições encontradas quando a sua
informação (vídeos de formação, notícias internas) precisa de ser acedida de sítios remotos
Especialmente atractivo para locais com LB muito cara ou limitada
Mercados emergentes
Aplicações das CDNs Quando são base para uma onda
nova de serviços Uma aplicação de grande sucesso
justifica a sua implantação Exemplo: Distribuição de música
(Napster, DMI) Videoclips, Vídeos de promoção das
companhias de música
Outra vez o 2001-9-11
Servidor Webwww.cnn.com
Clientewww.rtp.pt
Novo conteúdoNotícias do WTC!
pedido
1000,000Clientes
1000,000Clientes
- Sucedâneo
- Infra-estrutura de distribuição
FR
ES
PTJP
DE
UKNY
WA
Conteúdo novo
Conclusões Relatório do Internet Research Group
2004: fluxos de média representará 40% do tráfego B2B e B2C
Volumes de tráfego sobre CDNs vai explodir Acessos de alta velocidade Vídeos de débito elevado serão lugar comum
Serão necessárias CDNs mais eficientes e com maior escalibilidade e desempenho
Redes de CDNs
Conclusões Ferramentas para Redes de Conteúdo
As CDNs vão ser desenvolvidas em diversas formas para beneficiar todos os actores Utilizadores finais
Operadores de CDNs Fornecedores de Conteúdos Fornecedores de Serviços Internet Fabricantes
Intranets CDNs versus Internet CDNs Faltam protocolos para comunicação entre
diferentes CDNs
Produtos CDN Cisco
Content DistributionContent Distribution and Deliveryand Delivery
Content SwitchingContent Switching
CE 500 Series
Catalyst SLB
Local Director
CE 7300 Series
DistributedDirector
ContentContentRoutingRouting
Streaming Streaming VODVOD
IP/TV Products
Content Router Series
Content Distribution Manager
Bibliografia Survey of Content Delivery Networks (CDNs),
acessível na Internet Content Networks: taxonomy and new
approaches, H.T.Kung e C.H.Wu World Wide Web Caching: Trends and
Tecniques, Greg Barish e Katia Obraczka Content Delivery Networks, Mathew Liste,
Cisco Web Cache Comunication Protocol, Cisco Web Caching Primer, Brian Davison Internet Cache Protocol, RFC 2186