Wiki Transmissió de Dades

Els protocols p2p


Forum Pàgina Inicial


  • 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:

  1. 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.

  2. 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.

  3. 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)

  4. 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