Perché progettare sistemi P2P Breve storia del le-sharing Distributed Hash Table. P2P: Overlay. Matteo Dell'Amico. Master SIIT 1 luglio 2008

Documenti analoghi
Contesto: Peer to Peer

Modelli e Sistemi di Elaborazione Peer-to-Peer

Contesto. Reti e applicazioni peer-to-peer. Reti client/server. Reti client/server - svantaggi. Reti P2P - generalità. Reti peer-to-peer (P2P)

FTP. Appunti a cura del prof. ing. Mario Catalano

Algoritmi per protocolli peer-to-peer

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

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

P2P. File sharing (condivisione di file) tra computer gestiti da persone come noi. Si condividono canzoni, film, programmi, immagini, ecc..

Parte II: Reti di calcolatori Lezione 9

Sistemi distribuiti peer-to-peer

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

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

Peer to Peer non solo file sharing

AEMcom Peer2Peer Ubuntu \ Mac OS

Quando il Software Libero prevale.

Algoritmi per protocolli peer-to-peer

Algoritmi per protocolli peer-to-peer

AEMcom Peer2Peer - Windows

Le fattispecie di riuso

Parte II: Reti di calcolatori Lezione 11

Capitolo 1: Architettura dei sistemi distribuiti Introduzione

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

GRUPPO MY- social media solutions / Via G.Dottori 94, Perugia / PI

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

Routing Dinamico EIGRP con Manual Summarization e Default Route 16/12/2014 Autore Roberto Bandiera

Il protocollo BitTorrent

Una architettura peer-topeer per la visualizzazione 3D distribuita

Reti diverse: la soluzione nativa

Sicurezza nelle reti

IL FILE SHARING:LO USIAMO IN TANTI MA COS E???

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Lezione n.15 DHT: LOAD BALANCING. Peer-to-Peer Systems and Applications Capitolo 9. Laura Ricci

Evoluzione della rete Ethernet (II parte)

Reti diverse: la soluzione nativa

INVIO SMS

I motori di ricerca. Che cosa sono. Stefania Marrara Corso di Sistemi Informativi

Coordinazione Distribuita

Turismo Virtual Turismo Virtual Turismo Virtual

Introduzione alla teoria dei database relazionali. Come progettare un database

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

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

Incentivi alla cooperazione Introduzione

Organizzazioni virtuali di tipo Peer-to-Peer

Lezione 1 Introduzione

CAPITOLO 1. Introduzione alle reti LAN

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

ARP (Address Resolution Protocol)

Gestione del conflitto o della negoziazione

Il livello 3 della pila ISO/OSI. Il protocollo IP e il protocollo ICMP

Stampe in rete Implementazione corretta

Corso di Sistemi di Elaborazione delle informazioni

Gestione della memoria centrale

Scenario di Progettazione

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

OONI. un framework per la misurazione della censura su Internet

Lezione n.1 Sistemi P2P: Introduzione

Quattro chiacchere sul Peer to Peer p.1/20

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria. Corso di Sistemi Distribuiti. Valeria Cardellini. Anno accademico 2008/09

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

A2-03 Applicazioni Peer to Peer

ArcGIS Online & ArcGIS Server Un portale cartografico completo per la promozione del proprio patrimonio cartografico

navigosereno.it Banca e cliente: relazione SERENA Marco Buratti

Gestione delle Reti di Telecomunicazioni

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

REGOLE PER L ESAME (agg.te settembre 2015)

Capitolo 2 - parte 4. Corso Reti ed Applicazioni Mauro Campanella

Logaritmi ed esponenziali

La sicurezza nel Web

TRAVELPLAN.IT PRODOTTI E SERVIZI IL PORTALE DEDICATO AL TURISMO IN ITALIA INFORMAZIONI DI QUALITÀ, VENDITA E GRANDE VISIBILITÀ INTERNAZIONALE

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

DIRECT MARKETING: COME- QUANDO-PERCHE UTILIZZARLO

Mac Application Manager 1.3 (SOLO PER TIGER)

Express Import system

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Collegamento remoto vending machines by do-dots

Reti di calcolatori. Lezione del 10 giugno 2004

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Altro esempio di HTML

Dispositivi di rete. Ripetitori. Hub

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

idc IDC INTELLIGENT DIGITAL CASH LA SOLUZIONE CRITTOGRAFICA DI MONETA ELETTRONICA REGOLAMENTATA

ARP e instradamento IP

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Configurazione dei Windows Media Services in Windows Server di Nicola Ferrini MCT MCSA MCSE MCTS MCITP

SOLUZIONI PER LA TELEASSISTENZA Server Privato

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Dropbox. Quando qualcuno ci invita a condivide con noi una cartella, veniamo avvisati via mail.

Algoritmi e strutture dati. Codici di Huffman

Una breve introduzione ai

Ata_NiAg02. Modulo Gestione Agenti

Maschere di sottorete a lunghezza variabile

IT Cloud Service. Semplice - accessibile - sicuro - economico

Servizi di Sicurezza Informatica. Antivirus Centralizzato per Intranet CEI-Diocesi

DEPLOY YOUR BUSINESS

marketing highlights Google Analytics A cura di: dott. Fabio Pinello

Transcript:

Master SIIT 1 luglio 2008

Scaletta 1 Che signica P2P? Vantaggi e svantaggi Obiettivi 2 La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent 3 Chord Kademlia

Scaletta Che signica P2P? Vantaggi e svantaggi Obiettivi 1 Che signica P2P? Vantaggi e svantaggi Obiettivi 2 La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent 3 Chord Kademlia

Che signica P2P? Vantaggi e svantaggi Obiettivi Che intendiamo per Peer-to-Peer? Da pari a pari? Implica eguaglianza tra i nodi: non del tutto preciso. Pseudo-denizione Concetto principale: decentralizzazione. In senso debole: alcune parti del sistema sono decentralizzate. In senso forte: tutto il sistema è decentralizzato.

Che signica P2P? Vantaggi e svantaggi Obiettivi Che intendiamo per Peer-to-Peer? Da pari a pari? Implica eguaglianza tra i nodi: non del tutto preciso. Pseudo-denizione Concetto principale: decentralizzazione. In senso debole: alcune parti del sistema sono decentralizzate. In senso forte: tutto il sistema è decentralizzato.

Perché scrivere applicazioni P2P Che signica P2P? Vantaggi e svantaggi Obiettivi Scalabilità: quando aumenta la domanda di risorse, anche l'oerta cresce. Resistenza a guasti ed attacchi: non esistono elementi centrali la cui caduta compromette il sistema. Si fa uso della ridondanza. Risparmio: vengono usate risorse a costo zero. Però, la ridondanza ha un costo...

Che signica P2P? Vantaggi e svantaggi Obiettivi Perché NON scrivere applicazioni P2P Complessità: progettare applicazioni P2P ecienti è molto dicile. Poche classi di applicazioni P2P vengono davvero usate. Churn: non si può fare adamento su una topologia stabile. Bisogna tenere in conto che i guasti sono all'ordine del giorno. Attacchi: dobbiamo tenere presente che chiunque potrebbe essere male intenzionato.

Obiettivi Che signica P2P? Vantaggi e svantaggi Obiettivi Desiderabili 1 Scalabilità 2 Disponibilità 3 Resistenza a guasti 4 Cooperazione tra i nodi Opinabili 1 Anonimato 2 Resistenza a censura

Obiettivi Che signica P2P? Vantaggi e svantaggi Obiettivi Desiderabili 1 Scalabilità 2 Disponibilità 3 Resistenza a guasti 4 Cooperazione tra i nodi Opinabili 1 Anonimato 2 Resistenza a censura

Esempio: il le sharing Che signica P2P? Vantaggi e svantaggi Obiettivi 1 Scalabilità: più peer vogliono un le, più peer hanno il le (o sue parti). 2 Disponibilità: se un peer si sconnette, possiamo continuare il download da un altro. Se non si può, danno comunque non critico. 3 Resistenza a guasti: dipende dall'overlay; vedremo (subito). 4 Cooperazione: dipende dagli incentivi; vedremo (giovedì). 1 Anonimato: si può fare ma è costoso; vedremo (giovedì). 2 Resistenza a censura: i fatti la dimostrano.

Scaletta La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent 1 Che signica P2P? Vantaggi e svantaggi Obiettivi 2 La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent 3 Chord Kademlia

Napster La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent Creato nel 1999 da Shawn Fanning, per trovare più facilmente musica online. Basato su un server centrale, con l'indice degli MP3 condivisi dagli utenti. Raggiunge 25 milioni di utenti registrati nel 2001. Nel luglio 2001, viene chiuso per un contenzioso legale perso. Evoluzioni del protocollo sopravvivono in OpenNap (WinMX).

Il protocollo di Napster La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent

Gnutella La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent Sistema P2P puro, senza componenti centralizzate sviluppato da Nullsoft (AOL). Pubblicizzato il 14 marzo 2000 su slashdot.org (News for nerds), migliaia di utenti lo scaricano. Il giorno successivo AOL ne blocca il download, ma la rete sopravvive. Vengono sviluppati cloni rilasciati come software libero. Ad oggi, il protocollo di Gnutella (riveduto e corretto) sopravvive in client come LimeWire.

Gnutella: protocollo originale La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent Per evitare la propagazione indenita delle richieste, si usa un parametro TTL che limita il numero degli hop (default 7).

Kazaa La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent Creato da Niklas Zennström, Janus Friis e Priit Kasesalu (Skype, Joost) nel marzo 2001. I superpeer (o supernode, ultrapeer) nell'overlay (FastTrack) rendono l'applicazione la più eciente. Poi introdotti nella rete Gnutella. Il sistema più usato nel periodo 2001-2004. L'applicazione subisce cattiva pubblicità perché contiene spyware e malware. Tra il 2005 e il 2007, questioni giudiziarie portano alla morte della rete.

Superpeer La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent Solo i nodi con maggiori risorse ed uptime vengono eletti come superpeer. Ogni nodo regolare comunica la propria lista di risorse al suo superpeer. Il compito della ricerca delle risorse viene limitato alla rete dei superpeer.

La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent emule Software libero basato sul protocollo di edonkey (*2006). Due diversi overlay per la ricerca dei le: edonkey, con i server in stile Napster/OpenNap; Kad, basato sulla Kademlia (vedremo). Hash SHA-1 per vericare l'autenticità dei le e di loro parti. Source exchange: i nodi che stanno scaricando lo stesso le si scambiano informazioni su chi sono gli altri. Crediti per incoraggiare l'upload (vedremo giovedì).

BitTorrent La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent Il sistema che al momento genera più traco. Concepito per lo scambio legale di contenuto, non implementa la ricerca. Eettivamente usato sia per software libero che proprietario. È necessario ottenere (tramite mezzi esterni alla rete) un le.torrent che contiene l'indirizzo di un tracker. Il tracker fornisce gli indirizzi IP degli altri peer che scaricano il software. Sistema basato sulla reciprocità per incoraggiare il download (vedremo giovedì).

BitTorrent - il protocollo La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent

Scaletta Chord Kademlia 1 Che signica P2P? Vantaggi e svantaggi Obiettivi 2 La prima generazione: Napster e Gnutella Seconda generazione: Superpeer e Kazaa I più usati (per ora): emule e BitTorrent 3 Chord Kademlia

Chord Kademlia Sistema scalabile basato sull'idea di creare una tabella hash distribuita. Ad ogni peer corrisponde uno slot della tabella hash. Consistent hashing: aggiungere o togliere slot ha un impatto piccolo sull'allocazione delle risorse nella tabella Perfetto per gestire il churn. Esempio: nel le sharing, la DHT contiene - per ogni keyword k, l'indirizzo del peer che ha il le con questa keyword all'indirizzo hash(k).

Chord - l'anello Chord Kademlia Lo spazio di hashing (qui 0-63) viene mappato su un anello. Ogni nodo prende un identicatore a caso, e si inserisce nell'anello, con link al successore ed al predecessore. I documenti vengono inseriti sul primo peer con identicatore maggiore del codice hash relativo.

Chord - lookup Chord Kademlia Per inserire o cercare un oggetto, si possono percorrere i link successore nché non si arriva a destinazione. Metodo molto ineciente.

Chord - i nger Chord Kademlia Per arrivare prima a destinazione, si possono aggiungere salti a distanza di ogni potenza di 2. Il nodo NX può ottenere il nger +Y tramite: Un lookup per X+Y; Chiedendo al nger +Y /2 il suo nger +Y/2.

Chord - greedy routing Chord Kademlia Se ad ogni passo usiamo il nger che ci avvicina di più alla destinazione senza superarla, saltiamo moltissimi passi.

Chord - nuovi nodi Chord Kademlia L'inserimento di un nuovo nodo necessita di: un lookup; scambio di dati con soli due nodi.

Chord - fault tolerance Chord Kademlia Per evitare che la catena dei successori si spezzi quando i peer lasciano il sistema, si mantiene una lista degli r successori. Se tutti gli r successori lasciano il sistema, c'è il rischio di spezzare la rete. Mantenimento periodico di tutti i link tramite la procedura di stabilizzazione.

Chord - numero di passi Chord Kademlia Numero medio di passi per arrivare a destinazione (qui, n = 2 12 = 4096): log 2 n. 2

Kademlia: cenni Chord Kademlia L'idea è la stessa: tenere liste di nodi via via più vicini: si ha un numero logaritmico di informazioni e un numero logaritmico di passi per arrivare a destinazione. In questo caso si mantengono delle liste di nger per nodi che hanno i primi 0, 1,..., k bit in comune (hash a k bit).

Per saperne di più... Chord Kademlia Wikipedia (più informazioni nelle pagine in inglese): Napster, Gnutella, Kazaa, FastTrack, emule, BitTorrent, Kademlia. Articolo di Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashoek, Frank Dabek, Hari Balakrishnan: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications http://pdos.csail.mit.edu/papers/ton:chord/. Fatemi domande :-)