Este documento descreve o projeto NovaGenesis, uma proposta para uma nova internet desenvolvida no Brasil. O projeto tem como objetivo criar uma arquitetura "folha em branco" para internet que integre processamento, troca e armazenamento de informações de forma convergente. O documento explica os principais componentes do projeto NovaGenesis, incluindo o sistema de resolução de nomes baseado em nomes naturais e autenticados, o modelo de publicação/assinatura e os serviços centrais de hash, resolução indireta e proxy/gateway.
2. FACULDADES INTEGRADAS SANTA CRUZ DE CURITIBA
DEROCI NONATO JÚNIOR
NovaGenesis
Trabalho apresentado como requisito parcial
para a obtenção de nota na disciplina de
Sistemas Distribuídos, pela Faculdade Santa
Cruz de Curitiba, unidade Bonat.
Orientador: Prof Silvio Bortoleto.
CURITIBA
NOVEMBRO/2015
3. Sumário
1. Introdução .................................................................................................................. 4
2. Paradigma atual ......................................................................................................... 5
3. O mundo voltado para o futuro.................................................................................. 5
4. Sobre a NovaGenesis................................................................................................. 6
4.1. Resoluções de nomes..................................................................................... 6
4.2. Publicar e subscrever ..................................................................................... 7
4.3. Estrutura de Serviços ..................................................................................... 7
4.4. O conceito...................................................................................................... 8
5. NovaGenesis na prática ............................................................................................. 9
6. Conclusão ................................................................................................................ 10
7. Referencias .............................................................................................................. 11
4. 4
1. Introdução
A rede de internet que utilizamos hoje foi projetada unicamente para
interconectar hosts a hosts, hosts a roteadores e roteadores a roteadores. Na década que
foi projetada, década de 70, as condições dos equipamentos eram muitos diferentes do
que temos hoje, não tínhamos a capacidade de armazenamento, processamento,
transmissão e trafego de dados que temos hoje. A capacidade de memória,
processamento e de enlace de dados eram muitos limitadas na época. Sem muita opção,
a rede foi projetada apenas para transportar pacotes de uma ponta a outra, nada além
disso. O projeto inicial era centralizado nos hosts, nenhuma funcionalidade complexa
foi atribuída aos roteadores, todas elas ficaram de responsabilidade dos hosts.
Ao se passar dos anos após a liberação da internet para o uso público, ela foi se
integrando cada vez em nossa sociedade. Hoje, ela se tornou um pilar fundamental para
sustentação da sociedade atual. Se fosse possível parar a internet a nível mundial por um
único dia as perdas seriam terríveis, pois hoje cerca de 60% a 70% da economia dos
países são sustentadas pela internet. O produto interno bruto de países desenvolvidos é
basicamente sustentado pelo setor de serviço, venda de passagem, hospedagem em
hotéis, ações do governo ou energia, estão ligados de maneira direta a internet.
Devido a escolhas do passado estamos passando uma situação bem delicada,
todo os sistemas atuais estão sendo migrado para web, ou acreditamos que essa internet
irá suportar todas as funcionalidades que estamos agregando a ela ou trocamos de
internet. Há diversos pesquisadores que acreditam que a internet atual não irá dar conta
de tudo que precisamos nos próximos anos, pois caso continue crescendo desta maneira
os protocolos projetados naquela época irão dar conta.
Podemos nos permitir acreditar que já está na hora de refazer a internet. Esta
internet é da década de 70, porque não fazer uma nova internet, será que hoje não somos
capazes de projetar uma internet melhor do que na década de 70?
5. 5
2. Paradigma atual
A cada ano se dobra a quantidade de dados trafegados pela rede de
computadores, se trata de um crescimento exponencial, temos uma média de troca de
dados já na casa de exabytes de informação ao mês.
Na década de 70 os hosts eram fixos, ninguém pensava ou esperava que o
computador poderia ser móvel. Fazendo um paralelo com hoje temos mais hosts móveis
do que fixo, mesmo utilizando uma rede que foi feita para terminais fixos e é nesse
ponto onde começamos a ter diversos problemas. Somos obrigados a utilizar uma rede
cheia de “remendos”, muitos dos protocolos propostos são adaptações do projeto inicial
para lidar com os desafios atuais
Nós continuamos queremos evoluir esta rede, mas chegamos ao impasse que
os protocolos centrais de arquitetura não podem mudar, se mudarem a internet para.
A parte mais crítica seria a de segurança, pois se trata literalmente de uma
“colcha de retalhos” de protocolos. As expectativas atuais diferem muito da internet de
quando ela foi criada. Ela interligava computadores de instituições do governo, quem
acessava a internet era estudantes e professores, não tínhamos problemas de segurança
pois não havia mais computador no mundo com acesso à internet para realizar ataques.
Será que já não está na hora de reprojetarmos a internet?
3. O mundo voltado para o futuro
Internet do futuro é um nome dado para um conjunto de projetos que pensam
em reprojetar a internet ou evoluir a partir do que já temos. Muitos países estão
investindo altas quantias de dinheiro nesses projetos.
Até 2009 a Noruega havia investido 9 bilhões de euros em projetos com este
intuito e continua investindo. A União Europeia tem programas chamado FP7 e Horizon
2020, cujo o foco é desenvolver e implementar uma nova internet.
Hoje existe uma gama de projetos sendo estudados ainda, já existes muitos
protótipos e já existe “internets do futuro” para se operar em 2015 e 2016. Em 2015 está
estipulado para iniciar o uso de uma nova internet no Japão que possui o conceito de
6. 6
“Folha em branco” é o conceito dado para um projeto criado do zero. O projeto japonês
possui o nome de Akari desenvolvido pelo NICT, tudo que estamos estudando os
japoneses estão fazendo com novas ideias. A rede Akari transfere dados a Petabit por
segundo, são mais de 10 mil comprimentos de ondas dentro de uma única fibra e todos
os pacotes e roteamento são fotópticos. Não é utilizado pacotes transportados por meio
elétrico, só quando for necessário aplicar alguma função de software sobre eles. Em
geral se tem alta capacidade sem a necessidade de regredirmos para o domínio elétrico.
A expectativa é que ideias como a Akari irá revolucionar completamente o que fazemos
com a internet hoje.
4. Sobre a NovaGenesis
Trazendo a visão do projeto de uma nova internet para dentro de nossos limites
territoriais temos um projeto em andamento no Sul de Minas Gerais, mais
especificamente em Santa Rita do Sapucaí. Pesquisadores do Instituto Nacional de
Telecomunicações (Inatel) trabalham no desenvolvimento de uma internet mais rápida e
mais segura. O projeto NovaGenesis é um projeto “folha em branco”, ou seja, não é a
evolução da internet atual, é criação de uma internet do zero, prometendo trazer aos
usuários comuns possibilidades ainda não vistas.
NovaGenesis é uma arquitetura “folha em branco” para ser universalmente
aplicada. Isto abrange não só a troca de conteúdo e distribuição, no que se diz repeito a
redes de internet, transporte de dados, redes centradas em ou de rede centrada em
serviços, mas também de processamento e armazenamento de conteúdo, como os
serviços de computação em nuvem e aplicações. Ela está sob o conceito de uma
arquitetura de informação convergente que abrange o processamento de dados,
armazenamento e intercâmbio.
4.1. Resoluções de nomes
Os nomes de rede são símbolos usados para indicar uma ou mais entidades
individuais. Para resolução de nomes é adotado uma arquitetura genérica de nomes onde
quaisquer tipos de nomes podem ser usados. Não só os nomes de auto verificação
(SVNs) ou nomes de autenticidade, mas também nomes de linguagem natural (NLNs).
Fazendo uma analogia seria o NLN fosse o nome de uma pessoa e o SVN fosse seu
CPF. Ele permite que as pessoas solicitem uma interação usando o NLNs, mas aprimora
7. 7
a segurança usando SVNs que são obtidas através de funções hash criptografadas,
garantindo assim aquela interação seja direcionada apenas para pessoa correta. A função
hash pode se aproveitar do programa que está enviando pacotes ou do código fonte do
próprio programa para ser gerada.
Foi definido um nome relações vinculadas (NB) como uma entidade adicional
que é a representação da ligação do NLNs ao SVNs. Frequentemente, nomes estão
relacionados uns com os outros para facilitar as relações entre as entidades. Em outras
palavras, as relações existentes nomeadas são representadas pelas relações entre os seus
nomes. Por exemplo, o nome de uma parte do corpo “braço” está relacionada e contida
em uma "pessoa". Assim “pessoa” pode ser usado para representar as relações entre
entidades do físicas nomeadas. Se utiliza de um sistema de resolução de nomes (NRS),
pesquisadas em um gráfico NBs distribuído (DNBG). As entidades podem consultar
NLNs e SVNs que são armazenados de forma distribuídas.
4.2. Publicar e subscrever
Ela trabalha com um modelo de comunicação de publicar/subscrever como
uma alternativa para o "receptor que aceita todos", modelo utilizado na Internet atual.
Para se publicar no meio se faz necessário disponibilizar seu NB a possíveis pares
próximos, enquanto para subscrever significa ter que consultar alguns NBs publicados.
O encontro é o processo de autenticação e autorização do assinante de acordo com as
instruções do editor. Os serviços da NovaGenesis podem se organizar com base em
nomes, ligações de nome, e contratos para cumprir as metas e as políticas que estão
sujeitas.
Cada componente da arquitetura é oferecido para os outros através da
publicação de várias arquiteturas NBs. A arquitetura NB é adotada para relacionar um
nome com vários outros nomes relacionais.
4.3. Estrutura de Serviços
Os serviços nomeados são entidades virtuais destinados a trocar,
processamento e armazenar informações em qualquer substrato computacional, que
podem ser físicos ou virtuais. Portanto, os serviços nomeados podem ser implementados
8. 8
como componentes dentro de um simulador, como instâncias de objetos dentro de um
sistema operacional real ou virtualizado, ou mesmo como processos paralelos em uma
plataforma de hardware físico.
4.4. O conceito
A implementação atual é baseada em quatro serviços básicos que implementam
conteúdos, os ciclos de vida de serviços, publicar/subscrever os NB e conteúdo e
roteamento baseado em nome de soquetes bruto Linux.
A NovaGenesis irá trabalhar seguidos os conceitos abaixo:
Serviços de hash (HTS) - Fornece uma tabela hash distribuída que é usado para
armazenar NB publicados. Ele também armazena conteúdo relacionado ao NB
em um diretório local.
Serviço genérico de resolução indireta (GIRS) - Tem como objetivo transmitir
NBs a um ou mais instâncias HTS. A versão atual tem uma regra fixa para
selecionar a instância adequada HTS ao armazenar um NB. Ele seleciona com
base no padrão binário do nome da chave. As versões futuras irão fornecer
armazenamento mais inteligente, permitindo instâncias GIRS selecionar a partir
da localização, utilização, balanceamento de carga, etc.
Serviço de publicar/subscrever (PSS) - É a caminho estreito para serviços da
NovaGenesis. Qualquer serviço usará os publicar/subscrever previstas pelo
sistema PSS distribuído. Os serviços podem publicar conteúdo nos NBs para
outros serviços e subscrever outros NBs de seu interesse. PSS também fornece
uma função de notificação que notifica serviços NBs publicados. Um serviço
que receber tal notificação, pode assinar imediatamente o NB informando sua
chave. O PSS faz o encontro entre editor e assinantes a fim de autenticação e
autorização para ter acesso ao NB publicado. O PSS permite serviços que
expressam de forma segura seus interesses. As chaves subscritas são
criptografadas e tem sua integridade verificada.
Serviço de Proxy/Gateway (PGS) - Tem como objetivo encapsular mensagens.
Portanto, é uma porta para as mensagens sair ou entrar na nuvem. Além disso, a
PGS é um proxy para outros serviços dentro de algum sistema operacional.
Representam estes serviços durante a inicialização, encaminhamento de ligações
9. 9
de nome pública para outros PGSs. Ele abre e mantém soquetes no sistema
operacional para permitir o encapsulamento da mensagem.
5. NovaGenesis na prática
Em um ambiente de teste o serviço de comunicação foi implementado usando
memória compartilhada, enquanto que a comunicação entre o serviço foi implementada
utilizando soquetes Linux OS tradicionais. Dentro dos serviços, toda a comunicação foi
baseada nas SVNs. No entanto, durante a inicialização os processos utilizam uma chave
bem conhecido para gerar um ID da memória partilhada. Após uma primeira mensagem
"Olá", todo o serviço propõe uma nova chave, que está ligada ao processo de SVN e
armazenadas sobre uma tabela hash local (HT). Cada serviço inicializa a comunicação
ao OS locais PGS. As comunicações entre o serviço começam de forma semelhante.
Cada PGS é inicializado com o endereço MAC da tecnologia PGSS e envia uma
mensagem "Olá" para eles. A ligação entre a PGS e o SVN endereço legado é
armazenado em um local do HT. As versões futuras irão dispensar endereços legados,
uma vez que todos os serviços necessários terão SVNs. Assim, o PGSS armazenaria
apenas as ligações SVNs na inicialização do procedimento. Após a fase de "Olá", o
PGSS trocaria o NB que eles têm. O núcleo de serviços pode agora descobrir possíveis
pares por consulta ao PGS em seu sistema operacional local. Aplicativos dos usuários
usam uma interface de aplicação de programação (API) de publicar/subscrever
fornecida pelo PSS. Eles são capazes de publicar/subscrever NLNs e SVNs,
descobrindo os pares candidatos, estabelecendo contratos e, finalmente, trocar
informações usuário chamado.
10. 10
6. Conclusão
Neste artigo foi exposto o desenvolvimento de uma internet com o conceito de
“folha em branco", um projeto criado do zero. Chamado NovaGenesis, tem como
objetivo integrar o processamento, troca e armazenamento de informações. Ela tem a
missão de integrar conceitos de tecnologias da informação e comunicação, como redes
centrada em informações, rede orientada a serviços, segmentação de
identificador/localizador, redes definidas por softwares, virtualização de funções de
rede, auto-organização de redes e Internet das coisas.
O projeto começou em 2008 e é implementado em C ++ utilizando um
ambiente operacional Linux. Este artigo apresentou rapidamente uma visão da internet
atual, as internets do futuro que estão em curso e o protótipo NovaGenesis, dando
detalhes de opções de design adotados e componentes desenvolvidos.
11. 11
7. Referencias
ALBERTI, Antonio M. OLIVEIRA, Lucio H. de. CASAROLI, Marco A. F.
NovaGenesis: Convergent Information Architecture. 2015. Disponivel em
<http://sbrc2015.ufes.br/wp-content/uploads/proceedingsWPEIF2015.pdf>. Acessado
em 02/11/15 às 20h00min.
HAAS, Guilherme. NovaGenesis: iniciativa brasileira propõe uma nova
arquitetura de internet. 07 de Outubro de 2013. Disponível em
<http://www.tecmundo.com.br/web/45342-novagenesis-iniciativa-brasileira-propoe-
uma-nova-arquitetura-de-internet.htm>. Acessado em 03/11/15 às 16h25min.
DWKEKA. Nova Genesis: iniciativa brasileira propõe uma nova
arquitetura de internet. 08 de Outubro de 2013. Disponível em
<http://wapbrasil.net/blog?m=show&id=4897&c=>. Acessado em 03/11/15 às
16h30min.
REPORT, Risk. Especialistas desenvolvem internet mais segura. 23 de
Outubro de 2013. Disponível em <http://www.decisionreport.com.br/publique/cgi/
cgilua.exe/sys/start.htm?infoid=15018&sid=41>. Acessado em 03/11/15 às 17h00min.
SOARES, Lucas. Pesquisador do Sul de Minas trabalha para construir
‘nova internet’. 06 de Outubro de 2013. Disponível em <http://g1.globo.com/mg/sul-
de-minas/noticia/2013/10/pesquisador-do-sul-de-minas-trabalha-para-construir-nova-
internet.html>. Acessado em 03/11/15 às 17h45min.