E' iniziato tutto con un servizio di condivisione file chiamato Napster, creato da un diciottenne del Massachussets al suo primo anno di college. è continuato poi con Gnutella, eDonkey, Emule fino a raggiungere milioni di navigatori in tutto il mondo. Oggi viene utilizzato anche per sconfiggere l'AIDS. Sono Francesco Caccavella di HTML.it e oggi vi parlo di Peer to Peer.
Sgombriamo il campo da una cattiva opinione. Peer to Peer, che in italiano vale più o meno "da pari a pari", non significa scaricare MP3 o DivX da Emule. Il peer to peer è un modello di comunicazione. La rete Internet, prima dell'arrivo di Napster, era quasi esclusivamente basata su un sistema client/server: milioni di utenti (i client) si connettono e usano risorse di poche migliaia di siti (i server) in una struttura piramidale.
Naspster ha ribaltato questo modello. Per scaricare un file da Internet, in quel caso solo file MP3, si poteva contattare un proprio "pari", ossia un utente come sè stessi. In una rete peer to peer pura ogni nodo è infatti indipendente da un server centrale e condivide le risorse con altri nodi: ognuno di essi è sia server, poichè mette a disposizione risorse, sia client, poichè le utilizza. è una struttura a ragnatela.
Una rete peer to peer ha molti vantaggi. Per prima cosa vantaggi tecnologici. è decentralizzata: caduto un nodo della rete questo viene rimpiazzato da altri nodi; ed è scalabile: più nodi entrano nella rete maggiore è la sua efficienza. Ma anche vantaggi sociali. Vista da questo punto di vista un'organizzazione peer to peer è democratica poichè ogni nodo ha un uguale valore rispetto al nodo vicino e tutti concorrono, dal basso e in condivisione, alla creazione di valore. Citare Wikipedia è un obbligo.
Peer to peer sono anche i sistemi per la condivisione del calcolo, come il progetto Seti@Home per la ricerca di intelligenza extraterrestre, oppure sistemi per la privacy e sicurezza, come ad esempio la rete Freenet. Peer to peer è la rete di telefonia di Skype, oppure il progetto FightAIDS@Home per la ricerca sull'AIDS. è però indubbio che il maggior utilizzo delle reti Peer to Peer è all'interno dei sistemi di file sharing. Ma con molte differenze.
Se guardiamo ai sistemi di file sharing possiamo catalogare le architetture in tre modelli differenti. L'architettura alla Napster; l'architettura alla Kazaa, da cui è derivato Skype, è l'architettura alla Kad, la seconda rete supportata dal programma di file sharing Emule.
La rete Napster era un peer to peer molto diluito. Infatti il sistema da pari a pari veniva utilizzato solo per trasferire i file mentre sia l'accesso alla rete sia la ricerca delle risorse veniva gestite grazie ad un server. Quando le major lo denunciarono, Napster spense i server e con essi l'intera rete. Sullo stesso sistema si basa la rete di eDonkey 2000 con la differenza che vi sono più server indipendenti l'uno dall'altro.
Il modello di Kazaa fa un passo in avanti verso un peer to peer puro. All'interno della rete vi sono alcuni nodi che, diciamo così, sono più importanti degli altri. Si chiamano supernodi assolvono a funzioni da server: facilitano le ricerche e consentono l'ingresso di altri nodi nella rete. La rete Kazaa, chiamata FastTrack, è utilizata anche in iMesh e Grokster.
La rete Kad è una delle reti di ultima generazione ed è un peer to peer puro. Non esistono server e non esistono supernodi: le ricerche e le connessioni alla rete vengono gestite esclusivamente da pari a pari tanto che se non si conosce l'indirizzo di un utente già all'interno della rete diventa impossibile connettersi ad essa.
La maggioranza delle operazioni viene garantita da un protocollo di rete leggero e veloce chiamato UDP, mentre per la gestione delle ricerche e per la distribuzione degli indici dei file si usa tecnologia chiamata Distribuited Hash Table che garantisce un'ottima scalabilità delle risorse, spalmate in questo caso su tutti gli appartenenti al network in modo intelligente.
L'ultima frontiera delle tecnologie peer to peer riguarda lo streaming, o in tempo reale o on demand, di contenuti video. Joost, creato dagli stessi creatori di Kazaa e Skype, o Babelgum, diffondono contenuti video distribuendoli su una rete tra pari mentre programmi come TvAnts o TVUPlayer diffondono allo stesso modo, ma illegalmente, diversi canali satellitari di tutto il mondo in tempo reale.