P2P (peer-to-peer): reti senza server centrale
Una rete peer-to-peer, o abbreviata in P2P, non presenta la tipica struttura client-server. Al contrario, tutti i dati sono distribuiti in modo decentralizzato, poiché tutti i computer della rete agiscono allo stesso modo come server e client.
Che cos’è il peer-to-peer?
Il P2P, designata anche come “rete paritaria”, implica una rete di computer con gli stessi privilegi e le stesse funzioni. In un modello classico di client-server, i client fanno delle richieste che vengono poi soddisfatte dal server. In una rete peer-to-peer, tutte le parti possono agire sia come server che come client. L’intera rete è organizzata in modo decentralizzato e non è necessario un server di livello superiore. In una rete P2P semplice, tutti i computer sono collegati tra loro, mentre in strutture peer-to-peer più complesse i partecipanti sono divisi in gruppi.
Come funziona il P2P?
Per capire come funziona il peer-to-peer, diamo prima un’occhiata più approfondita alla classica struttura client-server: quando si scarica un file, si apre il browser, si visita il sito web corrispondente e si fa una richiesta al server. Il server fornisce il file desiderato e lo trasferisce al computer dell’utente. Il trasferimento avviene esclusivamente in una direzione e i ruoli di client e server sono chiaramente definiti.
Tuttavia, se si effettua una richiesta simile in una rete P2P, non si invia la richiesta a un server centrale ma a più computer contemporaneamente. Tutti i computer o peer che dispongono di questi dati ve li forniranno. In realtà state scaricando sezioni separate da più fonti. Allo stesso tempo, tutte le sezioni ricevute saranno disponibili per altri utenti che potranno scaricarle dal vostro computer. Il trasferimento avviene in più direzioni contemporaneamente, poiché tutti i computer collegati in una rete P2P possono fungere da sorgente e da destinazione.
Quali tipi di architetture peer-to-peer esistono?
Esistono diversi tipi di architetture e strutture P2P. Le reti P2P possono essere suddivise grossolanamente in sistemi strutturati e non strutturati. Anche il grado di centralizzazione o decentralizzazione gioca un ruolo importante nel distinguere i diversi sistemi peer-to-peer.
Sistemi peer-to-peer strutturati e non strutturati
I sistemi P2P non strutturati non contengono informazioni sui collegamenti tra le singole fonti e la destinazione. I dati o i frammenti possono essere trovati solo in quel sistema specifico. Queste reti peer-to-peer funzionano principalmente tramite richieste di ricerca. Quando è necessario un file, il destinatario invia una richiesta a tutti i computer della rete P2P. Questa procedura è nota come flooding.
Quando più sistemi vengono integrati in una rete, aumentano anche i requisiti dell’intero sistema P2P. Nei sistemi peer-to-peer strutturati, le informazioni sui collegamenti sono spesso memorizzate in una tabella hash distribuita (DHT). Le query di ricerca possono essere più mirate e trovare risposta da un indice distribuito. Questo metodo non richiede flooding.
Reti P2P centralizzate e decentralizzate
I sistemi peer-to-peer sono ulteriormente suddivisi in reti centralizzate e decentralizzate. Le reti P2P centralizzate utilizzano un server centrale responsabile della gestione dell’intero sistema, paragonabile ai server di altri tipi di rete. In una rete centralizzata, alcuni compiti o permessi possono anche essere distribuiti tra più computer che gestiranno ad esempio flussi di dati o elenchi di indirizzi. Se nuovi utenti vogliono entrare a far parte di una rete peer-to-peer di questo tipo, devono inserire i dati personali in questo server centrale. Lo scambio effettivo di dati continua a svolgersi tra i singoli computer ed è controllato solo dal server centrale.
I sistemi decentralizzati peer-to-peer rinunciano completamente a tutti i meccanismi di controllo per cui tutte le informazioni vengono memorizzate su tutti i computer. Tuttavia, questo approccio presenta dei rischi, per cui sono state create alcune soluzioni speciali. Nelle reti friend-to-friend o Web of Trust, il carico di lavoro è ugualmente distribuito tra tutti i partecipanti, ma solo gli utenti che si conoscono sono autorizzati a entrare nella rete P2P. Questo principio degli “amici fidati” crea una base di fiducia e impedisce un uso improprio del sistema peer-to-peer decentralizzato.
Reti peer-to-peer ibride
Le reti P2P gerarchiche o ibride sono un caso particolare. Essenzialmente, sono anch’esse decentralizzate ma si basano su computer particolarmente potenti all’interno della comunità. Questi computer costituiscono una parte importante dell’infrastruttura grazie alla loro grande larghezza di banda e all’elevata potenza di calcolo. In particolare, le attività amministrative vengono eseguite tramite questi super nodi. Il resto del trasferimento dei dati avviene ancora tra i singoli computer.
Quali sono i vantaggi del P2P?
I sistemi peer-to-peer offrono molti vantaggi. Non c’è quindi da stupirsi se le aziende e le community investono molto tempo e risorse nello sviluppo e nell’aggiornamento di queste reti. Di seguito sono riportati solo alcuni dei principali vantaggi del P2P:
Scalabilità
In teoria, la capacità di una rete peer-to-peer è illimitata. Più computer appartengono alla rete, più alte possono essere le sue prestazioni. Ogni nuovo membro mette a disposizione la propria capacità di calcolo, la memoria e la larghezza di banda per essere utilizzate dall’intera community. In questo modo, l’intero carico di lavoro viene condiviso da più membri.
Sicurezza
Questo rafforza anche l’intera architettura di sicurezza di una rete P2P. Non essendoci un server centrale, almeno nel sistema decentralizzato, la rete non può essere attaccata. Anche se un computer della rete si guasta, l’impatto sull’intero sistema è minimo. Lo stesso vale anche in caso di un attacco malware, che può colpire un singolo computer, ma di solito viene bloccato dall’intero sistema. Solo i disturbi nel super nodo saranno notati su scala più ampia.
Flessibilità
Tutti i compiti possono essere suddivisi in modo flessibile in una rete P2P. Ciò è particolarmente vantaggioso in caso di guasti al sistema, poiché l’impatto può essere attenuato. La flessibilità è comunque vantaggiosa anche in modalità di funzionamento normale. I compiti possono essere suddivisi in modo che ogni membro contribuisca al gruppo fornendo a tutti risorse comparabili o addirittura maggiori. Il modello client-server, invece, richiede un hardware particolarmente sofisticato per svolgere compiti specifici.
Quali sono gli svantaggi del P2P?
I vantaggi di un sistema peer-to-peer sembrano inizialmente convincenti. Tuttavia, questo presenta alcuni svantaggi che devono essere considerati in anticipo. In particolare, vale la pena di menzionare i seguenti aspetti:
Impegno
La gestione e l’organizzazione di una rete P2P richiede molto tempo. Poiché di solito non esiste un’autorità di controllo centrale, i cambiamenti e i problemi devono essere chiariti tra tutti i partecipanti.
Dipendenze
I sistemi P2P funzionano in modo più indipendente rispetto alle soluzioni client-server ma possono anche avere un effetto opposto. Le modifiche apportate a un computer della rete possono avere un impatto su tutti gli altri sistemi, poiché sono tutti interconnessi. Anche la disponibilità dei dati può essere limitata se questi vengono eliminati da un computer e non vengono offerti da nessun altro membro della rete. Il flooding, inoltre, grava su tutti i sistemi connessi e può portare a un numero elevato di richieste sui singoli computer.
Problemi legali
Una maggiore libertà è alla base dell’intero concetto del peer-to-peer. Tuttavia, questa può essere usata in modo improprio a causa della mancanza di un meccanismo di controllo. Ad esempio, è difficile impedire agli utenti di caricare contenuti protetti da copyright. Anche l’azione penale è molto più complicata in una rete P2P.
Per cosa viene utilizzato il P2P?
Per far parte di una rete peer-to-peer, è necessario installare sul proprio computer uno speciale software P2P che vi permetta di utilizzare varie applicazioni e servizi che funzionano secondo il principio del peer-to-peer. Questi includono:
Condivisione di file
Per molto tempo, la forma più popolare ma anche più controversa di reti peer-to-peer su internet è stata rappresentata da diversi servizi di file sharing. Il problema era ovviamente rappresentato dai frequenti casi di violazione del copyright. Tuttavia, la condivisione di file è principalmente legale e molto pratica. Una rete P2P è solo uno dei tanti metodi possibili a questo scopo.
Messenger e VoIP
Anche i servizi di messaggistica e VoIP (video over IP) utilizzano spesso il concetto di P2P, affidandosi a diversi nodi invece che a un unico server centrale.
Calcolo distribuito
Nella ricerca, il peer-to-peer viene utilizzato sotto forma di calcolo distribuito. Si tratta di un processo che prevede l’esecuzione di più sottoprocessi su computer diversi che alla fine vengono combinati per produrre un risultato complessivo.
Blockchain
Il P2P svolge un ruolo cruciale nel mondo delle criptovalute e delle blockchain, poiché consente di effettuare le transazioni senza un server centrale o un intermediario.
Reti interne
Una rete peer-to-peer può essere utilizzata anche in ufficio. I dati di tutti i computer sono sempre disponibili per tutte le persone autorizzate. Inoltre, scanner, stampanti e altri materiali di lavoro possono essere controllati dalla rete.