Peer-to-peer

miniatura|Unha rede Peer-to-Peer que interconecta nodos ("peers") para poder intercambiar recursos sen ser preciso usar unha rede centralizada.
**Peer-to-peer** (*par con par*) refírese en xeral á interrelación directa de dous elementos que posúen a mesma xerarquía.

Aplícase en informática á **comunicación peer-to-peer** (entre 2 iguais), coa característica engadida de que a comunicación/información viaxa directamente desde unha computadora á outra sen ser interinamente almacenada nun servidor.

En xeral, unha rede informática entre iguais (en ; máis coñecida como **P2P**) refírese a unha rede que non ten clientes e servidores fixos, senón unha serie de nodos que se comportan á vez como clientes e como servidores dos demais nodos da rede. Este modelo de rede contrasta co modelo cliente-servidor. Calquera nodo pode iniciar ou completar unha transacción compatíbel. Os nodos poden diferir en configuración local, velocidade de proceso, ancho de banda da súa conexión á rede e capacidade de almacenamento.

Debido a que a maioría dos ordenadores persoais non teñen un IP fixo, senón que llo asigna o provedor (ISP) no momento de conectarse a Internet, non poden conectarse entre si porque non saben a priori os enderezos que han usar. A solución habitual é realizar unha conexión a un servidor (ou servidores) con enderezo coñecido (normalmente IP fixo), que se encarga de manter a relación de enderezos IP dos clientes da rede, dos demais servidores e habitualmente información adicional, como un índice da información de que dispoñen os clientes. Tras isto, os clientes xa teñen información sobre o resto da rede, e poden intercambiar información entre si, xa sen intervención dos servidores.

## Tradución do termo
Acostúmase traducir *Peer-To-Peer* como "entre pares". Aínda que esta tradución sexa correcta, a alternativa "entre iguais" evita equívocos e reforza a idea de que todos os nodos dunha rede P2P son iguais (non se distinguen servidores de clientes), evitando o equívoco que suporía pensar que sempre se realizan comunicacións entre parellas de nodos.

## Aplicación 
### Envío de arquivos 
Nunha red P2P, os clientes tanto poden compartir como pedir recursos. Isto significa que a diferenza do sistema cliente-servidor, a capacidade de obter un arquivo aumenta canda máis usuarios accedan a el, xa que segundo o van obtendo cada un deles, os usuarios que o queren descargar obteñen un novo nodo do que obter o arquivo. Un exemplo disto é a rede BitTorrent, no que se promove ao compartir arquivos, indicándoche a proporción de subida e baixada que tes, e dándoche prioridade canto maior é esta proporción.

Esta propiedade é unha das maiores vantaxes de usar P2P, porque fai que o custo de distribución de arquivos sexa moito menor.

### Multimedia 
* Os protocolos P2PTV e PDTP.
* Algunhas aplicacións propietarias como poden ser Spotify ou Skype.

### Actualizacións 
Actualmente os sistemas de actualizacións de programas e sistemas operativos, na súa maior parte, proveñen de servidores centralizados. Microsoft, cando anunciou Windows 10, unha das súas maiores satisfaccións foi darlles a posibilidade aos usuarios de poder descargar as actualizacións tamén a través de P2P.

## Desvantaxes 
* Como consecuencia de que non existe unha seguridade centralizada, cada computadora debe utilizar medidas de seguridade individuais para a protección de datos e adoita ser difícil controlar o acceso de nodos maliciosos e evitar a espionaxe das comunicacións entre nodos.
* É posible que non haxa un almacenamento centralizado dos datos polo que se deben conservar individualmente copias de seguridades dos datos. Esta responsabilidade recae nos usuarios.
* Poden facer falta mecanismos de sincronización.
* Cada nodo replica certa información/comportamento, ou redirixe datos/peticións.

## Clasificación 
#### Segundo o grao de centralización 
miniatura|300px|Representación en forma de grafo dos diferentes tipos de redes P2P en función do seu grao de centralización.
En función do grao de centralización, as redes P2P adóitanse clasificar en:

##### Redes P2P centralizadas 
Baseadas nun tipo de arquitectura monolítica na que todas as transaccións realízanse a través dun único servidor central que serve de porta de ligazón entre dous nodos e que, á vez, almacena e distribúe os nodos onde se almacenan os contidos.

Ofrece unha administración moi dinámica e unha disposición máis permanente do contido. Porén, os principais problemas son:
* O servidor introduce puntos de ruptura xa que se o servidor fallase, a rede non sería capaz de reorganizarse.
* Se a rede crece, a carga do servidor tamén crecerá e se o sistema non é capaz de escalar a rede, existe unha gran posibilidade de que se producisen colos de botella como consecuencia de que o servidor central non pode procesar a cantidade de peticións que poden chegarlle dos nodos.

##### Redes P2P descentralizada 
Son as máis comúns e nelas eliminase calquera tipo de intermediario entre os usuarios de forma que é a propia rede a encargada de organizar a comunicación entre pares.

Neste enfoque, se se coñece a un usuario, establécese unha "unión" entre eles, de maneira que forman unha "rede", que se pode unir a máis usuarios, de forma que tódalas comunicacións son directamente usuario a usuario con axuda dun nodo (que é outro usuario) que permite enlazar esas comunicacións.

Para encontrar un arquivo, un usuario emite unha consulta, que vai inundando toda a rede, co obxectivo de encontrar ó máximo de usuarios que posúan esa información.

O principal problema deste modelo é que se a rede crece, a mensaxe de consulta só chegará a uns poucos usuarios. Se o que buscamos é algo moi coñecido, seguramente calquera host dentro do noso horizonte de difusión o terá, pero en cambio, se o que buscamos é algo moi especial, posiblemente non o encontremos porque ó ter limitado o horizonte de difusión, teremos deixado fóra a host que ó mellor contiñan a información que andabamos a buscar.

A día de hoxe, as redes p2p non centralizadas puras foron substituídas por novas tecnoloxías, como é o caso dos Supernodos.

##### Redes P2P híbridas, semicentralizadas ou mixtas 
Neste tipo de rede, pódese observar a interacción entre un servidor central que serve como hub e administra os recursos de banda larga, encamiñamentos e comunicacións entre nodos pero sen saber a identidade de cada nodo e sen almacenar ningunha información, polo que o servidor non comparte arquivos de ningún tipo a ningún nodo. Estas redes poden incorporar máis dun servidor que xestione os recursos compartidos, pero tamén en caso de que o servidor ou os servidores que xestionen todo caian, o grupo de nodos pode seguir en contacto a través dunha conexión directa entre eles mesmos, co que é posible seguir compartindo e descargando máis información en ausencia dos servidores. As características destas redes son:
* Ten un servidor central que garda información en espera e responde a peticións para esa información
* Os nodos son responsables de hospedar a información (pois o servidor central non almacena información) que permite ó servidor central recoñecer os recursos que se desexan compartir, e para poder descargar eses recursos compartidos ós usuarios que o solicitan.
* Os terminais de encamiñamento sen enderezos usados polo servidor, que son administrados por un sistema de índices para obter un enderezo absoluto.

#### Segundo a estrutura da rede 
Segundo a estrutura da rede, as redes P2P adóitanse clasificar en:

##### Redes P2P estruturadas 
As redes P2P estruturadas superan as limitacións das redes non estruturadas, manteñen unha táboa hash distribuída (DHT) e permiten que cada usuario sexa responsable dunha parte específica do contido na rede. Estas redes utilizan funcións de hash distribuído e asignan valores a cada contido e cada usuario na rede. Despois seguen un protocolo global na determinación de que usuario é responsable de que contido. Desta maneira, sempre que un usuario desexe buscar certos datos, utilizará o protocolo global para determinar o usuario ou usuarios que o teñen e despois dirixirá a busca cara a estes.

##### Redes P2P non estruturadas 
Fórmase unha rede P2P non estruturada cando as ligazóns da sobrecapa se establecen arbitrariamente. Tales redes poden construírse moi facilmente cando un usuario que desexa unirse á rede pode copiar enlaces existentes do outro nodo e despois formar os seus propios enlaces nun prazo determinado. Un exemplo deste tipo de rede é Gnutella.

Nunha rede P2P non estruturada, se un usuario desexa encontrar información específica na rede, a petición ten que percorrer toda a rede para encontrar tantos usuarios como sexa posible, para conseguir a alguén que comparta os datos.

A principal desvantaxe con estas redes é que as peticións non sempre poderán resolverse. É moi probable que un contido popular estea dispoñible para varios usuarios, e é moi probable que calquera usuario o encontre; porén, se un usuario está a buscar datos non moi populares que comparten só uns poucos usuarios, é moi probable que a busca non dea os resultados esperados.

## Programas P2P
Mentres que o chat on-line é unha comunicación peer-to-peer, o servizo de correo electrónico non o é, xa que se realiza coa intermediación dun servidor de correo.

Redes peer-to-peer son eDonkey2000, Kazaa, Gnutella, BitTorrent, Freenet, Entropy, GNUnet, Kad -de nova creación... entre moitas outras.

## Controversia legal
Desde que se creara a rede P2P Napster, boa parte dos arquivos intercambiados entre usuarios nestas redes son obras musicais e cinematográficos con copyright, polo que existe unha gran controversia acerca da legalidade das redes P2P, liderada pola industria cinematográfica e audiovisual que ven como o seu volume de vendas diminúe como consecuencia do intercambio das súas obras nestas redes.

En España, dentro do marco da lexislación actual o intercambio de arquivos en redes P2P non é ilegal, amparándose no dereito de copia privada e sempre que non haxa ánimo de lucro.

Ademais, o uso das redes P2P non está limitado só ó intercambio de obras con licenza copyright, senón que o seu uso pode servir para o intercambio de obras con licenzas copyleft ou Creative Commons, obras de dominio público ou software libre.

Debe terse en conta tamén que existen aplicacións específicas de redes P2P directamente orientadas ao intercambio deste tipo de contidos e obras, como por exemplo Skype (VoIP) ou Helo, de Picasa (álbums de fotos persoais).

Debido á onda de demandas en 2005, moitos desenvolvedores destas redes están pensando en novos métodos que lle permitan ao usuario permanecer en anonimato a través da creación dun P2P anónimo.