Apresentação
Intriscicamente à rede P2P, surgem características que individualizam e, em alguns aspectos, tornam esta rede mais eficiente que as demais. O objetivo desta seção é apresentar quais são essas características, descrevê-las e relacioná-las de forma a mostrar o potencial desta rede para certas aplicações.
No mundo dos negócios, onde a eficiência é um requisito e a economia um parâmetro importante, a necessidade do uso de redes P2P pode vir como uma tentativa de pôr fim ao desperdício de recursos computacionais por ociosidade [Loo,2003]. Por exemplo, numa empresa onde um computador ligado à rede encontra-se ocioso, indiretamente, está desperdiçando espaço em disco e capacidade de processamento. Além disso, a rede P2P também pode servir como base para desenvolvimento de negócios baseados nas seguntes características:
- Comunicação direta - Ligado ao fato de usuários poderem se intercomunicar com outros através de uma ligação direta e não por intermédio de um servidor. Esta característica requer uma aplicação que não colida com um possível firewall utilizado por um dos nós da rede. Assim, garante-se uma uniformidade quanto ao acesso ao espaço "distribuído"
- Adaptabilidade - Apesar da variabilidade no meio físico com relação aos dispositivos de conexão (modem ADSL, roteador sem fio Wi-fi) e aos tipos de redes (Intranet, Internet, LANs), a rede P2P tem a capacidade de se ajustar automaticamente a isso, mesmo na ocorrência de falhas. Isto garante um certo grau de flexibilidade para este tipo de rede.
- Escalabilidade - Enquanto numa relação do tipo cliente-servidor ou nos mainframes havia um congestionamento no que diz respeito ao compartilhamento de recursos, a rede P2P não possui um "ponto de estrangulamento" devido a sua natureza distributiva. Dessa forma, torna-se uma excelente alternativa para evitar as filas de espera e outros problemas da atual internet, por exemplo.
- Mobilidade - O que talvez possa ser o maior problema da Internet hoje em dia (devido ao fato do IP ser geográfico, por exemplo), na rede P2P é bem estruturado, que é a questão de mobilidade. Esta funcionalidade deve assegurar que os clientes possam desconectar-se e reconectar-se ao espaço compartilhado sem nenhum prejuízo e propagando as alterações feitas pelos demais membros.
- Auto-organização - Se no sistema cliente-servidor as operações eram intermediadas pelo servidor, que além disso continha os dados a serem solicitados e disponibilizados, na rede P2P não há uma autoridade central. Neste caso, o gerenciamento da rede fica totalmente sobre responsabilidade de seus utilizadores.
Vantagens e Desvantagens do P2P
Como já foi dito, uma rede P2P, em um conceito geral, possui todos seus elementos como nós que acumulam funções de clientes (faz pedidos) e servidores (recebe e responde a pedidos). Em função de sua estrutura, podem-se citar alguns bons motivos para se usar esse esquema:
- Elevada disponibilidade: pelo fato de não depender de um único lugar, a possibilidade dessa rede estar indisponível é praticamente nula, pois mesmo que um nó esteja inativo, pode-se comunicar com qualquer outro do “imensurável” número de pontos de acesso.
- Partilha de recursos e performances: qualquer atividade que necessite de espaço de armazenamento, esforço computacional, tráfego de rede, entre outros requisitos, não terá problemas. Isto acontece porque de uma forma econômica o P2P consegue mais recursos e mais computadores para o processamento, sem nenhum tipo de degradação com o aumento do número de nós, ao contrário do cliente-servidor, onde é necessário adequar as capacidades do servidor ao número de clientes.
- Em termos gerais, há uma elevada segurança e robustez: quando vista de maneira geral, a rede P2P possui baixa probabilidade de sofrer um ataque malicioso de maneira generalizada, diferente de cada nó, que possuem uma certa vulnerabilidade. Isso ocorre porque ela não tem um “Single Point of Failure”, ou seja, para afetar toda a rede o atacante teria muito trabalho em lidar com todos os pontos. Resumindo, aqui, se um nó é atacado, apenas ele será prejudicado, e não toda a rede;
- Algumas empresas já utilizam tal tecnologia para diminuir custos com distribuição de documentos por toda a mesma;
Assim como as vantagens, as vulnerabilidades são tópicos a se destacarem, seja de forma específica desse tipo de rede, ou de forma mais generalizada:
- Distributed Denial of Service: Não existe um centro para se atingir. Então uma maneira de uma pessoa maliciosa atacar essa rede é de forma distribuída. Ou seja, o objetivo se torna bloquear a comunicação entre os nós, recorrendo ao consumo excessivo dos recursos da rede. Neste caso, um nome conhecido é o ataque por flooding (inundação), onde em geral muitos nós são controlados para enviar pacotes inválidos apenas para congestionar o fluxo da dados, a ponto do serviço ser negado a outros. Para esse tipo de problema é difícil de encontrar o culpado, pelo fato das ações virem de vários lugares e pelo fato também, do caso parecer com uma simples intensificação do uso da rede.
- Man-in-the-Middle: O fato de todos os nós estarem interligados pode servir para este tipo de ataque. O “homem-no-meio” é a utilização de um nó intermediário a outros dois ou mais, que é usado como interceptador de informações. O atacante pode simplesmente interceptar a informação compartilhada pelos extremos, podendo até modificar a informação em seu favor. Roubos e informações falsas ou maliciosas são algumas das consequências deste ataque. Mais uma vez, a natureza distribuída do P2P é propícia a esse tipo de ataque e ainda é difícil de descobrir o atacante.
- Vírus: Softwares maliciosos, podem ser lançados na rede por qualquer um, sendo seu espalhamento muito fácil nesta arquitetura de redes. Afinal é muito comum a utilização do mesmo software por vários nós que o compartilham, na maioria dos casos, “cegos” em relação ao problema. Além dos casos onde o próprio software gerenciador do P2P pode conter Malwares.
- Sybil: Acontece quando um único nó assume múltiplas identidades dentro da rede, fazendo-se passar por outros nós. Esse caso pode ferir a integridade de dados, ou ainda pior pode dar ao de atacante o poder de controlar certos pontos e elementos. Uma variação do Sybil, por exemplo, o Eclipse, que utiliza do primeiro para separar a rede em duas sub-redes dá ainda mais força e mais identidades ao atacante, podendo este utilizar de várias técnicas com todo seu controle (Man-in-the-Middle, Negação de Serviço, etc.)
- Não Disponibilidade de Recursos: Uma rede P2P é formada e cresce com o compartilhamento dos de dados e informações por parte dos usuários, porém muitos usufruem dos recursos, mas deixam de contribuir.
- Traffic Shaping: Os ISPs (Internet Service Providers) podem condicionar, entre outros, o tráfego P2P nas suas redes por forma a gerirem de forma mais eficaz a largura de banda que oferecem aos seus utilizadores. Este condicionamento afecta a performance das redes P2P.
- Violação de Direitos Autorais: Com certeza é tópico mais falado, a nível mundial, sobre esse assunto. O compartilhamento inteiramente livre, muitas das vezes, acaba ultrapassando alguns limites criados pelas leis de direitos sobre o uso dos dados. Essa ideia será sempre discutida, ou pelo menos citada em muitos outros pontos a se falar.
E por último, todavia não é uma vulnerabilidade da rede em si, mas sim uma vulnerabilidade do comércio e interesses, proporcionados pelo P2P, temos: