Introdução


O grande crescimento da internet nas últimas décadas trouxe ao mercado uma série de novas aplicações interativas e inovadoras, que demandam cada vez mais uma distribuição pela rede, móvel, onipresente, segura e confiável. Nesse cenário, os usuários estão cada vez mais interessados no conteúdo (o que), do que no local (onde) este pode ser encontrado.

Assim, surge e ganha força uma nova proposta de reestruturação do que conhecemos como rede: As Redes Centradas no Conteúdo (ICN - Information-Centric Networks). Quebrando com o atual paradigma das atuais Redes centradas em Sistemas Finais, a ICN propõe uma nova implementação de rede através de conteúdo nomeado, independente do local onde esse está armazenado, ou quando esse é requisitado.

A ICN promete promover uma maior eficiência em termos de escalabilidade, largura de banda, consumo e robustez, visando principalmente refletir as necessidades atuais e futuras dos crescentes usuários da internet.

No trabalho que se segue, nos propomos a tangenciar os principais temas referentes à Redes Centradas no Conteúdo, dando um breve relance sobre o atual paradigma de rede sobre o qual a internet é fundada. Primeiramente discorreremos sobre os pontos chaves presentes em uma arquitetura ICN, seguindo pelas diferentes propostas de arquiteturas encontradas na literatura. Seguindo, falaremos sobre um ponto bem relevante, a segurança de redes ICN, assim como suas vantagens, desvantagens, e aplicações práticas.

A Distribuição de Conteúdo na Internet


Arquitetura Centrada em Sistemas Finais e suas Limitações

Podemos dizer que essencialmente, usuários da rede normalmente estão preocupados com o conteúdo, o que, não o onde essa informação pode ser encontrada. Na arquitetura atual da internet, a implementação do IP foca justamente no onde para recuperar o dado desejado, gerando uma série de problemas e limitações.

Um desses problemas é que os dados seguem um caminho definido pelas políticas de roteamento, ignorando informações extras que poderiam tornar esse roteamento mais eficiente, como dados replicados por exemplo. Outra questão importante é a questão de segurança. O IP inicialmente não foi arquitetado para oferecer nenhum suporte de segurança e, apesar de haver soluções posteriores que tentam resolver esse problema, essa confiabilidade está limitada ao espaço e ao tempo da transmissão desses dados.

Ainda podemos ressaltar que uma arquitetura centrada nos sistemas finais implica em em uma dificuldade em lidar com mudanças dinâmicas na topologia da rede e multihoming. Isso pode representar um grande problema para principalmente aplicações modernas, como na internet das coisas (IoT). Nesse caso, nem a identidade, nem a localização dos dispositivos muitas vezes são relevantes (ex: uma pessoa deseja saber a temperatura de sua casa, não necessariamente qual sensor está realizando essa medida.), mas esses estão intrinsecamente relacionados ao IP.



Comunicação Multi Destinatária

A comunicação multi destinatária (multicast) surgiu com o propósito de aumentar a eficiência da distribuição de conteúdo na Internet, evitando o consumo de recursos da rede e garantindo a escalabilidade do sistema. Para isso, foi implementado o serviço IP Multicast, que atua na camada de rede. Essa proposta tem como base agregar um certo número de estações em um único grupo que possui apenas um endereço IP. Assim, a fonte só precisa enviar um datagrama para que todos os componentes do grupo o recebam. Contudo, esse serviço não é utilizado em larga escala na Internet, devido a complexidade para configurar e gerenciar o conjunto de protocolos necessários a sua implementação. Essa complexidade, por sua vez, vem do fato de o IP Multicast permitir que qualquer estação participe da conversação sem exigência de autorização em um serviço muitos-para-muitos. Em função dessa complexidade, outras alternativas foram propostas como o serviço Source-Specific Multicast (SSM), que conta com apenas uma fonte e reduz a arquitetura do sistema em um-para-muitos. Apesar da melhora, a implementação desses serviços na camada de rede exige modificações na estrutura da rede, o que compromete a real aplicação desses modelos.



Redes Par-a-Par

As redes par-a-par (P2P) têm como ideia central a possibilidade dos próprios nós da rede atenderem a demanda gerada por outros nós, aumentando a escalabilidade e eficiência de todo o sistema. Assim, os usuários se conectam a rede e utilizam seus recursos para prover serviços a outros pares, recebendo também recursos em troca. Por esse motivo, as redes P2P se tornaram uma melhor alternativa à comunicação multi destinatária que contava com uma maior complexidade de implementação e aplicação em larga escala.

Além disso, as redes P2P reforçam a principal característica das redes ICN, uma vez que um usuário de BitTorrent, por exemplo, ao se conectar ao swarm, só está interessado em receber o conteúdo, independente de quem envia ou de onde envia. Portanto, a implementação desse modelo se tornou muito mais eficaz com o avanço da Internet, que permite usuários com uma alta banda de Internet, deixando outros modelos ultrapassados em desuso.

Porém, ainda que seja claro o aumento da eficiência nas redes P2P, ainda existem alguns desafios na aplicação em redes centradas no conteúdo. Entre esses desafios está a segurança, tendo em vista a distributividade do sistema par-a-par. Como os diversos nós podem enviar e receber recursos a todo instante, precisa-se garantir a confiança nessa transmissão de dados para os usuários da rede. Outro problema intrínseco a redes P2P é a intermitência dos pares, ou seja, o fato de um par poder entrar e sair da rede a qualquer momento dificulta a eficiência da distribuição de conteúdo.

Principais componentes na arquitetura de redes ICN


As unidades básicas de dados transmitidos por uma rede ICN são denominados NDOs (Named Data Objects). Usualmente, o NDO contém uma nomenclatura única; os bits que representam as informações da aplicação; uma assinatura digital que conecta o nome e os dados; uma chave pública que é usada para gerar essa assinatura.

Em uma rede ICN, ainda possuímos 3 papéis principais de seus componentes, o que influencia diretamente nos principais componentes da arquitetura. Qualquer dispositivo na rede pode estar exercendo, um, dois ou os três diferentes papéis simultaneamente, que são eles:

1) Os produtores: são eles os responsáveis por originar os NDOs. Eles são equipados com chaves público-privada, e devem publicar alguma informação acessível para disponibilizar os dados ao público.
2) Os consumidores: são eles os responsáveis por originar as requisições na rede.
3) Os roteadores: são os equipamentos responsáveis por transmitir os pacotes pela rede.



Nomeação

A nomeação pode ser considerada o principal elemento da arquitetura ICN, já que essa é completamente baseada nos nomes dos NDOs.



Fig 1: Se em redes centradas em Sistemas finais o IP configura-se como entidade central da conectividade, na ICN esse papel encontra-se em blocos de conteúdos nomeados. (extraido de https://named-data.net/project/execsummary/)


Para identificar um dado, independentemente de onde está armazenado, como foi encontrado e o caminho pelo qual ele é transmitido, a nomeação precisa ser feita de forma a garantir que os nomes serão únicos para identificar cada NDO distinto. Também é necessário que eles sejam persistentes e escaláveis, ou seja, preservem esse teor único independente de onde são encontrados e do quando.

Pode-se encontrar diferentes técnicas de nomeação que permitem identificar e requisitar o conteúdo de forma eficiente. A seguir, nos aprofundaremos mais sobre três delas: a nomeação plana, hierárquica e por atributos. A forma escolhida para dar nome aos conteúdos ainda é um ponto chave das diferentes propostas de arquiteturas, que serão discutidas mais à frente.



Fig 2: métodos de nomeação escolhidas por cada arquitetura de ICN (extraído de [3])

Nomeação Plana

A nomeação plana se trata de strings globalmente únicas, ou uma sequência de bits aparentemente aleatórios que dão nome a determinado conteúdo. Há diversas formas de mapear um dado conteúdo em seu identificador plano, sendo o mais comumente encontrado funções criptográficas de hash (uma função aplicada tal que é praticamente impossível recriar o valor de entrada utilizando somente o valor de dispersão), que geram cadeias de bit de comprimento fixos a partir de blocos de dados não arbitrários.

Por não possuírem nenhuma semântica, ou seja, não há nenhuma relação de localização, propriedade ou característica que influenciam na formação do nome, esse pode ser considerado persistente. Funções hash de certa forma também garante a unicidade da nomenclatura, já que há uma baixa probabilidade de colisões em seu mapeamento.

Um ponto positivo na utilização da nomeação plana é a autocertificação dos conteúdos e de seus identificadores. Utilizando-se pares de hashes criptográficos, temos uma chave pública e outra chave que é um rótulo arbitrário escolhido pelo publicador, sendo assim possível verificar a validade do pedido e da resposta.

Um contraponto entretanto é que nomes planos não são amigáveis ao usuário,sendo necessário mecanismos adicionais para esse mapeamento entre nomes e conteúdos. Essa falta de agregação direta ainda traz um grande problema de escalabilidade para o roteamento, podendo ser prejudicial à eficiência da implementação desses protocolos.


Nomeação Hierárquica

A nomeação hierárquica por sua vez, é construída pela concatenação de múltiplos componentes com uma lógica hierárquica, que normalmente podem ser naturalmente lidos pelo usuário. Em contraposição a nomeação plana, a hierárquica segue uma semântica, de tal forma que seus componentes refletem alguma informação a respeito do conteúdo.


Fig 3: Exemplo de nome hierárquico estruturado como URL (extraído de [5])

Um ponto positivo é que nomes hierárquicos podem ser mapeados de forma análoga à agregação de rotas realizadas por protocolos de roteamento IP, assim, a carga sobre o roteamento fica reduzido, sendo inclusive possível adaptar protocolos atuais. Além disso, esses também são uma base para segurança dos dados, já que o usuário final confirma se o conteúdo é o desejado, ou produzido por um produtor confiável, através do contexto do nome.

O contraponto contudo, é que nomes hierárquicos não são persistentes. Como esses devem refletir características dos dados, assim se alguma identidade é mudada, como o publicador do conteúdo, o nome consequentemente também mudará.


Nomeação por atributos

A nomeação por atributos possui uma proposta diferente das demais técnicas apresentadas anteriormente, de forma que não propõe uma identificação estrita a cada conteúdo. São propostos, por sua vez, pares de atributos valor-atributo para a identificação.

Chamamos o conjunto de restrições definidas pelo nome de predicados, que são mapeados para realizar a relação conteúdo-nome. Podemos ainda ter predicados que cobrem outros, quando um reduz o universo definido por um anterior. Isso acarreta em um aliviamento da carga sobre os protocolos de roteamento, que não precisam da ajuda de mecanismos externos para funcionar.

No quesito de problemas, temos a questão da unicidade, já que é difícil definir um conjunto mínimo necessário de restrições para correta identificação do conteúdo. Esse fato implica ainda em outro mais grave, que é a obtenção dos conteúdos em excesso ou falta, uma vez que o usuário pode não conseguir explicitá-lo de forma correta. Isso, além de prejudicar o desempenho das aplicações, ainda no caso de excesso traz uma ineficiência da rede como um todo.



Roteamento

O roteamento de dados diz respeito a construir um caminho para transferência de informações entre o usuário que faz a requisição e o provedor desta. Podemos dividi-lo em duas fases: O roteamento da requisição do NDO e o roteamento do NDO resposta.

Diferentemente do roteamento em uma rede tradicional, em uma arquitetura centrada no conteúdo, o roteamento está intrinsecamente relacionado a nomeação destes. Como não há um dado a respeito da localização propriamente dita, a rede precisa de outras informações a fim de melhor encaminhar requisições, de forma que essas encontrem um nó da rede que possua uma cópia do dado requisitado.

No geral, temos que o roteamento de conteúdo em uma rede ICN deve dispor de algumas características: A orientação a conteúdo, já que não possui-se informações sobre a localização de remetentes e destinatários; Robustez, tolerância, desvio e recuperação rápida a falhas; Eficiência, rapidez na resposta e tentativa de minimizar o tráfego na rede; Escalabilidade: uma proposta de roteamento para redes ICN deve funcionar desde topologias pequenas, de contexto local, até grandes, de escopo mundial.

Assim, as propostas no que tangem o roteamento de conteúdo em redes ICN podem ser divididas em dois grandes grupos: o roteamento não hierárquico e o roteamento hierárquico, que serão aprofundados a seguir.


Roteamento Não Hierárquico

O protocolo de roteamento não hierárquico parte de uma premissa semelhante a maior parte dos protocolos utilizados atualmente na internet. Isso é benéfico ao passo que muitos problemas já foram encontrados e solucionados, assim como muitas otimizações e melhorias já foram propostas.

Neste, não existem estruturas para o armazenamento de informações a respeito de roteadores, nem há nenhuma forma de hierarquia ou subordinação entre eles. Os enlaces entre nós são estabelecidos a cada momento, de acordo com as demandas instantâneas na rede. Por sua vez, o mapeamento desta encontra-se difundido para sua completude,sendo possível que qualquer roteador realize cálculos de melhor caminho.

Desta forma, o tráfego da rede não é estabelecido de forma determinística,ou seja, há inúmeras formas de obter-se um conteúdo válido, aumentado assim a disponibilidade da rede como um todo, gerando redundância, eliminando pontos únicos de falha, potencialmente melhorando a performance.


Roteamento Hierárquico

O roteamento hierárquico por sua vez, pode ser dividido em duas propostas, sendo que em ambas os roteadores seguem uma estrutura fortemente hierarquizada, de forma que a informação transita pela rede de forma mais determinística que no caso não hierárquico. A primeira proposta é a de árvores hierárquicas, e a segunda é a de tabelas hash distribuídas (DHT - Distributed Hash Tables).


Fig 4: A esquerda exemplo de rede definida como árvore hierárquica, a direita exemplo de DHT referente a mesmo domínio (extraído de [5]))


As árvores hierárquicas muito se assemelham a uma estrutura de dados tradicional em árvore. Nós pais (roteadores) estabelecem relacionamentos com os seus filhos (também roteadores), configurando-se como raízes dessas sub-árvores. Já nós pares são nós que encontram-se em um mesmo subnível em uma estrutura baseada em um mesmo nó raiz.

As informações de roteamento ficam concentradas nos nós pais, ou seja, nas raízes das subárvores. Assim, as rotas de comunicação entre roteadores pares são explícitas e a comunicação com seu pai só é necessária quando há um desejo de transmitir um dado pacote para outro nível da rede.

As vantagens desse método são a redução do custo computacional e de processamento em cada roteador. Além disso, reduz-se o gasto de memória, ao passo que cada roteador apenas guarda informações sobre seus filhos e não a respeito da rede inteira. Simultaneamente, isso se torna um problema, visto que a rede como um todo passa a ter diversos pontos únicos de falha, o que a torna mais vulnerável a falhas.

Já nas DHTs, tabelas de código hash criptografados são divididas entre os nós , de forma a distribuir a carga e evitar pontos únicos de falha. No modo hierárquico essas tabelas são implementadas ainda de forma a gerar redundância, de forma que um pai possua a tabela de todos os seus filhos. Dessa forma, a rede apresenta um forte isolamento a falhas, já que um problema em determinada subárvore não afetará o restante da rede.



Caching

O armazenamento de NDOs é um ponto chave no serviço ICN e é feito através do caching dos dados dentro da própria rede. Todos os nós da rede, incluindo os nós que compõem a infraestrutura da rede, nós domésticos e móveis, potencialmente possuem caches. Requisições de um NDO feita por um consumidor podem ser atendidas por qualquer nó que possua uma cópia do dado em memória.

Tipicamente na internet, uma pequena parcela dos conteúdos contribuem com a maior parte do tráfego na rede. Assim, aumentar a disponibilidade desses conteúdos populares através do caching, trazendo-os mais perto dos consumidores, representa uma potencial diminuição do congestionamento da rede, consequentemente resultando em uma melhora do serviço e eficiência.

Modelos de Arquitetura


Como visto anteriormente, as redes centradas no conteúdo possuem como elementos centrais em sua arquitetura a nomeação, roteamento e Caching dos dados na rede. Existem ainda diversas abordagens para implementação de cada um desses elementos essenciais, de forma que com o passar do tempo, foram propostos diversos modelos de arquiteturas ICN, cada uma com uma escolha de design que impacta em sua performance e escopo.


Fig 5:Tabela indicando decisões de design de alguns modelos ICN (extraído de [4])


A seguir discorreremos um pouco sobre os principais elementos de algumas principais arquiteturas ICN propostas na literatura, sendo algumas mais antigas que, apesar de já ultrapassadas, foram essenciais para a formação de uma base de conhecimento no campo e para propostas mais modernas e viáveis.


Fig 6: Linha do tempo indicando principais arquiteturas ICN e suas respectivas datas de publicação (extraído de [1])



TRIAD

TRIAD foi um modelo pioneiro na distribuição de conteúdo baseado no nome, normalmente uma URL, e não mais no endereço IP. Para isso, a TRIAD tinha como função expor uma camada de conteúdo capaz de realizar o roteamento do conteúdo, provendo um acesso transparente e a distribuição dos dados. Esse roteamento era realizado a partir de requisições HTTP e transporte TCP.



Data-Oriented Network Architecture (DONA)

DONA é uma arquitetura com uma abordagem clean-state de nomeação e localização de conteúdos na distribuição dos mesmos na rede de maneira confiável. Para isso, DONA permite que o cliente solicite um certo dado a partir de nomes planos e auto certificadores, ao invés do endereço IP.

Nesse sentido, a formação dos nomes em DONA é feita a partir de funções hash associados a chaves pública-privadas, que têm o papel de garantir a autenticidade dos dados. Os nomes planos, por sua vez, trazem dificuldade de serem associados pelos usuários, sendo um ponto negativo nessa arquitetura. Para ser capaz de funcionar corretamente, ou seja, o cliente fazer o pedido pelo nome do conteúdo, a arquitetura implementa duas primitivas operacionais: FIND e REGISTER. A primeira permite que o cliente seja capaz de requisitar um dado a partir do seu nome. A segunda tem como função permitir que os provedores de conteúdo indiquem sua intenção de servir um certo dado. Para isso, DONA apresenta register handlers (RHs), que são responsáveis por combinar as funções de resolução de nomes e armazenamento em cache de dados. Os RHs também têm o papel de rotear os pedidos dos clientes a vizinhos de menor custo. FINDs podem ser encaminhados a mais de um RH, caracterizando o sistema como multi-homed para obtenção de conteúdo.

Ainda, DONA possui extensões opcionais que visam a melhorar a utilização da arquitetura, como mecanismos de assinatura de conteúdos e notificação de atualização de FINDs de longa duração (com TTL). Além disso, outra funcionalidade importante é a de evitar servidores falhos ou sobrecarregados ao prover conteúdo.



Content-Centric Networking (CCN)

Outra arquitetura comum de redes centradas no conteúdo é a CCN, que tem como característica a divisão dos conteúdos em pedaços menores, formados por nomes hierárquicos que serão requisitados pelos nós. Com os nomes hierárquicos, é criada uma árvore de nomes, que permite ao usuário requisitar conteúdos baseado nos relacionamentos da árvore, onde é possível avaliar o posicionamento relativo de um nome a outros da mesma árvore, graças a essa estrutura hierárquica. Além disso, permite também uma agregabilidade aos endereços da rede, a partir do mecanismo de casamento do maior prefixo.

Essa arquitetura é baseada na troca de chunks do conteúdo, a partir da requisição de interesse de um certo cliente por um chunk, por meio de um pacote de interesse. Os nós vizinhos serão então responsáveis por responder a essa requisição com o pacote de dados referente a esse pedaço, caso o tenham em memória. Caso contrário, irão encaminhar o pacote de interesse aos nós vizinhos até que o interesse seja satisfeito.

Uma importante vantagem da arquitetura CCN é a segurança aplicada diretamente nos conteúdos, independente da forma de transporte. Dessa forma, os pacotes são assinados pelos publicadores do conteúdo, criando um vínculo entre os dados e o nome do mesmo. Com isso, poderá ser feita a autenticação desse vínculo por qualquer nó da rede, validando a chave utilizada na assinatura.



Publish Subscribe Internet Tecnology (PURSUIT)

A arquitetura conhecida como Publish Subscribe Internet Technology (PURSUIT), fundada pela EU Framework 7 Programme é uma continuação direta de um projeto mais antigo, o The Publish Subscribe Internet Routing Paradigm (PSIRP). Sua base consiste em três funções principais, a de encontro (rendezvous), a de gerência da topologia e por fim a de encaminhamento. A função rendezvous encontra uma cópia equivalente da requisição na rede, enquanto a função de gerência cria um caminho válido entre este nó e o usuário e por fim, a função de encaminhamento transfere os dados.

No quesito da nomeação, no caso do PURSUIT ela ocorre de duas formas simultâneas. O primeiro seria uma nomeação de um grupo, ou seja, o contexto em que essa informação está sendo procurada. Existe também um id próprio do conteúdo, que de fato o identifica. Um dado sempre está inserido em ao menos um contexto, e em cada um deles, pode receber uma nomeação própria única. Estes nomes que indicam escopo são organizados de forma hierárquica, enquanto os nomes próprios planos.

Já o roteamento nessa arquitetura é implementada de forma hierárquica. Temos um ponto importante que a questão de resolução do nome está desatrelada ao roteamento, como já explicado nas principais funções anteriormente. A resolução representa a etapa com maior consumo de tempo, já que não é feita seguindo os menores caminhos. O roteamento contudo é extremamente eficiente, principalmente por ser independente, o que permite que utilize critérios mais complexos para determinar a melhor rota.

O caching no PURSUIT pode ser feito tanto pelo caminho do roteamento, quanto por fora deste. No primeiro caso, um dado conteúdo é armazenado nos roteadores pelo caminho em que ele está percorrendo em resposta até o usuário, para aumentar a eficiência caso haja uma re-requisição. Isso pode acabar não sendo tão eficiente, justamente pelo fato da resolução do nome estar desatrelada ao roteamento, o que acaba não garantindo que em um novo caso, esse mesmo caminho seria escolhido. Já para caching fora da rota, os próprios roteadores funcionam como publicadores, anunciando o conteúdo para o restante da rede.



NDN

A NDN (Named Data Networking), fundada pelo US Future Internet Architecture program, se propõe a evoluir a arquitetura proposta no CCN. Tipicamente, a nomeação do conteúdo representa uma “cintura fina” na arquitetura NDN, assim como o IP para uma arquitetura centrada no sistema final. Um diferencial, contudo, é a proposta de uma camada estratégica, entre a de nomeação e as outras abaixo, que visa a otimização de recursos e uma camada de segurança aplicada diretamente ao conteúdo.

A nomeação na NDN é feita de forma hierárquica, de forma semelhante a uma URL. É esperado que a aplicação do usuário saiba a forma como o objeto é segmentado, contudo mecanismos são fornecidos para que esta descubra o que está disponível. Isso ainda é possível para conteúdo criado dinamicamente, ou seja, podem haver requisições de informação ainda não existente, que é criada a partir do pedido.

Quanto ao funcionamento da resolução de nomes e roteamento, um usuário ao enviar uma requisição está enviando uma chamada mensagem de interesse a rede e sua resposta é feito através de uma mensagem de dados. Cada roteador guarda uma tabela, além de seu conteúdo em cache, também dos pedidos encaminhamos e pendentes. No caso do nome não estar em cache, o roteador encaminha o pacote a partir das frações do nome mais altas na hierarquia, se está, ele envia a resposta pelo exato caminho inverso que o pedido, o que faz com que resolução da nomeação e roteamento estejam fortemente relacionados.



SAIL

Assim como o PURSUIT, o SAIL, Scalable and Adaptive Internet Solutions, também foi fundado pela EU Framework 7 Programme, e representa uma continuação direta do 4WARD (The Architecture and design for the future Internet). Essa arquitetura apresenta um número grande de ferramentas, que em certo ponto transbordam o contexto da ICN, buscando oferecer uma proposta de transição mais suave entre o atual modelo orientado a sistemas finais e o orientado a conteúdo. Sua arquitetura combina muitos dos elementos já observados no NDN e PURSUIT.

A nomeação no SAIL é de certa forma híbrida entre um modelo plano e hierárquico. Ela é plana no quesito da forma como é comparado o nome de um conteúdo com uma determinada requisição, ou seja, para a resolução de nome, como no PURSUIT. Já para a eficiência no roteamento, pode ser usado uma forma hierárquica como no NDN.

Na questão da resolução de nome e roteamento, por sua vez, o SAIL oferece a opção de realizá-los de forma desatrelada, atrelada ou ainda uma forma de modelo híbrido.

Já o armazenamento de informações em cache é feita de uma certa forma hierárquica. Nós mais altos na hierarquia possui um espaço de armazenamento maior, a fim de armazenar conteúdos mais populares, que potencialmente não poderiam ser armazenadas em um espaço pequeno. O SAIL ainda suporta o cache no caminho do roteamento de pacotes, assim como distribuições em larga escala pela rede. Além disso são propostas políticas de migração dinâmica do conteúdo, a fim de trazê-lo para mais perto do consumidor final.

Vantagens da informação centrada no conteúdo


Distribuição de Conteúdo Escalável e Eficiente

É incontestável que o tráfego da internet vem crescendo exponencialmente, e sua tendência é continuar aumentando cada vez mais. Esse crescimento se dá principalmente pelo avanço em redes sociais, streaming de vídeos, conteúdos distribuídos em massa e muitas vezes que se expande de forma viral, além do crescimento do uso de dispositivos IoTs.


Fig 7: Previsão do aumento do tráfego de IP em exabytes por mês (extraído de https://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white-paper-c11-741490.html)


Como já discutido anteriormente, a motivação principal de redes centradas no conteúdo é sua maior eficiência, se comparada ao modelo atual. Como os conteúdos não mais são encontrados em um único host, mas sim armazenados em cache nos próprios e em múltiplos nós da rede, isso possibilita uma diminuição do tráfego geral e um menor tempo de resposta para uma dada requisição, visto que conteúdos mais acessados podem ser armazenados em mais pontos da rede, mais próximos do usuário final e de forma a multiplicar os caminhos disponíveis para que se chegue até eles.



Nomeação Única e Persistente

Um grande problema na arquitetura centrada em sistemas finais é que a ligação entre um objeto e seu nome pode ser facilmente quebrado. Atualmente, um usuário busca um conteúdo buscando pela URL de sua localização. Através do DNS o endereço IP do host é obtido, e assim a requisição é enviada e o dado retornado.

Caso esse conteúdo mude sua localização, o site em que ele esteja encontrado mude seu domínio, ou ainda, esteja por algum motivo indisponível no momento, torna-se impossível recuperá-lo.

Como a nomeação na ICN é única e persistente, além de ser armazenada em diversos locais da rede, esses problemas são solucionados. Se um host estiver indisponível, poderá ser acessado ainda em outros, não possui localização fixa e seu acesso sempre se dará da mesma forma, por um mesmo nome.



Mobilidade e Multihoming

Como já abordamos, o tráfego na internet como um todo vem crescendo rapidamente e para o tráfego móvel este crescimento é ainda mais significante (visto a expansão do uso de smartphones, wearable devices). Em um modelo atual, que estabelece conexões ponta-a-ponta, se uma dessas está em constante movimento, podem haver problemas no roteamento e manutenção destas conexões.


Fig 8: Taxas de crescimento da internet móvel e fixa por país em 2017(extraído de https://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white-paper-c11-741490.html)


Como a conexão ICN não está relacionada a endereço específico, a solução deste problema se torna muito mais fácil. O cliente que está em movimento continua requisitando NDOs, que podem ser respondidos por diversas máquinas diferentes, ou seja, podem se estabelecer múltiplas conexões.



Tolerância a Desconexões

O fato do conteúdo em uma rede ICN poder ser encontrado em diversos nós na rede traz ainda mais uma vantagem, a maior tolerância a desconexões e falhas na comunicação.

Em um modelo atual, apesar de poderem existir múltiplos caminhos para o mesmo Host, esses podem estar sujeitos a problemas de rede, como muito tráfego, gerando altas perdas, latência elevada, interrupção na conexão, tanto por um problema no caminho, quanto por uma sobrecarga no sistema final. Na rede centrada a conteúdo contanto, há um número infinitamente maior de caminhos, levando a nós diferentes e igualmente válidos. Se há um problema em uma certa conexão, esse pode ser rapidamente solucionado direcionando o fluxo a outro roteador, melhorando assim significativamente a experiência do usuário, principalmente em aplicações em tempo real, como chamadas de vídeo ou streaming.

Aplicações da informação centrada no conteúdo


A não centralização da arquitetura de uma rede ICN apresenta um potencial para a implementação de outras tecnologias, nas quais a troca de informações precisa ser estruturada de maneira a garantir sua escalabilidade, como no caso de tecnologias IoT. A capacidade de multicasting , (content (or name)-based routing) e tolerância a atrasos e desconexões também atrai estudos sobre o potencial de redes ICN serem utilizadas para realizar streaming de vídeo.



Internet das Coisas

Apesar da proposta inicial da implementação de redes ICN não ser voltada para o campo de pesquisa da Internet das Coisas, a sua mudança no paradigma de comunicação entre dispositivos vêm sendo alvo de diversas experimentações com IoT.

Comparado aos modelos mais tradicionais utilizados para implementar a comunicação entre os diversos dispositivos em um ambiente de Internet das Coisas, par-a-par por exemplo, um modelo implementado por ICN apresenta a vantagem de ter a capacidade de buscar a informação desejada, já nomeada, sem depender da especificação de um nó dentro da rede, assim ajudando a reduzir o problema de escalabilidade geralmente encontrado em outros modelos de IoT.

Quando se trata de IoT é comum ter um ambiente composto por diversos dispositivos com capacidade computacional e acesso a recursos energéticos restritos, muitas vezes o sistema é dependente de uma série de receptores que permanecem em estado de hibernação e só são ativados quando recebem ordens diretas para realizar determinada função como consequência da baixa disponibilidade de energia. Por ter uma implementação de caching e multicasting, a arquitetura ICN apresenta uma gestão mais econômica pois não só fornece a possibilidade de determinada informação está armazenada em um nó já ativo, evitando a ativação desnecessária de um nó receptor, mas também não requer implementação de full web stack como no caso de um modelo CoAP.



Aplicação E-health

O aumento de tecnologias que utilizam WBAN (wireless body area network) disponíveis para o uso de monitoramento de saúde e para uso pessoal torna necessário a busca por alternativas à implementação IoT com base em IP.

A utilização de um framework WBAN-ICN possibilitaria o uso de uma rede WBAN sem os pontos negativos providos pela base IP, como a garantia de confiança somente na conexão entre dois dispositivos e a necessidade de registro de IP para cada mudança de dispositivo, e aproveitando o mecanismo de caching e nomeação ICN, permitindo que ao mandar um pedido de determinada informação na rede WBAN-ICN, essa informação, caso exista, seja encontrada e retornada com menor latência quando comparado a um sistema WBAN sem integração com ICN.


Fig 9: performance de tempo de resposta ICN-WBAN (extraído de [12])



Vídeo streaming para dispositivos móveis

Por não utilizar a capacidade computacional proporcionado por avanços nas tecnologias dos nós na rede, por exemplo roteadores modernos, o modelo de internet atual focado na comunicação entre servidores de conteúdo e usuários enfrentará dificuldades com o aumento de conteúdo disponível para acesso, problema no qual o modelo ICN visa solucionar.

Uma abordagem possível é o uso de Content Centric Network (CCN), uma arquitetura ICN, em combinação com Scalable Video Coding (SVC), técnica que codifica vídeos em camadas de modo que separa uma camada básica (BL) com propriedades limitadas como resolução e quantidade de quadros por segundo, e camadas mais avançadas (EL) que quando transmitidas junto com a camada básica é capaz de aprimorar a qualidade do vídeo, como mostrado na imagem 10.

Como proposto em [13], seria utilizado rede LTE com estações base conectadas com Evolved Packet Core (EPC).

Para determinar se determinado conteúdo é armazenada no cache da estação de base é levado em consideração a popularidade desse conteúdo. Quando a popularidade atinge determinado valor, a estação base realiza o cache e avisa às suas estações vizinhas sobre esse conteúdo. As estações vizinhas guardam a informação recebida em uma tabela chamada NCS (Neighbors Content Store), que armazena a informação responsável por direcionar à estação base que armazenou o conteúdo fisicamente.


Fig 10: Transmissão de vídeo codificado em svc dispositivos diversos com capacidades de reprodução diferentes. (extraído de [13])

Segurança


Como qualquer sistema de informação moderno, uma necessidade básica que deve ser suprida por qualquer proposta de rede centrada no conteúdo é a segurança.

Diferentemente dos modelos de rede atuais, as conexões entre roteadores não são confiáveis. Além disso, atualmente, os sistemas finais em sí são entidades confiáveis, já que são acessados através de seus endereços. Em uma arquitetura ICN por sua vez, esse host que disponibilizará determinado conteúdo pode ser qualquer nó na rede, que possua esse dado em cache. Assim os hosts deixam de ser entidades confiáveis, sendo necessário garantir outros meios com que a informação seja a desejada em sua integridade.


Fig 11: questão de segurança em redes ICN, hosts não confiáveis mas conteúdo confiável (extraído de https://www.slideshare.net/SAILproject/sail-regwsicnbahlgren)


Dessa forma, o modelo de segurança na ICN passa a estar centrado no próprio conteúdo, não mais no caminho, o que torna a segurança uma parte intrínseca da arquitetura, não mais uma camada que se sobrepõe a ela.

Além de ataques já conhecidos no modelo centrado em sistemas finais, surgem novas ameaças que exploram o modo operante ICN, trazendo novas vulnerabilidades. Entre essas características podemos citar: a inexistência de identificadores, o que torna difícil estabelecer limites para requisições de usuários; usuários podem receber um conteúdo de qualquer nó da rede, o que acaba dificultando a tarefa de autenticação; qualquer usuário pode publicar conteúdo e difundi-lo pela rede e pedidos não são mascarados aos nós da rede, o que traz consigo uma grande perda de privacidade.



Requerimentos de segurança

Podemos ressaltar quatro pontos primordiais de segurança que devem ser cumpridos por qualquer modelo de rede, inclusive os centrados no conteúdo, mas que contudo, são violados de alguma forma em certo tipos de ataque.

O primeiro deles é a confiabilidade, que se trata em garantir que somente usuários autorizados poderão ter acesso a um determinado conteúdo protegido. Outro é a garantia de integridade dos dados, sendo necessário detectar quando um dado é corrompido, seja este fato intencional ou não. Disponibilidade, que é garantir que um conteúdo na rede esteja disponível e acessível a todo instante. Por último temos a privacidade, que encontra-se tanto em garantir que as informações do usuário estão protegidas, bem como as da informação que transita pela rede.



Taxonomia dos ataques em ICN

Muitos novos ataques que não eram viáveis ou não possuíam efeito relevante em uma arquitetura de rede tradicional, exploram os principais mecanismos da arquitetura ICN, como a nomeação, o roteamento e o cache de conteúdo. Sendo assim, os pontos que trazem suas maiores vantagens são concomitantemente os que trazem as maiores vulnerabilidades. A seguir temos a taxonomia completa das formas de ataque, as quais exploraremos mais a fundo a seguir.


Fig 12: árvore indicando a taxonomia completa de ataques em uma arquitetura ICN (extraída de [10])


Ataques relacionados a nome

Os ataques relacionados a nomeação do conteúdo se aproveitam do fato que, para uma dada requisição ser atendida, o nome que identifica o conteúdo requisitado deve estar visível a todos os nós da rede. Isso não somente representa uma séria ameaça à privacidade do usuário, mas também torna mais fácil controlar ou bloquear acesso a determinado dado.

Podemos ressaltar dois principais tipos de ataques. O primeiro denomina-se Watchlist, no qual um atacante possui uma lista de conteúdos que deseja filtrar, deletar ou restringir acesso na rede, assim, ele monitora a rede em busca de pacotes que pertençam a essa lista, podendo tanto bloquear sua requisição, sua entrega, ou ainda, obtendo um ou diversos locais onde este está armazenado, e tentar deletá-lo da fonte. O outro é o Sniffing, que funciona de forma semelhante ao anterior, contudo, não há uma lista de conteúdos, a filtragem destes é feita através de por exemplo palavras chaves, podendo acarretar em uma forte censura a respeito de determinados temas de interesse.


Fig 13: atuação de um atacante que possui acesso ao tráfego na rede (extraído de [10])


Ataques relacionados a roteamento

Por possuírem conteúdo potencialmente espalhado e replicado por toda a rede, o modelo ICN precisa garantir a consistência desses dados, o que acarreta em uma vulnerabilidade, que pode acarretar em altos volumes de tráfego na rede. Além disso, o fato do redirecionamento desse em busca de outros nós que possuam um conteúdo armazenado, acaba agravando o cenário, grando facilmente exaustão de recursos e negação de serviço.

Os principais ataques que tiram proveito do protocolo de roteamento ICN são os DDos (Distributed Denial of Service). Apesar de haver diversos modos diferentes de realizar esses ataques, cada um com métodos ou objetivos mais específicos, no geral o que ocorre é uma alta taxa de pedidos (agravado pelo fato que na ICN é difícil estabelecer um limite de taxa de requisições por usuário). O cenário é agravado pois esses são transmitidos a novos nós da rede, que tentam responder ao serviço. Assim, não só o caminho entre os usuários e um fim é afetado, mas potencialmente uma grande parte da rede, resultando em uma ausência de resposta para muitos usuários.

Além disso, pelo fato de qualquer nó na rede potencialmente ter um caching de dados, é muito mais fácil para um atacante levar um pedido de um usuário para rotas inválidas, pacotes maliciosos ou ainda, obter suas informações, ainda sim dando resposta a esse, de forma que ele nunca perceba que está sendo atacado.


Fig 14: indica o problema de repasse das requisições em ICN no caso de ataques DDoS (extraído de [10])


Ataques relacionados a cache

No geral, os ataques que se aproveitam da cache são muito diversificados, tanto em seus objetivos quanto em sua forma de aplicação. Podemos ter por exemplo ataques que violem a privacidade do usuário, obtendo informações a respeito de seus acessos na internet. Quando um usuário pede determinado conteúdo, esse passa a ser armazenado em um nó da rede mais próximo a ele, para diminuir o tempo de resposta em pedidos futuros. Assim, analisando os tempos de resposta das requisições de um dado usuário, o atacante pode descobrir que conteúdos ele acessa mais frequentemente, seu perfil na internet.

Outra forma de ataque também pode ser tentar modificar o conteúdo dos caches nos roteadores, de forma com que os conteúdos mais populares sejam removidos, o que elimina a grande vantagem da utilização de uma arquitetura centrada no conteúdo. Isso pode ser feito gerando um grande volume de requisições aleatórias, ou até mesmo de conteúdos sabidamente impopulares, de forma que estes sejam armazenados, poluindo as informações dos nós da rede.

A ainda também formas de gerar negação de serviço através de alterações em cache. Um determinado atacante pode enviar atualizações massivas de conteúdos na rede, que por sua vez tentará respondê-la, mantendo a consistência dos dados e os alterando em todos os locais em que estes estão armazenados. Isso pode acabar extrapolando a capacidade de processamento das máquinas, gerando autos congestionamentos, e falta de resposta para requisições genéricas de usuários neste meio.


Outros ataques

Esses ataques não tomam vantagem de nenhum ponto central da arquitetura centrada no conteúdo, mas ainda sim são facilitados ou agravados por algumas escolhas de design dessas.

O primeiro diz respeito a um mal tratamento de pacotes, no qual um atacante tenta bloquear, alterar, ou responder maliciosamente a uma requisição, ou ainda, ele pode tentar gerar tráfego se passando por outro usuário confiável da rede.

Outro, é a tentativa de quebra da chave assinatura de entidades que possuem conteúdo publicado na rede, o que acaba sendo facilitado pela maior disponibilidade destes em diversos nós e em maior volume.

Por fim, temos o acesso desautorizado, que basicamente se trata de um atacante obter acesso a determinado conteúdo que deveria ser protegido, o que também é facilitado pelos mesmos fatores descritos para o ataque acima.



Soluções existentes e necessárias

Um grande problema para a solução ou atenuação de ataques propostas e funcionais para um modelo de arquitetura atual, muitas vezes não se enquadra para a ICN. Há diversas soluções propostas na literatura, mas a maioria visa a solução de um ataque em específico, ou ainda, de forma mais restrita só pode ser aplicável em uma determinada arquitetura ICN.

Ainda pelo fato de que, por seus fatores de design fazerem com que a segurança necessite ser um dos componentes da arquitetura, e não simplesmente uma camada que pode ser posteriormente desenvolvida e melhorada, para o avanço do conceito são urgentes buscas por soluções.

Em suma, na questão da nomeação, são necessários mecanismos que de alguma forma melhor mascarem os conteúdos dos pedidos e respostas, de forma a proteger a privacidade do usuário e dificultar uma filtragem maliciosa na rede.

No quesito do roteamento, o principal desafio se torna desenvolver meios de limitar a taxa de pedidos por usuário, ou tornar o protocolo mais inteligente, de forma que se perceber padrões maléficos de requisições, não continue roteando esta a outros nós da rede.

Por fim, para caching, existem algumas soluções existentes para servidores de cache únicos, contudo, não é transparente, ou sequer claro se é possível uma adaptação desses conceitos para um panorama em que todos os nós da rede são servidores cache. Uma outra abordagem interessante é focar nos algoritmos que operam sobre a determinação de conteúdos mais populares, de forma a torná-los menos sensíveis a serem corrompidos.

Desafios e contrapontos em Redes Centrada em Conteúdo


Apesar da clara evolução e importância do advento das Redes Centradas no Conteúdo, é praticamente impossível construir um sistema totalmente robusto e tolerante a qualquer tipo de falha. Nesse sentido, iremos abordar os desafios a serem encarados nessa arquitetura, envolvendo segurança, sobrecarga de informação e viabilidade socioeconômica desse tipo de aplicação.



Nomeação

Existem diferentes mecanismos que podem ser utilizados na nomeação de conteúdos, que permite às ICNs se tornarem viáveis, dentre eles, a nomeação plana, a nomeação hierárquica e baseado em atributos. Esses mecanismos possuem certos requisitos, que funcionam como métricas para a eficiência no contexto em que estão inseridos. Assim, cada mecanismo deveria garantir persistência, escalabilidade e facilidade de uso humano. Contudo, nenhum deles é capaz de prover todas essas propriedades, o que gera problemas na aplicação das ICNs.

No caso da nomeação plana, o principal problema é de escalabilidade, fruto da ausência de hierarquia e das complexas tabelas de roteamento. Dessa forma, foi proposta uma solução que provê a agregação explícita de nomes, concatenados da seguinte maneira: nome1.nome2.nome3...nomen, em que cada nome segue a nomeação plana individualmente. Assim, essa concatenação permite a representação do conteúdo estruturado, capaz de criar uma espécie de hierarquia virtual, em que a busca por entradas na tabela de roteamento inicia-se a partir do nível mais baixo da hierarquia.

Já a nomeação hierárquica enfrenta outro desafio, a dificuldade de garantir a persistência dos nomes. O fato desse mecanismo garantir a agregação dos conteúdos de forma hierárquica é responsável por prover escalabilidade e diminuir o tamanho das tabelas de roteamento. Porém, como os nomes refletem as propriedades do conteúdo de forma explícita, a mudança hierárquica gera os problemas de persistências dos nomes.

Ainda assim, os nomes planos também não são capazes de fornecer persistência dos nomes, tendo em vista a nomeação plana do tipo P:L, em que a chave pública do publicador está atrelada ao conteúdo e uma mudança de proprietário implica diretamente a mudança de nome. Uma primeira solução está na utilização de uma chave pública não mais do proprietário, mas sim do conteúdo em si, que seria repassada conforme houvesse uma mudança de proprietário. Uma outra abordagem mais profunda é baseada em gerar novos pares de chaves pública/privada para cada novo proprietário, de forma que a chave pública original é preservada. O novo proprietário deverá ser, então, autorizado a partir das chaves originais, gerando uma cadeia de certificados e garantindo a confiabilidade do sistema.

Portanto, pode-se notar que nenhum dos mecanismos apresentam todas as características necessárias, o que impede o consenso de qual é o melhor a ser utilizado, logo, aumenta os desafios que as Redes Centradas no Conteúdo têm que enfrentar.



Roteamento

O problema de roteamento dos conteúdos em ICNs está diretamente conectado a nomeação dos conteúdos. Como os nomes agora identificam os conteúdos, o roteamento não é mais feito baseado no IP e, além disso, podem ser utilizados diferentes tipos de mecanismos de nomeação, que foram vistos anteriormente. Por exemplo, nomes não agregáveis geram um problema de escalonamento e podem causar um aumento significativo das tabelas de roteamento, levando até a explosão. Por outro lado, evita os problemas de mobilidade dos endereços IP, devido a associação aos nomes dos conteúdos, que não carregam informações sobre a localização do mesmo.



Armazenamento na rede (caching)

O armazenamento em cache é uma questão fundamental nas Redes Centradas no Conteúdo, que tem como propósito aumentar o desempenho de todo o sistema. Isso ocorre pela diminuição do atraso percebido pelo usuário, pela otimização do uso da banda passante na rede, replicação para evitar o ponto único de falha e diminuição do tráfego próximo a fonte do conteúdo, que reduz a carga de processamento. Porém, diferentemente de alguns sistemas que utilizam o cache apenas nos servidores ou possuem uma topologia hierárquica, as ICNs guardam o conteúdo em cache em todos os nós da rede, flexibilizando a alocação de conteúdo. Além disso, são armazenados partes de mesmo tamanho do conteúdo, chamados de chunks, e não mais o conteúdo inteiro. Nesse sentido, o tamanho de cada chunk irá influenciar diretamente no desempenho da rede.

Um dos principais temas de pesquisa na área são os modelos analíticos para redes de cache, em que o maior desafio consiste na complexidade de uma rede de cache com o tamanho de toda a Internet. Diferentes modelos foram propostos para analisar o desempenho dessas redes, geralmente com topologias simples devido a essa alta complexidade. Outro tema está relacionado às estratégias de descarte conteúdo, ou seja, a substituição de conteúdos armazenados em cache quando esse está cheio e um conteúdo não armazenado é requisitado. Dois principais modelos são utilizados: Least Recently Used (LRU), em que o conteúdo usado menos recentemente é descartado, e Least Frequently Used (LFU), em que o conteúdo usado menos frequentemente é descartado. Por fim, outro tema de estudo é o desempenho das redes de cache baseado nas políticas de armazenamento de conteúdo. As três mais estudadas são o armazenamento de qualquer conteúdo que chega aos roteadores, o armazenamento de conteúdo aleatório com uma probabilidade fixa P e a política LCD (Leave a Copy Down), na qual o conteúdo que não for encontrado em um determinado roteador será armazenado no roteador seguinte no caminho do usuário que o solicitou.



Segurança

Em relação a segurança, as Redes Centradas no Conteúdo estão interessadas basicamente em garantir a confiança no conteúdo, verificando sua integridade, confiabilidade e a relevância do conteúdo obtido em relação ao requisitado. Uma solução parcial é a abordagem de nomes auto certificadores, em que se utiliza uma criptografia com o próprio conteúdo para gerar o nome. Entretanto, essa abordagem resolve apenas o problema de integridade e torna mais complexa a busca por conteúdos por gerar nomes planos. Outra abordagem é realizar uma operação criptográfica com a chave utilizada para assinar o conteúdo, que garante apenas a proveniência do mesmo. Porém, ambas as abordagens geram problemas em relação a facilidade de interação com o usuário devido ao uso de funções hash. Foram propostas outras soluções para evitar essa situação, entre elas, a autenticação da relação entre nomes e conteúdos, ao invés de cada um deles. Nesse sentido, os nomes seriam responsáveis por identificar o conteúdo e sua localização, enquanto que a autenticação seria feita através do mapeamento entre nome e conteúdo.

Outro problema de segurança é a privacidade dos usuários, tendo em vista que os roteadores com acesso aos pacotes podem adquirir as informações enviadas pelos usuários com base nos nomes expostos. Para evitar esse tipo de ataque, foi proposta uma solução que mistura blocos de conteúdo normais e proibidos, de maneira que seja necessária a requisição dos conteúdos agregados, dificultando o trabalho do atacante em saber qual pedido proibido está sendo requisitado.

Além disso, podem ocorrer outros tipos de ataque, visando a alteração dos conteúdos armazenados em cache, por meio do envio de pedidos que irão ser responsáveis por alterar a popularidade desses conteúdos, que podem ser irrelevantes. Nesse contexto, propõe-se um mecanismo em que apenas os conteúdos com a maior frequência são armazenados, diminuindo a eficiência dos ataques.

Pode-se perceber, portanto, que há ainda alguns problemas a serem atacados na questão de segurança, que é crucial para o bom funcionamento de qualquer sistema.



Aspectos Práticos

Em relação ao modelo econômico, as ICNs enfrentam um grande problema relacionado a forma como a Internet hoje funciona, baseado na conectividade. Os usuários pagam a um ISP local, que tem como função encaminhar pacotes. Para que seja possível a adoção dessa arquitetura em larga escala, os atuais operadores de rede e serviços teriam que migrar para esse novo modelo e ainda garantir o bom funcionamento, o que não é uma tarefa simples.

Outro aspecto crucial é a implementação de roteadores de conteúdo, que teriam uma função diferente dos roteadores atuais, que encaminham pacotes e calculam a tabela de rotas. Esses novos roteadores seriam responsáveis por encaminhar, armazenar e procurar conteúdos em seus caches, com base nos seus identificadores de conteúdo. Também deverá guardar estados para encaminhar de volta ao usuário que solicitou um certo conteúdo. Essa mudança gera muitos desafios, tendo em vista a necessidade de modificações de hardware e software dos roteadores. Será necessária, por exemplo, um aumento na velocidade de processamento em razão do encaminhamento de conteúdos com base nos nomes e não mais nos endereços e também do cache na granularidade dos pacotes.

Por último, as aplicações de conversa de voz e em tempo real também são alvo de estudos por muitos pesquisadores na área das Redes Centradas no Conteúdo. Foram vistas anteriormente as vantagens da utilização das ICNs em aplicações de distribuição de conteúdo. Contudo, em aplicações como o correio eletrônico e transmissão de voz sobre IP, é importante a investigação sobre o desempenho, já que os conteúdos são baseados nos nomes. Dois problemas vistos em uma aplicação sobre a arquitetura CCN envolvem como iniciar uma chamada e como o receptor identifica e responde ao originador, por exemplo.

Dessa forma, pode-se observar como as Redes Centradas no conteúdo ainda tem muitos obstáculos a enfrentar, sobretudo por causa das diversas mudanças necessárias, tanto a nível de software, como de hardware, para que sejam utilizadas em larga escala na Internet atual.

Conclusão


Redes centrada no conteúdo são sem dúvida uma proposta muito ambiciosa que visa mudar completamente a estrutura atual da internet, e a forma como pensamos em obter dados. Podemos perceber que também não é uma proposta única, visto que, apesar de possuir elementos de arquitetura bem definidos, muitas formas de implementação diferentes foram e vêm sendo propostas.

As ICN, possuem inúmeras e incontestáveis vantagens, como por exemplo maior eficiência, garantia de persistência na informação, mobilidade e tolerância a desconexões, que são muito úteis a aplicações modernas, que vem crescendo nos últimos anos. Essa proposta, apresenta pontos que podem solucionar problemas e melhorar a qualidade do usuário em geral para fins considerados o estado da arte da tecnologia, como dispositivos IoT, streaming, conteúdo on demand.

É incontestável porém, que atualmente há graves problemas no que tange a implementação da ICN. A questão da segurança por exemplo, deve ser um ponto principal a ser solucionado em novas propostas de arquiteturas, a fim de tornar sua aplicação em um mundo real viável.

Problemas como o de segurança, ou até mesmo nos gastos e desafios em se manter uma rede com cache em todos os seus nós, podem ser solucionados através de um investimento em pesquisas e como o surgimento de novas tecnologias, natural ao avanço do tempo. Ao passo, a complexidade de uma tentativa de reestruturação completa da internet, possui barreiras econômicas e logísticas muito mais fortes.

No panorama atual da internet, esta se tornou tão robusta e tão complexa que novas implementações acabam sendo rejeitadas ou postergadas pelo mercado. Um exemplo, mais simples que mudar a forma de orientação na rede é o IP, cuja atualização de versão é postergada e lenta, inclusive se encontrando novas soluções, como o NAT, para aumentar a vida útil do modelo antigo. A não ser que haja grandes investimentos empresariais, que estimulem uma implementação da área, é difícil imaginar uma substituição do modelo da internet, a não ser por um cenário de esgotamento, ou desastre no modelo atual, que será ditado pelos caminhos futuros da tecnologia.

Referências


[1] XYLOMENOS, George et al. A survey of information-centric networking research. IEEE Communications Surveys & Tutorials, v. 16, n. 2, p. 1024-1049, 2014.

[2] TROSSEN, Dirk; SARELA, Mikko; SOLLINS, Karen. Arguments for an information-centric internetworking architecture. ACM SIGCOMM Computer Communication Review, v. 40, n. 2, p. 26-33, 2010.

[3] AKBAR, Muhammad Sajjad et al. Information-centric networks: Categorizations, challenges, and classifications. In: 2014 23rd Wireless and Optical Communication Conference (WOCC). IEEE, 2014. p. 1-5.

[4] JIANG, Xiaoke et al. A survey on information-centric networking: rationales, designs and debates. China Communications, v. 12, n. 7, p. 1-12, 2015.

[5] DE BRITO, Gabriel M.; VELLOSO, Pedro B.; MORAES, Igor M. Redes orientadas a conteúdo: Um novo paradigma para a Internet. Minicursos do Simpósio Brasileiro de Redes de Computadores-SBRC, v. 2012, p. 211-264, 2012.

[6] JACOBSON, Van et al. Networking named content. In: Proceedings of the 5th international conference on Emerging networking experiments and technologies. ACM, 2009. p. 1-12.

[7] BARI, Md Faizul et al. A survey of naming and routing in information-centric networks. IEEE Communications Magazine, v. 50, n. 12, p. 44-53, 2012.

[8] AHLGREN, Bengt et al. A survey of information-centric networking. IEEE Communications Magazine, v. 50, n. 7, p. 26-36, 2012.

[9] BRAUN, Torsten; TRINH, Tuan Anh. Energy efficiency issues in information-centric networking. In: European Conference on Energy Efficiency in Large Scale Distributed Systems. Springer, Berlin, Heidelberg, 2013. p. 271-278.

[10] ABDALLAH, Eslam G.; HASSANEIN, Hossam S.; ZULKERNINE, Mohammad. A survey of security attacks in information-centric networking. IEEE Communications Surveys & Tutorials, v. 17, n. 3, p. 1441-1454, 2015.

[11] AMADEO, Marica et al. Information-centric networking for the internet of things: challenges and opportunities. IEEE Network, v. 30, n. 2, p. 92-100, 2016.

[12] LAL, Kumari Nidhi; KUMAR, Anoj. E-health application using network coding based caching for Information-centric networking (ICN). In: 2017 6th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions)(ICRITO). IEEE, 2017. p. 427-431.

[13] DETTI, Andrea; RICCI, Bruno; BLEFARI-MELAZZI, Nicola. Peer-to-peer live adaptive video streaming for information centric cellular networks. In: 2013 IEEE 24th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC). IEEE, 2013. p. 3583-3588.

Perguntas



1) Quais são os principais componentes de uma arquitetura de rede centrada no conteúdo e qual suas respectivas importâncias?


2) Quais as principais diferenças entre modelos de arquitetura ICN propostos na literatura?


3) Quais as principais vantagens de um modelo de rede ICN sobre um modelo de rede centrado em sistemas finais, e quais as suas principais aplicações?


4) Por que a segurança é um ponto tão relevante em uma arquitetura ICN e quais as maiores vulnerabilidades hoje apresentadas?


5) Explique o principal desafio de uma implementação prática de redes centradas no conteúdo.



"Este trabalho foi totalmente produzido pelos autores que declaram não terem violado os direitos autorais de terceiros, sejam eles pessoas físicas ou jurídicas. Havendo textos, tabelas e figuras transcritos de obras de terceiros com direitos autorais protegidos ou de domínio público tal como idéias e conceitos de terceiros, mesmo que sejam encontrados na Internet, os mesmos estão com os devidos créditos aos autores originais e estão incluídas apenas com o intuito de deixar o trabalho autocontido. O(s) autor(es) tem(êm) ciência dos Artigos 297 a 299 do Código Penal Brasileiro e também que o uso do artifício de copiar/colar texto de outras fontes e outras formas de plágio é um ato ilícito, condenável e passível de punição severa. No contexto da Universidade a punição não precisa se restringir à reprovação na disciplina e pode gerar um processo disciplinar que pode levar o(s) aluno(s) à suspensão;"



Álvaro d’Armada - Júlia Togashi - Ian Freitas