Ian Vilar Bastos, Victor Costa Macedo...
Transcript of Ian Vilar Bastos, Victor Costa Macedo...
Universidade Federal Fluminense
Instituto de Computacao
Departamento de Ciencia da Computacao
Ian Vilar Bastos
Victor Costa Macedo Sousa
ENCAMINHAMENTO DE PACOTES EM REDES
ORIENTADAS A CONTEUDO
Niteroi-RJ
2015
ii
IAN VILAR BASTOS
VICTOR COSTA MACEDO SOUSA
ENCAMINHAMENTO DE PACOTES EM REDES ORIENTADAS A CONTEUDO
Trabalho submetido ao Curso de
Bacharelado em Ciencia da Computacao
da Universidade Federal Fluminense como
requisito parcial para a obtencao do tıtulo
de Bacharel em Ciencia da Computacao.
Orientador: Prof. Igor Monteiro Moraes
Niteroi-RJ
2015
Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação da UFF
B327 Bastos, Ian Vilar
Encaminhamento de pacotes em redes orientadas a conteúdo / Ian
Vilar Bastos, Victor Costa Macedo Sousa. – Niterói, RJ : [s.n.],
2015.
60 f.
Trabalho (Conclusão de Curso) – Departamento de Computação,
Universidade Federal Fluminense, 2015.
Orientador: Igor Monteiro Moraes.
1. Arquitetura de redes de computador. 2. Rede orientada a
conteúdo. 3. Internet. I. Sousa,Victor Costa Macedo. II. Título.
CDD 004.6
iv
As nossas famılias.
v
Agradecimentos
Primeiramente, eu, Ian, gostaria de agradecer aos meus pais, Vilma e Roberto,
por todo apoio e carinho que sempre me concederam, por estarem sempre presentes, de-
monstrando interesse e participando dos meus estudos alem de oferecer todas as bases
necessarias para minha formacao pessoal e profissional. Em toda sua dedicacao nunca
foram poupados esforcos para que esse momento pudesse ser realizado, e como esse tra-
balho e o resultado de toda essa dedicacao, gostaria principalmente de compartilhar essa
conquista com eles.
Gostaria de fazer tambem um agradecimento especial aos meus avos, Maria das
Neves, Dulcinea e Jovino e a toda famılia, que sempre deram muito suporte e conselhos
durante todo o curso, o que fez me manter focado e motivado ate o fim dessa jornada.
Aos amigos, Humberto, Murilo, Vinicius e Cassio, que compartilhei muitos mo-
mentos desses quatro anos e meio. Nossas conversas, fossem elas de questoes academicas
ou nao, sempre foram fundamentais para refletir, passar pelas dificuldades e rir para ter
um pouco de descontracao.
Eu, Victor, gostaria de agradecer primeiramente a meus pais, Marcos e Ana, irmao,
Allan, e toda a minha familia pelo amor, incentivo e apoio que sempre me deram e a
capacidade de acreditar em mim e investir em mim mesmos nos momentos difıceis.
Aos amigos, Leandro, Olavo, Giulio, Matheus, Fabio e Gabriel, companheiros de
trabalhos e irmaos na amizade que fizeram parte da minha formacao e que vao continuar
presentes em minha vida com certeza.
Ao professor Igor Moraes, por ter se disponibilizado a nos orientar e cumprir sua
funcao com toda competencia que possui. Agredecemos muito a todos os conselhos,
revisoes e reunioes, sua dedicao nao so nos mostrou a direcao correta para resolver os
problemas que surgiram, como teve grande contribuicao em nossa evolucao profissional.
Aos professores Diego Passos e Aline Paes, que gentilmente aceitaram fazer parte
vi
de nossa banca.
Aos professores do instituto de computacao, que, em sua maioria, foram sempre
solıcitos e dedicados exercendo sua profissao com grande paixao. Sem duvidas seus ensina-
mentos, dentro e fora da sala de aula, foram de grande importancia para o conhecimento
adquirido ao longo desses anos.
Aos funcionarios do IC/UFF como um todo, assim como os alunos e funcionarios
do laboratorio MıdiaCom que nos forneceram grande auxılio nesse ultimo semestre.
Por fim, ao CNPq, CAPES, FAPERJ, Proppi/UFF, TBE/ANEEL e CELESC/ANEEL
por todos os recursos disponibilizados para que esse trabalho pudesse ser realizado.
vii
Resumo
Atualmente, os usuarios da Internet estao mais interessados em obter conteudos de
interesse independentemente de onde estejam localizados e de quem envie esses conteudos.
Mais de 60% do trafego atual da Internet sao de aplicacoes com essa caracterıstica. O
interesse pelo conteudo independentemente da sua localizacao e a principal premissa para a
proposta de novas arquiteturas para Internet, chamadas de Redes Orientadas a Conteudo.
Uma da arquiteturas propostas e a Content Centric Networking (CCN). Nessa
arquitetura, os conteudos sao requisitados e encaminhados atraves de seus nomes, dife-
rentemente da Internet atual em que o encaminhamento e baseado no endereco IP. Alem
disso, os elementos da rede realizam armazenamento temporario (caching) dos conteudos
ao encaminharem os conteudos em direcao a quem os requisitou. Na presenca de uma
enorme estrutura distribuıda de caching, a localizacao, assim como a disponibilidade dos
conteudos e dinamica ao longo do tempo, devido a forma na qual os conteudos estarao dis-
tribuıdos atraves da rede. Assim, pode-se argumentar que um mecanismo que investigue a
rede por conteudos armazenados em caches de nos vizinhos em um determinado instante
de tempo e mais apropriado do que descobrir e manter uma rota para os produtores de
tais conteudos. Na segunda abordagem, o aumento da disponibilidade so ocorrera na rota
predefinida entre quem requisita e quem produz o conteudo.
Com isso em mente, esse trabalho propoe uma estrategia de encaminhamento de
pacotes para a CCN. A proposta usa a tecnica de aprendizado por reforco, cuja ideia prin-
cipal e realizar um balanco entre explorar novos caminhos e se aproveitar da informacao
adquirida durante exploracoes anteriores. As interfaces de um no da rede sao classificadas
com base no tempo de recuperacao dos conteudos e todo interesse com o mesmo prefixo
para um conteudo ja encaminhado e enviado pela interface com o menor tempo de recu-
peracao medio. A exploracao e realizada probabilisticamente, na qual cada no envia o
mesmo interesse para a interface melhor classificada e tambem para uma outra interface
viii
escolhida aleatoriamente. O objetivo e fazer com que o conteudo seja entregue pelo me-
lhor caminho encontrado ate o momento e ao mesmo tempo explorar copias que possam
ter sido armazenadas em caches ainda mais proximos recentemente. Os resultados de
simulacao mostram que a estrategia proposta reduz o numero de saltos cerca de 28% em
cada no e 80% a carga de interesses tambem por no em determinados cenarios quando
comparada as outras estrategias de encaminhamento propostas para a CCN.
Palavras-chave: Redes Orientadas a Conteudo, CCN, Encaminhamento, Aprendizado por
Reforco.
ix
Abstract
Internet users are currently more interested in obtaining contents regardless of
where these contents are located or who provides them. More than 60% of the Internet
traffic is from applications with these characteristics. The interest in contents regardless
of its location is the main assumption of a set of architectures proposed to the Future
Internet, called Information Centric Networks (ICN). The Content Centric Networking
(CCN) is one of these new architectures. In CCN data is requested and forwarded by
using named contents differently from the current Internet architecture, where forwarding
is based on IP addresses. Furthermore, core nodes store content replicas after forwar-
ding the requested contents to the users. In the presence of such a highly distributed
caching infrastructure, content availability and location can vary over the time because
of temporary replicas spread across the network. Thus, we argue that a mechanism that
investigates the network looking for content replicas stored in cache of neighbor nodes is
more appropriate than mechanisms that discover and mantain routes to the location or
domain of content producers. In this case, growth of availability will only occur en-route
of those who requests and produces the content. With that in mind, this work proposes
a packet forwarding strategy for CCN. Our proposal is based on reinforcement learning
techniques and aims at balancing the exploration of new paths and data acquired from
previous exploitations. The output interfaces of a node are classified according to the
content retrieval time and all interests that share the same prefix with contents previ-
ously forwarded are sent through the interface with the lowest mean retrieval time. The
path exploration is probabilistic. Each node sends the same interest through the best
interface and through another interface chosen at random simultaneously. The goal is to
retrieve the content by using the best path found until present moment and at the same
time explore copies that are recently stored in the cache of nearest nodes. Simulation
results shows that the proposed strategy reduces up to 28% the number of hops traversed
x
by received contents and up to 80% the interest load per node in comparison to other
forwarding strategies.
Keywords: Information Centric Networks, CCN, Forwarding, Reinforcement Learning.
Sumario
Resumo vii
Abstract ix
Lista de Figuras xiv
1 Introducao 1
1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Organizacao do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Redes Orientadas a Conteudo 6
2.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Visao Geral da CCN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Nomeacao de Conteudos . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Processo de Requisicao e Obtencao de Conteudos . . . . . . . . . . 11
3 Encaminhamento na Arquitetura CCN 16
3.1 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 O Problema das Maquinas Caca-Nıqueis . . . . . . . . . . . . . . . . . . . 19
3.3 Metodo Acao-Valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Implementacao Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Rastreando um Problema Nao-Estacionario . . . . . . . . . . . . . . . . . . 23
3.6 Estrategia de Encaminhamento como um Problema das Maquinas Caca-
Nıqueis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6.1 Construcao da Tabela de Encaminhamento . . . . . . . . . . . . . . 25
3.6.2 O Processo de Encaminhamento e Exploracao . . . . . . . . . . . . 26
xi
xii
4 Modelo de Simulacao 29
4.1 Funcionamento Basico do ndnSIM . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 A Topologia de Rede Utilizada . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Comportamento dos Nos da Rede . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.1 Publicadores de Conteudo . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.2 Consumidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.3 Roteadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5 Resultados 34
5.1 Definicao dos Parametros da Estrategia de Encaminhamento Proposta MAB 35
5.2 Comparacao das Estrategias de Encaminhamento . . . . . . . . . . . . . . 37
6 Conclusao 41
6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Referencias Bibliograficas 43
Lista de Figuras
1.1 As dez aplicacoes que geraram mais trafego na America Latina em 2014 [1]. 2
2.1 Porcentagem de trafego downstream em perıodo de pico na America do
Norte por aplicacao [2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Comparacao da pilha de protocolos TCP/IP e CCN [3]. . . . . . . . . . . . 10
2.3 Nome hierarquico estruturado [3]. . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Formato do cabecalho dos pacotes na CCN [3]. . . . . . . . . . . . . . . . . 11
2.5 Estrutura dos mecanismos de um no CCN. . . . . . . . . . . . . . . . . . . 13
2.6 Processo de encaminhamento de pacotes dos interesse [4]. . . . . . . . . . . 14
2.7 Processo de encaminhamento dos pacotes de dados [4]. . . . . . . . . . . . 14
2.8 Recuperacao de pacotes de dados. . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Maquina Caca-Nıquel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Entrada da tabela de encaminhamento. . . . . . . . . . . . . . . . . . . . . 25
3.3 Processo decisorio ao encaminhar um pacote de interesse. . . . . . . . . . . 26
4.1 A arquitetura do ndnSIM [5]. . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 A Topologia Rocketfuel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1 Atraso medio por no em funcao de α. . . . . . . . . . . . . . . . . . . . . . 36
5.2 Desvio Padrao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3 Atraso medio por no em funcao de ε. . . . . . . . . . . . . . . . . . . . . . 37
5.4 Desvio Padrao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Media de interesses satisfeitos e interesses recebidos por no. . . . . . . . . . 37
5.6 Media do numero de saltos por no em funcao da quantidade de consumidores. 38
5.7 Atraso medio por no em funcao da quantidade de consumidores. . . . . . . 38
xiii
xiv
5.8 Media da quantidade de pacotes de dados recebidos por no em funcao da
quantidade de consumidores . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.9 Media da quantidade de pacotes de interesse recebidos por no em funcao
da quantidade de consumidores . . . . . . . . . . . . . . . . . . . . . . . . 38
5.10 Media da quantidade de pacotes de dados recebidos por no para cada cenario. 39
5.11 Media da quantidade de pacotes de interesse recebidos por no para cada
cenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.12 Media do numero de saltos por no para cada cenario. . . . . . . . . . . . . 40
5.13 Atraso medio por no para cada cenario. . . . . . . . . . . . . . . . . . . . . 40
Capıtulo 1
Introducao
No inıcio do desenvolvimento da Internet na decada de 1970, os principais desafios
estavam em torno do compartilhamento de recursos e comunicacao eficiente entre siste-
mas finais [3]. Estacoes interconectadas realizavam troca de informacoes, basicamente
textuais, como ocorrem nos protocolos de acesso remoto e de correio eletronico, e com-
partilhavam recursos de equipamentos que possuıam um alto custo na epoca e eram de
grande importancia para os usuarios, como impressoras e sistemas de arquivos remotos.
Desta forma, a Internet foi desenvolvida em um modelo denominado Cliente-Servidor, no
qual um sistema final que queira usar algum tipo de servico, deve requisitar este servico
a um outro sistema final especıfico que o forneca e possa atender a essa requisicao. Para
tanto, e preciso conhecer a priori o endereco de rede do sistema final que hospeda esse
servico.
Atualmente, tecnologias de rede empregadas no nucleo da rede e em redes de acesso
a Internet experimentam um aumento significativo de suas capacidades ao mesmo tempo
em que o custo de acesso para os usuarios finais e reduzido. Assim, ha uma popularizacao
do acesso a Internet, o que permite que novas aplicacoes e servicos sejam desenvolvidos,
como as redes par-a-par (peer-to-peer - P2P) para compartilhamento de arquivos e siste-
mas de publicacoes de vıdeos [6]. O uso dessas aplicacoes acabou se mostrando de grande
sucesso. Dados comprovam que 60% do trafego em 2014 na Internet teve como origem as
redes de compartilhamento e de distribuicao de conteudos [1]. A Figura 1.1 mostra que
aplicacoes como YouTube e BitTorrent sao lıderes de trafego compartilhado na America
Latina. Dessa forma, e possıvel observar uma mudanca nas necessidades dos usuarios
que utilizam a Internet nesse processo de evolucao, em que se afasta cada vez mais do
1
2
modelo de sistema de informacao textual e se caminha para um modelo multimıdia, no
qual dados, servicos e aplicacoes sao consumidos como conteudos [7]. Essa mudanca de
perfil enfatiza que o interesse dos usuarios esta no conteudo em si, independente da sua
localizacao ou de quem o prove.
Figura 1.1: As dez aplicacoes que geraram mais trafego na America Latina em 2014 [1].
Uma tentativa de atender as necessidade que surgiram devido a nova caracterizacao
da Internet sao as redes de distribuicao de conteudos (Content Distribution Network -
CDN) [6]. Entretanto, os protocolos utilizados para realizar a distribuicao de conteudos
sao os mesmos propostos no inıcio do desenvolvimento da Internet, ou seja, orientados a
arquitetura TCP/IP. Alem disso, o princıpio basico de funcionamento da rede continua
o mesmo, em que o nucleo se responsabiliza somente por encaminhar as informacoes
geradas ate seus destinos atraves do endereco IP (Internet Protocol) e a borda possui
toda complexidade de geracao e manutencao das conexoes. Dessa forma, para muitos
pesquisadores, a utilizacao de aplicacoes voltadas para as redes P2P e CDN em uma
arquitetura orientada a conexao torna a Internet de hoje uma “colcha de retalhos” [7].
Uma alternativa ao modelo de comunicacao atual da Internet sao as Redes Orienta-
das a Conteudo (ROCs) [7, 8]. As ROCs sao um novo paradigma de comunicacao em que
a recuperacao dos conteudos nao importando sua origem e destaque. As ROCs utilizam
conceitos que divergem do modelo de comunicacao atual, como conteudos e encaminha-
mento baseados em nomes, seguranca aplicada ao proprio conteudo ao inves do canal de
comunicacao estabelecido entre sistemas finais e a atribuicao de uma nova responsabi-
3
lidade aos roteadores pertencentes ao nucleo da rede, o armazenamento temporario dos
conteudos. [3]. Quando comparadas com a arquitetura atual as ROCs apresentam muitos
benefıcios em potencial, como maior eficiencia na distribuicao e localizacao de conteu-
dos, aumento de sua disponibilidade e menor tempo de resposta percebido pelo usuario
final [7]. Contudo, sua implantacao traz inumeros desafios, dentre eles o encaminhamento
baseado em nomes. Nas ROCs todos os elementos da rede potencialmente armazenam as
informacoes que encaminham com o objetivo de servir requisicoes futuras para o mesmo
conteudo.
Como varios caminhos sao possivelmente conhecidos para um certo conteudo, uma
nova camada na pilha de protocolos denominada camada de estrategia fica responsavel
por selecionar uma ou mais interfaces de proximo salto entre o conjunto de possibilidades.
A camada de estrategia e o modulo responsavel por realizar as retransmissoes assim como
selecionar quais e quantas das varias interfaces de saıda serao utilizadas para encaminhar
as requisicoes [3]. Nos intermediarios no caminho escolhido podem dispor de copias arma-
zenadas em cache do conteudo requisitado. Logo, a disponibilidade das diferentes replicas
armazenadas depende de diversos fatores, como a popularidade dos conteudos e a polıticas
de reposicao nos caches, e esses fatores sao diretamente influenciados pela estrategia de
encaminhamento adotada [9].
1.1 Motivacao
Podemos encontrar na literatura relacionada as ROCs duas abordagens coexisten-
tes que podem ser exploradas para tratar da requisicao e encaminhamento de informacoes.
Em longo prazo, protocolos associados ao plano de controle [10, 11, 12] distribuem infor-
macoes de disponibilidade dos conteudos atraves da rede no intuito de alcancar replicas
permanentes que se encontram nos elementos responsaveis por sua producao ou que pos-
suam baixo grau de volatilidade. No modelo atual, em que o foco e a conexao entre
sistemas finais, o plano de controle e frequentemente relacionado aos protocolos de rotea-
mento como o RIP (Routing Information Protocol) e o OSPF (Open Shortest Path First)
que especificam como roteadores interagem entre si ao disseminar informacoes de estado
de vizinhaca, possibilitando a escolha de rotas entre dois nos da rede [13]. Em curto prazo
nas ROCs, estrategias de encaminhamento no plano de dados [4, 14, 15] se baseiam em
4
informacoes locais disponıveis em cada no separadamente, como tempo de recuperacao
de um conteudo, quantidade de retransmissoes e ate mesmo a impossibilidade de utilizar
alguma interface de saıda devido a uma falha na rede, o que permite uma reacao rapida
as constantes mudancas de conectividade e de disponibilidade dos conteudos encontrados
na rede. E possıvel perceber a diferenca no uso do plano de dados entre os paradigmas, ja
que, a abordagem utilizada atualmente realiza a escolha de por qual interface encaminhar
os dados recebidos ao consultar informacoes previamente disponibilizadas pelos algorit-
mos presentes no plano de controle apos os roteadores convergirem para a mesma visao
topologica.
Um protocolo de roteamento baseado em nome ideal necessitaria enderecar todas as
replicas temporarias de todos os conteudos a fim de encaminhar a requisicao dos usuarios
na direcao da “melhor” replica disponıvel se baseando em alguma metrica, como mais
proxima ou com menor tempo de resposta. Entretanto, um mecanismo como esse descrito
e claramente inviavel por tres principais razoes: a escala da rede, a volatilidade nos caches
e a explosao da tabela de encaminhamento [9]. O paradigma proposto pelas ROCs se aplica
aos conteudos de diversas aplicacoes e nao foi projetado para operar em regioes pequenas
e controladas. Replicas temporarias armazenadas pelos elementos da rede sao altamente
volateis e, dessa forma, a sobrecarga de sinalizacao frequente para atualizacao de rotas
seria imenso. Alem disso, e possıvel considerar uma preocupacao simplesmente enderecar
os conteudos que ficam armazenados nos elementos que os produzem antes mesmo de
cogitar as replicas temporarias armazenadas em cache. A quantidade de enderecos IP
esta na casa dos bilhoes enquanto que a quantidade de URLs indexadas pelo Google ja
esta na casa do trilhoes [16].
Seguindo a abordagem de uma estrategia de encaminhamento no plano de dados e
possıvel localizar eficientemente replicas temporarias sem a necessidade de ficar sujeito a
sobrecarga de sinalizacao explıcita para descobrir sua localizacao. Para alcancar tal obje-
tivo, realizar uma exploracao restrita na rede com o intuito de ajustar o encaminhamento
conforme o estado momentaneo da rede pode reduzir o tamanho das tabelas de enca-
minhamento com o custo de uma comunicacao um pouco mais intensa, mas que podera
beneficiar terceiros com o aumento da disponibilidade dos conteudos em nos vizinhos.
5
1.2 Objetivo
O objetivo desse trabalho e propor e analisar uma estrategia de encaminhamento
baseada na tecnica de aprendizado por reforco denominada ε−greedy. Na estrategia pro-
posta, explora-se probabilisticamente caminhos alternativos em busca da melhor interface
de saıda de acordo com o tempo de resposta. Esse tempo e definido como o que leva
para obter o conteudo assim que o interesse por ele e enviado na rede. A finalidade dessa
abordagem e localizar as replicas temporarias mais proximas e, assim, reduzir o tempo de
entrega dessas replicas percebido pelo usuario final.
1.3 Organizacao do Texto
O restante deste trabalho esta organizado como descrito a seguir. Os aspectos e
caracterısticas basicas do funcionamento da CCN sao discutidos no Capıtulo 2. O Capı-
tulo 3 apresenta os trabalhos relacionados, introduz os conceitos estudados do problema
das maquinas caca-nıqueis e os contextualiza com as redes CCN e a implementacao da
estrategia proposta. O Capıtulo 4 discute os parametros e cenarios de simulacao e o Ca-
pıtulo 5 os resultados obtidos. Finalmente, o Capıtulo 6 conclui o trabalho realizado e
mostra direcoes para trabalhos futuros.
Capıtulo 2
Redes Orientadas a Conteudo
2.1 Motivacao
A popularizacao da Internet permitiu que a comunicacao ultrapassasse barreiras
que, na epoca da criacao da rede de computadores, eram impossıveis de serem previstas.
Em 1967, teve inıcio o desenvolvimento da ARPANET, a primeira rede baseada na tecnica
de comutacao de pacotes e que e considerada o embriao da Internet. O objetivo da AR-
PANET era basicamente interconectar sistemas de computacao para permitir o trabalho
cooperativo de grupos de pesquisa espalhados geograficamente e o compartilhamento de
recursos cientıficos e militares.
Desde a sua criacao, a Internet segue o princıpio basico de funcionamento em que o
nucleo da rede possui como principal responsabilidade encaminhar as mensagens geradas
pelas aplicacoes com base no endereco de destino anexado a elas, e toda complexidade da
geracao e manutencao da troca de informacoes sendo mantida nas bordas. Os roteadores
empregam a polıtica do melhor esforco, em que nao e realizada qualquer distincao ou
garantia da entrega dos dados que recebem para encaminhar, resultando em variacoes
na latencia e uma entrega nao confiavel dos dados. Todas as modificacoes que foram
introduzidas ao longo dos anos para acomodar o crescente uso da Internet, como por
exemplo o NAT (Network Address Translation), DNS (Domain Name System) e o SSL
(Secure Sockets Layer) continuam atuando em elementos como roteadores de borda e
sistemas finais [13, 7].
Mesmo nao havendo modificacoes nos conceitos originais de funcionamento, o perfil
dos usuarios e das aplicacoes utilizadas na Internet mudou radicalmente. E possıvel
6
7
perceber que a propria exibicao de uma pagina Web em um navegador representa uma
mudanca de paradigma. A insercao de Web caches na rede permite que a requisicao de
uma pagina possa ser atendida por qualquer elemento que possua essa pagina armazenada,
nao sendo mais estritamente necessario efetuar uma conexao fim-a-fim com o servidor Web.
Consequentemente, exibir uma pagina Web passa a ser visto como a entrega de um bloco
de dados nomeado e identificado por um endereco de recurso (Uniform Resource Locator
- URL) [17].
Atualmente, a Internet e utilizada principalmente para geracao, compartilhamento
e recuperacao de conteudos [6, 18]. Navegacao Web, chamadas de voz e vıdeo, sistemas
de publicacao de vıdeos e sistemas de compartilhamento de arquivos ilustram esse novo
perfil. Estudos estimam que a soma de trafego de todas as formas de distribuicao de vıdeo
(e.g. TV, vıdeo sob demanda (VoD), Internet e P2P) estara no intervalo de 80% a 90%
do trafego global consumido em 2018 [19], sendo que aplicacoes como o BitTorrent sao as
mais comumente utilizadas para obter esses tipos de conteudo que possuem como forte
caracterıstica a obtencao dos dados nao importando a sua origem.
Figura 2.1: Porcentagem de trafego downstream em perıodo de pico na America do Norte
por aplicacao [2].
Apesar da arquitetura atual da Internet suportar muitas aplicacoes com essas ca-
racterısticas de compartilhamento e recuperacao de conteudos (e.g. Netflix, BitTorrent e
YouTube), se faz necessaria uma arquitetura que realize de forma mais eficiente a distri-
8
buicao de conteudos, aumente sua disponibilidade e de suporte intrınseco de seguranca [7].
Para esse fim, surgiram entao, diversas propostas de arquiteturas de redes orien-
tadas a conteudo (ROCs) na literatura, todas com o mesmo objetivo: propor um arqui-
tetura de rede que busca satisfazer os criterios de eficiencia e seguranca na entrega de
conteudos [7, 8]. Mesmo com algumas diferencas de implementacao, todas as arquiteturas
defendem tres princıpios fundamentais: (i) recuperacao de conteudos atraves de requisicao
e resposta, (ii) armazenamento temporario de conteudos em todos os nos da rede e (iii)
seguranca aplicada no proprio conteudo [20].
A proposta deste novo paradigma muda o foco da conexao fim-a-fim para os con-
teudos. Na proxima secao serao explicados detalhadamente os conceitos utilizados na
arquitetura Content-Centric Networking1 [3]. Em razao de ser a arquitetura com maior
numero de trabalhos propostos desde sua criacao, alem de possuir a organizacao de um
consorcio conjunto entre universidades e a industria no intuito de promover um desenvol-
vimento mais acelerado de seus procolos [21], foi a arquitetura escolhida para realizacao
deste trabalho.
2.2 Visao Geral da CCN
A CCN (Content-Centric Networking - CCN) [3] e uma arquitetura de rede pro-
jetada com base no paradigma das ROCs. Quando um usuario, na Internet atual, deseja
obter uma informacao de interesse, ele precisa requisita-la diretamente ao servidor em que
esta armazenada utilizando um URL ou atraves de seu endereco IP. Diferentemente do
modelo de comunicacao utilizado hoje, a CCN permite que usuarios, tambem chamados
de consumidores, possam requisitar um conteudo atraves de seu nome, sem se preocupar
onde os conteudos estao armazenados e de onde serao recuperados. Dessa forma, a infra-
estrutura da rede fica responsavel por localizar e entregar tal conteudo ao usuario que o
requisitou.
Para aumentar a disponibilidade dos conteudos, alem de proporcionar uma maior
eficiencia em sua recuperacao, os elementos intermediarios da CCN, denominados rotea-
dores de conteudo, mantem temporariamente em cache os conteudos que sao previamente
encaminhados por ele. Assim, requisicoes futuras para o mesmo conteudo podem ser aten-
1Tambem conhecida como Named Data Networking
9
didas e recuperadas pelo cache mais proximo, reduzindo o tempo de resposta percebido
pelo usuario e o consumo de largura de banda no nucleo da rede [22].
A estrutura adotada pela CCN apresenta algumas diferencas em relacao a arquite-
tura TCP/IP, como pode ser visto na Figura 2.2. E possıvel observar que a “cintura fina”
na pilha CCN passa a ser os fragmentos ou partes dos proprios conteudos, os chunks, e
nao mais o protocolo IP, visto na arquitetura atual. Essa caracterıstica evidencia a im-
portancia do conteudo. Outra diferenca e uma camada especıfica para seguranca. Visto
que os dados podem ser recuperados a partir de qualquer elemento da rede, sendo eles
confiaveis ou nao, e necessario garantir a autenticidade e integridade do conteudo obtido,
mas sem a obrigacao de assegurar que essas mesmas propriedades sejam satisfeitas em
toda infraestrutura da rede. E, por ultimo, outra caracterıstica de destaque e a inclusao
da camada de estrategia na pilha CCN.
A ausencia de loops na CCN possibilita que varias interfaces sejam selecionadas ao
mesmo tempo para que os pacotes sejam encaminhados, dispondo de qualquer tecnologia
disponıvel, como Ethernet, Bluetooth, 3G, IEEE 802.11, dentre outras. Como encaminhar
os pacotes atraves de todas as interfaces disponıveis pode levar a um uso inadequado dos
recursos da infraestrutura de rede, os roteadores podem adotar diferentes estrategias de
encaminhamento para decidir quais interfaces serao escolhidas para propagar a requisi-
cao pelos conteudos. Este trabalho aborda o uso de uma estrategia de encaminhamento
baseada em uma tecnica de aprendizado de maquina por reforco [23], batizada de MAB
(Multi-Armed Bandits), e sera detalhada nas Secoes 3.6.1 e 3.6.2. Uma caracterıstica
interessante e que mesmo adotando diferentes paradigmas de comunicacao, a CCN pode
coexistir com o protocolo IP, permitindo que essa arquitetura seja implantada de forma
incremental na Internet.
2.2.1 Nomeacao de Conteudos
Os nos pertencentes a CCN realizam o encaminhamento de pacotes utilizando o
nome do conteudo presente nos proprios pacotes para decidir quais interfaces devem ser
selecionadas. A fim de que informacoes relevantes possam ser extraıdas dos nomes e
aproveitadas na consulta da tabela de encaminhamento, os nomes necessitam de uma
estrutura que possa ser reconhecida pelos nos da rede. Para esse objetivo, a CCN adota
uma estrutura de nomeacao muito semelhante a empregada nos URLs.
10
Figura 2.2: Comparacao da pilha de protocolos TCP/IP e CCN [3].
Os nomes sao compostos por um conjunto variavel de componentes que sao separa-
dos entre si pelo caractere “/” indicando uma posicao hierarquica dentro da estrutura [3].
Os nomes que sao concedidos aos conteudos nao possuem nenhum significado semantico
para os roteadores, sua funcao para os elementos centrais da rede esta na hierarquia atri-
buıda, de forma a instruir como o encaminhamento deve ser realizado. Consequentemente,
os publicadores de conteudo podem adotar um padrao de nomeacao que lhes seja mais
conveniente, desde que a estrutura hierarquica seja respeitada. Por exemplo, se os alunos
ou futuros alunos da Universidade Federal Fluminense desejam assistir o vıdeo de apre-
sentacao da universidade, a instituicao pode disponibiliza-lo em sua pagina Web principal
com o seguinte nome /br.uff/video/intro.avi.
E importante notar que na ausencia de motores de busca, os usuarios deverao ter
conhecimento do nome e, portanto, da estrutura hierarquica dos conteudos que pretendem
requisitar. Dessa forma, e fundamental que os nomes sejam boas representacoes dos
conteudos e de sua posicao hierarquica.
O uso desse modelo de nomeacao facilita a composicao de relacionamentos entre
os chunks pertencentes ao mesmo conteudo, ilustrado na Figura 2.3. Por exemplo, o
quarto chunk da primeira versao do vıdeo “intro.avi” poderia ser nomeado como “/br.uff”
sendo o domınio da instituicao, no qual os pacotes de interesse serao encaminhados caso
nenhum roteador intermediario possua uma copia do conteudo requisitado. Os compo-
nentes “/video/intro.avi” sendo a estrutura hieraquica organizacional em que os diferentes
conteudos do publicador deste domınio poderao ser disponibilizados e encontrados. E,
11
por fim, os componentes “/1/4” representam que o consumidor deseja o quarto chunk
da primeira versao do conteudo. Assim, uma requisicao a intro.avi utilizando o nome
/br.uff/video/intro.avi poderia fazer referencia ao primeiro chunk deste conteudo e atra-
ves de informacoes contidas em seu cabecalho, a aplicacao utilizada pelo consumidor seria
capaz de requisitar os demais chunks.
Figura 2.3: Nome hierarquico estruturado [3].
2.2.2 Processo de Requisicao e Obtencao de Conteudos
A CCN possui somente dois tipos de pacotes, os pacotes de interesse (interest
packets) que sao utilizados para requisitar um conteudo, e os pacotes de dados (data
packets) que sao utilizados para recuperar um conteudo. O cabecalho que compoe cada
um dos pacotes e ilustrado na Figura 2.4. O processo de recuperacao de um conteudo na
CCN e baseado no modelo Requisicao-Resposta, semelhante ao modelo usado no procolo
HTTP, no qual entidades, denominadas publicadores, providenciam conteudos na rede e
os usuarios, denominados consumidores, requisitam tais conteudos.
Figura 2.4: Formato do cabecalho dos pacotes na CCN [3].
Uma das principais propostas da CCN esta em aumentar a disponibilidade dos
12
conteudos trafegados na rede e reduzir o seu tempo de recuperacao observado pelos usua-
rios finais. Dessa forma, a CCN estabelece que cada no da rede, incluindo os roteadores,
realizem cache de conteudos. Assim, ao receber um pacote de dados, o no o armazena em
uma estrutura chamada armazem de conteudos (Content Store - CS). Consequentemente,
requisicoes futuras a esse mesmo conteudo podem ser atendidas de forma imediata, sem
que o pacote de interesse necessite ser encaminhado ate a entidade que o publicou.
Os nos da CCN contam com mais duas outras importantes estruturas alem do CS,
conhecidas como tabela de interesses pendentes (Pending Interest Table - PIT) e a base
de informacoes para encaminhamento (Forwarding Information Base - FIB).
A PIT possui como responsabilidade manter uma indexacao entre os prefixos en-
caminhados pelo no e todas as interfaces de entrada por onde pacotes de interesse de
um mesmo conteudo foram recebidos. Essa indexacao facilita a agregacao dos nomes dos
conteudos no encaminhamento dos pacotes de dados, aumentando o desempenho da co-
municacao. Gracas ao mecanismo da PIT, todo roteador, ao encaminhar um pacote de
interesse, possui a garantia que o pacote de dados correspondente ira passar por ele no
caminho de volta ate o consumidor que o requisitou.
A FIB e a tabela encarregada pela decisao de qual ou quais interfaces de saıda serao
selecionadas para encaminhar um pacote de interesse. As tabelas de encaminhamento na
rede CCN relacionam domınios roteaveis na forma de prefixos de nome a um conjunto de
interfaces de saıda, muito diferente das entradas na tabela das redes IP, no qual enderecos
IP sao associados a uma unica interface. Para evitar que loops sejam formados pelo
encaminhamento de um mesmo pacote de interesse via multiplas interfaces, esses pacotes
possuem um numero unico gerado aleatoriamente (nonce) que e usado para distinguir
interesses recem recebidos de interesses previamente encaminhados.
Em vista das estruturas e mecanismos mencionados, conforme mostrado na Figura
2.5, o processo de recuperacao de um conteudo ocorre da seguinte maneira. Para requisitar
um conteudo, o consumidor envia um pacote de interesse a rede com no mınimo o prefixo
do conteudo desejado. Ao receber o interesse, o roteador CCN extrai o prefixo do conteudo
e faz uma busca em seu CS por uma correspondencia exata. Caso possua o conteudo
correspondente, o roteador gera um pacote de dados e o encaminha pela interface de
chegada do interesse. Caso contrario, o roteador procura por uma entrada na PIT que
contenha o prefixo. Em caso afirmativo, o roteador verifica se o nonce do interesse recebido
13
Figura 2.5: Estrutura dos mecanismos de um no CCN.
ja esta presente na entrada indicando que este ja foi previamente encaminhado e deve ser
descartado. Caso contrario, o roteador agrega a interface de recepcao do interesse a
entrada da PIT. Caso nenhuma entrada da PIT seja encontrada, o roteador realiza uma
busca de maior prefixo em sua FIB, com o objetivo de encontrar nos vizinhos que possam
atender tal requisicao. Se nenhuma interface de saıda e encontrada para o prefixo do
conteudo, o pacote de interesse e entao descartado e um NACK (negative acknowledgment)
e enviado indicando a impossibilidade de atender e encaminhar o interesse. Se uma ou
mais interfaces estiverem disponıveis, o roteador recorre a camada de estrategia para
decidir por quais interfaces encaminhar o interesse. O processo esta ilustrado na Figura
2.6.
Quando o pacote de dados e recebido por um roteador, ele verifica se na PIT
existem um ou mais interesses pendentes para o conteudo contido no pacote de dados.
14
Figura 2.6: Processo de encaminhamento de pacotes dos interesse [4].
Caso exista, a entrada da PIT e removida, o conteudo e armazenado na CS para atender
a futuros pacotes de interesses, e o pacote de dados e enviado para todas as interfaces
que requisitaram aquele conteudo anteriormente. Caso contrario, o pacote de dados e
descartado. A Figura 2.7 ilustra o processo.
Figura 2.7: Processo de encaminhamento dos pacotes de dados [4].
Caso nenhum roteador, que o interesse tenha percorrido, possua uma copia do
conteudo requisitado armazenado em seu cache, o pacote de interesse e encaminhado
pelos nos da rede ate que o seu publicador seja encontrado. O publicador, na CCN o
no responsavel por disponibilizar os conteudos aos consumidores, entao reconhece que o
15
pacote de interesse e referente a um conteudo o qual ele prove e, assim, monta o pacote
de dados que e enviado pela mesma interface no qual o pacote de interesse foi recebido.
Por exemplo, na Figura 2.8 o no “br.uff” e o publicador de conteudo que deve atender a
uma requisicao do Cliente1. Note que a partir do instante 3 o conteudo ja se encontra
nos caches dos roteadores e quando Cliente2 envia um pacote de interesse para o mesmo
conteudo que o Cliente1 tinha enviado anteriormente o roteador C e capaz de satisfazer a
requisicao sem precisar encaminhar o interesse ate o publicador de conteudos.
Figura 2.8: Recuperacao de pacotes de dados.
Capıtulo 3
Encaminhamento na Arquitetura
CCN
Os nos na CCN encaminham os conteudos ao extrair o prefixo de nome contido no
cabecalho do pacote de interesse ao inves de usar a localizacao do no publicador e, assim,
desassocia-se conteudo e seu local de recuperacao [3]. Devido aos roteadores pertencentes
ao nucleo da rede realizarem armazenamento temporario de conteudos, abre-se um leque
de atraentes possibilidades que podem ser empregadas na estrategia de encaminhamento
para essa arquitetura. Nas redes IP, o roteamento determina o menor caminho entre
origem e destino enquanto que o encaminhamento, a cada roteador, transfere o pacote
da interface de entrada para a interface de saıda que faz parte desse menor caminho.
Na CCN os roteadores podem dinamicamente selecionar multiplas interfaces de sua FIB
para encaminhar o mesmo pacote de interesse alem de poder recuperar o conteudo de
multiplas fontes diferentes, sejam elas publicadores ou roteadores [3]. Em vista disso, um
mecanismo que explore essas multiplas possibilidade pode se encaixar melhor no perfil da
arquitetura, do que simplesmente manter rotas de menor caminho do consumidor ate um
produtor de conteudos.
3.1 Trabalhos Relacionados
Pesquisas anteriores sobre encaminhamento em ROCs progrediram em duas di-
recoes diferentes. Por um lado protocolos de roteamento operando no plano de con-
trole [11, 10, 12] possuem a finalidade de disseminar as informacoes contidas na FIB
16
17
que enderecam replicas permanentes. O protocolo de roteamento baseado em nomes
OSPFn [10] realiza anuncio dos prefixos de nomes de conteudos permanentes, que po-
dem ser obtidos com os interesses encaminhados ate o produtor que detem as replicas
permanentes.
Na outra direcao, trabalhos com o foco em estrategias de encaminhamento no
plano dos dados [14, 4, 15] possuem como finalidade a recuperacao de replicas volateis
seguindo alguma metrica, como a mais proxima ou a com o menor tempo de resposta. A
principal vantagem dessa abordagem em relacao a anterior e a possibilidade de recuperar
replicas temporarias sem a necessidade de ficar sujeito a sobrecarga de sinalizacao explıcita
para descobrir sua localizacao. Dessa forma, realizar uma exploracao restrita na rede no
intuito de ajustar o encaminhamento conforme o estado momentaneo da rede pode reduzir
o tamanho das tabelas de encaminhamento [9] em troca de uma comunicacao um pouco
mais intensa, mas que podera beneficiar terceiros com o aumento da disponibilidade dos
conteudo com replicas armazenadas em nos vizinhos.
Em particular, Chiocchetti et al. 2012 evidenciam que usar somente o primeiro
chunk de um conteudo em um mecanismo de exploracao reduz o tempo de recuperacao
dos conteudos requisitados pelos consumidores e permite que replicas temporarias ar-
mazenadas em caches de nos mais proximos sejam encontradas. Mostram tambem que
uma estrategia de encaminhamento que faz o uso de exploracoes se beneficia de multiplos
produtores de um mesmo conteudo [9]. Posteriormente, partindo da ideia de explorar
esporadicamente a rede, Chiocchetti et al. 2013 utilizam a tecnica Q-learning de apren-
dizado por reforco distribuidamente em cada no da rede. A estrategia possui duas fases
que ocorrem em momentos distintos, a fase de exploracao e a fase de aproveitamento do
conhecimento adquirido. Durante a fase de exploracao os nos sondam suas interfaces,
uma por vez a cada pacote de interesse recebido de forma aleatoria, com o objetivo de
aprender qual delas retorna a melhor recompensa, ou seja, possui menor tempo de recu-
peracao para o conteudo requisitado. A fase de exploracao dura ate que um numero de
chunks predefinido seja alcancado, dando inıcio a fase de aproveitamento. Essa fase possui
como objetivo utilizar toda a informacao adquirida durante a exploracao para minimizar o
tempo de recuperacao dos conteudos ao encaminhar os pacotes de interesse somente pela
interface que produziu o menor tempo estimado para o especıfico conteudo. Sua duracao
termina quando uma mudanca nao desprezıvel e identificada no tempo de recuperacao a
18
partir daquela interface ou quando um numero predeterminado de chunks foi enviado por
ela. Por fim, entradas da tabela de encaminhamento que nao sao atualizadas durante um
certo tempo, tambem predefinido, acabam por ser apagadas por estarem obsoletas [14].
Por ultimo, Yi et al. 2012 introduzem uma abordagem dinamica na qual as inter-
faces sao sondadas periodicamente e estatısticas sao coletadas para cada uma delas [4].
Cada prefixo de nome presente em sua FIB possui uma lista de interfaces associadas a
tres parametros, uma estimativa para o tempo de recuperacao semelhante a empregada no
protocolo TCP (Transmission Control Protocol), uma taxa limite para envio de pacotes
de interesse e uma taxa limite para recebimento de pacotes de dados. Ambas as taxas
possuem como objetivo o controle de congestionamento e sao calculadas pela razao entre
a capacidade da fila da interface e o tamanho medio dos pacotes de dados trafegados por
ela, sendo a razao multiplicada por uma constante. Quando uma interface acaba de ser
conectada ou uma nova entrada da FIB e criada, o estado dessa interface e atribuıdo como
amarelo. Outra forma de a interface ser classificada com essa cor ocorre quando sua cor e
verde e o tempo estimado para que um pacotes de dados retorne por ela seja estourado.
Ela se torna verde quando pacotes de dados sao recebidos por ela, e se torna vermelha
caso deixa de funcionar, um pacote NACK com uma mensagem “sem caminhos disponı-
veis” e recebido ou alguma das taxas limite e ultrapassada. As interfaces de cor verde e
amarela sao ranqueadas de acordo com a estimativa do tempo de recuperacao. Cada novo
interesse recebido e enviado utilizando a interface de cor verde melhor ranqueada para o
prefixo de nome contido no interesse. Caso nao possua interfaces de cor verde, utiliza-se a
interface de cor amarela melhor ranqueada. Ao receber interesses retransmitidos, ou seja,
seus nonces ainda estao presentes em entradas da PIT, a estrategia de encaminhamento
verifica se o tempo estimado para a recuperacao do conteudo pela interface utilizada foi
excedido. Em caso afirmativo, encaminha-se o interesse retransmitido pela interface verde
ou amarela melhor ranqueada se disponıvel. Quando um NACK por um prefixo de nome
e recebido pela interface utilizada, interfaces classificadas com cor amarela sao exploradas
ate que um pacote de dados seja recebido ou seu tempo estimado para a recuperacao do
conteudo chega ao fim.
A MAB, estrategia proposta nesse trabalho, apresenta um artifıcio para identifi-
car que um dado conteudo esta inacessıvel por alguma interface de saıda, o que nao e
encontrado no trabalho realizado por Chiocchetti et al. 2013. A ausencia de um meca-
19
nismo para identificacao de falhas na rede em uma estrategia de encaminhamento que
decide a melhor interface de saıda com base no tempo de recuperacao dos conteudos pode
prejudicar gravemente seu funcionamento. Nao receber um pacote de dados implica na
nao atualizacao da entrada da tabela de encaminhamento correspondente a interface “de-
feituosa” e, no caso de ter sido classificada anteriormente como “melhor” interface, o no
continuara enviando interesses por ela sem que os conteudos sejam recebidos. O meca-
nismo apresentado por Yi et al. 2012 utiliza pacotes NACK para identificar e avisar a
ocorrencia de falhas na rede. Entretanto, seu modelo de exploracao tem como objetivo
auxiliar os nos da rede em recuperar seus conteudos de interesse em momentos de conges-
tionamento da rede, mas nao explora caminhos alternativos que possam levar a replicas
mais proximas. A estrategia proposta realiza exploracoes probabilisticamente ao inves de
usar a fase de exploracao e esperar uma certa convergencia como em Chiocchetti et al.
2013, mas aproveita a ideia dos autores de utilizar uma unica interface de saıda quando
nao esta explorando e duas interfaces de saıda quando esta. Tambem realiza deteccao de
falhas na rede ao usar um limiar de retransmissoes, diferentemente de Yi et al. 2012 que
usam um pacote de controle. Esses mecanismos da estrategia de encaminhamento serao
detalhados nas Secoes 3.6.1 e 3.6.2.
3.2 O Problema das Maquinas Caca-Nıqueis
Considere o seguinte problema de aprendizado. Voce esta repetidamente diante
de uma escolha entre n diferentes opcoes, ou acoes. Depois de cada escolha, recebe
uma recompensa numerica que e atribuıda atraves de uma distribuicao de probabilidade
e depende da acao selecionada. O objetivo e maximizar a recompensa total esperada
durante um perıodo ou instantes de tempo.
Essa e a forma original do problema das maquinas caca-nıqueis (Multi-Armed Ban-
dits), nomeado por uma analogia na qual multiplas maquinas estao disponıveis para serem
selecionadas. Cada acao de selecionar e semelhante a puxar a alavanca de uma das ma-
quinas, e as recompensas sao os pagamentos por obter o jackpot. Atraves de repetidas
selecoes, pode-se maximar o ganho ao concentrar as acoes nas melhores maquinas.
Cada acao de selecao possui uma recompensa media esperada, que pode ser de-
nominada o valor dessa acao. Caso o valor de cada acao ja fosse conhecido, resolver o
20
Figura 3.1: Maquina Caca-Nıquel.
problema das maquinas caca-nıqueis seria trivial, sempre seria escolhida a acao que pro-
duzisse o maior valor. Entretanto nao e possıvel saber o valor das acoes com certeza, mas
e possıvel manter estimativas.
Ao manter essas estimativas, em cada instante de tempo existe pelo menos uma
acao no qual o valor da estimativa e o maior. Essa acao e chamada de gulosa (greedy). Ao
selecionar a acao gulosa, e dito que o conhecimento adquirido ao guardar os valores de cada
acao esta sendo aproveitado. Caso uma das acoes nao gulosas seja escolhida, e dito que
acoes alternativas estao sendo exploradas para que suas estimativas sejam aperfeicoadas.
Dessa forma, a acao gulosa e a melhor escolha a ser feita para maximizar a recompensa
esperada em um determinado instante de tempo, entretanto, explorar acoes alternativas
pode produzir uma maior recompensa acumulada a longo prazo.
No contexto da CCN, as maquinas podem ser associadas as interfaces presentes
em cada no da rede. Toda vez que um interesse e recebido por um no e o conteudo
nao se encontra presente em seu cache, e nao possui uma entrada na PIT indicando um
encaminhamento anterior para o mesmo interesse, o no estara diante do mesmo problema
que o apostador ao precisar escolher uma ou mais interfaces para encaminha-lo.
A partir deste ponto, o restante do capıtulo esta organizado da seguinte forma. A
Secao 3.3 apresenta como as recompensas sao coletadas e suas estimativas sao calculadas.
A Secao 3.4 indica uma reformulacao para o calculo das recompensas esperadas, no qual
o mınimo de estado e armazenado alem de uma computacao com complexidade constante
para o calculo das estimativas. A Secao 3.5 discute como uma pequena mudanca na formu-
lacao matematica adequa o calculo das recompensas a um problema nao-estacionario. Por
fim, a Secao 3.6 introduz a MAB, estrategia de encaminhamento proposta nesse trabalho.
21
3.3 Metodo Acao-Valor
Nessa secao e apresentado um metodo simples para estimar os valores das acoes e
utilizar essas estimativas nos momentos em que a decisao de qual acao deve ser selecionada
e tomada. Para efeito de convencao, o verdadeiro valor de uma acao a e denotado por
q∗(a), e o seu valor estimado no t-esimo instante de tempo por Qt(a). Lembrando que o
verdadeiro valor de uma acao e a recompensa recebida depois de a acao a ser selecionada.
Desse modo, uma forma de realizar a estimativa de uma acao e simplesmente fazer a
media de cada recompensa recebida quando a mesma foi escolhida, ou seja, se no t-esimo
instante de tempo a acao a foi escolhida Ka vezes antes de t, produzindo as recompensas
R1, R2, ..., RKa , entao seu valor estimado e:
Qt(a) =R1 +R2 + ...+RKa
Ka
(3.1)
Caso Ka = 0, define-se um valor padrao para Q1(a). Quando Ka →∞, pela lei dos
grandes numeros, Qt(a) converge para q∗(a). Esse metodo e denominado de aproximacao
pela media das amostras. A regra mais simples em selecionar uma acao e a de selecionar
a que possui o maior valor estimado, isto e, no instante de tempo t escolher a acao gulosa,
A∗t , no qual Qt(A∗t ) = maxaQt(a).
Esse metodo sempre usufrui do conhecimento obtido para maximizar a recompensa
imediata, nao realizando em momento algum amostragem de acoes com valor de recom-
pensa inferior. Uma alternativa simples e a de se comportar de forma gulosa na maior
parte do tempo, mas de vez em quando, com probabilidade ε, selecionar de forma aleato-
ria entre todas as possıveis acoes com igual probabilidade, independentemente dos valores
de recompensa. Metodos que utilizam essa regra quase gulosa de selecionar acoes sao
denominados ε − greedy. A vantagem destes metodos esta em que, no limite em que o
numero de selecoes aumenta, todas as acoes serao escolhidas infinitas vezes, garatindo que
Ka →∞ ∀ a, e garantindo assim que todos Qt(a) convirjam para q∗(a).
3.4 Implementacao Incremental
O metodo de acao-valor efetua estimativas ao fazer a media das recompensas ob-
servadas. A implementacao mais obvia deste metodo esta em manter, para cada acao a,
o conjunto de todas as recompensas que foram obtidas na sua selecao. Entao, quando a
22
estimativa da acao a e necessaria em um determinado instante de tempo t, ela podera ser
computada de acordo com a Equacao 3.1.
Um grande problema com essa forma de implementacao esta em seus requisitos
computacionais e de memoria. Conforme a quantidade de recompensas adquiridas cresce
no decorrer do tempo, a quantidade de estado a ser armazenado em memoria e o custo
computacional para o calculo da media se tornam inviaveis. Entretanto, todo esse custo
nao e realmente necessario. Atraves de uma formula que dispoe de atualizacoes incremen-
tais e possıvel computar as medias com um custo computacional constante e de memoria
com a quantidade de bits proporcional a O(log2(k)) a cada nova recompensa recebida,
sendo k o valor que representa a iteracao de atualizacao. Para uma determinada acao,
assume-se Qk a estimativa para a k-esima recompensa, ou seja, a media das k - 1 primeiras
recompensas. Dados a media e a k-esima recompensa desta acao, Rk, entao a media de
todas as k recompensas pode ser computada da seguinte maneira
Qk+1 =1
k
k∑i=1
Ri
=1
k
(Rk +
k−1∑i=1
Ri
)=
1
k
(Rk + (k − 1)Qk +Qk −Qk
)=
1
k
(Rk + kQk −Qk
)= Qk +
1
k
[Rk −Qk
],
(3.2)
que para k = 1, obtem-seQ2 =R1 para umQ1 arbitrario. Essa implementacao incremental
necessita manter em memoria apenas os valores de Qk e k, e uma computacao constante
da media (Equacao 3.2) para cada nova recompensa.
A expressao[Rk − Qk
]presente na Equacao 3.2 representa o erro da estimativa.
Esse erro e reduzido quando as estimativas e as recompensas recebidas comecam a se
aproximar. E importante lembrar que as recompensas, uma vez ou outra, estarao acom-
panhadas de algum tipo de ruıdo. Para estes casos o termo 1k, muito conhecido como
Passo da iteracao, sera fundamental na atenuacao de tais ruıdos.
23
3.5 Rastreando um Problema Nao-Estacionario
O metodo discutido ate o momento e apropriado para problemas estacionarios, mas
nao sao apropriados quando os estados se alteram continuamente com o passar do tempo.
Para estes casos faz sentido atribuir uma maior importancia as recompensas mais recentes
do que as de um passado distante. A forma mais popular de realizar tal atribuicao e a de
manter o parametro Passo como uma constante [23]. Por exemplo, a Equacao 3.2 pode
ser modificada para que a atualizacao da media das k - 1 recompensas passadas, Qk, passe
a ser
Qk+1 = Qk + α[Rk −Qk
], (3.3)
onde o parametro Passo, α, 0 < α ≤ 1, e constante. Esse artifıcio resulta em um Qk+1
sendo uma media ponderada das recompensas passasdas e a estimativa inicial Q1:
Qk+1 = Qk + α[Rk −Qk
]= αRk + (1− α)Qk
= αRk + (1− α)[αRk−1 + (1− α)Qk−1]
= αRk + (1− α)αRk−1 + (1− α)2αQk−2 +
· · · + (1− α)k−1αR1 + (1− α)kQ1
= (1− α)kQ1 +k∑
i=1
α(1− α)k−iRi.
(3.4)
A Equacao 3.4 e denominada media ponderada incremental devido a soma dos
pesos ser (1 − α)k +∑k
i=1 α(1 − α)k−i = 1. Nota-se que o peso, α(1 − α)k−i, dado
recompensa Ri depende de quantas recompensas passadas, k− i, foram observadas. Caso
1−α = 0, entao todo peso e atribuıdo a ultima recompensa recebida, Rk, dada a convencao
de que 00 = 1.
Denota-se o parametro Passo representado por αk(a) usado para processar a re-
compensa recebida apos a k-esima selecao da acao a. Como foi observado anteriormente,
a escolha de αk(a) = 1k
e apropriada para problemas estacionarios, no qual garante-se
a convergencia para o verdadeiro valor das acoes atraves lei dos grande numeros. Um
resultado bem conhecido ne teoria estocastica apresenta duas condicoes necessarias para
assegurar a convergencia com probabilidade 1:
∞∑k=1
αk(a) =∞ (3.5)∞∑k=1
α2k(a) <∞ (3.6)
24
A Equacao 3.5 e necessaria para garantir que os passos sao grandes o suficiente
para superar eventuais condicoes iniciais ou flutuacoes aleatorias. A Equacao 3.6 garante
que os passos tornam-se pequenos o suficiente para garantir convergencia.
E possıvel observar que ambas condicoes de convergencia sao bem definidas para
o caso estacionario, onde αk(a) = 1k. Entretanto, isso nao acontece para o caso nao-
estacionario, onde αk(a) = α e constante. No ultimo caso, a segunda condicao nao e bem
definida, indicando que as estimativas nunca convergirao completamente, mas continuarao
a variar em resposta as recompensas recebidas mais recentemente.
Como o problema de encontrar as replicas de conteudos nos caches dos nos vizinhos
mais proximos e nao-estacionario, principalmente em razao da popularidade dos conteudos
e das constantes mudancas da disponibilidade dos conteudos nos caches, o modelo nao-
estacionario foi o adotado para o calculo das recompensas esperadas. Este mesmo modelo
pode ser encontrado no trabalho feito por Chiocchetti et al. 2013, no qual os autores
denominam a constante como taxa de aprendizado.
3.6 Estrategia de Encaminhamento como um Pro-
blema das Maquinas Caca-Nıqueis
Nessa secao apresenta-se como os nos da rede fazem a construcao das suas ta-
belas de encaminhamento e, descreve tambem, como selecionam as interfaces utilizadas
para encaminhar um conteudo com base nas recompensas coletadas na estrategia de en-
caminhamento proposta, a MAB. Seu objetivo e minimizar o tempo de recuperacao de
conteudos observado pelo usuario final, utilizando os artifıcios da tecnica ε− greedy [23]
descrita nas secoes anteriores. A ideia principal e descobrir caminhos alternativos que
levem a replicas temporarias de conteudos sem que nenhuma informacao sobre a locali-
zacao desses conteudos se encontre disponıvel a priori. A estrategia proposta modela o
encaminhamento como o problema das maquinas caca-nıqueis e desenvolve um algoritmo
em que, cada no explora probabilisticamente suas interfaces de saıda alem de entregar o
conteudo de interesse pela interface que obteve o menor tempo de recuperacao.
25
3.6.1 Construcao da Tabela de Encaminhamento
Na MAB cada no constroi sua tabela de encaminhamento ao registrar o tempo de
resposta de cada prefixo de nome quando recebe o pacote de dados correspondente por uma
das interfaces de proximo salto. A tabela e composta por entradas que indicam o valor de
recompensa medio Q em cada no i para todos os destinos d, Qi(f , d)∀d ∈ interfaces(i),
onde Qi(f , d) representa o tempo de resposta medio para obter o conteudo f apos o no
i ter enviado um pacote de interesse via interface que alcanca d. A ilustracao de uma
das entrada da tabela pode ser vista na Figura 3.2. A acao de encaminhar realizada por
um no i consiste em selecionar a interface de proximo salto d com a melhor recompensa
media Q para um conteudo f, ou seja, a interface que ao longo do tempo produziu o
menor tempo de resposta para que o conteudo pudesse ser obtido. Para cada pacote de
dados recebido de volta pela interface d, o no i atualiza a recompensa Q em sua tabela
de acordo com a Equacao 3.7, onde rtt(f ,d),k representa o atraso desde o no i encaminhar
o pacote de interesse pelo conteudo f ate o momento em que i recebe o pacote de dados
que contem f.
Figura 3.2: Entrada da tabela de encaminhamento.
Cada no atualiza sua tabela de encaminhamento independentemente e, ao serem
utilizados em conjunto, conseguem identificar o “melhor” caminho dada as condicoes mo-
mentaneas da rede para encaminhar e recuperar um determinado conteudo. Para cada
conteudo f ∈ F , conjunto de todos conteudos disponibilizados, um no i mantem um con-
junto de valores Qi(f , d)∀d ∈ interfaces(i), e sao computados e atualizados toda vez que
o no i recupera f , seja pela “melhor” interface ou por uma interface explorada, como sera
descrito a seguir.
26
3.6.2 O Processo de Encaminhamento e Exploracao
A estrategia de encaminhamento proposta supoe que nenhum conhecimento previo
foi adquirido antes de receber o interesse por um conteudo pela primeira vez. Posto
isso, ao receber um pacote de interesse por um conteudo f que nao consta na tabela de
encaminhamento, o roteador i ira inundar todas as suas interfaces, exceto a que recebeu
o interesse, para inicializar o valor das recompensas Qi(f , d). O objetivo de tal inundacao
esta em adquirir conhecimento sobre o estado atual da rede em relacao a f, garantindo ao
mesmo tempo a entrega dos pacotes de dados requisitados.
Figura 3.3: Processo decisorio ao encaminhar um pacote de interesse.
Apos essa fase inicial, as interfaces sao classificadas de acordo com o tempo trans-
corrido para a recuperacao dos primeiros pacotes de dados. A partir desse ponto, toda vez
que um pacote de interesse com o prefixo de f for recebido por um no, ele pesquisara em
sua tabela de encaminhamento e encaminhara o interesse pela interface que e considerada
a melhor classificada para recuperar o conteudo solicitado por um processo aleatorio, que
decide com uma probabilidade 1−ε propagar o pacote de interesse somente pela interface
que produziu o menor valor Qi(f , d) no decorrer do tempo. Ou, com probabilidade ε,
propagar o interesse para a “melhor” interface e tambem para outra interface escolhida
ao acaso diferente da atual “melhor” seguindo uma distribuicao uniforme. Atraves dessa
abordagem, garante-se que f sera entregue pelo cache mais “proximo” encontrado ate
o momento enquanto outras copias que possam ter sido armazenadas por caches ainda
mais “proximos” em um passado mais recente possam ser encontradas. As etapas desse
processo estao ilustradas na Figura 3.3. A opcao de possuir somente uma unica interface
para exploracao foi adotada para limitar a sobrecarga de pacotes de interesse trafegando
27
na rede.
Da mesma forma, para cada pacote de dados retornado passada a inundacao, os
nos atualizarao sua tabela de encaminhamento de acordo com a seguinte equacao:
Qi ,k+1 (f , d) = Qi ,k(f , d) + α[rtt(f ,d),k −Qi ,k(f , d)]
= αrtt(f ,d),k + (1− α)Qi ,k(f , d)
= αrtt(f ,d),k + (1− α)[αrtt(f ,d),k−1 + (1− α)Qi ,k−1 (f , d)
= αrtt(f ,d),k + (1− α)αrtt(f ,d),k−1 + (1− α)2Qi ,k−1 (f , d)
= αrtt(f ,d),k + (1− α)αrtt(f ,d),k−1 + (1− α)2αrtt(f ,d),k−2 +
· · · + (1− α)k−1αrtt(f ,d),k−1 + (1− α)kQi ,1 (f , d)
= (1− α)kQi ,1 (f , d) +k∑
j=1
α(1− α)k−jrtt(f,d),j.
(3.7)
Como a localizacao das replicas nos caches muda com o passar do tempo, incorpora-
se uma atualizacao que leva em conta a nao-estacionariedade do problema de encontrar
o cache que retorna mais rapidamente o conteudo requisitado. Fixando o valor de α em
uma constante, tal que 0 < α ≤ 1, a Equacao 3.7 mostra que, como 1 − α e menor que
1, o peso atribuıdo a rtt(f,d),j diminui a medida que a quantidade de tempos de resposta
intervenientes coletados aumentam. Na verdade, o peso decai exponencialmente de acordo
com o expoente 1−α. Consequentemente, a recuperacao de um pacote de dados no estado
atual da rede sempre possuira um peso maior no calculo do tempo de recuperacao medio,
mas sem que o historico obtido a partir de uma interface deixe de ser levado em conta, ja
que o estado corrente pode apresentar uma condicao particular e temporaria.
Outro tratamento realizado via recepcao de um pacote de dados e a identificacao
de uma possıvel queda de enlace. Cada entrada da tabela de encaminhamento possui uma
tupla contendo o prefixo de um conteudo, a interface utilizada na propagacao do interesse,
o tempo de recuperacao medio e um contador de retransmissoes. Assim, sempre que um
interesse e enviado, sua entrada correspondente na tabela tem o contador acrescido de uma
unidade. Caso esse contador atinja um valor de limiar predefinido T, o valor do tempo
de recuperacao medio e definido como infinito e, consequentemente, a interface associada
a essa entrada deixa de ser utilizada. Como a estrategia de encaminhamento proposta
realiza exploracoes de forma aleatoria, eventualmente tal interface que foi classificada como
“fora do ar” acaba sendo sondada novamente e, no recebimento de um respectivo pacote
28
de dados, todo processo de aquisicao de recompensas associado aos prefixos previamente
encaminhados por ela recomeca.
Capıtulo 4
Modelo de Simulacao
A estrategia de encaminhamento proposta, a MAB, e avaliada atraves de simula-
coes. Logo, para que seja possıvel entender melhor os resultados obtidos nesse trabalho, e
preciso entender como tais simulacoes foram realizadas e modeladas. Para avaliar o com-
portamento da rede ao aplicar a estrategia de encaminhamento proposta e para poder ter
resultados que permitam a melhor parametrizacao da proposta, sao realizadas simulacoes
utilizando o simulador NS-3 [24], atraves do modulo ndnSIM [5], que implementa a pilha
de protocolos da CCN. Nesse capıtulo, aborda-se o funcionamento do modulo ndnSIM e
apresenta-se a maneira como os nos se comportam durante a simulacao.
4.1 Funcionamento Basico do ndnSIM
O simulador ndnSIM foi implementado de forma modularizada na linguagem C++
com classes abstratas, para definir cada um dos componentes da CCN: a tabela de inte-
resses pendentes (PIT), tabela de encaminhamento (FIB), o armazenador de conteudos
(CS), a interface de aplicacao, etc. Essa estrutura modular permite que cada componente
seja facilmente modificado ou substituıdo sem impactar os outros componentes. Alem
disso, o ndnSIM ja tem implementado geradores de aplicacao e classes Helpers, que sao
facilitadores para criacao dos cenarios de testes e seus componentes.
A arquitetura do ndnSIM segue a filosofia que tem como objetivo maximizar a
abstracao da implementacao de todos os modelos e componentes. Assim como as pilhas
IPv4 e IPv6, o ndnSIM foi arquitetado para ter uma pilha de camadas independentes que
possam ser instalados em cada no da rede durante a simulacao. A Figura 4.1 mostra como
29
30
os componentes estao organizados. Como pode ser observado, o L3Protocol no ndnSIM
e a unidade central da arquitetura, e o unico componente que nao oferece alternativas de
implementacao. E o componente logico que agrega todas os canais de comunicacao das
aplicacoes com os outros nos da rede e faz a manipulacao basica dos pacotes que chegam
das Faces a partir de uma estrategia de encaminhamento.
Figura 4.1: A arquitetura do ndnSIM [5].
Alem do L3Protocol, o simulador ndnSIM e composto por outros componentes
como a Face, uma abstracao que permite uma comunicacao com a camada de aplicacao
AppFace e outros nos da simulacao. O ContentStore e um cache para armazenar os pacotes
de dados recebidos da rede, conforme uma polıtica de cache. A PIT e uma abstracao para
a tabela de interesses requisitados que mantem as Faces de origem dos interesses recebidos,
e assim poder encaminhar os pacotes de dados para os nos que o requisitaram. A FIB
e uma abstracao para a tabela de encaminhamento, que tem como funcao encaminhar o
interesse de acordo com alguma estrategia de encaminhamento. O ForwardingStrategy e o
componente responsavel por controlar como os pacotes de interesse e dados irao trafegar
pela rede, durante a simulacao. Todos esses componentes sao parametrizados para cada
cenario, para melhor se adequar aos objetivos dos testes, por exemplo modificar a polıtica
de cache ou o algoritmo de busca na FIB.
31
Na Figura 4.1 e possıvel observar mais dois componentes conectados ao nucleo do
ndnSIM, a APPFace e a NetDeviceFace. Sao abstracoes utilizadas para realizar a comu-
nicacao entre a camada de rede (L3Protocol) e as outras camadas da pilha de protocolos.
Isto e, caso um no deseje ser um consumidor, ele deve ser capaz de utilizar uma AppFace
para enviar os interesses e receber os dados utilizando a camada de rede da CCN. O Net-
DeviceFace e o componente central responsavel por entregar os pacotes de dados para a
pilha CCN de acordo com o protocolo de enlace utilizado.
O ndnSIM e orientado a eventos, logo os componentes devem implementar funcoes
de tratamentos para os eventos lancados durante a simulacao. Dessa forma, possui uma
logica padrao para tratamento desses eventos. Isso facilita o desenvolvimento de novos
componentes, dado que para estender algum componente, basta sobrescrever a implemen-
tacao padrao, modificando apenas os metodos de tratamento dos eventos desejados. No
desenvolvimento da MAB alteramos o componente ForwardingStrategy, que executa em
cada no da simulacao a estrategia de encaminhamento escolhida para aquele cenario, e e
responsavel por manipular os modulos ContentStore, PIT e FIB, alem de tratar os eventos
enviados pelos nos. A lista de todos os eventos tratados pelo ForwadingStrategy pode ser
vista em [5].
4.2 A Topologia de Rede Utilizada
Para a execucao dos experimentos a topologia usada foi a Rocketfuel, ilustrada na
Figura 4.1. Essa topologia e derivada do ISP (Internet Service Provider) EBONE, obtida
atraves do mapeador de topologias Rocketfuel [25]. A rede conta com 163 nos, dos quais
72 nos sao folhas. Esses nos estao conectados entre si atraves de 366 enlaces com larguras
de banda, tamanho da fila das interfaces e o atraso de transmissao heterogeneos. Para
a execucao de todas as simulacoes, foram escolhidos 3 nos folhas, aleatoriamente, para
serem os nos produtores.
4.3 Comportamento dos Nos da Rede
No ndnSIM, existem apenas tres tipos diferentes de nos: publicadores de conteudo,
consumidores e roteadores. Estes sao detalhados nas proximas sessoes.
32
Figura 4.2: A Topologia Rocketfuel.
4.3.1 Publicadores de Conteudo
Os publicadores de conteudo implementam todas as camadas da pilha CCN. No
contexto do ndnSIM, eles sao aplicacoes que tem o proposito de servir os dados de um ou
mais conteudos identificados pelos seus prefixos.
4.3.2 Consumidor
Assim como os publicadores de conteudo, os consumidores implementam todas as
camadas da pilha CCN. O ndnSIM ja fornece 4 tipos diferentes de consumidores: Con-
sumerCbr, ConsumerZipfMandelbrot, ConsumerBatches, ConsumerWindow. Observa-se
33
que a frequencia na qual cada pagina da Internet e requisitada segue a lei de Zipf [26, 27,
28]. Sendo assim, nas simulacoes, considera-se o consumidor ConsumerZipfMandelbrot,
com uma taxa de envio de 100 interesses por segundo e distribuicao Zipf com α = 0, 7.
No Capıtulo 5 serao melhor detalhados os resultados obtidos, que validam a estrategia de
encaminhamento proposta como uma possıvel solucao para ser aplicada na arquitetura
CCN.
4.3.3 Roteadores
Os roteadores sao pecas fundamentais para o funcionamento da estrategia proposta
por esse trabalho. No contexto da CCN, no qual a origem do conteudo nao e relevante e
sim o conteudo propriamente dito, os roteadores tem a funcao de armazenar os pacotes
de dados previamente requisitados em seu cache, de tal forma que ao receber o mesmo
interesse o proprio roteador seja capaz de satisfaze-lo sem precisar encaminhar o interesse
para outros nos. Isso diminui o tempo de recuperacao, dado que a requisicao do conteudo
nao precisa chegar ao produtor para ser satisfeita, uma vez que a propria rede e capaz de
prover esse dado ao consumidor.
Capıtulo 5
Resultados
Para que o desempenho da estrategia proposta pudesse ser avaliado e comparado,
o simulador ndnSIM [5] foi estendido para acomodar a MAB. A estrategia proposta foi
comparada com duas outras estrategias de encaminhamento implementadas por padrao
no ndnSIM: a Best Route e a Smart Flooding [5]. Ambas as estrategias apoiam-se em uma
codificacao de cor para cada interface de saıda ao produzir estatısticas das informacoes
coletadas no plano de dados, como tempo de recuperacao e sobrecarga da PIT. A primeira
encaminha interesses somente para a interface de cor verde (teve o interesse enviado e o
dado correspondente retornado) melhor classificada se disponıvel. Caso contrario, uma
das interfaces de cor amarela (estado da interface desconhecido, ainda nao utilizada) e
selecionada. A segunda segue o mesmo princıpio, entretanto no caso de nao possuir uma
interface de cor verde, inunda todas as interface de cor amarela. As seguintes metricas
sao utilizadas para avaliar o desempenho das estrategias de encaminhamento:
• numero medio de saltos: numero medio de saltos que foram necessarios para
obter o chunk de interesse para cada consumidor, incluindo o caminho percorrido
pelos pacotes de interesse e pelos pacotes de dados;
• tempo de recuperacao medio: tempo decorrido, em milissegundos, a partir do
primeiro interesse enviado ate que o chunk requisitado seja entregue com sucesso;
• numero medio de pacotes de interesse: media da carga de interesses inseridos
na rede;
• numero medio de pacotes de dados: media da carga de dados inseridos na rede.
34
35
Para efeito de comparacao com as estrategias ja adotadas pelo simulador, os ex-
perimentos sao dividos em funcao do numero de consumidores. Alem disso, testes sao
realizados em diferentes cenarios para avaliar o comportamento das estrategias de enca-
minhamento na presenca de falha de enlaces.
Em todos os experimentos, existem 3 produtores fixos e, com excecao da avaliacao
do numero de consumidores, 20 consumidores selecionados aleatoriamente entre os 72 nos
de borda. Cada consumidor envia 100 interesses por segundo seguindo a distribuicao de
popularidade MandelBrot-Zipf [29] com α = 0,7. O cache dos nos tem capacidade para
armazenar ate 1000 chunks e cada chunk tem tamanho igual a 1024 KB. A Least Recently
Used (LRU) e a polıtica de descarte empregada pelos caches. O limiar de retransmissoes T
para identificacao de um possıvel problema na rede e configurado em 50 tentativas para
a estrategia de encaminhamento proposta. Os demais parametros do simulador foram
mantidos em sua configuracao padrao. Todas as simulacoes tiveram uma duracao de 60 s
e os resultados sao gerados atraves da media de mutliplas rodadas de simulacao, com os
intervalos de confianca calculados, representados por barras verticais, para um nıvel de
confiabilidade de 95%.
5.1 Definicao dos Parametros da Estrategia de Enca-
minhamento Proposta MAB
O primeiro passo e investigar o impacto dos parametros da estrategia de encaminha-
mento proposta no seu desempenho. Primeiramente varia-se o parametro α para verificar
o peso adequado de importancia a ser colocado no historico de recompensas (tempo de re-
cuperacao) coletados ao longo do tempo. Nesse experimento, para efeito de simplificacao,
ajustamos o parametro ε em 0,5, ou seja, e concedida a mesma chance de utilizar somente
o melhor caminho e de explorar caminhos alternativos. Os resultados foram derivados de
20 rodadas de simulacao e representam a media de cada no consumidor.
Pode-se observar na Figura 5.1 que o tempo de recuperacao medio diminui conforme
aumentam-se o valores de α a partir de 0,2. Esse comportamento indica que atribuir
uma importancia maior ao caminho que recuperou um conteudo com menor atraso mais
recentemente proporciona uma adaptacao mais rapida em relacao a disponibilidade dos
conteudos na rede. A Figura 5.2 mostra que, alem de diminuir o tempo de recuperacao
36
Figura 5.1: Atraso medio por no em fun-
cao de α. Figura 5.2: Desvio Padrao.
medio com maiores valor de α, tambem mantem-se uma maior estabilidade nos caminhos
selecionados. Portanto, assume-se α = 1 na comparacao da estrategia proposta com as
demais estrategias, apresentadas nas secoes seguintes.
Com α = 1, investiga-se o melhor valor para ε. A Figura 5.3 mostra que o tempo de
recuperacao medio diminui conforme ε aumenta, porem o alto nıvel de exploracao diminui
a estabilidade dos caminhos selecionados, como ilustra a Figura 5.4 com o crescimento do
desvio padrao conforme o aumento dos valores de ε.
Como o tempo de recuperacao medio e seu desvio padrao divergiram, analisam-se
tambem o comportamento da quantidade de interesses satisfeitos e do numero de pacotes
de interesses recebidos em media por no da rede. A primeira metrica informa os interesses
agregados na PIT de cada roteador que foram satisfeitos antes de seu temporizador estou-
rar. A segunda informa a agregacao bem sucedida de interesses na PIT. Na Figura 5.5,
pode-se observar que no intervalo [0,2, 0,4] a quantidade media de interesses satisfeitos
aumenta e a carga media de interesses recebidos diminui. Ao se avaliar a razao entre
interesses satisfeitos e interesses recebidos nesse intervalo, ε = 0,4 proporciona o maior
ganho, aproximadamente 63% em relacao a configuracao em que nunca novos caminhos
sao explorados (ε = 0), e uma perda de aproximadamente 14% em relacao a configuracao
com ε = 0,7, mas com uma menor sobrecarga. Logo, para a execucao dos experimentos
sera utilizado ε = 0,4.
37
Figura 5.3: Atraso medio por no em fun-
cao de ε. Figura 5.4: Desvio Padrao.
Figura 5.5: Media de interesses satisfeitos e interesses recebidos por no.
5.2 Comparacao das Estrategias de Encaminhamento
O objetivo dos proximos resultados e avaliar e comparar o desempenho da estrate-
gia proposta MAB com as estrategias Smart Flooding (SF) e Best Route (BR). Avaliam-se
todas as metricas descritas no inicio deste capıtulo em funcao do numero de consumidores
presentes na rede, que varia de 5 a 50 consumidores. Todos os parametros dos mecanismos
BR e SF sao mantidos do padrao e a MAB com α = 1 e ε = 0,4.
E possıvel observar na Figura 5.7 que a MAB possui um menor tempo de recupera-
38
Figura 5.6: Media do numero de saltos
por no em funcao da quantidade de con-
sumidores.
Figura 5.7: Atraso medio por no em fun-
cao da quantidade de consumidores.
Figura 5.8: Media da quantidade de pa-
cotes de dados recebidos por no em fun-
cao da quantidade de consumidores
Figura 5.9: Media da quantidade de pa-
cotes de interesse recebidos por no em
funcao da quantidade de consumidores
cao medio comparada a BR e uma curva muito semelhante a SF. Entretanto, as Figuras 5.8
e 5.9 mostram que a carga inserida na rede, tanto de pacotes de interesse e de pacotes de
dados, e menor com a MAB que com ambas as polıticas. Comparada a BR, a MAB reduz
de 44-46% a quantidade de dados recebidos por no, e com a SF de 55-75%. Ja em relacao
aos pacotes de interesse, a MAB reduz de 21-37% comparado ao BR, desconsiderando seu
39
pico, e cerca de 51-80% quando comparado a SF. Esse comportamento esta associado a
exploracao esporadica de novos caminhos realizada por cada no da rede, fazendo com que
nos vizinhos aumentem a disponibilidade dos conteudos e, consequentemente, diminua a
necessidade dos pacotes serem encaminhados por uma quantidade maior de saltos, o que
pode ser verificado na Figura 5.6.
A segunda avaliacao realizada tem como objetivo verificar como a estrategia pro-
posta MAB se comporta na presenca de falha de enlaces. Por realizar exploracoes espo-
radicas, espera-se que a MAB mantenha aproximadamente as mesmas taxas para cada
metrica na presenca e na ausencia de pequenas falhas na rede em consequencia dos ca-
minhos alternativos encontrados durante as exploracoes. Para realizar a avaliacao, sao
gerados aleatoriamente 20 cenarios de falha diferentes contendo cada um 20 consumido-
res diferentes. Os enlaces foram quebrados em tempos escolhidos de forma aleatoria e
todos proximos aos produtores que se mantiveram fixos para todos os cenarios, forcando
a escolha de outros enlaces apos as falhas.
Figura 5.10: Media da quantidade de
pacotes de dados recebidos por no para
cada cenario.
Figura 5.11: Media da quantidade de pa-
cotes de interesse recebidos por no para
cada cenario.
A Figura 5.13 mostra que o tempo de recuperacao medio com a MAB se mantem
quase que identico aos experimentos anteriores, ficou ligeiramente maior que o da SF.
Acredita-se que essa diferenca seja em razao da forma como os dois mecanismos identificam
possıveis problemas na rede. A polıtica SF realiza essa identificacao pelo uso de pacotes
40
Figura 5.12: Media do numero de saltos
por no para cada cenario.
Figura 5.13: Atraso medio por no para
cada cenario.
NACK, na qual nos acima na hierarquia comunicam a impossibilidade de encaminhar
o interesse aos nos inferiores com mais rapidez. A MAB realiza essa identificacao ao
perceber que depois de T retransmissoes nenhum pacote de dados chegou em reposta. No
caso dos experimentos, T = 50. Ainda assim, a MAB mantem a baixa carga media por no
de pacotes de interesse, Figura 5.11, e de pacotes de dados, Figura 5.10, comparada a SF
e a BR. Alem disso, e necessario um menor numero de saltos para recuperar os conteudos,
o que mais uma vez enfatiza o aumento da disponibilidade dos conteudos com o uso da
exploracoes.
Capıtulo 6
Conclusao
Esse trabalho teve por objetivo avaliar uma estrategia de encaminhamento para a
arquitetura CCN baseada na tecnica de aprendizado por reforco ε−greedy. Assim sendo,
foi desenvolvida a estrategia denominada MAB (Multi-Armed Bandits). Um no CCN
incorporado com a estrategia proposta deve primeiro classificar suas interfaces de acordo
com o tempo de recuperacao de um dado conteudo. Em seguida, para cada interesse
recebido com um prefixo de nome ja presente na tabela de encaminhamento, o no decide
probabilisticamente se envia o interesse somente pela melhor interface classificada ou se
envia tambem o interesse por outra interface escolhida aleatoriamente. O objetivo e
aprender outras interface que levem a copias de conteudos em nos cada vez mais proximos
e, assim, reduzir o tempo de recuperacao de conteudos.
Alem do desenvolvimento da estrategia, foi realizada a comparacao do seu desem-
penho com duas outras estrategias de encaminhamento: Best Route e Smart Flooding.
A avaliacao considera uma topologia de rede real chamada Rocketfuel e duas abordagens
para analise das metricas, o numero de consumidores e cenarios de falha. Os resultados
mostram que a estrategia proposta e a que proporciona o menor tempo de recuperacao de
conteudos, pois reduz em ate 28% o numero medio de saltos atravessados pelos conteudos
recuperados com sucesso. Tambem conclui-se que a estrategia proposta e robusta contra
falhas de enlace, uma vez que nao aumenta significativamente o tempo de recuperacao de
conteudos e a sobrecarga de controle para detectar uma falha.
41
42
6.1 Trabalhos Futuros
Algumas avaliacoes nao foram realizadas mas sao bastante interessantes de serem
feitas. E desejado investigar futuramente a influencia do tamanho relativo do cache dado
um catalogo de conteudos fixo, assim como o efeito causado pelo tamanho da PIT na taxa
de entrega de conteudos. Alem disso, deseja-se estudar como os parametros presentes
na estrategia proposta influenciam em achar o no mais “proximo” para conteudos com
diferentes nıveis de popularidade. E interessante tambem analisar os pros e contras da
abordagem de usar um limiar de retransmissoes com a abordagem de um pacote de controle
NACK para deteccao de falhas.
Outras consideracoes importantes a serem estudadas estao relacionadas com a mo-
delagem da simulacao. Prentende-se pesquisar modelos que representem uma forma mais
consistente com a realidade da Internet, como a taxa de geracao de requisicoes por con-
teudos, a distribuicao da popularidade dos conteudos e falhas de enlaces e equipamentos
para que a estrategia proposta possa ser comparada com outras estrategias presentes na
literatura.
Referencias Bibliograficas
[1] Sandvine, “Global Internet Phenomena Report”. Relatorio tecnico, Sand-
vine, 2014, https://www.sandvine.com/downloads/general/global-internet-
phenomena/2014/1h-2014-global-internet-phenomena-report.pdf.
[2] “Netflix and Youtube Are America’s Biggest Traffic Hogs”. http://www.statista.
com/chart/1620/top-10-traffic-hogs/.
[3] V. Jacobson, D. K. Smetters, J. D. Thornton, M. F. Plass, N. H. Briggs e R. L.
Braynard, “Networking Named Content”, em Proceedings of the 5th international
conference on Emerging networking experiments and technologies, pag. 1–12, ACM,
2009.
[4] C. Yi, A. Afanasyev, L. Wang, B. Zhang e L. Zhang, “Adaptive Forwarding in Named
Data Networking”, ACM SIGCOMM computer communication review, vol. 42, no. 3,
pag. 62–67, 2012.
[5] A. Afanasyev, I. Moiseenko, L. Zhang et al., “ndnSIM: NDN Simulator for NS-3”,
University of California, Los Angeles, Tech. Rep, 2012.
[6] A. Passarella, “A Survey on Content-Centric Technologies for the Current Internet:
CDN and P2P Solutions”, Computer Communications, vol. 35, no. 1, pag. 1–32, 2012.
[7] G. M. de Brito, P. B. Velloso e I. M. Moraes, “Redes Orientadas a Conteudo: Um
Novo Paradigma para a Internet”, Minicursos do Simposio Brasileiro de Redes de
Computadores-SBRC, vol. 2012, pag. 211–264, 2012.
[8] B. Ahlgren, C. Dannewitz, C. Imbrenda, D. Kutscher e B. Ohlman, “A Survey of
Information-Centric Networking”, Communications Magazine, IEEE, vol. 50, no. 7,
pag. 26–36, 2012.
43
44
[9] R. Chiocchetti, D. Rossi, G. Rossini, G. Carofiglio e D. Perino, “Exploit the Known or
Explore the Unknown?: Hamlet-Like Doubts in ICN”, em Proceedings of the second
edition of the ICN workshop on Information-centric networking, pag. 7–12, ACM,
2012.
[10] L. Wang, A. Hoque, C. Yi, A. Alyyan e B. Zhang, “OSPFn: An OSPF Based Routing
Protocol for Named Data Networking”, University of Memphis and University of
Arizona, Tech. Rep, 2012.
[11] Y. Wang, K. Lee, B. Venkataraman, R. L. Shamanna, I. Rhee e S. Yang, “Adverti-
sing Cached Contents in the Control Plane: Necessity and Feasibility”, em Compu-
ter Communications Workshops (INFOCOM WKSHPS), 2012 IEEE Conference on,
pag. 286–291, IEEE, 2012.
[12] A. Hoque, S. O. Amin, A. Alyyan, B. Zhang, L. Zhang e L. Wang, “NLSR: Named-
Data Link State Routing Protocol”, em Proceedings of the 3rd ACM SIGCOMM
workshop on Information-centric networking, pag. 15–20, ACM, 2013.
[13] F. K. James e W. Keith, “Redes de Computadores e a Internet: uma Abordagem
Top-Down”, 2010.
[14] R. Chiocchetti, D. Perino, G. Carofiglio, D. Rossi e G. Rossini,“INFORM: A Dynamic
Interest Forwarding Mechanism for Information Centric Networking”, em Proceedings
of the 3rd ACM SIGCOMM workshop on Information-centric networking, pag. 9–14,
ACM, 2013.
[15] G. Rossini e D. Rossi, “Evaluating CCN Multi-Path Interest Forwarding Strategies”,
Computer Communications, vol. 36, no. 7, pag. 771–778, 2013.
[16] “Content Routing Using Internet Routing Protocols: Can it scale? IETF-82, ICNRG
BAR BOF, Novembro 2011”. http://trac.tools.ietf.org/group/irtf/trac/
wiki/icnrg.
[17] B. Baccala, “Data-Oriented Networking”, 2002. Internet draft, IETF, https:
//tools.ietf.org/html/draft-baccala-data-networking-00.
45
[18] P. Rodriguez, S.-M. Tan e C. Gkantsidis, “On the Feasibility of Commercial, Legal
P2P Content Distribution”, ACM SIGCOMM Computer Communication Review,
vol. 36, no. 1, pag. 75–78, 2006.
[19] I. Cisco, “Cisco visual Networking Index: Forecast and Methodology,
2013–2018”, CISCO White paper, 2014. http://www.cisco.com/c/en/us/
solutions/collateral/service-provider/ip-ngn-ip-next-generation-
network/white_paper_c11-481360.pdf.
[20] A. Ghodsi, S. Shenker, T. Koponen, A. Singla, B. Raghavan e J. Wilcox,
“Information-Centric Networking: Seeing the Forest for the Trees”, em Proceedings
of the 10th ACM Workshop on Hot Topics in Networks, p. 1, ACM, 2011.
[21] “UCLA-led consortium to focus on developing a new architecture for the Inter-
net”. http://newsroom.ucla.edu/releases/ucla-led-consortium-to-focus-
on-developing-a-new-architecture-for-the-internet.
[22] I. Ribeiro, F. Q. Guimaraes, J. F. Kazienko, A. Rocha, P. Velloso, I. Moraes e
C. Albuquerque, “Seguranca em Redes Centradas em Conteudo: Vulnerabilidades,
Ataques e Contramedidas”, Minicursos do XII Simposio Brasileiro em Seguranca da
Informacao e de Sistemas Computacionais SBSeg 2012, pag. 151–195, 2012.
[23] A. G. Barto, Reinforcement learning: An introduction. MIT press, 1998.
[24] “NS-3 Simulator”, 2014. http://www.nsnam.org/.
[25] N. Spring, R. Mahajan e D. Wetherall, “Measuring ISP Topologies with Rocketfuel”,
em ACM SIGCOMM Computer Communication Review, vol. 32, pag. 133–145, ACM,
2002.
[26] G. ZIPF, Relative Frequency as a Determinant of Phonetic Change. (Reprinted from
the Harvard Studies in Classical Philology.). 1929.
[27] C. R. Cunha, A. Bestavros e M. E. Crovella, “Characteristics of www Client-Based
Traces”, relatorio tecnico, Boston University Computer Science Department, 1995.
[28] B. A. Huberman, P. L. Pirolli, J. E. Pitkow e R. M. Lukose, “Strong Regularities in
World Wide Web Surfing”, Science, vol. 280, no. 5360, pag. 95–97, 1998.
46
[29] Z. Silagadze, “Citations and the Zipf-Mandelbrot’s Law”, arXiv preprint phy-
sics/9901035, 1999.