LA RETE GNUTELLA e il P2PLA RETE GNUTELLA e il P2P((Prima parte)Prima parte)
Claudio RaggioClaudio Raggio
Le OriginiLe Origini
Il 14 marzo 2000, alle 11:31 ora di New York suSlashdot...
La divisione Nullsoft di AOL (America On Line) rilascia una versione OpenSource di un nuovo software...
GNUTELLA
ALTERNATIVA A NAPSTER
Le OriginiLe Origini
Accesso ad una rete
– condividere documenti e programmi
– effettuare delle ricerche
– scaricare sul proprio computer i file trovati
– possibilita’ di scambiare ogni tipo di file
Le OriginiLe Origini
Come non detto...Meno di diciotto ore dopo...
Wired News
“Ben più potente e potenzialmente pericoloso di Napster”
Ritiro immediato del client
Trattative con la EMI e la Warner Music...
Le OriginiLe Origini
Potenza di Internet...solo poche ore... Qualche migliaio di persone avevano già scaricato il
programma dal sito. Produssero dei cloni, garantendo sempre la compatibilità con il
protocollo originale
Reverse engineering Formalizzazione del documento Gnutella Protocol Base di un qualunque sviluppo dell'argomento
Largo utilizzo della comunità Internet Copie non autorizzate del software originale Natura DECENTRALIZZATA Rete stabile
Le OriginiLe Origini
Gnutella è stato solo l’inizio Nuovi client furono elaborati e potenziati Il prodotto era freeware Grande numero di Download e utilizzo Nasce cosi’ la Gnutella Network (gNet)
Le OriginiLe Origini
Le caratteristiche della rete GnutellaLe caratteristiche della rete Gnutella
Un istanza browser (ad es IE) non puo’ essere collegata con piu’ di un computer alla volta
Un client Gnutella puo’ essere collegato a moltissimi computer simultaneamente
Informazioni ricevute e gestite in modo simultaneo
Le caratteristiche della rete GnutellaLe caratteristiche della rete Gnutella
2 HOPS
TTL = 2
4+4*4 = 20
--------------------------
3 HOPS
TTL = 3
4+4*4*4 = 84
Le caratteristiche della rete GnutellaLe caratteristiche della rete Gnutella
Gnutella e’ un Protocollo per Network
I Client sono il FINE e il MEZZO
Le caratteristiche della rete GnutellaLe caratteristiche della rete Gnutella
Totale liberta’ di condivisione fileSistema DECENTRALIZZATONessuna “CENTRALE” (Napster)Scollegarsi? No problem!Attenzione alla RIAA!
Recording Industry Association of AmericaIL TERRORE DI INTERNET MADE IN U.S.A.
Il vero pericolo si chiama RIAA (analogo alla nostra SIAE) Crociata contro gli utenti del file sharing Pressioni sui provider per rilasciare dati personali degli utenti Qualunque navigatore e’ potenzialmente spiato dalla RIAA e soggetto a
sanzioni salatissime anche soltanto per avere scaricato dalla rete solo un file mp3 protetto da copyright!
La EFF (Electronic Frontier Foundation) Fondazione per la liberalizzazione delle frontiere della RETE ha messo a disposizione la lista dei nickname degli “indagati” all’indirizzo Internet http://www.eff.org/IP/P2P/riaasubpoenas/
La EFF inoltre fornisce un patrocinio di assistenza legale gratuito contro le sanzioni della RIAA in associazione con la Internet Industry Association
I modelli di rete P2PI modelli di rete P2P
Gnutella e’ open-protocol Possibilita’ di cambiamentoEssenzialmete 2 Modelli
– Centralizzato (Napster)– Decentralizzato (Gnutella, WinMX,
KazaA…)
I modelli di rete P2PI modelli di rete P2PCentralizzato (Napster)Centralizzato (Napster)
Server centrale che regola il traffico Mantiene
– Dati utenti registrati– Elenco dei files che condividono– Aggiornati alla
Connessione/Disconnessione
I modelli di rete P2PI modelli di rete P2PCentralizzato (Napster)Centralizzato (Napster)
Funzionamento 1. Ricerca dell’utente
2. Il Server crea un elenco di file sulla base dei dati in suo possesso
3. Invia l’elenco all’utente
4. L’utente decide da dove scaricare
5. Viene aperta una connessione TCP/IP diretta…peer-to-peer
I modelli di rete P2PI modelli di rete P2PCentralizzato (Napster)Centralizzato (Napster)
Vantaggi– Minor banda per le ricerche piu’ banda per il
download– Ricerche ampie e complete– Registrazione Obbligatoria, le ricerche
raggiungono tutti gli utenti loggati
Svantaggi– Registrazione, Problemi con la legge…perdita
anonimato– Se cade il server addio rete…
I modelli di rete P2PI modelli di rete P2PDecentralizzato (Gnutella)Decentralizzato (Gnutella)
Nessun Server centrale Utilizzo di SERVENT (Client/Server) Collegamento
1. Un servent A comunica a B che e’ “Alive”2. Il servent B propaga la notizia a C,D,E,F a cui e’
collegato (potenzialmente infinito senza TTL = 7 )
Ricerca1. A B C D F
2. Se il file cercato e su D : A B C D
3. Stesso canale della Ricerca
I modelli di rete P2PI modelli di rete P2PDecentralizzato (Gnutella)Decentralizzato (Gnutella)
Vantaggi– Non e’ necessario alcun server centrale– Se si scollega un Servent non cade la rete– Possibile ricercare qualsiasi tipo di file– Legalmente meno vulnerabile
Svantaggi– Minore velocita’ di Ricerca
I modelli di rete P2PI modelli di rete P2PDecentralizzato-Centralizzato (FastTrack, WinMx e…Gnutella)Decentralizzato-Centralizzato (FastTrack, WinMx e…Gnutella)
Esistono servent che per la loro potenza vengono eletti Server Decentralizzati
FastTrack, WinMX – SuperPeer che tengono un DB dei file condivisi dagli utenti
(vulnerabilita’ legale)– SuperPeer all’interno della rete utenti– Potenziano e alleggeriscono le Search– Rete piu’ libera download piu’ veloce– Morpheus, KaZaA, Grokster e WinMX sono molto popolari– Prima o poi finiranno come Napster… : (
Gnutella– Ultrapeer– Non contengono info sui file condivisi– Velocizzano la rete
La gNetLa gNet
La gNetLa gNet
Software FreeWare Disponibile e compatibile su diverse
piattaforme (Windows, Linux, Mac) Rete formata da vari GNODE grafo della
gNet Meccanismo di “Query & Forward” Per entrare a far parte della rete e’
necessario conoscere almeno l’indirizzo di un GNODE
La gNetLa gNet
Se non conosco un indirizzo non entrero’ mai a fare parte della rete Gnutella?– Esistono dei Cache-Server– Server contattato appena l’applicazione viene
avviata
La gNetLa gNet
Un nuovo utente contatta chi e’ gia’ connesso
I 5 Descrittori della gNetI 5 Descrittori della gNet
1. PING: utilizzato per scoprire gi host sulla rete. Un servent che riceve un PING deve rispondere con un PONG se disponibile ad accettare connessioni
2. PONG: utilizzato come risposta al PING; contiene l’indirizzo del servent e informazioni circa l’ammontare dei dati condivisi
I 5 Descrittori della gNetI 5 Descrittori della gNet
3. QUERY: utilizzato per inviare delle richieste; un servent che riceve un descrittore QUERY deve rispondere con un descrittore QUERYHIT se ha trovato corrispondenza con i dati richiesti
4. QUERYHIT: la risposta ad una QUERY; questo descrittore fornisce al destinatario abbastanza informazioni per acquisire i dati richiesti
I 5 Descrittori della gNetI 5 Descrittori della gNet
5. PUSH: UN meccanismo utilizzato dai servent per effettuare connessioni dirette, qualora ci sia la presenza di un Firewall
FINE PRIMA PARTEFINE PRIMA PARTEBibliografiaBibliografia
[1] Salvatore Scire’ – La Rete Gnutella ed il Peer-to-Peer
http://www.swzone.it/articoli/gnutella/
[2] Fabrizio Cornelli – Un sistema di sicurezza per ambienti Peer-to-Peer
http://seclab.dti.unimi.it/~zeno/tesi.pdf
[3] Mirko Innocenti – Reti e applicazioni Peer-to-Peer
http://www.disi.unige.it/person/RibaudoM/didattica/infogen/pdf/p2p.pdf
[4] Forum sinistrefigure.it - Riaa, il terrore della rete
http://www.sinistrefigure.it/blog/000113.html