Cos'e' il peer to peer?


Il concetto di peer to peer non e' esattamente nuovo. Fino a 30 anni fa, le societa' lavoravano su architetture che oggi sarebbero etichettate come peer to peer.

Detto semplicemente il peer to peer e' la condivisione di risorse e di servizi tra computer. Queste risorse e questi servizi comprendono scambio di informazioni, cicli di computazione, spazio su disco per i file.
Una rete peer to peer sfrutta la potenza di calcolo dei client connessi ad essa.

Grazie al modello P2P, i computer possono comunicare e condividere i file e altre risorse, invece di passare attraverso un server centralizzato. Ciascun computer (nodo) e' responsabile del passaggio dei dati alle altre macchine. Le connessioni non nascono spontaneamente, ma devono essere richieste da una delle parti in causa. A differenza dell'approccio client-server, chi richiede la connessione non e' ad un livello gerarchico inferiore; infatti entrambi i partecipanti sono alla pari (peer).

In una architettura peer to peer i computer che sono stati tradizionalmente usati solo come client comunicano tra di loro e possono agire sia da client che da server, assumendo un ruolo che e' molto efficiente per la rete. Questo riduce notevolmente il carico sui server.

Attraverso un client scaricato gli utenti si connettono alla rete. Dopo la connessione, ha inizio la comunicazione tra i nodi che avviene tramite uno scambio di messaggi.
I messaggi servono a:

  • segnalare la propria presenza sulla rete
  • chiedere una o piu' risorse risorsa
  • servire la richiesta di una o piu' risorse
  • trasferire le risorse

  • La validita' dei messaggi e' data dal TTL (time to live). Se il TTL > 0 allora il messaggo e' valido, altrimenti non viene preso in considerazione. Il valore del TTL viene decrementato ad ogni hop, al passaggio da un nodo all'altro della rete.









    Articoli:


    Open Problems in Data-sharing Peer-to-peer Systems

    The O'Reilly Peer-to-Peer and Web Services Conference