Els protocols p2p
1.Historia
2.Filosofia dels protocols p2p
3.Funcionament
4.Tipus de xarxes p2p
5.Usos de les xarxes p2p
1. Historia
El
1996 un progrmador australià de l'empresa Apple, Adam Hinkley, va
desenvolupar un protocol per al famos al sistema operatiu MAC_OS. Era
l'anomenat Hotline_Communications i havia de servir com a plataforma
d'intercanvi d'informació per a universitats o empreses. Aquest
protocol es el primer que segueix la filosofia actual de les xarxes p2p
tot i que en aquest cas el funcionament era molt més sensill. Cal dir
que tot i la intenció inicial de Apple, el protocol va acabar servint
per a l'intercanvi de música en format mp3 i pornografia.
Amb
el temps, i donat que es tractava d'una plataforma minoritaria, va
caure en desus. El 1999 Shawn Fanning, estudiant de la Boston's
Northeastern University, va desenvolupar el conegut protocol de
Napster. Aquest erroniament es considera el primer protocol p2p però
s'especula que Fanning es inspirar en el Hotline per a la seva
implementació. Cal dir que Napster utilitza servidors centrals per a
emmagatzemar el llistat dels equips i fitxers que tenien els seus
usuaris i per tant en el seu moment va ser relativament fàcil de
clausurar.
Degut a que la majoria del contingut intercanviat en les xarxes p2p esta sota les lleis de la propietat intel·lectual, Napster va rebre moltes denuncies de les compañies discografiques. Degut a aquests fets, Napster va haver de tancar i reobrir com a progrma de pagament, passant totalment a l'oblid per part dels usuaris. A partir del 2000 hi va haver una migració massiva cap als programes descentralitzats que va fer que en molts casos sigui impossible clausurar les xarxes p2p ja que no que constancia de la informació intercanviada enlloc. És el cas de xarxes com les de Freenet, eDonkey, ?BitTorrent, etc..
2. Filosofia dels protocols p2p
Les
xarxes p2p segueixen una filosofia totalment meritocràtica. Aquesta
consisteix, tal i com l'analogia suggereix, en eliminar els serveis i
la gestió central i traslladar tot el control als clients. D'aquesta
manera s'intenta valancejar la càrrega per tal de que totes les
màquines facin el paper de client i de servidor alhoara. A més, l'ideal
d'aquestes xarxes és que el client que més comparteixi més privilegis
tindrà dins de la xarxa i per tant més podrà obtenir d'ella.
Analitzant
aquestes il·lustracions podem veure la diferència conceptual entre
l'esquema classic de client-servidor i l'esquema p2p:
En primer lloc podem veure un protocol que utilitza l'esquema client-servidor.
En segon lloc un protocol que utilitza un esquema p2p
3. Funcionament
Alhora de disenyar un protocol p2p cal tenir em compte una sèrie de requeriments que si be, no en tots els casos necessaris, són desitjables per a que el protocol segueixi al màxim la filosofia p2p:
Escalabilitat: El fet que la xarxa p2p pugui creixer en nombre de nodes es un requisit fonamental per a que els recursos es puguin repartir sobre el nombre màxim de màquines.
Descentralitació: Requisit intrínsecament associal a la filosofia. El fet de que s'utilitzi un servidor central fa que la xarxa p2p tingui més problemes d'escalabilitat i anonimat dels seus usuaris.
Seguretat: En alguns casos cal segurietat sobre els continguts intercanviats així com per a evitar l'intercanvi d'informació amb drets d'autor. En alguns casos es vol permetre aquest intercanvi pero limitant-ne l'us (ie es permet intercanviar música però només es pot escoltar un nombre limitat de comps)
Anonimat: En molts casos es vol que hi hagi anonimat dels usuaris que utilitzin la xarxa. Aquest ha estat un dels punts clau per a l'èxit de molts protocols
La majoria d'aquests requisits es poden implementar combinant tècniques que em anat estudiant durant aquest semestre però en el cas de la descentralització sorgeix un problema: La majoria de màquines actuals no disposen d'ip estàtiques, sinó ips dinàmiques que van canviant segons la conveniencia del ISP. A més, el contingut que es vol compartir està distribuït en diferents màquines i no es possible saber de manera trivial a quina màquina concreta es troba el contingut que s'està buscant. És per aquest motiu que en molts casos és necessari la presència d'un servidor central que disposi d'un llistat de clients conectats a la xarxa amb el contingut que estan compartint en aquest moment. Cal dir però que els protocols més nous evitan l'us d'aquest servidor central fen us de tècniques més novedoses.
4. Tipus de xarxes p2p
Segons la manera en com estan implemenetats els protocols p2p podem trobar tres variants:
p2p centralitzats:
Tal i com el seu nom indica són protocols amb estructura monolítica on
totes les transaccions entre els nodes de la xarxa es fan a través d'un
únic servidor central. Aquest conté la llista d'usuaris que estan
connectats a la xarxa i distribueix els continguts als subnodes segons
sigui necessari.
El
principal abantatge d'aquesta arquitectura és la alta disponibilitat
del contingut. Per altra banda el fet que el protocol sigui tant
dependent del servidor central provoca que sigui dificil la
escalabilitat i privacitat dels usuaris.
Alguns exemples de protocols d'aquest tipus són Napster i Audiogalaxy
p2p discentralitzades "pures":
Aqueses eliminen el servidor central i emmagatzemen tot el control de
la xarxa en els diferents clients conectats a ella. Totes les
connexions es fan sempre de node a node i es podria dir que en aquest
cas cada node actua com a client i servidor a la vegada.
El
principal abantatge d'aquesta arquitectura es el guany en privacitat i
la alta escalabilitat de sistema. Per altra banda aquestes xarxes tenen
problemes de disponibilitat de les dades i de cerca d'informacio. No és
trivial en absolut una cerca de contingut quan aquest esta distribuit
en diferentes màquines.
Exempres d'aquesta arquitectura els podem trobar en Freenet, Gnutella i Ares Galaxy
p2p hibrides:
En aquest cas es fa us de un servidor central que funciona com a hub y
administra els recursos de l'ample de banda, enrutament i comunicació
entre els nodes pero sense saber la identitat de cada nodes i sense
emagatzemar cap tipus de dades que es comparteixin. Per tal de no
mantenir un llistat dels nodes que es conecten a la xarxa, els
servidors centrals manenen un llistat indexat amb les direccions
abstractes dels nodes. Després als nodes s'emagatzema l'associacio de
cada direccio abstracte amb la direccio absoluta.
Aquesta arquitectura la podem trobar el xarxes com les de ?BitTorrent, eDonkey2000 i Direct Connect
Aqui
podem veure un exemple il·lustratiu en el que es pot veure la
diferència entre una xarxa p2p centralitzada i una xarxa distribuida:
5. Usos de les xarxes p2p
El
disseny inicial de la xarxa Hotline_connections va ser convebut com a
mitjar per a intercanviar informació dins d'una empresa o una
universitat. El temps ha demostrat que l'us daquestes xarxes, no sense
controversia, a vegades ha estat centrat en l'intercanvi de dades amb
drets d'autor tals com música o pel·lícules.
Tot
i així degut a la gran escalabilitat del sistema respecte de
l'arquitectura clàssica client-servidor, les xarxes p2p han començat a
atraure l'atenció de científics d'altres ciències, especialment aquells
qui treballen amb grans cantitats de dades.
Bioinformàtica:
L'arquitectura p2p ha servit i serveix en molts casos per a crear
arquitectures de processament de dades genètiques distribuides.
Medicina:
El 2001 es va disseñar a la universitat de Oxford el primer centre
computacional per a la detecció de drogues. Per a fer aquest sistema es
van util·litzar conceptes clau en les xarxes p2p per a organitzar la
informació distribuida.
Industria:
La industria del cinema també s'està plantejant el fet de començar a
distribuïr el seu material a través d'aquestes xarxes. És el cas de
Warner Bross o la BBC que distribueixen part del seu material a través
de tecnologies com ?BitTorrent.
Fonts:
http://es.wikipedia.org/wiki/Peer-to-peer
http://es.wikipedia.org/wiki/Historia_de_las_aplicaciones_P2P
http://es.wikipedia.org/wiki/Napster
http://es.wikipedia.org/wiki/Shawn_Fanning