Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense
Pedro Braconnot Velloso
Redes orientadas a conteúdo
ATENÇÃO!
• Esta apresentação contém trechos e é baseada nas
seguintes apresentações:
– Gabriel M. De Brito, Pedro B. Velloos e Igor M. Moraes, “Redes orientadas a Conteúdo: um novo paradigma para a Internet ", no Minicursos do Simpósio Brasileiro de Redes de Computadores - SBRC'2012, Ouro Preto, MG, Brasil, Maio 2012.
– Igor M. Moraes, “Redes de Computadores I”, Notas de aula, IC/UFF Niterói, RJ, Brasil, Fevereiro, 2012.
• Outubro de 1957
– Lançamento, pelos soviéticos, do primeiro satélite artificial da Terra, o Sputnik I
Sputinik I
Lançador de Satélites
Reação Estadunidense
• 1958 - Presidente Dwight D. Eisenhower criou a Advanced Research Projects Agency (ARPA) para
• Sistema de defesa antimísseis
Reação Estadunidense
• 1964 - Licklider, Kleinrock, Baran e Roberts
– Proposta: interconectar computadores para “acessar dados e programas de qualquer lugar e de maneira fácil e rápida”
– Rede com topologia distribuída para redundância
• Uma bomba não anularia a comunicação
– Rede baseada na comutação de pacotes
• Divisão da mensagem em pacotes, encaminhamento dos pacotes e remontagem da mensagem no destino
• Encaminhamento fácil da mensagem por diferentes caminhos
Topologia Distribuída
Enlace Estação
Disponibilidade
• Arpanet
Origem
Disponibilidade
• Arpanet
Origem
Comutação
• Sistema telefônico
– Comutação de Circuitos
• Internet
Sistema Telefônico
• Objetivo
– Conectar fios a outros fios
• Não se importa com a conversação telefônica
– O importante é o estabelecimento de um caminho entre a
Manualmente
Manualmente
Mecanicamente
Centrais Telefônicas
Manualmente
Mecanicamente
Por Computador
Centrais Telefônicas
Problemas
• Nenhuma informação é transferida antes do
estabelecimento da chamada
– Eficiência decresce com
• Aumento do tempo de estabelecimento da chamada • Aumento da banda passante do canal
• Diminuição do tempo de duração da chamada
• Falha da chamada se um dos elementos do caminho falha
Comutação de Pacotes
• Foco no sistema final e não mais no caminho
• Mensagem divida em pedaços (os pacotes)
encaminhados de forma independente uma das outras
• Pacotes com endereço final do destino
– Semelhante a uma carta enviada pelo correio
• Pacotes encaminhados nó-a-nó
– Podem percorrrer caminhos diferentes até o destino
Na época, todos que entendiam
um pouco de telecomunicações
achavam a idéia uma
Primeira rede de
comutação de
pacotes
Interface Message Processor (IMP)
Primeiro comutador de mensagens (roteador)
Leonard Kleinrock Professor da UCLA Minicomputador Honeywell DDP516 24kB de memória 10 kHz de relógio
1969
A Primeira Mensagem
Cenário – comunicação entre a UCLA e Stanford e
acompanhamento do que se passava pelo telefone
Kleinrock tenta fazer o LOGIN remotamente
“Digitei o L e pelo telefone perguntei, você viu o L?”
"Yes, we see the L," came the response.
"We typed the O, and we asked, "Do you see the O."
"Yes, we see the O."
"Then we typed the G, and … the system crashed"...
A Primeira Mensagem
Cenário – comunicação entre a UCLA e Stanford e
acompanhamento do que se passava pelo telefone
Kleinrock tenta fazer o LOGIN remotamente
“Digitei o L e pelo telefone perguntei, você viu o L?”
A Primeira Mensagem
Cenário – comunicação entre a UCLA e Stanford e
acompanhamento do que se passava pelo telefone
Kleinrock tenta fazer o LOGIN remotamente
“Digitei o L e pelo telefone perguntei, você viu o L?”
“Sim eu vi o L, mande o próximo.”
A Primeira Mensagem
Cenário – comunicação entre a UCLA e Stanford e
acompanhamento do que se passava pelo telefone
Kleinrock tenta fazer o LOGIN remotamente
“Digitei o L e pelo telefone perguntei, você viu o L?”
“Sim eu vi o L, mande o próximo.”
“Digitei o O e perguntei, você viu o O?”
A Primeira Mensagem
Cenário – comunicação entre a UCLA e Stanford e
acompanhamento do que se passava pelo telefone
Kleinrock tenta fazer o LOGIN remotamente
“Digitei o L e pelo telefone perguntei, você viu o L?”
“Sim eu vi o L, mande o próximo.”
“Digitei o O e perguntei, você viu o O?”
“Sim, eu vi o O”
A Primeira Mensagem
Cenário – comunicação entre a UCLA e Stanford e
acompanhamento do que se passava pelo telefone
Kleinrock tenta fazer o LOGIN remotamente
“Digitei o L e pelo telefone perguntei, você viu o L?”
“Sim eu vi o L, mande o próximo.”
“Digitei o O e perguntei, você viu o O?”
“Sim, eu vi o O”
A Primeira Mensagem
Cenário – comunicação entre a UCLA e Stanford e
acompanhamento do que se passava pelo telefone
Kleinrock tenta fazer o LOGIN remotamente
“Digitei o L e pelo telefone perguntei, você viu o L?”
“Sim eu vi o L, mande o próximo.”
“Digitei o O e perguntei, você viu o O?”
“Sim, eu vi o O”
“Em seguida, digitei o G e …”
o sistema travou!
O teste foi um sucesso e a revolução começou!
Evolução da Internet
• 1970 – 12 IMPs interconectavam computadores nos EUA todo • 1972 – RFC 354 File-Transfer Protocol (FTP)
• 1972 – Primeiro email
– Ray Tomlinson – @ para endereço de email
• 1973 – ¾ do tráfego era de emails
• 1974 - Vinton Cerf (UCLA) e Robert Kahn (ARPA) propõem Transmission Control Protocol and Internet Protocol (TCP/IP)
– Mais rápido e mais eficiente
– Mais computadores com menor custo
TCP/IP é considerado
o marco inicial da Internet
Evolução da Internet
• 1986 – maioria dos departamentos norte americanos de
ciência da computação estão conectados a Internet
• 1990 – NSFNET substitui a ARPANET
– 25 vezes mais rápida
• 1990 – Tim Berners-Lee propõe "World-Wide Web”
• 1991 – acesso discado à Internet
• 1991 – Gopher – primeira interface amigável
• 1993 – Mosaic
– Mark Andreessen propõe o primeiro navegador
Daí pra frente é só sucesso de crescimento
de usuários e número de aplicações
Sucesso da Internet
• Rádio 38 anos para chegar a 50 milhões de usuários
• Televisão 13 anos para chegar a 50 milhões de usuários
• Internet pública 4 anos para chegar a 50 milhões de
• Modelo em camadas
• Comutação de pacotes e melhor esforço • Transparência • Princípio fim-a-fim • Entrega imediata • Heterogeneidade de sub-rede • Endereçamento global • Controle distribuído
• Cálculo global do roteamento • Divisão em regiões
• Dependência mínima
Princípio Fim-a-Fim
• Princípio FUNDAMENTAL da Internet
Funções específicas de nível de aplicação devem estar
presentes apenas nas extremidades
• Motivação
– Só com o conhecimento da aplicação (nas extremidades) as funções específicas pode ser implementadas de forma
correta e completa
• Número de nós e usuários: cerca de 1,5 bilhões hoje
1969 1999
Usuários de diferentes idades e com diferentes habilidades técnicas Pesquisadores de universidades e
centros de pesquisa
• Perfil dos usuários
– Especializados à maioria não especializada
Usuário digita a URL www.ic.uff.br
Navegação Web (HTTP)
cliente servidor
10.20.30.40 200.20.15.208
Usuário digita a URL www.ic.uff.br
Navegação Web (HTTP)
cliente servidor
10.20.30.40 200.20.15.208
Internet
1. A máquina cliente faz uma consulta ao DNS para descobrir o
endereço IP que hospeda a página de interesse
Usuário digita a URL www.ic.uff.br
Navegação Web (HTTP)
cliente servidor
10.20.30.40 200.20.15.208
Internet
2. Cliente HTTP inicia conexão TCP a servidor HTTP (processo) a
Usuário digita a URL www.ic.uff.br
Navegação Web (HTTP)
cliente servidor
10.20.30.40 200.20.15.208
Internet
3. Cliente HTTP envia mensagem de pedido indicando que deseja receber o objeto www.ic.uff.br/index.html
Usuário digita a URL www.ic.uff.br
Navegação Web (HTTP)
cliente servidor
10.20.30.40 200.20.15.208
Internet
4. Servidor HTTP recebe mensagem de pedido e envia a resposta contendo objeto solicitado
Usuário digita a URL www.ic.uff.br
Navegação Web (HTTP)
cliente servidor
10.20.30.40 200.20.15.208
Internet
5. Cliente HTTP recebe mensagem de resposta contendo arquivo HTML e visualiza HTML.
Mais Exemplos
• FTP
– Transferir um arquivo de/para uma estação de/para um
servidor remoto
•
Login
remoto
– Conectar um usuário a um servidor remoto – Compartilhamento de recursos
• Correio eletrônico
– Transferir uma mensagem de/para agentes de usuário, que rodam nas estações dos usuários, e entre servidores de correio
Aplicações Tradicionais
• O que as aplicações tem em comum?
– Seguem o paradigma de comunicação entre hospedeiros
Objeti
vo é co
nectar
estaçõ
es:
localiz
ar o co
nteúdo
solicta
do
• Número e características das aplicações
– Poucas à muitas e com diferentes requisitos
O Que Mudou?
Sem fins lucrativos Lucro
• Operadores e prestadores de serviço visam lucro
• Operadores devem ser capazes de “gerenciar”
– Configurar
– Resolver problemas
– Implementar elementos intermediários (Middleboxes)
• Proxies, firewalls, NATs etc.
– Implementar políticas
Evolução da Internet
• Princípios básicos da Internet
– Definidos nos anos 70
– Responsáveis pelo grande sucesso
• No entanto, a Internet precisou se adaptar ao seu
crescimento e às suas aplicações
Evolução através de
“remendos”
Internet:
Colcha de Retalhos
Internet
DNS
CIDR
NAT
IP Multicast
IP Móvel
Cache e Firewalls
DiffServ e IntServ
IP Sec
Muitas aplicações hoje são
orientadas ao conteúdo
tracker
BitTorrent
O nó N recém-chegado inicialmente não possui nenhum pedaço
0 1 2 3 4 4 1 2 3 5 1 2 3 4 1 2 3 3 4 2 buffer 5 seeder 4 1 2 3 5 3 4
Proxy
Web
• Introduz um elemento intermediário
www.ic.uff.br Proxy transparente sbrc2012.dcc.ufmg.br Cópias temporárias cliente
Redes de Distribuição de
Conteúdo (CDNs)
Muitas aplicações hoje são
orientadas ao conteúdo
Muitas aplicações hoje são
orientadas ao conteúdo
Mais de 80% do tráfego da
Internet atual é P2P
Será que a rede pode se
tornar mais eficiente para
Será que a rede pode se
tornar mais eficiente para
essas aplicações?
Este é o objetivo das
Motivação
• Usuários interessados pelo conteúdo independentemente
de sua localização física ou lógica
• Conteúdo
– Dados codificados – Dados multimídias
• Vídeo, áudio, documentos, imagens e páginas web
– Metadados
• Dados a respeito dos dados
Motivação
• Requisitos da distribuição de conteúdo
– Persistência – Disponibilidade
– Localização eficiente – Entrega eficiente
Motivação
• Requisitos da distribuição de conteúdo
– Persistência – Disponibilidade
– Localização eficiente – Entrega eficiente
Requisitos não
são completam
ente
Motivação
• Problema: as aplicações mudaram, mas os protocolos e os
princípios da Internet
NÃO
!
– Protocolos mais usados para distribuição de conteúdo ainda são orientados a localização
– Princípio fim-a-fim: núcleo simples e complexidade nas
bordas
• Elementos do núcleo da rede basicamente encaminham os pacotes segundo o modelo de melhor esforço
Motivação
• Soluções paliativas
– Sistemas par-a-par (P2P) – Sistemas publish/subscribe
– Redes de Distribuição de Conteúdo (Content Distribution Networks – CDNs)
– Etc.
Redes orientadas a Conteúdo
Quero assistir “Os Vingadores”?
Quero assistir “Os Vingadores”?
Quero assistir “Os Vingadores”?
•
Quero assistir “Os Vingadores”?
•
Roteadores de conteúdo à mais capacidade de processamento e memórias
mais rápidas e de baixo custo
Quero assistir “Os Vingadores”?
•
Quero assistir “Os Vingadores”?
•
Diferença: elementos do núcleo da rede participam da
localização e da distribuição de conteúdo
Quero assistir “Os Vingadores”?
Principais características
• ROCs são baseadas em conceitos inovadores
– Conteúdo nomeado
– Roteamento baseado em nomes
– Armazenamento de dados nos elementos do núcleo da rede – Segurança aplicada diretamente a conteúdos
• Vantagens
– Mais eficiente para distribuição de conteúdos
• Disponibilidade, entrega, localização e persistência
– Soluções mais simples para problemas atuais da Internet
Conceitos Básicos
• Como atribuir um nome a um conteúdo?
NOMEAÇÃO
• Como localizar um conteúdo?
ROTEAMENTO
• Como aumentar a disponibilidade e a eficiência da entrega
de conteúdos?
Conceitos Básicos
• Como atribuir um nome a um conteúdo?
NOMEAÇÃO
• Como localizar um conteúdo?
ROTEAMENTO
• Como aumentar a disponibilidade e a eficiência da entrega
de conteúdos?
Problema
• Na vida real
Qual o seu nome?
Problema
• Na vida real
Qual o seu nome? Shrek Onde você mora? No pântanoProblema
• Na Internet
Qual o seu nome? Shrek do pântanoProblema
• Na Internet
Qual o seu nome? Shrek do pântano E se você se mudar?Como falo com você?
Nomeação
• Nas ROCs: os nomes APENAS
identificam
os conteúdos
• Outros problemas
– Como garantir?
• Unicidade • Persistência • Escalabilidade
Nomeação
• Abordagens
– Nomeação plana
– Nomeação hierárquica – Nomeação por atributos
Encaminhamento e Roteamento
• Arquitetura atual
– Encaminhamento baseado no endereço IP destino
– Tabelas construídas através da troca de informações entre roteadores (intradomínio) ou baseadas em políticas
Encaminhamento e Roteamento
• Arquitetura atual
– Encaminhamento baseado no endereço IP destino
– Tabelas construídas através da troca de informações entre roteadores (intradomínio) ou baseadas em políticas
(interdomínio) Destino Saída X 1 Y 1 Z 2
1
2
Z
Encaminhamento e Roteamento
• Arquitetura atual
– Encaminhamento baseado no endereço IP destino
– Tabelas construídas através da troca de informações entre roteadores (intradomínio) ou baseadas em políticas
(interdomínio) Destino Saída X 1 Y 1 Z 2
1
2
Z
Encaminhamento e Roteamento
• Nas ROCs
– Encaminhamento baseado nos nomes
Conteúdo Saída uff.br/video.avi 1 uff.br/image.avi 1 sbrc12/file.pdf 2
1
2
sbrc12/file.pdfArmazenamento na Rede
(caching)
Armazenamento na Rede
Armazenamento na Rede
• Nas ROCs: armazenamento na rede é possível
– Roteadores e estações podem armazenar conteúdo
• Roteadores de conteúdo
– Auxiliar a localização e a entrega de conteúdos
• Roteadores atuam como “proxies” de conteúdo • Conteúdos mais próximos dos usuários
– Decisão sobre o que deve ser armazenado é local
• Baseada nas requisições recebidas
• Não há uma entidade responsável pela replicação
• Problemas tradicionais do uso de
caches
Outros desafios
• Segurança
• Mobilidade
Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense
Pedro Braconnot Velloso