Vous êtes sur la page 1sur 16

CCN(

ContentOrientedNetworks
)

HeliS.Amaral,LianadaS.Lopes,MarceloGonalves,WilkelanydaS.Ges

UniversidadeFederaldoCear(UFC)
Av.JosdeFreitasQueiroz,5003CedroNovoCEP
63902580
QuixadCEBrasil
{
helijhudy
,lianalps7,
marcelogoncalvescdd,wilkelanyg
}@gmail.com

Abstract. ContentCentric Networking (CCN) mitigates a number of security issues


related to the current TCP/IP architecture. Presently, to provide authenticity and
integrity of data shared in the Internet, it is necessarytoensurethesecurityofthedata
repository and of the path that it follows towards the end user. Furthermore, the
effectiveness of denial of service attacks against the current Internet suggests the need
for the network infrastructure itself to provide mechanisms to prevent them. On the
other hand, the CCN communication model is focused on the content itself and not on
theirphysicaladdressorlocation.

Resumo. As Redes Centradas no Contedo (ContentCentric Networking), ou


simplesmente CCN, simplificam a soluo de determinados problemas de segurana
relacionados a arquitetura TCP/IP. Atualmente, para se prover a autenticidade e a
integridade dos dados compartilhados na rede, fazse necessrio garantir a segurana
do repositrio e do caminho que os dados devem percorrer at o usurio final. Alm
disso, a contnua eficcia dos ataques de negao de servio praticados contra a
Internet atual sugere a necessidade de que a prpria infraestrutura da rede fornea
mecanismos para mitiglos. Por outro lado, o modelo de comunicao da CCN
focadonocontedoemsienoemsualocalizaofsica.

1.Introduo
Com a massificao da utilizao da Internet e o aumento do fcil acesso a dispositivos de
criao e modificao de contedos multimdia e informao, hoje em dia, as redes de
comunicao passam por uma fase em que grande parte dos utilizadores est a deixar de ser
um mero consumidor de contedos, para se tornar tambm ele num produtor. A maioria
destes contedos, como fotos, vdeos, e posts nas redes sociais, so disponibilizados na
Internet. Por outras palavras, os utilizadores focamse no contedo que a rede possui,
enquantoaInternetatualfocalizasenasualocalizaodearmazenamento.
O grande problema que na arquitetura atual, segundo [Jacobson et al. 2009],toda a
preocupao est centrada nos endereos, no nos contedos produzidos e armazenados nas
mquinas que esto nesses endereos. Toda a comunicao na Internet foi pensada em
pacotes (TCP/IP) que transportam informao, que sabem de ondem veemeparaondevoe
nada sabem sobre o seu contedo. Esta comunicao apenas se preocupa em encontrar o
melhorcaminhoapercorrerparachegaraoseudestino,conformeseexemplificanafigura1.

Figura1Cenrioatualdeencaminhamento(retiradode[CCNx])

O problema resulta da filosofia em que foi pensada a comunicao de rede nos anos
60 e 70, em que existiam poucos computadores e a comunicao era centrada no onde
estava a informaopretendida.Hojeemdianingumdecoraendereos,aspessoasprocuram
grandes quantidades de contedoseainternettemdificuldadeemdarrespostaporquenofoi
pensada para responder a tal requisito. Se determinado contedo se torna inesperadamente
muito popular, isso resulta em estrangulamento da comunicao entre o host quedetmesse
contedo e todos os dispositivos que efetuaram essas solicitaes. Tipicamente o fornecedor
que est a alojar esse contedo, o que faz nestas situaes ditas virais, inibiroacessoao
mesmo por forma a tentar controlar o congestionamento e a deteriorao da qualidade de
servio (QoS). Quando colocamos um contedo na Internet, embora isso soe a um
contrasenso, temos que esperar que esse contedo no se torne muito solicitado, seno
corremos de ver o mesmo excludo (banido) da rede. E tudo isto por culpa da arquitetura
atual da Internet que no foi desenhada para responder a tais comportamentos. Conforme
podemosobservarnaFigura2,seomesmocontedoforsolicitadoporvriosdispositivos,no
atual modelo TCP/IP sobre o qual assenta a Internet, tem que forosamente existir uma
ligao independente para cada dispositivo, mesmo que ele esteja na mesma rede que outro
quetambmsolicitouessecontedo.
Atualmente, a maior parte do trfego da Internet gerada por aplicaes de
recuperao de contedo [Labovitz et al. 2010]. Em 2011, o Cisco VisualNetworking Index
apontou que os trfegos de aplicaes parapar (peertopeer P2P) e de vdeo somados
corresponderam aproximadamente a 80% do trfego da Internet [Kurose 2012]. Essa
popularizao de aplicaes P2P mostra que os usurios esto interessados no contedo em
si, independentemente do local onde estes esto armazenados ou de quem osdistribui.Esses
dadosintroduzemaideiade que,aoinvsdesetentaratenderaosrequisitosdasaplicaesde
distribuio de contedo Internet atual, devese remodelar a rede para atender a tais
necessidades de maneira mais simples. Uma vez que o contedo omaisimportanteparaos
usurios, os serviosoferecidospelarededevemserorientadosaocontedo emsienosua
localizao fsica. Assim, os usurios devemsercapazesderequisitarcontedos pelonomee
cabe a rede localizar este contedo, onde quer que ele esteja. Essa uma das principais
primitivas de rede do paradigma de comunicao baseada em contedos. Entre suas
principais vantagens esto o aumento da eficincia na entrega e da disponibilidade do
contedo e a maior simplicidade na implementaodemecanismosdesegurana[Britoetal.
2012].

Figura2Cenrioatualnadistribuiodecontedos(retiradode[CCNx]eadaptada)

Desta incompatibilidade de modelos, resulta uma srie de problemas relacionados,


tais como a disponibilidade de contedo, segurana e dependncia da sua localizao fsica.
Para Van Jacobson [Jacobson et al. 2009], a resoluo destes problemas passa por substituir
simplesmente o onde pelo o qu em relao ao contedo.Uma vez que o contedo o
mais importante para os utilizadores, os servios oferecidos pela rede devem ser orientados
ao contedo em si enosualocalizaofsica.Assim,osutilizadoresdevemsercapazesde
solicitar contedos pelo nome e compete redelocalizar essescontedos,ondequerqueeles
se encontrem. Isto um dos principais pilares do paradigma da comunicao baseada em
contedos Content Centric Networking. O aumento da eficincia na entrega e da
disponibilidade do contedo so duas das suas principais vantagens, assim como uma
implementaodemecanismosdeseguranamaissimplificada.

Figura3AbordagemCCN(retiradode[CCNx])

A Figura 3 apresenta em traos gerais a abordagem CCN e os seus principais


componentes. O Consumer representa os consumidores ou seja os utilizadores que
solicitamcontedosequepodemsimultaneamentesertambmProducerousejaprodutores
de contedo. A FIB representa uma base de dados onde so guardadas as rotas para
encaminhamento de Interesses fonte do contedo. Vrias interfaces de sada por destino,
3

sem rvore de expanso. O Content Store guarda pedaos contedo que permanecem
vlidos aps o encaminhamento. utilizado como buffer de memria para economizar
larguradebanda,todososnsfornecemcaching.
Desta forma poderemos substituir o atual cenrio ilustrado na Figura 2, por um
cenrio muito mais eficiente, do ponto de vista da transferncia de contedos, conforme o
ilustrado na Figura 4, que representa o novo modelo de distribuio de contedos, onde os
contedos so, ainda que de forma temporria, armazenados em cache para que, o n mais
prximo que possua determinado contedo solicitado, o possafornecersemanecessidadede
esteterquesersolicitadosuafonteinicial.

Figura4NovomodelodedistribuiodecontedosnaCCN(retiradode[CCNx])

2.CCN,oque?
As redes orientadas a contedo mudam radicalmente o paradigma de comunicao da
Internet.Apresentandoumanovaabordagemdecomunicaobaseadaapenasnocontedo,as
ROCs enfatizam o acesso informao independente de sua localizao, tornando a
arquitetura da rede adequada para a distribuio de contedo. As ROCs utilizam alguns
conceitos inovadores como contedo nomeado, roteamento baseado em nomes, segurana
aplicadadiretamenteacontedosearmazenamentodedadosnosnsintermediriosdarede.
Content Centric Networking (CCN) um novo paradigma de comunicaes por
computador centrado volta dadistribuiodoscontedos,poroposioaumacomunicao
centrada em mquinas origem/destino. Esta abordagem alternativa arquitetura de rede,
baseada no princpio em que a comunicao em rede dever permitir ao utilizador focarse
nos dados que precisa por oposio a referenciar em especfico, uma localizao fsica de
ondeosdadostmqueserobtidos.
A CCN habilita o armazenamento de contedo, na rede, para reduzir o
congestionamento e otimizar a velocidade de entrega, uma configurao mais simples de
dispositivos de rede e constri segurana na rede ao nvel dos dados. Este tipo de redes tem
vindo a ser denominada de vrias formas ao longo do tempo. Por exemplo, Networking
Named Content (NNC) uma evoluo de nomenclatura que tem vindo aserutilizadapara
se referir ao paradigma CCN e Information Centric Networking (ICN) para designar uma
abordagem sobre redes informticas, queassentamemparadigmas centradosnocontedo,de
entre as quais se destaca no objectivodesteestudoaCCN.Nofundotratasedevriosnomes
paradesignaremumaideiabase.
4

As Redes Centradas no Contedo (ContentCentric Networking), ou simplesmente


CCN, simplificam a soluo de determinados problemas de segurana relacionados a
arquitetura TCP/IP. Atualmente, para se prover a autenticidade e a integridade dos dados
compartilhados na rede, fazse necessrio garantir a segurana do repositrio e do caminho
que os dados devem percorreratousuriofinal.Almdisso,acontnuaeficciadosataques
de negao deserviopraticadoscontraaInternetatual sugereanecessidadedequeaprpria
infraestrutura da rede fornea mecanismos para mitiglos. Por outro lado, o modelo de
comunicaodaCCNfocadonocontedoemsienoemsualocalizaofsica.

3.ModelosdeCamada
A CCN uma arquitetura de rede projetada para permitir que usurios possam obter
contedos de maneira eficiente esegura.NaInternetatual,paraqueumusuriopossaobtero
contedo desejado, ele precisa requisitalo diretamente ao servidor onde o mesmo est
armazenado. Por outro lado, aCCNdesassociaosdadosdesualocalizaofsica,permitindo
que usurios (consumidores) requisitem contedos pelo nome, sem sepreocuparcomolocal
onde os mesmos esto armazenados. A infraestrutura da rede, por suavez, responsvelpor
encontraredevolverocontedorequisitado.
Para garantir a maior disponibilidade dos contedos, almdamaioreficinciaemsua
recuperao, os roteadores da CCN, chamados de roteadores de contedo, armazenam em
cache os dados por ele recebidos. Assim, em requisies posteriores o contedo desejado
pode ser recuperado do cache mais prximo, reduzindo o tempo de resposta eoconsumode
larguradebandanoncleodarede.
Como pode ser observado na Figura 5, apesardaestruturaadotadapelaCCNserbem
parecida com aquela adotada pelas redes TCP/IP, ela apresenta algumas diferenas
fundamentais. Em primeiro lugar, a "cintura fina"da CCN passa aserocontedoemsieno
o protocolo IP (Internet Protocol). Essa caracterstica ilustra bem o paradigma de orientao
ao contedo adotado pela CCN. A segundadiferenaadefiniodeumacamadaespecfica
para segurana. Uma vez que os contedos podem ser obtidos de qualquer n da rede,
confiveis ou no, preciso garantir que os mesmos sejam autnticos e ntegros, mas sem a
necessidade de garantir essas mesmas propriedades toda a infraestrutura da rede. As
questes relativas a camada de segurana sero discutidas na Seo 3.3. Por fim, a CCN
tambm inclui uma camada de estratgia sua pilha de protocolos. Como ser explicado
nesta seo, os pacotes trocados na CCN so livresdeloops,oquepermiteaosroteadoresos
encaminharem atravs de mltiplas interfaces ao mesmo tempo, utilizando qualquer
tecnologia disponvel, como Ethernet, 3G, Bluetooth e IEEE 802.11. Ao invs de sempre
encaminhar pacotes portodasasinterfacesdisponveis,oquepoderianosermuitoeficiente,
os roteadores podem utilizar diferentes estratgias de encaminhamentodepacotes,deacordo
com a camada de estratgia da CCN. Outra caracterstica importante que a CCN pode
funcionar sobre o protocolo IP, o que permite que a mesma seja implementada de forma
incrementalnaInternet.

Figura5NovomodelodecamadasCCNcomparadocomomodelodapilhadeprotocolos
TCP/IP(retiradode[Jacobsonetal.2009])

4.Arquitetura
CCN, uma arquitetura baseada na utilizao de contedo como objeto elementar da rede,
tratando questes como alta disponibilidade e segurana de contedos, independente da
localizao. CCN, preserva alguns dos conceitos do TCP/IP queotornaramsimples,robusto
e escalvel, estendendoos para prover uma camada deredeflexvel,compoucasrestries
camadadeenlace.

Tiposdepacotes
A CCN, utiliza apenas dois tipos de pacotes para efetuar toda a troca de informao. Esses
dois tipos de pacotes so, o pacote Interest packet, ouIpacketeopacoteDatapacket,ou
Dpacket,ondecadapacote"Ipacket"consumidoporumpacote"Dpacket".
O modelo baseado em "Pullbased" com dois tipos de pacotes "Ipacket" e
"Dpacket", onde o consumidor impulsionado envia um pedido "Ipacket broadcast", espera
pelo "Dpacket". O pacote "Dpacket" transmitido em resposta, satisfaz o pedido do pacote
"Ipacket".
Para um utilizador solicitar contedos pelo seu nome, rede, utiliza os pacotes
"Ipacket". Este tipo de pacote, alm do nome do contedo solicitado tambm transporta
aindaasseguintesinformaes:
Resposta
: Na CCN os contedos podem ser obtidosapartir dacachedonmaisprximoda
rede ou da sua fonte. H casos emqueoutilizadorsabe,priori,nomeadamentenaobteno
de contedos dinmicos, que o contedo solicitado no estar armazenado emcachedosns
da rede. Nessa condio, este campo permite ao utilizador indicar que contedo deve ser
devolvidodiretamentedasuafonteedestaformaevitarseprocessamentedesncessrio.
Filter
: O contedo, na CCN,pedido atravsdoseunome,quepodesercompletoouapenas
parcialmente pelo seu prefixo. Assim que um pacote Ipacket recebido por um routerou
uma fonte de contedos, efetuada uma comparao de maior prefixo entre o nome que
consta no pacote Ipacket e os nomes dos contedos armazenados. Se for encontrada uma
correspondncia, o contedo enviado ao utilizador que o solicitou. Se existir mais do que
uma correspondncia para esse contedo, nesse casso ser necessria fazer uma escolha de
dentre as vrias disponveis, uma vez que apenas uma resposta pode ser enviada para cada
pacote Interest enviado. Deste modo, o filtro de excluso utilizado com uma lista de
parmetros que no devem constar nonomedocontedoadevolver.Osnomessoformados
por um conjunto de componentes separados entre si pelo carcter / , representando uma
hierarquia. Vamos supor, por exemplo, que temos armazenados em cache num router, os
6

contedos
isep.ipp.pt/entidade/apresentacao.mp4
e
/isep.ipp.pt/noticias/2014/reportagem.mp4. Se esserouterreceberumpacoteInterestparao
nomedecontedo/isep.ipp.ptequeofiltrodeexclusocontmoparmetro/noticias.
A comparao de maior prefixo, neste caso, iria ter como correspondncia ambos os
contedos presentes na cache. Mas, aps ser analisada a lista do filtro de excluso, o
contedo /isep.ipp.pt/noticias/2014/reportagem.mp4 seria eliminado da seleo, sendo
devolvidoapenasocontedo/isep.ipp.pt/entidade/apresentacao.mp4aopedido.
Scope
: A CCN trata os pedidos, por padro, de forma recursiva. Naprticaoqueacontece
que, se um router no conseguir satisfazer determinado pedido Interest, o pacote ser
encaminhado para o prximo n quefordeterminadopeloprotocolodeencaminhamento.De
forma a ser possvel alterar este comportamento, utilizase ocamposcopeparadefinirqualo
nvel nahierarquiadarede,atondeopacoteInterestdeveserprocessado.Se,porexemplo,
o valor deste campo for definindo como 2, o pacote Interest podealcanarnomximoo
routerdoprximosalto.
Hash
: O utilizador deve especificar neste campo quem dever ser o emissor do contedo
pedido, colocando aqui uma hash (SHA256) da chave pblica do emissorpretendido.Desta
forma sserdevolvidoocontedopedidoseahashdachavepblicadessepacoteInterest
forigualhashdachavepblicaqueconstarnopacoteData.
Nonce
: O campo nonce utilizado para impedir a existnciadeloopsnaredeepreenchido
com um nmeroaleatrio,possibilitandoassimaorouteraidentificaodepacotesInterest
duplicados.
Para transportar os contedos pedidos pelos pacotes Interest, a CCN utiliza os
pacotes Data. Todos os pacotes Data so assinados pelo seu emissor deformaagarantir
as questes de segurana. Para possibilitar a verificao desta assinatura, os pacotes Data
tambm armazenam na sua estrutura o algoritmo de criptografia utilizado e um localizador
quepossibilitaaobtenodachavepblicadoseuemissor.
Um utilizador malintencionado, ou habitualmente designado por Hacker pode
utilizar Botnets, para criar uma grande quantidade de trfego em redes IP, atravs da
utilizao tpica dos protocolos TCP, UDP ou ICMP e direcionar este trfego para um alvo
em especfico, tendo como finalidade provocar o esgotamento seus recursos de rede e
processamentodeformaaqueestefiqueindisponvel.
Num pacote Interest no possvel indicar um destinatrio, portanto podemos
concluir que s possvel a um utilizador malintencionado tentar ataques ao emissor do
contedo, uma vez que os pacotes Interest so os nicos que so encaminhados para ele.
No entanto, aps a primeira obteno de contedo solicitado os prximos pedidos desse
mesmo contedo, mesmo que sendo pedidos por outros, j sero satisfeitos pela sua
existncia em cache no n de rede maisprximo,quetiverumacpiavlidadessecontedo.
Assim sendo, esta propriedade reduz eficazmente este tipo de ataque, pois nem todos os
pacotes de Interest sero enviados at ao emissor do contedo. Podese desta forma
concluir que, uma vez que na CCN os pedidos so baseados em encaminhamento, no h a
possibilidadedeataquesdotipoDoS.

EstruturadoNdaCCN
Cada n da CCN compostoportrsestruturasdedadosparaoperaesdeencaminhamento
de pacotes: um armazenador de contedo ( Content Store CS) para cache temporrio de
dados recebidos, uma tabela de interesses pendentes (Pending Interest Table PIT) e uma
basedeinformaesdeencaminhamento(ForwardingInformationBaseFIB).
AprioridadedeprocuranatabelaCS>PIT>FIB

ContentStore
A CS Content Store guarda pedaos contedo que permanecem vlidos aps o
encaminhamento. utilizado como buffer de memria para economizar largura de banda,
todososnsfornecemcaching.Existemvriaspolticasdecachingpossveis(LRU,LFU).
A Content Store, possibilita uma maior eficincia no acesso a contedos pelos
consumidores, uma vez que utiliza a tcnica de armazenamento de contedo em cache
routers. Para que isto seja possvel a CS utiliza uma tabela de ndices que vai sendo
atualizada com os nomes dos contedos que esto guardados na sua cache, possibilitando
desta forma a verificao de uma correspondncia do nome do pacote Interest ou pacote
Data que possuam o nome dos contedos armazenados. A frequncia de atualizao desta
tabela indexada depende da poltica de substituio e do perodo de validade que estiverem
definidosparaautilizaodacache.

PendingInterestTable
A PIT Pending Interest Table mantm o caminho de encaminhamento de Interesse, a
partir de diferentes interfaces. O pacote Data segue o pacote Interest de volta para o
pedido,senohouverdadosocorreumTimeOut.
A PIT uma tabelaindexada,quevaisendoatualizada,com nomesdecontedo.Esta
tabela guarda uma lista de interfaces de onde foram recebidos pedidos de pacotes Interest
para um determinado contedo. Assim, quando um router recebe um pacote Data,verifica
na tabela qual alistadeinterfacesporondeforamrecebidospedidoscompacotesIntereste
atualizaestainformao.DestaformaopacoteDataencaminhadoparatodasasinterfaces
que constam dessa lista, o que nos leva a concluir que os contedos so enviados aos
consumidores no sentido inverso ao que foi percorrido pelo seu correspondente pacote
Interest
graas a este mecanismo, que a CCNconsegueaagregaodepacotesInterest,e
desta forma, consequentemente a reduo da utilizao da largura de banda. Dado que os
pacotes Data efetuam sempre o caminho inverso ao percorrido pelo seu correspondente
pacote de Interest, concluise ento que os routers da CCN no necessitam de encaminhar
mais do que um pacote de Interest para o mesmo contedo. Sempre que um novo pacote
Interest for recebido, apenas necessrio adicionar a sua interface lista de interfaces da
PIT e deste modo, quando o pacote Data correspondente for recebidopelorouter,todosos
pacotes Interest sero satisfeitos de forma conjunta. Atendendo aqueumpacoteInterest
podeserencaminhadoatravsdemltiplasinterfaces,diversascpias deumpacoteInterest
podem seguir caminhos diferentes, mas passarem por alguns routers em comum. Ento, de
forma a evitar que os pacotes Interest efetuem loops, ou seja o mesmo pacote Interest
seja recebido mais de uma vez pelo mesmo router e seja entendido como se tratasse de
pacotes Interest distintos, a PIT tambm guarda os nonces de cada um destes pacotes.
Assim, se for recebido pelo mesmo router mais do que umpacoteInterestparaummesmo
contedo, atravsdautilizaodeumacomparaodononcedopacoteInterestcomaquele
que se encontra armazenado na PIT,estasituaodetectadaeessepacoteInterestento
descartado. Mesmo que os pacotes Interest no fiquem pendentes eternamente e caso o
contedo solicitado no exista, associado um temporizador a cada uma destas entradas da
PITeassimqueestasexpiraremaentradacorrespondenteeliminada.

ForwardingInformationBase
A FIB Forwarding Information Base por analogia a conhecida IP Routing Table.
onde so guardadas as rotas para encaminhamento de Interesses fonte do contedo.Vrias
interfacesdesadapordestino,semrvoredeexpanso.
8

A FIB de um router CCN, muito similar de um router IP, contudo difere


fundamentalmente em dois pontos. Pois genericamente uma FIB IP associa um prefixo de
redeespecficoa umanicainterfacedesadaecalculaocustodomelhorcaminhoatravs do
protocolo de encaminhamento. Alm disso uma FIB CCN pode conter uma lista com vrias
interfacesdesada,oquepodepermitirqueumpacoteInterestsejaencaminhadoatravsde
mltiplos caminhos. O segundo ponto fundamental que ao contrrio de uma entrada na
tabela de encaminhamento IP, que apenas possui as informaes do prximo salto, uma
entrada FIB CCN possui informaes que facultam todo o processo de encaminhamento
dinmicodospacotesInterest.
A CCN possui uma estrutura que possibilita que os protocolos de encaminhamento
atualmente utilizados na Internet possam ser adaptados para passar a trabalhar com prefixos
de nome em vez e trabalharem com endereos IP. Estes protocolos de encaminhamento
fornecem FIBqualainterfacedesadaparaumdadopacoteInterest,combasenonome
de contedo que estepossui.Assimsendo,semprequeoprotocolodeencaminhamentodeixa
de anunciar um determinado prefixo, este no logo eliminado da FIB, porque alguns
interesses para este prefixo podem ainda estar em circulao. As entradas da FIB s so
eliminadas aps expirar a validade que estiver definida. Para evitar queospacotesInterest
sejam descartados, derivado de alteraes de rotas durante a fase de convergncia do
protocolo de encaminhamento, as entradas da FIB s expirarem de acordo com o tempo de
duraoquelheestiverassociado.
Se um n receber um pacote de Interest e o contedo solicitado no estiver
guardado na sua CS e simultaneamente no existir uma entrada que lhe corresponda, naPIT
ou na FIB, ento esse pacote Interest ser descartado. Esta situao acontece porque o n
no tm o contedo solicitado e no sabe como encaminhar o pedido na direo de outo n
que esteja ao seu alcance e possuaumacpiavlidadestecontedo.CasoopacoteInterest
esteja pendente na PIT de outros routers ao seu alcance, essas entradas iro eventualmente
expirar e esperar que as entradas da PIT expirem pode provocar uma perda de tempo
demasiadamente excessiva. Devemos tambm ter em conta que se um pacote Interest no
conseguir encontrarocontedosolicitado,todosrestantespacotesInterestparaessemesmo
contedo sero bloqueados, graas agregao desses pacotes no router. Deste modo [Yi et
al. 2012] propem que o n envie, pela mesma interface que o mesmo foi recebido, aps
descartar o pacote Interest, uma confirmao negativa (NACK) onde consta o nome de
contedo que est no pacote Interest descartado, e um cdigo de erro, para ajudar na
identificao do problema. Sempre que recebido um NACK num router para determinado
contedo,eledevertentarencaminharnovamenteopacoteInterestatravsde umconjunto
de interfaces alternativas. Caso no exista esse conjunto, ento o router tambm no ser
capaz de atender ou encaminhar os pacotes Interest para este contedo. Desta forma deve
ser encaminhado pelo router, um NACK, atravs das interfaces existentes na entrada da PIT
correspondente, sendo este removido em seguida. A utilizao desta tcnica permita CCN
detectardeformamaiseficienteaexistnciadeproblemasnaobtenodecontedos.

ComopedirContedos

O consumidor envia um pacote Interest redequecontm,nomnimo,onomedomesmo.


O router aps receber o pacote Interest extrai o nome do contedo e efetua uma procura
pelo maior prefixo no seu CS. Se for encontradaumacorrespondncia,entosergeradoum
pacote Data no router e enviao para a interface por onde chegou o pacote Interest. Se
no for encontrada uma correspondncia orouterverificasejexisteumaentradanasuaPIT
para o contedo. Em caso afirmativo, o router verifica se o nonce do interesse recebido est
9

contidonalistadenonces,que armazenadanaPIT.Semprequerecebidaumacpiadeum
pacote Interest, este deve serdescartado.Senoforumacpia,entotratasedeumpacote
Interest novo que guardado na PIT, assim como a sua interface de entrada e o seu
nonce e o pacote Interest descartado. Se no existir nenhuma na PIT, o router efetua
uma procura de maior prefixo na sua FIB e tenta encontrar interfaces de sada para opacote
Interest ser encaminhado. Caso no consiga encontrar uma interface de sada para o
contedo solicitado pelo pacote Interest, ento o pacote descartado e enviado um
NACK para a sua interface de entrada. Se encontrar uma interface de sada, nesse caso
criada uma entrada na PIT que contem a interface de entrada e o nonce do pacote
Interest. O router a seguir decide quais as interfaces pelas quais vai encaminhar o pacote
InterestatravsdeumaconsultaasuacamadaStrategy.
Quando um router recebe um pacote Data efetua uma extrao ao nome do contedo e
efetua uma verificao na PIT, se existe alguma entrada para o mesmo. Caso noexistaisso
significa que o contedo no foi solicitado e descartado o pacote Data. Caso exista, o
contedo do pacote de Data dados armazenado no CS desse router e posteriormente
encaminhado por todas as interfaces que estejam na entrada da PIT. Se o router receber um
NACK e no um pacote Data, nesse caso poder tentar reencaminhar o pacote Interest
utilizando interfaces alternativas ou pura e simplesmente descartar a entrada correspondente
da PIT e encaminhar esse NACK para todas as interfaces que constem nela. Pode ser
consultado[Ribeiroetal.,2012]parainformaomaisdetalhadasobreestatemtica.
Segundo defendem [Martins and Alberti, 2011], um dos princpios das redes
centradas na informao que os utilizadores podem beneficiar de cpias de contedos
espalhados ao longo da rede, permitindo otimizar a disseminao global da informao. A
cachedecontedosportantopartecrucialnasabordagensderedescentradanainformao.
Na CCN podemos encontrar o contedo utilizando um mecanismo de pesquisa local
ou ao longo do caminho do pacote Interest at potencial fonte. No entanto, podemse
colocar questes acerca da utilizao de caching, no que concerne aos seus aspectoslegaise
contratuais.
Encaminhamento Dinmico
: Atualmente naredesIP,conforme[MartinsandAlberti,2011]
o encaminhamento efetuado pelos protocolos de encaminhamento, que tmcomoprincipal
responsabilidade, encontrar uma rota com o menor custo entre dois ns e propagla paraos
routers vizinhos na rede. Desta forma o encaminhamento de pacotes definido
exclusivamente pelo caminho indicado pelo protocolo de encaminhamento. Tendo em conta
que os pacotes daCCNnoefetuamloops,possvel,graasaisso,seremencaminhadospor
mltiplas interfaces ao mesmo tempo. Neste cenrio oprotocolodeencaminhamentopassaa
ter a funo de identificar todas as rotas disponveis paraumdeterminadonomedecontedo
e proliferar esta informao na rede, para que os routers possam construir as suas FIBs.
Sempre que um pacote Interest necessita de ser encaminhado, podehavervriasinterfaces
de sada disponveis. Desta forma o router pode encaminharopacoteInterestparatodasas
interfaces disponveis ou escolher um apenas um subconjunto das mesmas, em funo da
deciso que tomar. O fato dos pacotes de Data percorrerem obrigatoriamente o caminho
inverso ao do pacote Interest outra caracterstica importante da CCN. Tendo em conta
que, cada router por onde passa um pacote Interest passar obrigatoriamente o respectivo
pacote Data, tirando partido desta particularidade os routers recolhem algumas estatsticas
que podem ser utilizadas no apoio ao processo de encaminhamento de pacotes Interest e
desta forma poder escolher os melhores caminhos de forma dinmica em funo das
condiesatuaisdarede.

10

NomeaoHierrquica
Atravs da concatenao de direfentes componentes hierrquicos de nome, identificadores
nicos podem ser formados para atribuio a contedos. Os nomes hierrquicos possuem
uma caracterstica semntica, umavezquesuasestruturas ecadaumdoscomponentesqueas
compem refletem alguma informao respeito da natureza do contedo: propriedade,
verso, formato etc. Dessa forma estruturas semelhantes a identificadores uniformes de
recursos (Uniform Resource Identifiers URIs) podem ser utilizados na representao de
nomeshierrquicos.
Para obter contedo gerado dinamicamente necessrio que os usurios sejam
capazes de construir, de forma determinstica, os nomes dos dados desejados sem qualquer
conhecimento prvio do nome ou contedo em si. A utilizao de nomes parciais e
requisies relativas um recurso que permite determinar sequncias de nome de forma
simplificada, explorandoasrelaeshierrquicasentreoscomponentesdonome.Umusurio
pode requisitar o contedo br.ufc/video/intro.avi, por exemplo, baseado na composio
representadanafigura6ereceberumpedao(chunk)especficodessecontedo,denominado
br.ufc/video/intro.avi/1/1. Num segundo instante, esse pedao recebido pode ser utilizado
para selecionar e requisitar outros pedaos do contedo de forma relativa ao primeiro
segmentoobtido,comoporexemploopedao3,cujonomebr.ufc/video/intro.avi/1/3.

Figura6NomehierrquicoestruturadocomoURI.

Uma consequncia direta da utilizao de nomes hierrquicos a possibilidade de


agreglos atravs da utilizao de mapeamento de prefixos longos, de forma anloga
agregao de rotas realizadas pelos protocolos de roteamento IP. Dessa forma grande parte
dos mecanismos j propostos para o tratamento de endereos IP podem seradaptados parao
tratamento de nomes hierrquicos, facilitando o processo de adoo gradativa das ROCs e
reduzindo a carga sobre os protocolos de roteamento. Justamente por refletir propriedades
dos contedos de forma estrita, os nomes hierrquicos no possuem uma caracterstica forte
de persistncia.Asemnticaportrsdestesnomesnopermiteousopersistentedosmesmos,
uma vez que qualquer mudana hierrquica, como a transferncias de propriedade ou de
entidadepublicadoradocontedodeveserrefletidanoscomponentesdonome.
5.ExemplodeUso
AinstalaodoCCNxbastantesimpleslogoabaixosegueospassosparainstalaoda
verso0.8.2noUbuntu14.04:
Primeiro:Instaletodasasbibliotecaseospacotesrequeridos
sudoaptgetupdate
sudoaptgetinstalllibssldevlibexpat1devlibpcapdevlibxml2utilsvlcwireshark
openjdk7jdkantgitcoregccathenajotpythondevmake
Segundo:Faaodownloadeinstaleocdigoccnx
Crieumdiretrio,senecessrio:
mkdir<ccnx_diretrio>
11

cd<ccnx_diretrio>

agorafaaodownloaddocdigo:
wgethttp://www.ccnx.org/releases/ccnx0.8.2.tar.gz
tarxvzfccnx0.8.2.tar.gz

Instalao:
cd<ccnx_directory>/ccnx0.8.2/
./configure
make

(Opcionalmente)Sevocdesejainstalarosbinriosparaolocalpadroemsuamaquina,
vocprecisaexecutar:
sudomakeinstall

Paratestarseainstalaofoibemsucedidadigiteocamandoabaixo:
maketest

Agorasesperaquetermine.Seainstalaofoibemsucedida,vocvervariasmensagens
TESTPASSEDeBUILDSUCCESSFULLduranteotestesemapresentarqualquererro.
Para executar o processo ccnx na maquina utilize o comando abaixo, a partir deste
momento voc ter um processo ccnx executando em sua maquina com todas as
caracteristicasimplementadaspeloprotocolo:
ccndstart

possvel visualizar a imagem abaixo no browser a partir do seguinte endereo


http://localhost:9695
:

Figura8

Testbeds
12

Sao infraestruturas experimentais que oferencem recursos reais ou virtualizados para testes
em ambientes reais. Podem ser compartilhados entre varios pesquisadores, como o testbed
oficial do Named Data Network [NDN Testbed ]eOpenNetworkLaboratory[ONLtestbed]
ou especificamente criados para um certo projeto, como por exemplo a criacao de um
ambientelocalcommaquinasvirtuaisrepresentandooshosts,switcheseroteadores.Testbeds
apresentam realismo, ou seja, executam codigo real em ambientes com pilhadeprotocolose
trafegoreal.
Para nosso exemplos vamos utilizar o testbed da Washington University (Open
Network Laboratory) que pode ser encontrado na URL:https://onl.wustl.edu/.OLaboratrio
de Rede Aberta(ONL) um recurso para a pesquisa de redes e comunidades educativas,
projetado para permitir uma avaliao experimental de conceitos avanados de rede em um
ambiente de trabalho realista. O experimento ser feito via ssh e utilizaremos o Remote
LaboratoryInterface(RLI).
Parautilizaraferramenta(RLI)oferecidapeloprojetonecessriorealizarcadastrono
site https://onl.wustl.edu/, no menu a direita click em Get an account, voc ser direcionado
para uma outra pagina onde ser necessrio preenchimento de um fomulrio bastante
intuitivo,aparteruimquelevadedoisatrsdiasparaserliberadoseuacesso.
J logado no site, click no menu a direita no linkGettingStartedquelhedirecionarar
para outra pagina, onde voc deve baixar os arquivos Get RLI.jar e
RLI SSHTunnelingque
baixaraoarquivoCCNx.shw,conformefiguraabaixo:

Figura9pginadosite

Com os arquivos j em sua maquina,vocdeveexecutaoGetRLI.jardadodoisclick


sobre ele ou execute pelo terminal com comando
java jar RLI.jar
, e ser aberto o sistema
RemoteLaboratoryInterface(RLI)conformeimagemabaixo:

13

Figura10RLI

Agora v at o menu topology acesse a opo Add New Hardware Type ser aberto
uma tela onde voc devera selecionar o arquivo CCNx.shw que voc baixou anteriormente
conformeimagensabaixo:

Figura11RLITopology

Feito o passo anterior o RLI habilitara adicionar hosts CCNx conforme imagem
abaixo:

Figura12RLIAdicionarHostCCNx

Desta forma voc j pode criarsuatopologiapararealizarosexperimentosdesejados.


No nosso caso vamos criar uma topologia simples com dois host e um roteador. Para
adicionar os host01 e host02 acesse o menu topology no sub_ menu Add PC1core => Add
CCNx,eoroteadorCCNxnosub_menuAddIXPCluster=>AddNPRCluster.Pararealizara
conexo entre os dispositivos basta clicar no menu links off para que ele mude para linkon,
emseguidaclicknaportadoroteadorquedesejaligaraohost,conformeimagemabaixo:

14

Figura13

Aps realizar a conexo entre os dispositivos apertenovamentenomenulink on para


que ele volte ao estado anterior link off, agora acesse o menu topology e click em Generate
Default Routes. Tendo realizado os passos anteriores vamos nos conectar ao ONL via ssh
para que possamosrealizarosexperimentosdesejados,abraoterminal ctrl+alt+tedigiteo
camandoabaixo:
sshL7070:onlsrv:7070Usuario_ONL@onl.wustl.edu

Ousurioutilizadoacimaeomesmocadastradonositeondevocbaixouaaplicao,
outro detalhe importante que neste primeiro momento voc deve tambm est logado no
site.
Aps realizar o passo anterior acesse o menu file e click no sub_menu makeresevationpara
solicitarrecursosdoONL,sugiraaimagemabaixo:

Figura14RLIConexoparareservaderecursos

Neste momento voc deve preencher com o mesmo loginesenhaquevoccadastrou


no site, em seguida sugira uma tela de confirmao edepoisatela paravocindicarotempo
que voc deve utilizar os recursos oferecidos, este tempo pode ser renovado no decorrer do
experimento, em seguida click novamente no menu file e sub_menu Commit para concluir
esseprocedimento.
Agora vamos realizar um teste de ping entre os dois host, para issoabraoutratela de
terminal ctrl + alt + t acesse novamente por ssh conforme descrito anteriormente aps este
passo utilize os dois terminais j aberto econectadosaoONLedigiteosseguintescomandos
emambos:
sshnome_host1ex.(pc1core01)
sshnome_host2ex.(pc1core02)

EmseguidaverifiqueoIPdoshostseotestedepingutilizandooscomandosabaixo:
ifconfig
pingip_host

Agora aps realizar o teste de ping vamos configurar uma rota entre os hosts, para
issovocsernecessriorealizaralgumasalteraesconformelistadoabaixo:
cd/usr/local/bin

Adicionandorotaparaopc1core02:
15

./ccndcaddccnx:/ccnx.orgudp192.168.2.2

O procedimentoacimaprecisaserfeitotambmdopc1core02paraopc1core01.Feito
os procedimentos acima possvel realizar outro experimento que j existe no CCNx, o
ccnchat,vamosfazelo.Parainiciarochatsigaoscomandosabaixo:
cd/usr/local/bin
./ccnchattextccnx:/ccnx.org/test_chat

Pronto voc j consegue conversar neste chat usando CCN! possvel tambm
realizar monitoramento do trafego com a ferramenta RLI mas no abordaremos neste
material.

6.Concluso
A CCN tem sido amplamente discutida por pesquisadores nos ltimos anos. A adoo do
paradigma orientado ao contedo, onde usurios requisitam contedos pelo nomeearedese
encarrega de encontrlos onde querqueelesestejam,tornaestaarquiteturamaisadaptadaao
novo perfil dos usurios e das aplicaes. Para permitir umamaioreficincianarecuperao
de contedos, os roteadores da CCNrealizamcachedosmesmos,demaneiraquerequisies
futuras no precisam ser encaminhadas at a fonte, reduzindo assim o tempo de resposta ea
utilizaodalarguradebandanoncleodarede.
Aoeliminaraassociaoentreoscontedosesualocalizaofsica,aCCNpermite
que a segurana dos contedos seja implementada de maneira mais simples. Ao invs de
garantir a integridade e autenticidade do n que armazena o contedo e do canal por onde
este trafega, a CCN estabelece que todos os contedos devam ser assinados por seus
publicadores. Dessa forma, para verificar se um contedo autntico entegro,bastaobtera
chavepblicadopublicadoreverificaraassinaturadocontedo.

7.RefernciasBibliogrficas

Jacobson,V.,Smetters,D.,Briggers,N.,Plass,M.,Stewart,P.,Thornton,J.andBraynard,
R.,VoCCN:VoiceOverContentCentricNetworks,ACMReArch09,December2009.

http://www.ccnx.org[ltimoacesso:Junho.2015].

https://www.ccnx.org/wiki/CCNx/CCNxPresentations[ltimoacesso:Junho.2015].

https://onl.wustl.edu/
[ltimoacesso:junho.2015].

http://wiki.arl.wustl.edu/onl/index.php/CCNx_in_ONL
[ltimoacesso:Junho.2015].

16

Vous aimerez peut-être aussi