# P2P

P2P (peer-to-peer) sareek konputagailuen arteko komunikazio sistema bat osatzen dute. Peer to peer horrek parekoen arteko komunikazioari egiten dio erreferentzia. Ez daude bezero eta zerbitzari finkorik, bien papera aldi berean egiten duten nodoak baizik. Bezero-zerbitzari ereduaren “kontrako” bezala har daiteke. Hierarkia gabeko sareak dira. Lagun (erabiltzaile edo nodo deritzenak) bakoitza berdinak dira eta ez dago bat bestea baino maila altuagoan.
Lagun bakoitza aldi berean erabiltzaile zein zerbitzari da. Besteek eskaintzen dieten baliabideak erabili eta norberak besteei eskaini egiten die. Gauzak honela, zerbitzari batek erabiltzaileen eskaerei aurre egiteko baliabideak kudeatu eta eskaintzen duen zerbitzari zentral baten beharra ekiditen da.
P2P arkitektura Napster fitxategi partekatze aplikazioek egin dute ezagun. Hainbesteko arrakasta lortu izanak informatikan zein beste hainbat arlotan antolaketa berriak sortzea eragin du.

## Arkitektura

Ohikoa izaten da P2P sistemetan gainsare abstraktu bat erabiltzea (overlay network ingelesez), komunikazio-arkitekturako aplikazio mailan gauzatuta. Gainsarea indexatzeko zein beste erabiltzaileak aurkitzeko balio du. Gainsarea erabiliz, P2P sistema sare topologia fisikoarekiko independentea bilakatzen da.
P2P anonimo sareek geruza bat baino gehiagoren erabilpena dela medio informazioa bidali zein jasotzen duenaren identitatea gordetzen dute.
Egituratutako sistemek, propietate eta topologia bereziak dituzte eta algoritmo eta irizpide jakin batzuk jarraitu behar dituzte erabiltzaileen antolaketarako. Lan hau burutzeko Chord sistema moduko hash tauletan oinarritutako indexatzeak egiten dituzte.
Desegituratutako sistemek ordea ez dute inolako algoritmorik erabiltzen antolatzeko edo konexioa optimizatzeko. Oro har hiru desegituratutako arkitektura daude definituta:
* P2P sistema puruetan sarea erabiltzaile berdinek osatzen dute. Geruza bideratzaile bakarra dago eta ez dago inongo nodo hobetsirik azpiegitura lanetarako.
* P2P hibridoek azpiegiturarako nodoak onartzen dituzte. Supernodo deritze.
* P2P zentralizatuetan zerbitzari baten beharra dago indexatzeak egiteko eta sistema osoa martxan jartzeko. Egituratutako sistemen antza badu ere, erabiltzaileen arteko konexioak algoritmorik erabili gabe egiten dira.
Napster, fitxategien partekatzera zuzendutako lehen P2P aplikazioa, eredu zentralizatuaren adibiderik garbiena da. Gnutella eta Freenet, berriz, eredu deszentralizatuarena eta Kazaa P2P hibridoarena.
P2P sareen erabilpenik zabalena nodoen arteko konexioak ezartzearena da, ad hoc konexioen bidez. Mota anitzeko informazioa pasa daiteke. Datu sinpleak (audio fitxategiak esaterako), eta denbora errealeko datuak (telefonia zerbitzuak adibidez) dira zerbitzu hau erabiltzen dutenak.
Hasieran esan bezala, bezero-zerbitzari ereduaren “kontrako” edo “ordezko” moduan har daiteke. Hemen bezeroek zerbitzari zentral bati eskatu eta honek zerbitzatu egiten diete. Fitxategiak partekatzen dituzten eredu guztietatik P2P-n oinarritzen ez den zerbitzu bat jartzearren adibide bezala FTP da.
P2P-ren sare gainjarrian erabiltzaile guztiak nodoak dira. Nodo bat beste edozein nodorekin lotuta dago eta elkar ezagutzen dira. Bata bestearekin nola loturik dagoen ikusita sarea egituratua edo desegituratua den esan dezakegu.

### Sistema egituratuak

Sistema hauen ezaugarririk esanguratsuena nodoen arteko bilaketa eraginkor bat egiteko protokoloen erabiltzea da. Fitxategi bat bilatu nahi denean, aplikazioak inplementatzen duen protokolo jakin bati esker eta erabiltzaile gutxik edukita ere, eraginkortasun handiz bilatzen dira. Sistema egituratuetatik gehien erabiltzen den modua Hash Taula Banatuen (DHT ingelesez. Distributed Hash Table) bidezkoa da. Hash taula bateak gako batekin datu bat lotuta duten bezala, DHTak fitxategi bakoitzari jabe bat esleitzen dio.

#### Hash Taula Banatuak (HTB)

Banatze desentralizatu mota bat da eta hash taulek antzeko zerbitzua eskaintzen dute. HTBen gordetako gako-balio parea edozein nodok eskura dezake eta baina parekatze hori baliozkoa egiten duen mapeatzea erabiltzaileen esku geratzen da. HTBak P2P sistema bat osatzen duten azpiegitura sortzeko erabiltzen dira. Hash Taula Banatuak maneiatzen dituzten sistema guztien artetik BitTorrenten trackerrak, Kad sarea, YaCy eta Coral Content Distribution Network dira nabarmenenak.

### Sistema desegituratuak

Nodoen arteko loturak arbitrarioki ezartzen direnean sistema desegituratua dela esaten da. Erabiltzaile batek fitxategi bat bilatu nahi izan ezkero, lotura duen lagunei galdetzen hasiko da. Hauek ez badute, beraien lagunei deituko die eta horrela jarraituko du prozesuak fitxategia bilatu arte. Bilaketa eredu honi flooding esaten zaio. Bere abantailarik nagusiena lagun askok duten fitxategi bat azkar aurkitzen duela da, baina bestalde, lagun gutxik badute baliteke ez aurkitzea. Flooding-aren ondorioz trafikoa asko handitzen da eta honek bilaketek eraginkortasun maila oso eskasa izatea dakar. Dena dela, P2P sare gehienak sistema desegituratuen alde apustu egiten dute.

### Indexaketa eta iturri bilaketa

Gaur egungo sareek kudeatze lanetara zuzenduriko zerbitzariak erabiltzen dituzte. Gehienbat Erabiltzaile potentzialak listatzeko (Tor), beraien ekintzak antolatzeko (Folding@home) eta bilaketetarako(Napster, Emule). Hasieran flooding-aren bidez bilaketak egiten ziren arren eraginkortasun handiagoa lortzearren bilaketak zehatzetara zuzendutako estrategiak erabiltzen dira orain, HTB eta supernodoak erabiliz, esate baterako.

## P2P sareen erabilerak

Informazioa parteko erabiltzen bada ere normalean, beste hainbat aplikazio ere badute P2P sareek.
Informazioa bidali eta hartzeko
* Fitxategiak partekatzen duten aplikazioek egin dute ezagun. Gnutella edo Napster dira adibide garbi bat.
* Eduki entregak egiten dituzten P2P sareak (Content Delivery Network edo P2P-CDN) (Giraffic, Kontiki, Ignite, RedSwoosh).
* Fitxategiak partekatzera zuzendurik dauden sareen bidezko softwareen argitarapena eta banaketa (Linux eta hainbat joko).
* Streaming bidezko multimedia. P2PTV eta PDTP. TVUPlayer, Joost, PPLive, LiveStation.
* Spotify-k P2P sarea erabiltzen du streaming zerbitzariek musika bidal dezaten mahaigaineko musika erreproduzitzailera.
* Multicast bidezko streaminga lortzeko Peercasting erabiltzen da. Ikus PeerCast, IceShare, FreeCast.
Sare-lanak
* Cloud computing.
* Dalesa. LAN sareentzat P2P web-cachea (IP multicasting-ean oinarrituta).
Zientziak
* Sciencenet P2P bilaketa motorra.
* BOINC
Bilaketak
* YaCy. Libreki banatzen den bilaketa motorra. Hainbat P2P sareetan sartuta dago.
Komunikazio sareak
* Skype.
* Berehalako mezularitzan eta lineako txatean.
* Erabat desentralizatutako “lagun” sareetan: Usenet (1979) eta WWIVnet (1987).
Beste aplikazioak
* AEB-ko defentsa ministerioak P2P sareei zuzendutako ikerketa hasi du gerra denboran erabiltzeko estrategia gisa.

## Baliabide edo aplikazio informatikoak

Badaude P2P komunikazioa lortzeko hainbat baliabide informatiko. Software libre alorrekoak, adibidez, hauek: aMule, Transmission, Vuze...

## Erreferentziak

* ↑ http://librezale.eus/wiki/P2P_sareak
* https://web.archive.org/web/20111217070202/http://sustatu.com/gaia/p2p. P2P teknologiaren inguruko berriak.
* http://www.comodescargar.com/. Gaztelaniaz. Orri interesgarri bezain erabilgarria.
* Eduardo Secondo Varela Pezzano. Tecnologías peer-to-peer, derechos de autor y copyright. Editorial Universidad de Rosario (Colombia). ISBN 978-958-8378-86-2. Liburua. Gaztelaniaz.
* https://web.archive.org/web/20090922214835/http://www.p2pna.com/glossary.html. Ingelesez. Kontzeptuen definizioen zerrenda.
* http://www.bittorrent.com/. Ingelesez.
* http://www.emule-project.net/. Ingelesez.

## Kanpo estekak

* Datuak: Q161410
* Multimedia: Peer-to-peer / Q161410