p2p

I Sistemi P2P – Parte 1

Alla fine degli anni ’90 i sistemi peer-to-peer, noti anche come P2P o paritari, segnarono lo sviluppo di un nuovo strumento per la condivisione in rete che presto avrebbe segnato una rivoluzione nel mondo del file sharing. P2P significa letteralmente “pari a pari”, vale a dire consentire a tutti i peers (utenti dei sistemi paritari) di condividere e ricevere allo stesso modo i file in internet, indipendentemente dal formato e dalle dimensioni. Il sistema P2P si sviluppa su una rete informatica in cui tutti i computer collegati in rete tra loro svolgono insieme funzioni di client e server, superando le rigide gerarchie di sistemi di file sharing più datati, basati su un’architettura in cui i computer, o nodi, svolgevano solo funziona di client. Trattando di P2P ci si riferisce sia al software di condivisione che gira sul computer, sia alla rete informatica su cui è sviluppato il programma e su cui si attua la condivisione del file.

Il programma che ha dato origine al fenomeno del P2P è Napster, software creato da Shawn Fanning e Sean Parker, rilasciato nel Giugno 1999 ed attivo fino al Luglio 2001, anno in cui fu chiuso e sostituito da una versione legale a pagamento per l’acquisto in rete di musica. Sebbene fosse solo concepito per scaricare musica, in breve tempo, Napster divenne il centro del mondo peer-to-peer, godendo anche di un enorme successo grazie alla sua semplicità ed alla possibilità per gli utenti di poter scaricare velocemente le canzoni che desideravano. L’architettura di rete su cui si edificava Napster era costituita dal collegamento ad un server centrale, a cui si collegavano tutti gli altri computer. Ciò rappresentò il suo punto debole, giacché, al momento della chiusura del server centrale, l’intera rete venne meno.

La rete Centralizzata di Napster prevedeva che tutti i computer fossero collegati ad un solo server centrale
La rete Centralizzata di Napster prevedeva che tutti i computer fossero collegati ad un solo server centrale

audiogalaxyParallelamente a Napster, per un breve periodo, venne sviluppato AudioGalaxy, un software peer-to-peer con un motore di ricerca web-based ed una struttura di rete, simile a Napster, fortemente centralizzata, la cui missione dichiarata fu di semplificare la condivisione della musica in rete. Tuttavia, anche il progetto di AudioGalaxy tramontò a seguito di un accordo extra-giudiziale raggiunto nel 2002 con la RIAA, per mezzo del quale si obbligava AudioGalaxy a condividere le opere musicali solo previo permesso degli autori, dei compositori e delle case discografiche.

Dopo la chiusura di Napster, seguirono numerosi altri progetti, basati su architetture di rete diverse e sviluppati anche per sistemi operativi differenti. Ogni rete, inoltre, si è sviluppata su uno o più appositi programmi, specializzandosi, talvolta, in appositi settori; così è possibile che l’utente, collegandosi ad una rete piuttosto che ad un’altra, abbia più possibilità di trovare il file ricercato.

Tra le reti di maggiore successo:

  • Gnutella – è un progetto peer-to-peer sviluppato a seguito della chiusura di Napster. La rete Gnutella nasce da una leggerezza di programmatori della Nullsoft, i creatori del noto lettore multimediale Winamp, che successivamente all’acquisizione da parte della America Online, rilasciarono il codice sorgente di una nuova rete peer-to-peer ispirata a Napster. Il progetto nasce come open source, tanto da essere rilasciato sotto la GNU GPL. Malgrado il nome Gnutella nasca come gioco di parole tra GNU (il noto progetto del sistema operativo libero) e Nutella (la famosa crema spalmabile), esso non è un progetto legato a quello GNU, per tale motivo la Free Software Foundation ha richiesto che venisse modificato il nome; l’organizzazione no-profit ha infatti chiarito che “né il software originale, né alcuno dei relativi progetti in corso sono pacchetti ufficiali GNU” . I miglioramenti apportati dalla rete Gnutella riguardano, prima di tutto, l’ampliamento della gamma di file da condividere (non più solamente musica, ma ogni tipo di documento digitale) e lo sviluppo di una rete serverless, ovverosia una rete di condivisione che interconnette direttamente tutti i peers senza la necessità di un collegamento diretto ad un server. In questo modo tutti gli utenti sono in grado di ricercare un file direttamente sul PC di uno dei peer connessi alla rete, cosicché la chiusura di un computer non pregiudichi la funzionalità dell’intero sistema. Tuttavia, il sistema di ricerca nella rete ha mostrato dei limiti quando, a causa del numero dei nuovi utenti che ogni giorni entravano a far parte del sistema, i tempi per ottenere dei risultati si prolungavano. La soluzione fu ricreare un nuovo protocollo, denominato Gnutella 2 o G2 che si basa sui c.d. ultrapeer o supernodi, utili per distribuire i carichi di lavoro e diminuire le richieste di file. Tra i software maggiormente diffusi che supportano le reti Gnutella o G2 si citano Morpheus, LimeWire, FreeWire e XoloX.
  • FastTrack – è una rete proprietaria, creata dalla società tedesca Kazaa BV e basata sul progetto Gnutella. A differenza di quest’ultima, FastTrack si è da subito sviluppata sul sistema dei supernodi, ottimizzando in tal modo gli strumenti di ricerca. Utilizzando i supernodi, essenzialmente si suddivide la rete in reti più piccole, affinché ogni supernodo effettui una particolare ricerca che, una volta conclusa, la rimanda ad un particolare computer, in modo tale si accelera la fase di ricerca. Le innovazioni portate da FastTrack consistono nella possibilità di riprendere i download interrotti e di scaricare un file più grande contemporaneamente da più peer, in modo che il download risulti più semplice e veloce. Tuttavia, FastTrack non è una rete libera, pertanto chiunque voglia sviluppare un software per accedere alla rete deve pagare una licenza, alla Kazaa BV. Il successo della rete ha, inoltre, attirato l’attenzione dell’industria musicale che, oltre a monitorare la rete e ad inondare il sistema di file fasulli o corrotti, ha fatto causa alla Kazaa BV, costringendola così a vendere la rete alla Sharman Networks nel Novembre 2001. L’origine proprietariae lo sviluppo del programmi ufficiali che contengono adware o spyware, ha originato una serie di programmi Lite, come Kazaa Lite, esenti da avvisi pubblicitari o software spia, di conseguenza l’utente non subisce il bombardamento di pop-up durante la navigazione o vede mutata la propria homepage, al contrario di quando viene installato un programma ufficiale (Kazaa e iMesh sono i programmi ufficiali e più noti). La propagazione di programmi senza pubblicità ha creato un notevole malcontento, tanto da indurre la Sharman Networks a criptare periodicamente la rete, senza ottenere un successo duraturo. In risposta alla continua criptazione ed ai limitati accessi su FastTrack, i coders hanno realizzato una rete alternativa ed open source denominata OpenFT, progetto simile ma assolutamente indipendente da FastTrack.
  • eDonkey e Overnet – entrambe le reti nascono dal medesimo progetto, poi diversificato perché eDonkey ha preferito un sistema centralizzato simile a Napster senza negare la possibilità ai propri utenti di condividere i loro file contenuti sui propri PC, mentre Overnet ha preferito un sistema serverless. Come FastTrack, anche le reti eDonkey (ed2k) ed Overnet usano un sistemi che consentono di riprendere un download interrotto o scaricare simultaneamente da più utenti il medesimo file, arrivando a superare per efficacia la rete FastTrack nel 2004. La novità introdotta è rappresentata dalla creazione di un identificativo che permette di individuare file identici che riportano nome differenti, in modo di assicurarsi di stare scaricando il file corretto. Tale sistema identificativo è noto come hash checksum, ossia una stringa viene assegnata unicamente ad ogni file precedentemente analizzato per dimensione e contenuto. Al fine di migliorare la condivisione, le reti ed2k ed Overnet permettono di avviare lo scambio del file ancor prima che venga terminato il download, così è possibile che, in caso di un file di notevole dimensione, non sia indispensabile che l’utente abbia concluso il download per iniziare a condividere. Tra i programmi più noti si ricordano eDonkey2000, eMule, aMule e Shareaza.
  • Kademlia – nota anche come rete Kad, è un rete serveless sviluppato da eMule e aMule, ideata da Petar Maymounkov e David Mazières della New York University. In sostanza, il programma permette all’utente di collegarsi simultaneamente alla rete server ed alla rete serverless (Kad). emuleUn nodo che vuole accedere alla rete deve, prima di tutto, cominciare un processo denominato bootstrap. In questa fase, il nodo ha bisogno di conoscere l’indirizzo IP di un altro nodo (ottenuto dall’utente o da una lista memorizzata) che stia già partecipando alla rete di Kademlia. Se il nodo che deve fare il bootstrap non ha mai partecipato alla rete, calcola un numero identificativo casuale che non sia ancora stato assegnato ad un altro nodo, utilizzando codesto ID finché non lascia la rete. eMule è attualmente uno dei software più diffusi e conosciuti nel mondo peer-to-peer, consentendo una interconnessione migliore per lo scambio di file
eMule ed aMule sfruttano sia la rete Server che la rete Kad per scambiare file. L’utente può scegliere se collegarsi al server od anche alla rete serverless.
eMule ed aMule sfruttano sia la rete Server che la rete Kad per scambiare file. L’utente può scegliere se collegarsi al server o anche alla rete serverless.
  • DirectConnect – è una rete costituita di un insieme di server, non connessi tra loro, che consentono solo il download ai client connessi ad essi. Le ragioni che giustificano l’esistenza di diversi server sta nella specializzazione che ognuno ha. Infatti, ogni server della rete DirectConnect è un server di genus o species, ossia indirizzato verso una tipo di documentazione (musica, cinema, etc…), oppure specializzato in un settore, come musica jazz o film d’epoca, ciò garantisce, quindi, una ricerca specifica. Tuttavia, per accedere al server, all’utente è richiesto di rendere obbligatoriamente condivisibile un certo quantitativo di dati (solitamente il numero varia da 10GB a 20GB). DC++ e DCGui sono due dei software che utilizzano la rete DirectConnect.
  • MP2PManolito P2P, creata dal programmatore spagnolo Pablo Soto, è una rete nata per la diffusione di musica MP3, specializzata anche nella ricerca di musica rara. MP2P ha recentemente concesso ai propri utenti di condividere anche altri file attraverso la rete. Infine, Manolito P2P è l’unica rete che possiede tre client ufficiali, ma solo Piolet è l’unico privo di adware.
  • BitTorrent – Il protocollo BitTorrent o BT è un sistema peer-to-peer il cui l’obiettivo è di realizzare e fornire un sistema efficiente per condividere lo stesso file, solitamente di grandi dimensioni, verso il maggior numero di utenti disponibili, sia che siano in fase di download, sia che siano in upload. Si tratta, quindi, di un meccanismo per coordinare in automatico il lavoro di numerosi computer. Grazie a questo sistema, ogni nodo contribuiscealla diffusione del file. Il file originale viene frammentato in eguali unità, per poi essere ricomposto in fase di download. Questo metodo ha anche il pregio di ridurre l’impatto della cosiddetta leech resistance , e facilitare maggiormente la condivisione tra gli utenti. Per avviare il download è necessario ottenere un file la cui estensione è .torrent, ossia un formato leggibile solo dai software basati sulla rete BT, è di ridotte dimensioni, tale file compie il ruolo di indice, al cui interno è contenuta la descrizione di tutti i pacchetti in cui è stato suddiviso il file originale, incluse le chiavi hash che garantiscono l’integrità dei vari pezzi. Il sistema BitTorrent differenzia i vari utenti in 3 sottocategorie, tra le quali i Seed (utenti che hanno completato il download del file e partecipano alla condivisione), i Peer (utenti che stanno ancora scaricando il file) ed i Leech (leechers o sanguisughe, sono i peers che hanno un indice di download maggiore di quello di upload, pertanto non partecipano correttamente allo scambio) che non rispettano il principio della “Share Ratio”, ossia il rapporto tra dati inviati e dati scaricati. Infine, la somma dei Peer e dei Seed genera il c.d. Swarm, ossia il totale delle fonti del file.

Come visto, la maggior parte dei software client possono accedere solamente ad una specifica rete, pertanto se non fosse possibile trovare un file con un particolare client, sarà necessario installarne un altro che effettui la ricerca in una rete diversa. Per tale motivo, alcuni programmatori hanno realizzato alcuni client multirete che consentono di collegarsi con lo stesso software a diverse reti. Per esempio, il client MLdonkey permette all’utente di accedere alle reti FastTrack, Gnutella, Overnet e DirectConnect. È convinzione di molti che i client multirete rappresentino il futuro del P2P.

Commenti