29/09/ Materiale didattico. Sistemi Peer to Peer. Sommario. Peer-to-Peer (P2P) P2P: Storia. P2P: Applicazioni. File Sharing system

Documenti analoghi
Outline. P2P: Applicazioni. Peer-to-Peer (P2P) P2P: Storia(2) P2P: Storia. Sistemi Peer To Peer (P2P) Avanzati. Peer-to-Peer (P2P) Un po di storia

Sistemi P2P Sistemi P2P Sistemi P2P Sistemi P2P Sistemi P2P Sistemi P2P

P2p la teoria dei sistemi complessi per modellare reti p2p

Conseguenze Algoritmiche del fenomeno small world

Lezione n.1 Sistemi P2P: Introduzione

Lezione n.1 Sistemi P2P: Introduzione

Lezione n.2 Peer-to-Peer Systems and Applications Capitolo 3. Laura Ricci

Sistemi distribuiti peer-to-peer

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.

29/09/ Materiale didattico. Sistemi Peer to Peer. Sommario. X.1 The Architectures of 1 st and 2 nd Gen. P2P. Capitolo 5:

Lezione n

Corso di Applicazioni Telematiche Applicazioni peer-to-peer

Lezione n

Lezione n.3. Università degli Studi di Pisa Dipartimento di Informatica. Materiale didattico: Peer-to-Peer Systems and Applications Capitolo 4

Lezione n.7 Distributed Hash Tables

CdL MAGISTRALE in INFORMATICA A.A corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo

Lezione n.3. Università degli Studi di Pisa Dipartimento di Informatica. Materiale didattico: Peer-to-Peer Systems and Applications Capitolo 4

Lezione n.4 DISTRIBUTED HASH TABLES: INTRODUZIONE 6/3/2009. Laura Ricci

RETI DI CALCOLATORI II

Algoritmi per protocolli peer-to-peer

Lezione n.19 22/05/2009 OVERLAY WEAVER Laura Ricci

Ci sono 3 principali tipi di P2P:

Lezione n.1 Sistemi P2P: Introduzione

Modelli e Sistemi di Elaborazione Peer-to-Peer

Lezione n.15 Random Graphs, Small-Worlds, Scale-Free Networks Materiale didattico: Peer-to-Peer Systems and Applications Capitolo 6

Lezione n.10. Freenet Materiale didattico: articoli distribuiti a lezione

Università degli Studi della Calabria Facoltà di Ingegneria. Corso di Diploma in Ingegneria Informatica TESI DI DIPLOMA

Linguaggi ed Applicazioni mul1mediali

SISTEMI P2P: INTRODUZIONE Lezione 1. Laura Ricci

Reti e applicazioni peer-to-peer

Sicurezza delle reti 1

Reti e applicazioni peer-to-peer. Contesto. Reti client/server. Nodo centrale (server) Nodi che dipendono dal server (client)

Lezione n.15. LA RETE EMULE-KADEMLIA to-peer Systems and Applications Capitolo 8

Marco Bagnaresi Matr Mail : gmail. com

Architetture di rete. 4. Le applicazioni di rete

RETI DI CALCOLATORI II

Peer to Peer non solo file sharing

Sicurezza delle reti 1. Lezione XXIII: TOR. Onion routing con TOR TOR. Mattia Monga. a.a. 2012/13

Lezione n.5 DISTRIBUTED HASH TABLES: INTRODUZIONE

Quattro chiacchere sul Peer to Peer p.1/20

P2P Systems and Blockchains. Laurea Magistrale in Informatica Informatica e Networking

Sistemi Peer-to-Peer (P2P)

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

INTRODUZIONE A RETI E PROTOCOLLI

FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI. Corso di Laurea Specialistica in Tecnologie Informatiche. Tesi di Laurea

! Definizione del paradigma peer-to-peer (P2P) ! Stato dell arte e possibile classificazione. ! Il problema del data management nei sistemi P2P

Parte II: Reti di calcolatori Lezione 11 (35)

Contesto: Peer to Peer

Content Delivery Networks (CDN) e Peer-to-Peer Networks (P2P)

Content Delivery Networks (CDN) e Peer-to-Peer Networks (P2P)

Programmazione modulare

Sistemi Distribuiti. Obiettivi Formativi. Contenuti. Contenuti. Contenuti 3/24/2011

LABORATORIO di Reti di Calcolatori

CdL MAGISTRALE in INFORMATICA A.A corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo

Tessitore di Copertura. ( aka Overlay Weaver :)) )

Instradamento per servizi di tipo circuito virtuale. Dr. S. Greco Polito,

Position-based Routing

Introduzione. Obiettivo: Sommario: Introduzione alle reti di telecomunicazioni approccio:

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Sistemi peer-to-peer (P2P)

Peer-to-peer. Sistemi di comunicazione

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2011/12)

Anni 80: reti locali di PC terminali dotati di intelligenza propria, che condividono risorse pregiate, come stampanti, dischi, etc.

CONFIGURAZIONI E TESTING DI HADOOP-FS PER L'ALTA AFFIDABILITÀ DEI DATI DI UN SITO MEDIO-PICCOLO

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Internet. Sommario. Che cos'è? Servizi WWW Posta Elettronica Domini e DNS Evoluzioni del WEB

Routing. Parte terza: Internet e il routing gerarchico

ISTITUTO TECNICO INDUSTRIALE M. FARADAY Programmazione didattica

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di. Sistemi Distribuiti. Prof. Stefano Russo. Sistemi distribuiti peer-to-peer

Introduzione ai. Sistemi Distribuiti

Reti di Calcolatori RETI PEER-TO-PEER

Reti di Calcolatori RETI PEER-TO-PEER. Reti Peer-To-Peer. Cosa sono? Classificazione NAPSTER Gnutella Esempio di funzionamento di Gnutella

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Lezione n.14 SCALE FREE NETWORKS 22/4/2008

(P2P) Sistemi peer-to. Cosa è il peer-to. Caratteristiche dei sistemi P2P. Valeria Cardellini Università di Roma Tor Vergata

Sistemi Peer-to-Peer. Davide Lamanna

Lezione n.5. Università degli Studi di Pisa. Materiale didattico: Peer-to-Peer Systems and Applications Capitolo 5. Dipartimento di Informatica

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Lezione 1 INTRODUZIONE AL CORSO. Laura Ricci

Reti, Web e comunicazione Parte seconda

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

Lezione 1 SISTEMI P2P: INTRODUZIONE MATERIALE DIDATTICO: CAPITOLO 1 BUFORD. Laura Ricci

Facoltà di Ingegneria Corso di Studi in Ingegneria Ele5ronica A.A. 2011/2012

Introduzione ai. Sistemi Distribuiti

Routing IP. IP routing

Ingegneria del Software 15. Stili e QoS. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Lezione n.11 UN PROTOCOLLO BASATO SU KADEMLIA: LA RETE KAD 4/4/2008. Materiale Distribuito a lezione

Networking e Reti IP Multiservizio

Reti di Calcolatori. Concetti introduttivi. Il modello ISO/OSI ed il protocollo TCP/IP

Cognome:.. Nome:.. 1/5

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Lezione n.4 GNUTELLA 0.6, KaZAA, DISTRIBUTED HASH TABLES: Caratteristiche generali

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

Si consideri il protocollo applicativo FTP e lo scambio di messaggi sulla connessione TCP di segnalazione mostrato in figura.

Reti (già Reti di Calcolatori )

Implementazione di una LAN

Transcript:

Sistemi Peer to Peer Materiale didattico i) Peer to Peer Sstems and Applications Series: Lecture Notes in Computer Science, Vol. 3485 Sublibrar: Information Sstems and Applications, incl. Internet/Web, and HCI www.peer to peer.info Steinmetz, Ralf; Wehrle, Klaus (Eds.) 2005, XVII, 629 p. With online files/update., Softcover ISBN: 978 3 540 2992 3 ii) Research papers (http://wwwdia (http://www.dia.unisa.it/ it/~cordasco) Gennaro Cordasco Dipartimento di Informatica e Applicazioni Università degli Studi di Salerno cordasco[@]dia.unisa.it cordasco+p2p[@]gmail.com http://www.dia.unisa.it/~cordasco Laboratorio ISISLAB 2 (DIA Piano 2) iii) JXTA java Programmers guide (http://www.dia.unisa.it/~cordasco) iv) JXTA Protocol Specifications (http://www.dia.unisa.it/~cordasco) v) Le slide del corso (http://www.dia.unisa.it/~cordasco) che ovviamente non sono sufficienti per superare l esame!!! 2 Sommario Introduzione Concetti preliminari Storia Applicazioni Classificazione Problemi aperti Reti P2P non strutturate Random Graphs, Small Worlds and Scale Free Networks Reti P2P strutturate Chord Tapestr CAN Vicero Lower Bound Reti Uniformi e Reti Randomizzate Routing Greed e Routing NoN Reti non Uniformi Grafi di De Bruijn Koorde JXTA 3 Peer-to-Peer (P2P) File Sharing? Sistema distribuito nel quale ogni nodo ha identiche capacità e responsabilità e tutte le comunicazioni sono potenzialmente simmetriche; Peerto peer (obiettivi): condividere risorse e servizi (dove per risorse e servizi intendiamo: scambio di informazioni, cicli di CPU, spazio sul disco ); I sistemi P2P possiedono molti aspetti tecnici interessanti: permettono di sfruttare risorse altrimenti non utilizzate; controllo decentralizzato (niente Server); assenza di punti nevralgici (single point to failure); si organizzano da soli; P2P: Applicazioni File Sharing sstem pastr CAN jxta Kademlia napster File Storage united sstem devices freenet fiorana Distributed file sstem ocean store Kelips open cola Grid Computing farsite netmeeting gnutella Rd Redundant d tt storage morpheus? icq Anonmit sstem Vicero eba Collaborationbearshare limewire sstem seti@home uddi grove Instant Messaging sstemjabber popular power kazaa folding@home tapestr process tree Chord mojo nation P2P: Storia Proposti già da oltre 30 anni (ARPAnet era una rete P2P!!!); L introduzione del Web e la grande differenza, in termini di prestazioni, fra macchine Client e Server ha spostato l attenzione verso i sistemi Client\Server; Successivamente, l aumento delle prestazioni delle macchine Client e l aumento delle capacità di banda della Rete, hanno portato un maggiore interesse verso le risorse che si trovano all estremità (edge) della rete. Alla fine degli anni novanta sono nati quindi i primi sistemi P2P (ICQ, Seti@Home) L interesse verso questo tipo di protocolli è aumentato con la nascita dei primi sistemi per file sharing (Napster (999), Gnutella(2000)); Nel 2000 50 milioni di utenti hanno scaricato il Client di Napster; Napster ha avuto un picco di traffico di circa 7 TB in un giorno; 5

P2P: Storia P2P: Storia(3) L eredità di Napster è stata raccolta da Gnutella; Il 4/03/2000 Justin Frankel e Tom Pepper realizzano la prima release di Gnutella (!!! Solo 4 ore!!! ); La taglia della rete cresce in 7 mesi da 2K a 48K nodi; Tuttavia nel 95% delle quer il diametro è di 7 8 hop; Le applicazioni più conosciute che si basano sul protocollo Gnutella sono: Sfortunatamente i primi sistemi P2P soffrivano di gravi problemi di scalabilità Napster era un sistema P2P con lookup centralizzata BearShare; LimeWire; 7 La storia continua P2P: Storia GET X X La lista degli host presenti nella rete è disponibile sul C ServerAgnutellahost.com; Il Server gnutellahost.com(27.86.2.097) viene usato dai nodi per il boot: Single Si l point i t off failure; f B il D La ricerca di un file usa il flooding (non è scalabile): Controllo dei cicli; quer (e.g., X) E la rete; A sttl per evitare di congestionare C s quer hit E s quer hit Agosto 200 Gli utenti dopo la chiusura di napster trovano altre vie. 3.05 miliardi di file sono scambiati attraverso la rete Gnutella ogni mese X Anno 200: Nascono i protocolli P2P di terza generazione. La ricerca, in ambito P2P, (anche a livello universitario) comincia ad fornire le prime proposte: nascono le prime Distributed Hash tables (DHTs) Agosto 2002 La rete KaZaA comincia a decadere, ci sono troppi file contraffatti (la ragione: non viene utilizzata nessuna politica di sicurezza per i file, come ad esempio fare l hash del contenuto) Edonke e Gnutella gguadagnano g popolarità p p Maggio 2003 2003 2005: Viene rilasciato Bittorrent Si comincia finalmente ad utilizzare il paradigma P2P anche per altre applicazioni Nascono Skpe e il concetto di Voice over IP (P2P) si diffonde Gli sforzi della ricerca sono rivolti soprattutto a migliorare l affidabilità dei sistemi P2P, così da poterli utilizzare anche nelle reti ad hoc, X Eba compra parte del protocollo Skpe per usarlo come paradigma di comunicazione tra venditore e compratore 0 Lo sviluppo delle applicazioni P2P 00% Shoutcast 90% 80% FastTrack 70% 60% Freenet Direct Co nnect++ Carracho B lubster Neo -M o dus FastTrack WinM X Sho utcast A udio galax edo nke2000 Ho tline Gnutella B itto rrent 50% 40% 30% 20% edonke BitTorrent Gnutella 0% 8.08.2004 8.05.2004 8.02.2004 8..2003 8.08.2003 8.05.2003 8.02.2003 8..2002 8.08.2002 8.05.2002 0% 8.02.2002 P2P: Storia(4) 9 datavolumes in % per week 2 2

P2P: Scalabilità Esempi Il lavoro richiesto a un determinato nodo nel sistema non deve crescere (o almeno cresce lentamente) in funzione del numero di nodi nel sistema; I protocolli usati da Napster e Gnutella non sono scalabili; Per migliorare la scalabilità sono nati i cosiddetti protocolli P2P di terza generazione che supportano DHTs (Distributed Hash Tables); Alcuni esempi di questi protocolli sono: Tapestr, Chord, CAN, Vicero, Koorde, kademlia, kelips ; P2P di seconda generazione e DHT P2P di seconda generazione e DHT A ogni risorsa e ad ogni nodo è associata una chiave La chiave viene di solito creata facendo l hash del nome della risorsa o dell IP del nodo Ogni nodo del sistema è responsabile di un i i insieme di risorse/chiavi i / hi i e tutti t tti realizzano li una DHT L unica operazione che un sistema DHT deve fornire è lookup(chiave), la quale restituisce l identità del responsabile di una determinata chiave Tutti i nodi del sistema condividono una tabella hash Conoscono la struttura della tabella Ma non conoscono il responsabile di una determinata entr Id Nodo x Nodo Nodo z 0 2 3 4 5 6 m 2 - Overla Network 6 Overla Network: Performance [I. Stoica] An overla network is a virtual network of nodes and logical links that is built on top of an existing network with the purpose to implement a network service that is not available in the existing network network. In particular an overla network: Mi Minimizzare, i i per ognii nodo, d lle iinformazioni f i i relative l i aglili altri nodi: x minimizzare il grado dei nodi; adds an additional laer of indirection/virtualization changes properties in one or more areas of underling network Dal punto di vista topologico: Consideriamo una rete P2P come un grafo G=(V,E), dove V è l insieme dei nodi nel sistema e E rappresenta l insieme delle interconnessioni fra essi. Obiettivi: Minimizzare il numero di messaggi necessari per fare lookup: Condizioni necessarie ma non sufficienti x Minimizzare il diametro; x Minimizzare l average path lenght (APL), vale a dire, la distanza media fra due nodi nel grafo. 7 8 3

Scalabilità Messaggi necessari per trovare una chiave Anello Sistemi P2P Centralizzati (a.k.a. Ibridi) Sistemi P2P Gerarchici Sistemi P2P Puri Sistemi P2P che utilizzano SuperPeer La scalabilità di un protocollo è direttamente legata all efficienza dell algoritmo usato per il routing (lookup); Chord e n - In questo senso, sostanzialmente gli obiettivi sono due: altri Grafo Minimizzare il numero di messaggi necessari per fare Totalmente lookup; p; connesso O(log n) Minimizzare, per ogni nodo, le informazioni relative agli altri nodi; I vari DHT conosciuti differiscono proprio nel routing; O(log n) n - Dimensione tabella di routing n è il numero dei peer; Sistemi P2P Centralizzati (a.k.a. Ibridi) 9 Sistemi P2P Gerarchici Resource request Resource request Servers/Coordinators Communication Sistemi P2P Puri Sistemi P2P che utilizzano SuperPeer Resource request Servers/Coordinators Communication 4

(2) P2P Desiderata E possibile classificare i sistemi P2P in base all applicazione fornita: Scalabilit Stabilit Performance Decentralization Load Balancing Topolog awareness Flexibilit File Sharing Communication Distributed Computing Collaboration P2P: Routing Hot Spots P2P: Capacità di far fronte ai fallimenti Cosa succede se un nodo cade? I dati presenti nel nodo possono essere recuperati solo se ci sono duplicati. Il routing continua a funzionare? Con quale efficienza? Quanto costa una procedura per ripristinare tutti i link? Chi chiama questa procedura? (vale a dire chi si accorge che un nodo non è attivo). Se una chiave è richiesta più spesso, il responsabile della chiave e anche i suoi vicini potrebbero sovraccaricarsi; Per ovviare al problema si possono usare meccanismi di caching e di duplicazione; Diverso è il problema relativo ai nodi che si sovraccaricano per il traffico generato dalle lookup; Questo tipo di traffico è abbastanza difficile da individuare e da gestire; P2P: Incorporating Geograph P2P: Incorporating Geograph(2) Di solito le le prestazioni del routing dei sistemi P2P si misurano contando il numero di hop necessari a individuare il responsabile di una chiave a parità di link nella rete Sarebbe utile, inoltre, minimizzare la latenza del singolo hop s In pratica vogliamo che nodi vicini sulla rete DHT, siano fisicamente vicini Alcune tecniche: Geographic Laout: Usare un algoritmo per attribuire le chiavi ai nodi in modo che nodi fisicamente vicini abbiano identificatori simili. (Controindicazioni: Bilanciamento del carico, Routing Hot Spots e Sicurezza). PNS(Proximit neighbor selection): La scelta dei vicini non dipende solo dalla distanza fra i nodi sulla rete di overla ma è influenzata anche dalle distanze reali. PRS(Proximit routing selection): Durante la ricerca l algoritmo di routing non sceglie il successivo step basandosi solo sulla distanza fra i nodi nella rete di overla; considera anche la distanza effettiva fra i nodi (in termini di RTT). t s t 29 5

P2P: Extreme Heterogeneit I nodi connessi a questo tipo di reti sono eterogenei (Es. capacità di calcolo e banda). E possibile progettare algoritmi di routing che considerino anche questa eterogeneità. La tecnica più diffusa per risolvere questo problema consiste nel considerare dei nodi virtuali tutti con le stesse capacità e assegnare a ogni nodo reale un numero di nodi virtuali proporzionale alle proprie capacità. P2P: Sicurezza E possibile realizzare un protocollo P2P che resiste ad attacchi di tipo denial of service E necessario replicare i dati E importante usare funzioni hash One Wa (per i dati e per i nodi) E importante osservare che tutte le dimostrazioni relative alla sicurezza dei vari algoritmi incontrati finora si basano sul fatto che le chiavi vengono associate ai nodi e alle risorse in modo pseudo casuale (quasi tutti gli algoritmi usano SHA ) Conclusioni P2P è un paradigma di computazione che permette di sfruttare al meglio le risorse presenti nel sistema. Presenta numerosi problemi aperti Performance Sicurezza Bilanciamento del carico Scheduling delle risorse Etereogeneità dei nodi Numerose applicazioni vengono considerate P2P (ma non lo sono!!) Grazie per l attenzione 33 34 6