23
Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di “Reti di calcolatori e sicurezza” del prof. Bistarelli Università degli Studi “G. D’Annunzio” Chieti – Pescara Corso di Laurea Specialistica in Economia Informatica

Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Embed Size (px)

Citation preview

Page 1: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Progetto SETI@homeprotocollo p2p

Seminario di Carlo Capuani per il corso di “Reti di calcolatori e sicurezza” del prof. Bistarelli

Università degli Studi “G. D’Annunzio” Chieti – Pescara

Corso di Laurea Specialistica in Economia Informatica

Page 2: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Sommario Descrizione del progetto SETI@home

(Search for ExtraTerrestrial Intelligence at Home)

Descrizione del protocollo p2p (peer to peer)

Page 3: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

SETI@home, cos è? è un progetto dell'università di Berkley il

cui obiettivo è rilevare tracce di vita intelligente extraterrestri.

Un radiotelescopio cattura i segnali radio provenienti dallo spazio

milioni di PC connessi in un network p2p analizzano tali dati, un “pezzetto” ciascuno

Page 4: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

SETI@home, fasi del progetto Raccolta dei dati Distribuzione dei dati Analisi dei dati sui singoli PC Verifica dell’integrità dei dati Ricerca di possibili segnali

extraterrestri

Page 5: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Raccolta dei dati Il radiotelescopio di

Arecibo (Puerto Rico, il più sensibile del mondo) registra su nastro i segnali radio che capta dal cosmo

Nel laboratorio del progetto SETI (a Berkley) i dati vengono suddivisi in “work unit” di 350kb ciascuno, memorizzati su disco e indicizzati nel database

Data tapeDLT 35 GB

Work unit storage

Splitter

Database

Radiotelescopio di Arecibo

Page 6: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Distribuzione dei dati I “work unit” vengono distribuiti ai PC

con un fattore di ridondanza di 2-3

Garbage collector

Data – Result server

Work unit storage

Database Client

Client

Client

Page 7: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Analisi dei dati su ciascun PC Ogni utente scarica

ed installa un client che preleva un “work unit” per volta

L’analisi di ogni “work unit” ha bisogno di 3.9 trilioni di calcoli in virgola mobile (≈10 ore su un Pentium II 500 MHz)

I segnali la cui potenza e qualità superano certe soglie diventano “segnali candidati” e sono restituiti al server a Berkley

Page 8: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Verifica dell’integrità dei dati Il server a Berkley memorizza i “segnali candidati” e li

verifica, controllando la corrispondenza tra i risultati (ridondanti) dello stesso “work unit”,

SETI@home usa un protocollo proprietario e non un protocollo open source

David Anderson: “la parte più difficile è quando i dati tornano al nostro server, come sappiamo che sono stati generati realmente dal nostro client? Non ci sentivamo sicuri con un protocollo open source, e nonostante ciò alcuni utenti hanno modificato il nostro client per inviarci dati errati o gonfiati”

Page 9: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Verifica dell’integrità dei dati I nuovi dati vengono catalogati sia per l’analisi

scientifica che per le statistiche degli utenti, viene aggiornato quindi il database.

Page 10: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Ricerca di segnali extraterrestri Si cercano i segnali con frequenza e coordinate

celesti simili rilevate in tempi differenti.

Questi “segnali ripetuti” sono studiati più a fondo, potenzialmente pronti ad un controllo incrociato con altri progetti di ricerca extraterrestre

Page 11: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Diamo i numeri! (luglio 2002) più di 3.83 milioni in di partecipanti in 226 Stati nel

mondo 221 milioni di “work unit” elaborate (per un totale di

77,35 TeraBytes) le CPU hanno realizzato 1.7x10^21 operazioni in

virgola mobile in un tempo totale di 752202 anni rendimento medio di 27.36 TeraFLOP/S (due volte

la velocità dell IBM ASCII White, il più veloce supercomputer al mondo)

…e tutto ciò gestito da uno staff di al più 5 persone!

Page 12: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Elaborazione distribuita Condivisione, Selezione e Aggregazione di risorse

autonome e geograficamente distribuite a seconda della loro disponibilità, capacità, performance, costo.

Il calcolo distribuito è una popolare applicazione per le reti P2P, in questo caso si ha la condivisione di risorse hardware.

si basa sul presupposto che, durante le normali operazioni, il 90% dei cicli CPU dei PC domestici resta inutilizzato. Una stima suggerisce che i PC connessi a Internet offrono in aggregato 10 billioni di MHz e 1000 TB di spazio su disco. Le reti P2P permettono alle organizzazioni di usare queste risorse globalmente distribuite.

Page 13: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Suddivisione del lavoro in “work unit”

modello Farmer-WorkerAdatto quando è necessario eseguire una stessa sequenza di operazioni su di un enorme insieme di dati che possono essere ripartiti in sottoinsiemi processabili in modo separato. Una applicazione viene decomposta in tasks tra loro indipendenti, l’indipendenza dei tasks garantisce l’assenza di comunicazione tra i nodi che eseguono le operazioni.

Page 14: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Come avviene la distribuzione dei “work unit” ?

modello peer-to-peer (p2p)Una rete peer-to-peer è un tipo di rete che permette a un gruppo di computer di connettersi fra loro e di condividere le risorse in loro possesso. In tali reti, ciascun nodo (peer) ha capacità e responsabilità equivalenti. Questa è la principale differenza dalle architetture di tipo client/server

Page 15: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Terminologia Nodo: un PC connesso ad una rete Network p2p: un insieme di nodi con un protocollo

p2p comune Peer: un nodo quando l'informazione è

mutualmente diretta Client: un nodo che inizia la comunicazione Server: un nodo che non dirige lo scambio di

informazioni, restando in attesa di richieste di connessione

Page 16: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Sistemi decentralizzati Nei sistemi decentralizzati (ad esempio Gnutella, Kazaa,

WinMx), non esiste un server centrale, ma tanti servant. Servant indica un programma in grado di funzionare da

server e da client (il nodo su cui esso si trova è quindi peer). Per entrare nel network bisogna conoscere l'indirizzo di un servant già attivo al quale si comunica di essere “alive”, il servant a sua volta lo comunica agli altri nodi al quale è connesso e lo stesso faranno questi ultimi e via così per un numero massimo di passaggi (TTL: time to live), dopo il quale i nodi smettono di propagare la nostra esistenza.

Inseriti nel network è possibile effettuare delle ricerche presso i nodi che abbiamo attraversato e quindi scambiarsi risorse direttamente con essi.

Page 17: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Sistemi decentralizzati

Page 18: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Primitive di comunicazione ALIVE – comunicazione della propria presenza. FORWARD – Propagazione della nostra presenza,

ad ogni salto viene decrementato il TTL (time to live). QUERY - L'utente 1 esegue una ricerca (anche

questo pacchetto ha un TTL che si decrementa progressivamente).

QUERY HIT - Quando un nodo trova una corrispondenza, risponde comunicando il suo indirizzo ip e la porta

PUSH - L'utente 1 sceglie un host da cui scaricare la risorsa e manda la richiesta direttamente.

Page 19: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Sistemi centralizzati Molte reti e applicazioni (tra cui SETI@home) che si

descrivono come peer-to-peer fanno però affidamento anche su alcuni elementi “non-peer”, come per esempio il concetto di client e server:

Un server centrale mantiene un elenco di utenti e di risorse che questi ultimi mettono a disposizione.

Quando si effettua una ricerca ci si rivolge al server centrale, il quale consulta i propri archivi e ci fornisce dei risultati con gli indirizzi di chi mette a disposizione una certa risorsa. Lo scambio della risorsa avviene direttamente tra i due utenti interessati, e non coinvolge in nessuna maniera il server.

Page 20: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Sistemi centralizzati

Page 21: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Primitive di comunicazione LOG - L'utente 1 si autentica sul server centrale,

trasmettendogli una lista delle risorse che intende condividere.

QUERY - L'utente 2 esegue una ricerca di una risorsa detenuta anche dall’utente 1

RESPONSE - Il server invia all'utente 2 una lista di indirizzi degli host che detengono la risorsa da lui richiesta, insieme alla porta ed altre informazioni.

PUSH - L'utente 2 sceglie un host da cui scaricare la risorsa e manda la richiesta direttamente.

PULL - L'utente 1 manda la risorsa direttamente all’utente 2.

Page 22: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

Applicazioni p2p Rete eDonkey:

eDonkey2000 eMule Shareaza

Protocollo FastTrack Kazaa, Kazaa lite, K++ Grokster iMesh

Rete Gnutella-Gnutella2 Morpheus Shareaza MLDonkey

Rete Napster: WinMX Napigator

Rete WPNP WinMX

Rete SETI@home SETI@home client

Page 23: Progetto SETI@home protocollo p2p Seminario di Carlo Capuani per il corso di Reti di calcolatori e sicurezza del prof. Bistarelli Università degli Studi

RiferimentiSETI@home http://setiathome.ssl.berkeley.edu/cacm/cacm.html http://www.linuxvalley.it/columns/columns.php?IdCol=118&ts=1

p2p http://www.networkmagazineindia.com/200204/200204focus3.s

html http://genni.ing.uniroma1.it/tesi/fdl/tesiHTML2.html http://www.dis.uniroma1.it/~laura/didattica/tesi/supptesi/buhnik.

pdf http://online.infomedia.it/riviste/login/28/pdf/articolo05.pdf

queste slides http://tecweb.unich.it/clei/seminari/seti.zip