PPT - Computer Communications and Networks Group

Propaganda
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
Download