Il P2P

L'Architettura P2P e i Torrents

Abbiamo detto che nell'architettura Peer-to-Peer le cose un po' diverse rispetto al tipologia Clients-Servers. In essa si estingue quasi del tutto la gerarchia Client-Server. A differenza di quest'ultima infatti, tutta la struttura è costituita da due elementi fondamentali:

- Clients o Peers: sono gli host che possono richiedere file. Al contempo però, a questi elementi, è data anche la facoltà di poter "servire" le richieste di altri Clients, ovvero, preso un host Client1, esso può rivolgersi ad un altro Client2 per richiedere l'invio di un file, e quest'ultimo, nel caso in cui possieda quel file, ne effettua l'operazione di invio, come se fosse effettivamente un Server, pur non essendolo. Per questo motivo si parla di "Server non puro".
Per la capacità di un qualsiasi Client di comportarsi sia come client che richiede informazioni, sia come Server quando le invia, essi vengono definiti in gergo Peers (Pari) nel senso di Clients di pari livello. 

- Content Delivery Network o CDN: in lingua inglese vuol dire Fornitura del contenuti di Rete, rappresenta un elemento fondamentale di tutta l'architettura P2P. Tale rete è predisposta allo scambio di contenuti detti statici (audio, video o generalmente multimediale) tra i Peer. Possiamo immaginare la CDN come se fosse un grossa tavolata alla quale partecipano milioni di persone diverse (Clients) e attraverso una logica di condivisione ogni client può contribuire attivamente mettendo in condivisione i propri file nella rete CDN (Client Attivo) oppure semplicemente servendosi di essa per il solo recupero di contenuti non propri (Client passivo).

Possiamo schematizzare tale architettura in questo modo: 


Le applicazioni che utilizzano il P2P sono molteplici e sempre più diffuse:

– Instant Messaging (p.e. Skype)
– File Sharing o Condivisione File (Utorrent, Emule...)
– Distributed Search Engines
– Giochi onLine
– Collaboration Tools
– Web Services (SOAP, XML-RPC) ...

Anche se differente dal paradigma Client-Server, in verità anche in questo approccio sono presenti dei Server centrali che detengono le copie originali dei file a cui un Client Peer per primo, in modo completamente casuale, accede, richiede e recupera per poi condividerlo con altri Clients se necessario. Tali Server vengono interpellati in questo modo molto più raramente rispetto alla struttura C-S, e ciò permette che essi non siano assaliti da un numero elevatissimo di richieste.

Quando un Client Peer, recupera un file da un Server Centrale, può metterlo a disposizione di altri Peers, e nel momento in cui questi ultimi ricevono il file, lo mettono a loro volta a disposizione di altrettanti Peer e così via. Grazie a questo paradigma di upload e download, in cui dalla prima prima fase di recupero si passa poi a quella di distribuzione che scorre da Peer a Peer, per l'appunto Peer-to-Peer, conferisce proprio l'immagine di un torrente di contenuti multimediali che scorre all'interno della rete: ciò lascia intuire perché si utilizza la parola Torrent per file messi in condivisione.