Vai al contenuto
Vai al primo menu di navigazione (Video, corso,etc. )
Vai al secondo menu di navigazione (Cerca,Concorso, etc.)

Come funziona il P2P

Generalmente quando si parla di servizi forniti da internet si è soliti utilizzare vocaboli come client e server.

L’architettura Client/Server prevede l’esistenza di calcolatori denominati ‘server’ ed altri ‘client’; lo scopo del server è quello di soddisfare le richieste provenienti da diversi client. In pratica, il server mette a disposizione un servizio a diverse entità client e ciascun client va a prelevare informazioni contenute nel server.

Dal momento che più client possono effettuare contemporaneamente l’accesso al server, quest’ultimo deve prevedere dei meccanismi necessari alla gestione di connessioni multiple.

Esempi di servizi su Internet che presentano tale tipologia di architettura sono il WWW, la posta elettronica, l’FTP (servizi basati sullo scambio di file). Questi sono sistemi fortemente centralizzati, in netto contrasto con la natura estremamente distribuita dei sistemi peer to peer. Mentre nel client/server alcuni computer sono dedicati a servirne altri, nel P2P tutti i computer sono paritari, ovvero funzionano sia come client che come server.

Le risorse condivise si trovano ‘ai bordi’ di Internet, vengono cioè fornite direttamente dai peers che interagiscono tra loro senza l’intervento di un server centralizzato, implementando un paradigma basato su una cooperazione decentralizzata.

I singoli nodi, quindi i singoli computer, sono collegati tra loro attraverso la rete Internet; non è presente un server centrale verso cui indirizzare le comunicazioni dei vari nodi che invece comunicano direttamente.

Ciascun peer si connette al sistema in modo intermittente: sono infatti molto frequenti disconnessioni e riconnessioni al sistema da parte di uno stesso utente. Le risorse offerte dai peers vengono aggiunte e tolte dinamicamente. Ad un peer può essere associato un indirizzo IP diverso ad ogni diversa connessione al sistema; per questo motivo è impossibile localizzare una risorsa mediante un indirizzo IP statico.

Per migliorare la performance del sistema sono possibili soluzioni ibride, in cui ad esempio è previsto un server centrale per la localizzazione delle risorse condivise. Nei sistemi P2P tradizionali, i vari utenti del sistema, definiti come peer, passando attraverso la rete sono in grado di collegarsi direttamente agli altri peers (presenti in rete), ed utilizzando un’applicazione software installata al loro interno, possono condividere file multimediali o documenti.

Ciascun computer (peer) è responsabile del passaggio dei dati agli altri computer, svolgendo allo stesso tempo compiti sia di client che di server.

Le funzioni importanti nel P2P sono:

  •  discovering, ovvero l’azione atta a scoprire gli altri peers
  •  queryng, ovvero la richiesta di contenuti ad altri peer
  •  sharing, ovvero la condivisione delle proprie risorse

Come può,ad esempio, un utente riuscire ad ottenere un file musicale da un altro utente?

Innanzitutto l’utente deve essere in possesso di un applicativo P2P sul proprio computer. Successivamente è necessario che egli si connetta ad Internet, ottenendo così un indirizzo IP (solitamente diverso ad ogni nuova connessione).

A questo punto può offrire alla comunità alcune canzoni (memorizzate nel proprio computer), registrandole in un’apposita directory condivisa; allo stesso tempo sottomette una query al sistema, specificando il titolo della canzone o anche l’artista cui è interessato.

L’applicativo P2P visualizza le informazioni circa gli altri peers che posseggono la canzone richiesta; in base a queste, l’utente seleziona un peer dal quale ottenere la canzone. Il file viene copiato dal computer dell’utente scelto a quello dell’utente richiedente.

Durante il download, altri utenti possono effettuare l’upload di qualche file messo a disposizione dall’utente stesso. In particolare un software P2P permette all’utente di:

  • definire una directory, nel proprio file system, dove memorizzare i files che intende condividere con la comunità; ogni altro utente può reperire uno di quei file da quella precisa directory (il peer si comporta come un web server).
  • consentire di copiare files dalle directory di altri utenti (il peer si comporta come un client)
  • individuare il materiale desiderato mediante specifiche richieste al sistema (funzionalità analoga ai motori di ricerca).

Esistono diversi software per il servizio P2P, tra i più famosi troviamo Kazaa, Emule, Gnutella, Morpheus, ma molti altri sono facilmente reperibili in rete, pronti da scaricare sul proprio computer.