Redes de Fornecimento de Conteúdos
Content Delivery Networks (CDNs)
Sistemas Telemáticos
LESI
Grupo de Comunicações por Computador
Departamento de Informática
Universidade 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
• 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
C1
C3
C4
S
C2
- Encaminhador IP
Exemplo de CDN
Farm de servidores
www.cnn.com
(Cópia 1)
Pedido de
grad.umd.edu
www.cnn.com
(Cópia 2)
www.cnn.com
(Cópia 3)
Pedido de
ren.cis.udel.edu
Comutador L4-L7
Pedido de
ren.cis.udel.edu
Pedidode
grad.umd.edu
Solução simples para o problema de distribuição de conteúdos
Arbitra os pedidos dos clientes pelos servidores usando um
comutador inteligente nível 4-7
Bastante usado actualmente
Exemplo de CDN
Proxy/Cache
FSI
Cliente
ren.cis.udel.edu
Cliente
merlot.cis.
udel.edu
Outro tráfego
Interceptores
Tráfego
Porta 80 TCP
Internet
www.cnn.com
Proxy
• 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 CDN
Problemas : 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
Outras possíveis áreas de desenvolvimento:
melhoria do desempenho de sítios Web.
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 de
armazenamento
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údo
Métricas para localização de Conteúdos
Proximidade de rede
Informação obtida de tabelas de encaminhamento
Proximidade Geográfica
Usada para redireccionar os utilizadores em certa região
para um POP
Tempo de Resposta
Técnicas do BGP (Border Gateway Protocol)
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údo
Tipos 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údo
Global: Redirecção pelo DNS
Método mais simples
Servidores
Web
DNS
HTTP
Não é a melhor forma para
encaminhamento por
conteúdo
Problemas
Latência do DNS
DNS
Raiz
Cliente
Cada domínio tem
vários IPs associados
Dado um pedido, o DNS
redirecciona-o para o
servidor mais adequado
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
Encaminhamento por conteúdo
Global: 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)
Encaminhador
IP
Serviço de Resolução
de Nomes
Encaminhador por
Conteúdo
Armazena o
próximo salto
para cada
nome
Um aumento do encaminhamento IP, proxy
ou gateway NAT
Servidor Web
Serviço de Resolução
de Nomes
Responde a
Servidor de
pedidos de
Conteúdos
conteúdos e
anuncia
Um aumento do servidor Web, proxy
conteúdos
ou cache
Encaminhamento por conteúdo
Local: comutação camada 4-7
Rapidez
-
+
Aplicação
Comutação HTTP
baseada no URL
Transporte
Comutação TCP
baseada na porta
Rede
Ligação Lógica
+
-
Física
Comutação IP
baseada no endereço
Comutação Ethernet
baseada no endereço
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
Não utilizado para
comutação
Inteligência
Conhecida como comutação inteligente
baseada de informação com o URL, tipo
de conteúdo, nome do utilizador
Ligação Lógica
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
Encaminhamento por conteúdo
Local: 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
Pode ser associada um
conjunto de caches a
cada encaminhador
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
Carga balanceada entre
elas, com base em certos
parâmetros
Melhor desempenho
Maior fiabilidade
Desenvolvido pela Cisco
Encaminhamento por conteúdo
Local: Web Cache Communication Protocol (WCCP)
Cache
3
Servidor de
Contéudo
2
Encaminhador
4
1
Cliente
Encaminhamento por conteúdo
Local: 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
Conteúdo não é simples de indexar automaticamente
É necessária inteligência para reconhecer e indexar
Vídeo
Dados financeiros
Fornecimento de Conteúdos
Fornecimento de conteúdos
Componentes
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údos
Componentes: 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údos
Componentes: 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údos
Componentes: 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údos
Componentes: 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údos
Componentes: 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údos
Componentes: 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údos
Componentes: 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údos
Componentes: 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
2001-9-11
Servidor Web
www.cnn.com
pedido
1000,000
clientes
ISP
conteúdo
pedido
antigo
Utilizador
www.rtp.pt
Novos conteúdos
Nótícias WTC!
1000,000
clientes
- Congestão /
Estrangulamento
- Caching Proxy
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)
Caching
Funções fundamentais
Para facilitar o caching da CDN, a cache
precisa de concretizar
Caching estático
Caching básico do web
Caching de Fluxos de Média
Caching de fluxos (streamming) de média
Páginas HTML, imagens, documentos
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
Caching
Mé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
Caching
Consistê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
Caching
Potenciais 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
Caching
Benefí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 Desempenho
Interna
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-afim
Medição de Desempenho
Interna
Colocação de sondas hardware e software
Em correlação com os registos históricos de
servidores
Sondas devem ser colocadas na periferia da
rede
Determinação das estatísticas de QoS e fornecimento
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 Desempenho
Externa
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
Novo conteúdo
Notícias do WTC!
Servidor Web
www.cnn.com
1000,000
Clientes
WA
NY
UK
ES
1000,000
Clientes
DE
FR
PT
JP
pedido
Cliente
www.rtp.pt
Conteúdo novo
- Infra-estrutura
de distribuição
- Sucedâneo
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
Routing
Content Switching
DistributedDirector
Catalyst SLB
Local Director
Content Router Series
Content Distribution
and Delivery
CE 500 Series
CE 7300 Series
Content Distribution
Manager
Streaming
VOD
IP/TV Products
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