Articles

La condivisione P2P: Come funziona e il futuro

Come funziona la condivisione P2P e cosa ha da offrire per il futuro di Internet

BitTorrent è uno dei più popolari protocolli di rete P2P in uso. Gnutella è uno di questi protocolli che esisteva prima di BitTorrent. Parlando di P2P, detiene più del 40% del traffico totale di Internet (fonte). Anche se ti viene in mente il software “BitTorrent”, l’idea di Torrenting è molto più ampia e complessa dello strumento stesso. Inoltre, BitTorrent è il nome del protocollo che viene utilizzato per la trasmissione di file P2P.

Foto di Alina Grubnyak su Unsplash

In un tipico scenario di trasmissione di file che avviene su Internet, si sta caricando un file o scaricando un file da un server pubblicamente accessibile. Tuttavia, in P2P l’invio/ricezione di file avviene tra due o più parti che non sono strettamente pubbliche su Internet. Per questo motivo, è chiamato P2P o peer to peer. La caratteristica interessante di questo approccio è che non è richiesto alcun server.

Se vi siete mai imbattuti in BitTorrent, uTorrent, Vuze o Limewire avete probabilmente usato la condivisione di file P2P. Anche se non è direttamente rilevante, WebRTC è un’altra tecnologia di comunicazione P2P. È principalmente utilizzato per lo streaming di contenuti in casi come le videochiamate ecc.

Perché?

La condivisione P2P è sempre decentralizzata. Il che è abbastanza economico su larga scala. Inoltre, diversi tipi di strati di crittografia possono essere praticati per un migliore anonimato. Questo viene con l’inevitabile lato negativo delle violazioni del copyright e dei contenuti illegali che vengono condivisi. Da un punto di vista tecnico, la tecnologia è affascinante da studiare.

Server Based vs P2P (fonte)

P2P è economico e autosufficiente dalla comunità di utenti

Come funziona Limewire/Gnutella

Il fatto affascinante di lime wire è che gli utenti possono cercare i file nei computer degli altri e scaricarli facilmente. Cerchiamo la distribuzione Ubuntu in Limewire. Nota che l’ultima versione di Limewire si chiama uWire.

Screenshot: by Author

Ci vengono dati 3 risultati di ricerca. Per ogni risultato, viene mostrato il numero di file. Per ogni file, possiamo vedere il numero di fonti di download diretto. Questo è il numero di utenti che hanno questo file.

La ricerca in Limewire (che usa Gnutella) avviene come segue, in passi molto semplici, naturalmente.

  1. Al momento in cui un utente avvia il software, deve stabilire una connessione con almeno un altro nodo. Tali nodi sono o forniti in bundle con il software o trovati attraverso vari altri canali. Molto simile a come i tracker vengono scoperti in BitTorrent. Nelle versioni successive, questo viene fatto attraverso un server di avvio che aiuta con la connessione iniziale. Possibili obblighi legali evitati semplicemente limitando l’uso per la scoperta di nodi piuttosto che di file (un enorme problema nei primi anni 2000 che ha ucciso molti sistemi di condivisione di file).
  2. Il client si connette a uno di questi nodi dal passo precedente, seguito da una connessione a diversi altri nodi.
  3. Quando viene avviata una query di ricerca, il client la inoltra ai nodi connessi. Poi i nodi connessi la invieranno ai loro nodi connessi.
  4. Il numero di salti è limitato a 4 (fonte). Questo aiuta ad evitare un’eccessiva congestione.

La rete consiste di Ultrapeer, che hanno connessioni migliori e consistenti. Tali nodi mantengono connessioni anche con pochi altri Ultrapeer. In passato, i risultati delle query di ricerca venivano inviati attraverso lo stesso percorso. Tuttavia, ora le risposte sono inviate direttamente attraverso gli Ultrapeer su UDP. L’architettura classica della ricerca Gnutella è rappresentata qui sotto.

Esecuzione query Gnutella (source)

Il futuro della condivisione di file P2P

La condivisione di file su P2P è in un certo senso decaduta con le implicazioni legali e la mancanza di IP pubblici. Tuttavia, questo potrebbe cambiare con l’arrivo dell’IPV6 e di tanti wearables.

Tuttavia, il P2P è più popolare che mai data la quantità di videoconferenze che facciamo. La condivisione di file P2P è ora molto comune con l’arrivo dei dispositivi Personal Cloud. Un grande collo di bottiglia che esisteva per usare la comunicazione P2P per la condivisione di file personali era la larghezza di banda limitata. In quel caso, era possibile un download parallelo di chunks da più peers. Tuttavia, ora lo stesso può essere fatto in una singola connessione a banda larga. Questo è uno screenshot dalla pagina delle impostazioni del mio dispositivo cloud personale.

Screenshot: by Author

In questo caso, sono collegato dal mio ufficio a casa tramite una connessione diretta. Solo che la differenza è che non siamo letteralmente alla pari. Ma la tecnologia è molto simile a quella usata in BitTorrent. Il meccanismo di inoltro delle porte viene avviato tramite i server di Western Digital in modo molto simile a quello di un Torrent Tracker o in Gnutella un server di bootstrap. Un tracker che traccia i dispositivi cloud che sono online.

Screenshot: by Author from WD

Il vantaggio principale qui è che finché la mia connessione domestica è buona ho accesso istantaneo ai miei dati senza doverli caricare su un servizio come Google. Praticamente la stessa cosa che fa Torrent. Condividi il tuo file senza un cloud.

Tuttavia, nel caso del mio Cloud Device, hanno diverse soluzioni di backup per avere una migliore affidabilità. A volte, le connessioni dirette non possono essere avviate oltre i firewall (raramente) e alcuni vecchi NAT (colpevole principale).

Il file sharing P2P o Limewire non è morto!

Nessuno dei protocolli era illegale. Solo i loro casi d’uso lo erano! Attualmente, sono messi a migliore e personale uso dato i miglioramenti delle larghezze di banda della rete. Il P2P computing è usato anche nelle CDN (Content Delivery Networks) per la sincronizzazione dei contenuti. A volte, è usato nel cloud computing per diversi casi come la condivisione dei dati e il backup.

P2P computing è il successore della condivisione P2P, dove la potenza di calcolo è condivisa. L’analisi dei dati in crowdsourcing come la ricerca sul cancro è uno di questi esempi. I dispositivi mobili inattivi prendono parte a enormi compiti di calcolo distribuito condividendo i dati tra di loro per un futuro migliore dell’umanità.

Un’interessante lettura qui;

Spero che ti sia piaciuto leggere questo articolo. Buona giornata! Salute!

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *