Você está na página 1de 17

Índice de i Figuras

Imagem 1 – Rede P2P................................................................................... .


Imagem 2 - RedeVirtual................................................................................
Imagem 3 – primeiros programas P2P...........................................................
Imagem 4 – Rede P2P heterogénea...............................................................
Imagem 5 – Disponibilidade numa rede P2P.................................................
Imagem 6 – Rede Overlay.............................................................................
Imagem 7 – Arquitectura P2P estruturada....................................................
Imagem 8 – Arquitectura P2P não-estruturada.............................................
Imagem 9 – Ícones do Btuga e Napster.........................................................
1 - Introdução
Os serviços na Internet têm aumentado cada vez mais e isto apenas pode ser limitado
pela população mundial. O sistema de P2P tem como objectivo permitir a partilha de
dados e recursos numa larga escala, eliminando qualquer requisito por servidores
geridos separadamente e a sua infra-estrutura associada.
O propósito do P2P é suportar sistemas e aplicações distribuídas utilizando os recursos
que têm, tanto de computadores pessoais como redes inteiras, tais como estações de
trabalho em número crescente.
Isto tem-se mostrado um objectivo bastante sugestivo, já que a diferença da
performance dos computadores pessoais e de servidores tem diminuído e as conexões da
banda larga têm aumentado.
Shirky [1] definiu as aplicações P2P como "aplicações que exploram recursos
disponíveis nas bordas da Internet - armazenamento, ciclos, conteúdo, presença
humana".
Uma rede P2P é constituída por clientes e servidores, que são considerados de nível
igual e nunca com um papel fixo, apenas o que os diferencia é o que estão a fazer nesse
momento, a receber ou a enviar dados.
Os dados que circulam pela rede, muitas vezes são ignorados por todos os nós, á
excepção do destinatário, visto ser ele a requisitar os dados.
Os nós, servem apenas como estações intermediárias, ou seja, servem como repetidoras
de informação.

Imagem 1 – Rede P2P

As velocidades de transmissão são definidos e diferenciados:


• Nas configurações locais,
• Capacidade de processamento,
• Capacidade de armazenamento,
• Largura de banda,
• Entre outras...

1.1 - Redes virtuais


Este termo é utilizado nas diferentes tecnologias que adoptam um modelo conceitual, tal
como os protocolos NNTP (Usenet news), SMTP (Simple Mail Transfer Protocol), etc.
No entanto começou-se a falar mais em redes virtuais com o aparecimento de softwares
em que qualquer utilizador que tenha o software instalado possa aceder à rede e aos seus
recursos.
O caso tornou-se mais conhecido com Shawn Fanning, criador do Napster. Ele trouxe o
termo P2P para os média principalmente por se tornar alvo de ataques jurídicos por
parte das empresas fonográficas.

Imagem 2 – Rede Virtual

2 – História do P2P
O P2P é o resultado da tendência natural do desenvolvimento de engenharia de
software com a disponibilidade de tecnologia para a criação de redes maiores.
A tendência das últimas décadas tem crescido com a necessidade das aplicações
empresariais, o que resultou na substituição dos sistemas monolíticos por sistemas
distribuídos. As redes informáticas começaram a crescer, tornando-se cada vez maiores
e mais poderosas, os utilizadores começaram a ser cada vez mais, a banda larga tornou-
se cada vez mais barata e poderosa, sendo fácil de aceder.
Neste campo houve a necessidade de ter a disponibilidade de pontos interligados, e
quanto mais recursos houvesse, mais poderosa se tornava essa rede. A Internet foi um
claro exemplo e uma explosão de utilizadores.
Enquanto as redes cresciam, as aplicações P2P desenvolviam-se e a sociedade
interessava-se pelo P2P. Aplicações como o Napster, Gnutella e Kazaa ficaram
famosos, porque estas colocaram um subconjunto da tecnologia P2P que estava ao
alcance de milhares de utilizadores.
Na verdade o P2P surgiu da tecnologia básica que utilizaram nos tempos da USENET
e da FidoNet. Eram duas redes totalmente descentralizadas, e sistemas como o DNS.
Imagem 3 – primeiros programas P2P
No inicio eram trabalhos que dois estudantes tinham na licenciatura. Não
existia muita informação sobre a partilha, nem Internet como hoje em dia. Os
arquivos eram trocados em batch nas linhas telefónicas, porque os computadores
eram ligados por cabos coaxiais, não tendo muito mais que 10 computadores em
cada rede, ligando-se por um terminador, passando virtualmente por cada nó.
No entanto em 1979, como não havia maneira de centralizar, a USENET, era
totalmente descentralizada sendo o criador Jim Ellis. (Será explicado mais á
frente o que é). A FidoNet também era descentralizada, mas servia para troca de
mensagens. Esta aplicação foi criada em 1984 por Tom Jennings para trocar
mensagens de sistemas (BBS) diferentes.
O DNS tornou-se uma necessidade, porque em 1983 já existiam milhões de
hosts na Internet. Na altura a forma de navegar na Internet era através de um
ficheiro.txt, nomeado de hosts.txt. O nome “cin” era associado um determinado
ip do ficheiro hosts.txt. Como a Internet cresceu, este sistema tornou-se
impossível e foi então que surgiu o DNS.
O conceito de DNS é comparado às aplicações de ficheiros actuais.
Mas foi na década de 90 que as redes P2P apareceram com toda a força, quando
aplicações como o Napster e o Gnutella foram desenvolvidas. Cada nó neste tipo
de rede é conhecido como peer, e pode servir com os mesmos direitos de cada
peer da rede, serve tanto de cliente como de servidor.
Os recursos e as informações passaram a ser disponibilizados de forma
mundial. Estas redes tinham características, que quantos mais peers existissem
mais escabilidade e mais autonomia tinham, e a rede tornava-se mais eficiente e
mais rica em recursos com a comunicação directa que os peers tinham.

3 - Distribuição Horizontal
A organização de uma aplicação cliente-servidor numa arquitectura multi-camadas,
distribui o processamento, colocando componentes logicamente diferentes em máquinas
diferentes. A essa distribuição dá-se o nome de distribuição vertical. Uma distribuição
vertical, facilita a gestão dos sistemas, pois divide, as funções lógica e física entre várias
máquinas, onde cada máquina é responsável por um grupo específico de funções.
Uma abordagem alternativa à distribuição horizontal, bastante comum nas
arquitecturas modernas, baseia-se na distribuição dos clientes e dos servidores, o que se
chama de distribuição horizontal.
Nessa distribuição, um cliente ou um servidor pode estar fisicamente dividido em partes
logicamente equivalentes, onde cada parte opera sobre a sua própria porção dos dados, o
que balanceia a carga. Os sistemas peer-to-peer se baseiam na distribuição horizontal.
Olhando de uma perspectiva de alto nível, os processos que constituem um sistema
peer-to-peer são todos iguais. Isso significa que as funções necessárias devem estar em
todos os processos que constituem o sistema distribuído.
Como consequência, a maior parte da interacção entre os processos é simétrica: cada
processo actua como um "cliente" e um "servidor" ao mesmo tempo. [2]

4 – Características do P2P
O sistema P2P apresenta as seguintes características:

• O modo como estão os recursos, faz com que cada um contribua para o seu
melhoramento;
• Os direitos de cada nó na rede são iguais, o que diferencia são os recursos.

4.1 - Descentralização
Os sistemas P2P não dependem de um servidor central, ou de várias administrações
centralizadas.
Um sistema P2P totalmente descentralizado, não há utilizadores com características
especiais, são todos iguais, com poderes iguais, ou recebem dados, ou estão a enviá-los.

4.2 - Heterogeneidade
Na construção da rede P2P, temos que nos lembrar que há preocupação em que nada é
eterno, e que eventualmente poderá haver falhas de ligação.
Para que isso não aconteça, utilizamos a técnica da replicação, diminuindo assim em
muito a falha ao tentar aceder aos dados.
A replicação pode também tornar o sistema mais confiável se utilizada para neutralizar a
acção de nós maliciosos, que interceptam o sistema e corrompem os dados, através de
técnicas de tolerância a falhas.
Imagem 4 – Rede P2P heterogénea

5 - Sistemas Híbridos
Os sistemas centralizados são simples de implementar e gerir, mas não suportam o
aumento da rede.
Por outro lado os sistemas descentralizados são escaláveis e robustos, contudo, são algo
complicados de implementar, principalmente nas questões de tolerância a falhas e na
descoberta de recursos.
Existem sistemas que utilizam características de ambos, cliente-servidor e peer-to-peer.
Estruturas híbridas implantam ambos, embora adoptem pelo sistema cliente-servidor
devido a complicações de junção de ambos os sistemas.
Um exemplo bem claro disso é o servidor que utiliza o BitTorrent [4].
Ao utilizarmos o MSN Messenger, e enviarmos um ficheiro, pensamos que esse ficheiro
está a ser enviado directamente para o outro nó, no entanto ficamos surpresos em saber
que existe uma espécie de servidor por trás, que guarda a informação, ou faz a
associação entre o nome do utilizador e o ip dele, grava mensagens quando está em
modo off-line, etc.
Se fosse um sistema totalmente descentralizado, isso seria impossível na Internet de
hoje. Por isso como vemos grande parte dos sistemas utilizados hoje utilizam um
esquema de directório centralizado enquanto o ficheiro está a ser enviado.

6 - Os requisitos para uma aplicação P2P


Para funcionar eficientemente, os sistemas peer-to-peer devem-se preocupar com os
seguintes requisitos não-funcionais [5]:

6.1 - Escalabilidade global


Um dos objectivos das aplicações peer-to-peer é explorar os recursos de hardware de
um grande número de hospedeiros conectados à Internet. Assim, essas aplicações devem
ser projectadas de modo a suportar o acesso a milhões de objectos em dezenas ou
centenas de milhares de hospedeiros.

6.2 - Balanceamento de carga


A performance de qualquer sistema projectado para utilizar uma grande quantidade de
computadores depende da distribuição balanceada de carga entre eles. Para os sistemas
que consideramos, isso será alcançado através da colocação aleatória de recursos,
juntamente com a utilização de réplicas dos recursos mais utilizados.
6.3 - Optimização de interacções locais entre nós
vizinhos
A "distância de rede" entre os nós que interagem tem um impacto substancial na latência
das interacções individuais, como por exemplo, clientes requisitando acesso a recursos.
A carga do tráfego da rede também é afectada por isso. As aplicações devem colocar os
recursos perto dos nós que mais os utilizam.

6.4 - Disponibilidade
A maioria dos sistemas peer-to-peer são constituídos por computadores hospedeiros que
são livres para se juntar ou sair do sistema em qualquer altura. Além disso, os
segmentos de rede utilizados nos sistemas peer-to-peer não são administrados por
qualquer autoridade; nem possuem garantias de qualidade de serviço.
Um grande desafio para os sistemas peer-to-peer é prover um sistema confiável,
apesar desses factos. Quando novos hospedeiros se juntam, eles devem ser integrados ao
sistema e a carga deve ser redistribuída para explorar esses novos recursos.
Quando eles saem do sistema voluntariamente ou involuntariamente, o sistema deve
detectar a partida deles, e redistribuir as suas cargas e os seus recursos.

Imagem 5 – Disponibilidade numa rede P2P

6.5 - Segurança dos dados


Em sistemas de escala global com participantes de origens diversas, a confiança deve
ser construída com o uso de autenticação e mecanismos de criptografia para garantir a
privacidade dos dados e da informação.

6.6 - Anonimidade, negabilidade e resistência à


censura
Anonimidade é uma preocupação legítima em muitas situações que procuram
resistência à censura. Um requisito relacionado é que hospedeiros que guardam dados
devem ser capazes de negar plausivelmente a responsabilidade sobre a posse e o
suprimento deles. A utilização de um grande número de hospedeiros em sistemas peer-
to-peer pode ser útil para alcançar essas propriedades.

7 - Redes P2P estruturadas e não-


estruturadas

7.1 - Rede sobreposta


Um conceito importante do paradigma P2P é a rede sobreposta, ou rede overlay.
Nesta tipo de rede, os nós são formados por processos e as ligações são representados
pelos canais existentes (conexões TCP).
Em geral, um processo não se pode comunicar com outro processo arbitrário, só pode
enviar mensagens através dos canais de comunicação disponíveis.
Na rede overlay, cada nó tem um vizinho, que tem outro vizinho, e assim
continuamente.
Na imagem abaixo, vemos claramente que cada nó tem dois vizinhos, que são vizinhos
nessa rede, mas fisicamente não o são necessariamente.

Imagem 6 – Rede Overlay

A localização dos nós e dos ficheiros é realizado na rede overlay através de um router
distribuído.
Esse algoritmo é aplicado na camada de aplicação (modelo OSI), não tendo nenhuma
ligação no router com a camada de rede, do modelo OSI.
Através deste processo, em que a requisição dos clientes é feita no router para um
uploader que possui o ficheiro e redirecciona novamente para o ip que o solicitou.
O router garante que qualquer nó possa aceder a qualquer ficheiro da rede overlay,
explorando cada "conhecimento" de cada nó.
Os sistemas modernos de peer-to-peer, armazenam múltiplas réplicas do mesmo
ficheiro para que o sistema possa garantir disponibilidade.
Assim o router mantém o mínimo de informação possível sobre a localização de
todas as réplicas para o nó vivo mais próximo e mantém uma cópia do ficheiro.
Existem dois tipos de redes sobrepostas:
• As redes estruturadas
• As redes não-estruturadas

7.2 - Arquitecturas Peer-to-peer Estruturadas


Numa rede estruturada, a rede sobreposta é construída através de um procedimento
determinístico. O que isto significa?
O procedimento é feito através de uma tabela de hash (associa chaves de pesquisa a
valores.) distribuída (DHT) organizada.
Um sistema baseado em DHT's, os dados recebem uma chave aleatória com um certo
identificador, de 128 ou 160 bits [3]. Os nós da rede recebem igualmente um
identificador do mesmo espaço. O problema ainda por resolver num sistema baseado em
DHT's, é implementar um esquema determinístico eficiente que faça unicamente scan á
chave de um ficheiro para o identificador do nó responsável pelo ficheiro.
A partir daí, é possível fazer retornar o endereço de rede do nó responsável pelo
ficheiro, contactando-o directamente. Como houve várias implementações e protocolos
baseados em DHT, também houve melhorias.
Alguns dos protocolos mais conhecidos é o Chord [4] e NodeWiz [5], serviços de
descoberta em Grids(GIS), ou seja utiliza a estrutura de árvores para organizar os nós da
rede sobreposta. Cada nó é responsável por um subespaço do espaço completo.
Assim podemos realizar consultas por faixas de valores e não por valores exactos como
contrariamente acontece na DHT.
Imagem 7 – Arquitectura P2P estruturada

7.3 - Arquitectura Peer-to-Peer Não estruturadas


Sistemas não estruturados baseiam-se em algoritmos aleatórios.
Ou seja a ideia principal é que cada vizinho tenha uma lista de vizinhos, que é
construída de forma aleatória. Os dados também são colocados aleatoriamente nos nós.
Acontece que quando fazemos uma busca por um determinado ficheiro na rede, que ela
fique "lagada", ou seja inunda com uma busca só [6].
Acontece que quando o cliente e o uploader estão muito longe um do outro, que a
resposta da pesquisa não seja obtida.
De um ponto de vista, podemos ver que os mecanismos impedem que as mensagens se
propaguem indefinidamente na rede.
Para além desta desvantagem, existe outra, que é quando a busca se torna lenta porque o
tráfego de sinalização é muito.

O modelo básico é que cada nó tenha uma lista de vizinhos, onde cada um dos vizinhos
representa um nó escolhido aleatoriamente dentro dos nós "vivos".
Esta lista de nós pode ser chamada de visão parcial.
O BitTorrent que constrói a rede overlay de forma aleatória, poderá ser considerado
como tal.
Imagem 8 – Arquitectura P2P não-estruturada

8 - Plataformas, Frameworks e
Aplicações
peer-to-peer
No início da era P2P, as aplicações surgiram monolíticas, ou seja, o programa precisava
implementar o seu próprio protocolo de comunicação peer-to-peer para permitir a
interoperabilidade entre os nós constituintes do seu sistema em rede.
Este tipo de P2P não era uma boa solução, devido a que, embora com serviços iguais, o
cliente tinha que ter os programas todos instalados porque os ficheiros, ou dados
ficavam apenas na rede.
Kazaa, eMule e Gnutella ficaram apenas acessíveis dentro da sua própria rede.
Mas com o passar do tempo, criaram-se aplicações que "juntavam" todas estas
aplicações, de forma a poderem comunicar entre elas todas.
Dentro destas destacam-se o JXTA, Windows Peer-to-Peer-Networking e o XNap.
O JXTA e o Windows P2P-Networking são especificações de protocolos peer-to-peer e
de uma API para utilização dos serviços, sendo o primeiro com implementações em
Java e em C.
O XNap provê, além de uma API de serviços peer-to-peer, também um Framework para
desenvolvimento das aplicações em si, incluindo recursos de interface gráfica com o
usuário. Um Framework peer-to-peer, portanto, vai além de uma plataforma para
comunicação peer-to-peer, provendo serviços adicionais não necessariamente
relacionados com a comunicação em si, mas indispensáveis para o desenvolvimento
rápido de aplicações baseadas nesta arquitectura.

8.1 - Frameworks P2P


Apresenta-se de seguida as frameworks P2P mais utilizadas:

8.1.1 - Kademlia
Kademlia é um conceito de rede altamente descentralizada baseada em "nós" de rede.
Os próprios utilizadores constituem a estrutura da rede dispensando servidores. Várias
redes utilizam o conceito Kademlia.

8.1.2 - Overnet
A rede Overnet é uma espécie de eDonkey "paga". É preciso adquirir o programa da
empresa que a desenvolveu. É uma variante do eDonkey totalmente descentralizada e
mais rápida seguindo o conceito Kademlia e foi a primeira implementação da mesma.
8.1.3 - Gnutella
Rede open-source surgida no final de 2000, utilizada inicialmente por utilizadores do
sistema Linux. Possui uma estrutura altamente descentralizada não havendo mesmo
nenhum servidor central sequer. Os utilizadores constituem a estrutura da própria rede.
Entre os programas que a utilizam, estão o BearShare , LimeWire, Azureus e agora o
Shareaza.

8.1.4 - Gnutella 2
Segundo projecto da rede Gnutella, mas agora com servidores centrais optimizando
buscas e o desempenho geral da rede. É conhecida principalmente no programa
Shareaza. Recebeu críticas quando foi criada pelos criadores da Gnutella original.

8.1.5 - Kad Network


Rede paralela do programa eMule introduzida pelo autor deste em 2004; é uma
implementação fiel ao conceito Kademlia. Essa rede tinha por objectivo inicial oferecer
mais fontes aos utilizadores do programa e mais tarde tornar-se uma rede P2P completa.

8.1.6 - OpenFT
OpenFT é um protocolo desenvolvido pelo projecto giFT. O nome "OpenFT" significa
"Open FastTrack". Entretanto, o OpenFT é um protocolo completamente novo, apenas
alguns protocolos vieram do pouco que se sabia sobre a FastTrack quando o OpenFT foi
desenvolvido. Assim como a FastTrack, o OpenFT é uma rede onde nós que enviam
listas de arquivos compartilhados para outros nós. Isso reduz o consumo de banda
necessário para a pesquisa, entretanto, consumindo no entanto mais recursos do
processador e memória nos nós.

8.1.7 - AudioGalaxy
Projecto antigo da empresa com mesmo nome, o Audiogalaxy centralizava tudo,
indexando-o para o seu site oficial. Foi facilmente fechada por um processo judicial na
Inglaterra. Era uma implementação de FTP’s sendo mais superficial ao utilizador.

8.1.8 - SoulSeek
Rede introduzida para trocas de músicas em 2000. Utiliza o programa com o mesmo
nome. Caracteriza-se pelo facto de ter um grande número de arquivos raros, e
principalmente música alternativa. O programa cliente tem uma interface simplificada, e
permite a adição de utilizadores numa hotlist, ou seja, uma lista de contactos que
permite saber quando um utilizador que tem arquivos relevantes está conectado à rede.
Também há na rede SoulSeek um serviço de chat parecido com o IRC, que possibilita
uma melhor interacção entre os utilizadores, que também podem criar seus próprios
canais de chat.
8.1.9 - DNS
O DNS (Domain Name System) é um exemplo de sistema que mistura os conceitos de
rede peer-to-peer com um modelo hierárquico de posse da informação. O mais incrível
do DNS é quão bem ele tem escalado, dos poucos milhares de hospedeiros que ele foi
projectado para suportar, em 1983, para as centenas de milhões de hospedeiros
actualmente na Internet.
Os problemas encontrados pelas aplicações P2P actuais, tais como partilha de
arquivos, são os mesmos problemas que foram resolvidos pelo DNS há 10 ou 15 anos
atrás. Assim, vários elementos-chave no projecto do DNS são replicados nos sistemas
distribuídos actuais. Um elemento é que o hospedeiro pode operar tanto como cliente
como servidor.
O segundo elemento é um método natural de propagar as requisições de dados pela
rede. A carga é naturalmente distribuída pela rede, tanto que qualquer servidor
individual de nomes só precisa servir as solicitações dos seus clientes e o espaço de
nomes que ele gere.

8.1.10 – BitTorrent
BitTorrent é um sistema de download de arquivos P2P. A ideia básica é que quando um
utilizador procura por um arquivo, ele saca "pedaços" do arquivo de outros utilizadores
até que o arquivo fique completo. Um objectivo importante do projecto foi garantir
colaboração. Na maioria dos sistemas de partilha de arquivos, uma fracção significante
dos utilizadores somente saca os arquivos, não contribuindo para o objectivo da
colaboração [8] [9] [10]. Para isso, um arquivo pode ser sacado somente quando o
cliente que está sacando, também está a disponibilizar ficheiros para alguém.

8.2 - Redes, Protocolos e Aplicativos


São apresentadas de seguida as redes, protocolos e aperitivos que utilizam o P2P:
(Informação retirada do Wikipédia)
Ares: Ares Galaxy, Warez P2P, AlterGalaxy
BitTorrent: AllPeers, ABC [Yet Another BitTorrent Client], Azureus, BitComet, BitSpirit,
BitTornado, BitLord, Burst!, G3 Torrent, KTorrent, mlMac, MLDonkey, QTorrent, Shareaza,
Transmission,Tribler, µTorrent
CSpace: Uma rede peer-to-peer baseda em sistemas de comunicações

Direct Connect: DC++, NeoModus Direct Connect, BCDC++, ApexDC++, StrongDC++

Domain Name System

eDonkey: aMule, eDonkey2000 (parado), eMule, DreaMule, LMule, MLDonkey, mlMac,


Shareaza, xMule, iMesh
FastTrack: AlterGalaxy, giFT, Grokster, iMesh, iMesh Light, Kazaa, Kazaa Lite (sem adwe),
KCeasy, Mammoth, MLDonkey, mlMac, Poisoned
Freenet: Entropy, Freenet

GNUnet: GNUnet, (GNUnet-gtk)


Gnutella: AlterGalaxy, Acquisition, BearShare, Cabos, Gnucleus, Grokster, iMesh, gtk-gnutella,
Kiwi Alpha, LimeWire, FrostWire, MLDonkey, mlMac, Morpheus, Phex, Poisoned, Swapper,
Shareaza, XoloX

Gnutella2: Adagio, Caribou, Gnucleus, iMesh, Kiwi Alpha, MLDonkey, mlMac, Morpheus,
Shareaza, TrustyFiles
Kad (rede) (usando o protocolo Kademlia): aMule, eMule, MLDonkey
MANOLITO/MP2P: Blubster, Piolet
MFPnet: Amicima
Napster: Napigator, OpenNap, WinMX
P2PTV type networks: TVUPlayer, CoolStreaming, Cybersky-TV, TVants
Peercasting type networks: PeerCast, IceShare, FreeCast
SoulSeek: SoulSeek, Nicotine
Usenet
WPNP: WinMX
ZPoC

9 - Direitos de autor
As redes P2P são acusadas mundialmente de ir contra os direitos de autor, por

disponibilizar ou partilhar arquivos sem a autorização do copyright.


Muitos utilizadores das redes P2P, defendem que a ausência de lucro na reprodução do
copyright não deveria ser considerada crime.

9.1 - Caso Napster e Btuga

Imagem 9 – Ícones do Btuga e Napster

Embora os administradores do Napster e Btuga defendam que apenas disponibilizassem


os servidores e não copiassem ficheiros para o servidor e que os utilizadores é que
copiavam os arquivos para lá, os servidores foram confiscados.
Os endereços eram localizados e conhecidos e foi com isso que não se mantiveram
anónimos.
Qualquer que seja a visão que alguém tenha sobre a legitimidade de cópia de arquivos
para o propósito de partilha de material protegido por direitos de autor, existe uma
legítima justificativa social e política para a anonimidade de clientes e servidores em
alguns contextos de aplicações.
A justificativa mais persuasiva é usada quando a anonimidade é utilizada para superar a
censura e manter a liberdade de expressão para indivíduos em sociedades e
organizações opressivas [7].

10 – Exemplo com Wireshark e SNORT


Utilizei o wireshark para analisar os pacotes que são enviados e recebidos.
Fui a um site através do browser e começou a fazer a transferência do servidor para a
minha máquina. Houve contacto com o ip 66.197.10.114 e foram fazendo
reconhecimento das máquinas. Não houve impedimento nem regras do SNORT para
restringir o tráfego.
Visto que não houve mais nós nesta transferência, coloquei um arquivo do site
http://mininova.org na aplicação utorrent. Tal como esperado, houve cerca de 30 nós
que estavam a receber e/ou a enviar arquivos.
Analisei cada pacote que estava na transferência capturada e todos os pacotes
capturados que já estavam a ser enviados por outros nós, dos quais o wireshark deu erro
e passou esses pacotes à frente. Houve transferências de vários países, reconhecimento
de ip’s que enviavam e/ou recebiam dados do meu nó e ainda houve protocolos e portas
virtuais abertas especiais que foram abertas pelos protocolos da transferência.
Para além da análise dos pacotes com o wireshark utilizei uma aplicação para poder
restringir esses pacotes. Nos pacotes analisados a partir do browser capturei o ip do
servidor e bloqueei esse ip, porque poderia tratar-se de uma ligação não segura.
Nos pacotes que analisei com o ut
Conclusão
O tema Peer-to-Peer hoje em dia é um dos mais falados e mais criticados por motivos de
leis e direitos de autor. Mas como tal como apresentei, este tema ainda é um tema que
cada vez mais é explorado e que não se poderá parar, visto que existem arquitecturas
que são impossíveis de parar.
As arquitecturas foram explicadas junto com vários frameworks e aplicações que
fizeram esclarecer melhor como as redes informáticas Peer-to-Peer funcionam e como
se relacionam connosco hoje em dia.
Referências
[1]# Shirky, C. (2000) What's P2P and What's not, 24/11/2000. Internet Publication.
[2]# Tanenbaum, A. S.(2005), Steen, M. V. - Distributed Systems : Concepts and
Design. 4th Edition.
[3]# Fábio Melro(2009), P2P model, application and alternative solution
[4]# Stoica, I., Morris, R., Liben-Nowell, D., Karger, D. R., Kaashoek, M.F., Dabek, F.,
e Balakrishnan, H.: "Chord: A Scalable Peer-to-peer Lookup Protocol for Internet
Applications." IEEE/ACM Trans. Netw., (11)1:17-32, Feb. 2003
[5]# Basu, S., Banerjee, S., Sharma, P., and Lee, S. 2005. NodeWiz: peer-to-peer
resource discovery for grids. In Proceedings of the Fifth IEEE international Symposium
on Cluster Computing and the Grid (Ccgrid'05) - Volume 1 - Volume 01 (May 09 - 12,
2005). CCGRID. IEEE Computer Society, Washington, DC, 213-220.
[6]# Risson, J. and Moors, T.: "Survery of Research towards Roubust Peer-to-Peer
Netwroks: Search Methods." Comp. Netw., (50), 2006.
[7]# Coulouris, G., Dollimore, J., Kindberg, T. Distributed Systems : Concepts and
Design. 4th Edition (2005).
[8]# Adar, E. and Huberman, B.A.: "Free Riding on Gnutella." Hewlett Packart,
Information Dynamics Lab, Jan.2000.
[9]# Saroiu, S., Gummadi, P.K., and Gribble, S.D.: "Measuring and Analyzing the
Characteristics of Napster and Gnutella Hosts." ACM Multimedia Syst., (9)2:170-184,
Aug. 2003.
[10]# Yang B. and Garcia-Molina, H.: "An Empirical Study of Free-Riding Behavior in
the Maze P2P File-Sharing System" Proc. Fourth Int'l Workshop on Peer-to-pEer
Systems, Lect. Notes Comp. Sc., (Ithaca, NY). Berlin: Springer-Verlag, 2005

Você também pode gostar