domingo, 13 de dezembro de 2020

Freeneet mais uma plataforma P2P, muito interessante.

 

Freenet
Introdução
Freenet é um sistema P2P completamente descentralizado e distribuído. Toda a comunicação é 
coordenada pelos pares em nível global.

O Freenet opera como um sistema de arquivos distribuído independente da localização entre vários
 computadores que permitem que a inserção, armazenamento, e requisição de dados 
anonimamente.

Um nó é um simples computador que “percorre” todo o sistema, e todos os nós são tratados como
 iguais pela rede. Cada nó mantém sua própria unidade de armazenamento a qual é disponibilizada
 para a rede tanto para leitura e escrita quanto para a tabela de roteamento dinâmico que contém
 endereços de outros nós. Isto exclui qualquer ponto de falha ou controle. Seguindo pelo protocolo
 do Freenet, seus nós se organizam espontaneamente dentro de uma rede eficiente.

É sistema foi designado a se adaptar ao uso de padrões (patterns) movendo-se transparentemente,
 replicando, e apagando arquivos de acordo com a necessidade para fornecer um serviço eficiente
 sem recorrer a “broadcast” de busca ou a índices de localização centralizados.

A pretensão da maioria dos usuários do sistema é utilizar nós para promover uma segurança garantida
 contra outros nós hostis e aumentar a capacidade de armazenamento da rede como um todo.

O Freenet pode habilitar a usuários compartilharem espaços de disco inutilizados, como sistemas de
 rede distribuída que permitem que usuários compartilhem ciclos de processamento.

O sistema opera na camada de aplicação e assume a existência de uma camada de transporte segura,
 embora seja um transporte independente. Ele não procura providenciar anonimato para utilização
 comum de rede, só entre transações de arquivos do Freenet.
História
No começo o sistema existia apenas na cabeça de Ian Clarck. Após ter estudado na escola Dundalk 
Grammar onde ganhou o prêmio nacional de jovens cientistas por dois anos seguidos, Ian deixou a
 Irlanda, em 1995, em favor da graduação em inteligência artificial e ciência de computação da
 universidade de Edimburgo na Escócia.

Em julho de 1999 Ian escreveu um artigo intitulado: 
“A Distributed Decentralized Information Storage  and Retrieval System".
O artigo continha a idéia básica para o Freenet. Mantendo sua filosofia quanto  à liberdade 
e informações com a sua intenção de por em prática sua idéias recrutou vários ajudantes
 através da Internet. Logo os trabalhos começaram a dar resultado e a versão 0.1
 foi lançada em março  do ano seguinte. Desde então o sistemas tem sido frequentemente
 atualizado e diversas versões já  foram lançadas.

O ponto básico do Freenet é que ele foi designado a permitir o total anonimato a autores e 
fornecedores     de informação, porque sua arquitetura distribuída torna impossível a localização
 de qualquer artigo por um nó e, portanto de seu autor. As pessoas que se submetem à rede
 quem ou o que está utilizando sua máquina. Ian descreveu esse fenômeno como
machine anarchy” (anarquia das máquinas).

A publicidade em torno do Freenet provavelmente ocorreu na mesma época do fim do Napster,
 que foi vista por muitos como a melhor alternativa de segurança. A aquela altura era óbvio que 
as críticas a  respeito do Freenet não eram nada boas em grande parte devido a industria musical 
sistemas descentralizados de troca de arquivos como o KaZaa e o Morpheus se tornaram os 
grandes programas de trocas de músicas digitais.
 E provavelmente não é totalmente coincidência que Ian atinou para a nova possibilidade de
 utilização  que era explorar aplicações comerciais do Freenet. Ao especular sobre o que
esperar do futuro do Freenet Ian considerou um importante ponto de vista. Ele disse:
 “Much like de WWW, it is a plataform on which people build” (Parecido com o WWW,
que é uma plataforma onde as pessoas constroem). Ele também disse que as expectativas de como 
as pessoas vão utilizar o Freenet sempre foram contrárias às verdadeiras atitudes dos seus usuários.
 Portanto os avanços do sistema devem ser feitos da forma mais flexível possível. 
Arquitetura
O freenet está implementado como uma rede P2P adaptativa de nós que se consultam para armazenar 
ou fornecer arquivos de dados, que são chamados de chaves de localização independente
 (location-independent keys). Existem três tipos básicos de chave:
  • Keyword-Signed Key (KSK) que é baseado numa pequena string descritiva escolhida pelo
  •  usuário
 quando este insere um arquivo. Esta string é basicamente misturada para fornecer a KSK.
  •  Para permitir que outros recuperem um documento, basta que estes forneçam esta chave.
  • Signed-Subspace Key (SSK) que são usadas para identificar subespaços pessoais. Esta chave
 permite aos usuários construírem uma reputação pelo fornecimento de um documento enquanto 
permanecem anônimos mas ainda identificáveis.
  • Content-Hash Keys (CHK) permite aos nós verificarem se um documento é uma cópia genuína 
do original. Ele também permite ao autor atualizar um documento se este utiliza um subespaço 
privado(com SSK).

No modelo básico, primeiramente uma chave é passada de nó a nó através de uma cadeia de
 requisições
 no qual cada nó estabelece um local de decisão sobre onde irá enviar a próxima requisição, no estilo
 do  roteamento IP. Depois dependendo da chave requisitada a rota irá mudar.
 O algoritmo de roteamento  se  ajusta adaptativamente à rota de tempos em tempos para promover
 um desempenho eficiente.
 Em seguinte cada nó possui apenas conhecimento a respeito de seus nós vizinhos, para manter a
 privacidade. Para cada requisição é dado um tempo de “hops” limite (hops-to-live), que é 
decrementado  a cada nó para evitar cadeias infinitas. Posteriormente cada requisição assume um
 identificador único,  que faz com que os nós possam prevenir loops rejeitando requisições que 
eles já viram antes. 
Este processo continua até que a requisição é satisfeita ou o tempo de “hops” (hops-to-live) exceda
o limite estipulado. Então o sucesso ou a falha é retornado pela cadeia para informar ao nó.
Análise de desempenho
O usuário de um sistema P2P quer saber quanto tempo ele levará para obter um determinado arquivo e
 quanto de banda sua consulta irá consumir. Esses dois parâmetros têm um impacto direto na utilização 
e no sucesso de um sistema.
Dentre os problemas que podem afetar o desempenho da rede P2P descentralizada do Freenet, 
podemos  citar a comunicação de rede. A velocidade de conexão é menos do que a velocidade
 de E/S (entrada/saída)  e de processamento, o que causa um gargalo na comunicação.
 Este problema é enfatizado pela grande natureza paralela do Freenet. Outro ponto é que como
 não existe um armazenador central de índices, as mensagens devem passar por muitos “hops”,
 para buscar através do sistema o arquivo desejado. 
Cada “hop” não só adiciona carga à banda total como também aumenta o tempo necessário 
para a realização da consulta. Se um para for inalcançável, pode levar vários minutos até que
 a comunicação  seja interrompida. Uma necessidade que ocorre em todos os sistemas P2P
é a dependência da presença de uma base de usuários participativa, cooperativa e suficiente
 para que o sistema possa funcionar com agilidade.

Efeito “small world”

Duas características que podem distinguir um sistema “small world” são:
  • Um comprimento médio de percurso pequeno
  • Um grande coeficiente de “clustering” que é independente do tamanho da rede. 
  • O coeficiente de “clustering” informa quantos vizinhos de um nó estão conectados uns nos outros.

O efeito “small world” é fundamental para a operação do Freenet. Ele é importante porque define o
 problema do posicionamento do arquivo numa rede P2P descentralizada e auto- configurável
 como o  Freenet. 
No Freenet as consultas são repassadas através dos nós para o próximo local de decisão no
 qual o recipiente potencial pode trazer maior progresso para o alvo. As mensagens não são
 alvo de  um específico par mas relaciona qualquer par que tenha o arquivo desejável no seu disco.

Apesar de a rede ser longa, deve existir rotas curtas. Numa simulação da rede Freenet, com mil nós
 idênticos, que estavam inicialmente vazios, metades das requisições da rede obtiveram sucesso com
seis “hops”. Um quarto das requisições obtiveram sucesso com três ou menos “hops”. 
Comparado com  a Internet como uma rede “small world” com tamanho de percurso característico
de 19, o Freenet obteve  uma boa média de desempenho, mas um fraco pior caso, por causa de
umas escolhas de rota ruins que  podem lançar a requisição completamente fora do percurso.

O roteamento de requisições é a chave da eficiência e escalabilidade do Freenet. 
Ele também permite aos dados se “movimentarem”. Cada nó tenta encaminhar sua requisição
 cada vez mais próximo do dado, a busca é muita mais poderosa que uma busca linear e muito
 mais eficiente que um broadcast.

Questões de desempenho

Confiança

Uma vez ativado o sistema, o usuário está apto o realizar transferência de arquivos, podem
 providenciar  alguma garanta de que seus códigos não sejam corrompidos e facilitem a
 construção de uma reputação  associada a seus nomes chave.

Contabilidade

A lição principal para um desenvolvedor P2P é que sem contabilidade é difícil executar regras de
 responsabilidade social. Como o Usenet e o e-mail, hoje os sistemas P2P correm o risco de
 sofrerem  abusos de propagadas não solicitadas (spams).

Segurança

Firewalls, IP dinâmico e NAT cresceram além da necessidade na arquitetura da Internet de se
 tornar um sistema escalável e seguro. Novas aplicações P2P desafiam essa arquitetura demandando
 que os participantes sirvam recursos como também os usem.

Interoperabilidade através de “gateways”

Firewalls são colocados nos gateways entre a rede interna e a Internet. Ele é uma ferramenta 
de segurança muito útil, porém é um sério obstáculo para o modelo de comunicação P2P.

Largura de Banda Assimétrica

Em conexões de rede como as ADSL (Assimetric Digital Subscribe Line), existe um 
favorecimento ao  uso dos clientes frente aos servidores. O problema hoje é que as aplicações
 P2P estão mudando a  concepção de que os usuários finais desejem apenas realizar
 “downloads” da Internet, nunca “uploads”. 
Isto resultou numa infra-estrutura de rede que é otimizada para computadores que são apenas
clientes, não servidores. Porém a tecnologia P2P faz com que cada par aja tanto com o cliente
quanto como servidor tornando a concepção anterior incorreta. Portanto a arquitetura de rede
 que existe hoje terá que passar por uma grande mudança para lidar com este novo modelo de tráfego.

Abuso da porta 80

A porta 80 é a porta utilizada para o tráfego http quando as pessoas navegam pela Internet. 
Os Firewalls basicamente filtram o tráfego baseado na sua direção e na sua porta de destino.
 As mais atuais aplicações P2P utilizam de alguma forma a porta 80 para burlar uma eventual
 política de segurança de rede. O problema é que não existe uma boa maneira de identificar qual
 aplicação está passando por uma porta. Também mesmo que a aplicação possua uma razão
egítima para atravessar o Firewall, não existe uma maneira simples de se pedir uma permissão.

Anonimato

Como nenhum nó pode dizer de onde chegou um pedido além do nó que o enviou, é muito difícil 
encontrar a pessoa que começou esse pedido. O Freenet não fornece um anonimato perfeito porque 
isto causaria um desequilíbrio entre eficiência e usabilidade. Se alguém quer saber exatamente 
o que outro usuário está fazendo, dados os recursos do sistema, ele conseguirá. Entretanto o 
Freenet busca parar a indiscriminada fiscalização maciça das pessoas.


O Freenet e mais uma boa opção para compartilhamento servidores de arquivos impressoras,
 um bom local onde você poderá alocar seus sites, blogs etc, tem muita coisa para ser explorada, 
então nada mal experimentar e estudar um pouco mais essa ferramenta Open-source .
DIVIRTA-SE 

Nenhum comentário:

Postar um comentário