1 / 11

Overlay network strutturate per applicazioni peer to peer

Overlay network strutturate per applicazioni peer to peer. Lorenzo Castelli. Overlay network. Overlay network in un’applicazione peer to peer : la rete virtuale formata dai nodi dell’applicazione e dai loro riferimenti verso gli altri nodi. Organizzazioni classiche Centralizzata

dara
Download Presentation

Overlay network strutturate per applicazioni peer to peer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overlay network strutturate per applicazioni peer to peer Lorenzo Castelli

  2. Overlay network Overlay network in un’applicazione peer to peer: la rete virtuale formata dai nodi dell’applicazione e dai loro riferimenti verso gli altri nodi. Organizzazioni classiche • Centralizzata • Non strutturata Meccanismi di ricerca classici • Client-Server • Broadcast (limitato)

  3. Overlay network strutturate Reti decentralizzate ma strutturate, che forniscono garanzie sulla complessità della ricerca (generalmente O(logN)). Realizzano il key based routing: dato un’indirizzo, effettuare il routing verso il nodo attivo con indirizzo più vicino a tale indirizzo. Forniscono la base su cui costruire servizi distribuiti ad alto livello: • Distributed hash table (DHT) • Decentralized object location and routing (DOLR) • Multicast

  4. Architettura di un nodo

  5. Servizi di rete Servizi • Canali di comunicazione • Monitoring della rete Tecniche • Frammentazione e deframmentazione dei messaggi • Conferma di ricezione, time-out, sliding window e protocollo di connessione per comunicazioni affidabili • Stima round-trip time e loss rate • Tecniche anti-congestione Standard • UDP • TCP • SCTP

  6. Elementi overlay network Spazio degli indirizzi • Ampio (es. 160 bit) • Sufficiente per hash crittografici Generazione indirizzi univoci • Universally unique identifier • A partire da indirizzo IP • Assegnati da un’organismo centrale Funzione di distanza • XOR • Sottrazione • Definizioni complesse Topologia della rete • Anello • Albero

  7. Routing Condizione da garantire Dato un’indirizzo di destinazione D, qualunque nodo di indirizzo A è collegato ad almeno un nodo di indirizzo B tale che d(B,D) < d(A,D), oppure d(A,D) è minima. Key based routing Seguire i nodi via via più vicini fino alla destinazione. Complessità • O(N) • O(logN) • … Protocollo • Ricorsivo • Iterativo

  8. DHT Dizionario distribuito ispirato alle tabelle hash classiche. Put • Calcolo di un’indirizzo univoco I a partire dalla chiave (funzione hash crittografica) • Inserimento della coppia chiave-valore nel nodo con indirizzo più vicino a I Get • Calcolo dell’indirizzo I a partire dalla chiave • Recupero del valore dal nodo con indirizzo più vicino a I Manutenzione • Scambio dei dati al join/leave dei nodi • Ridondanza per resistenza ai failure

  9. DOLR Sistema di pubblicazione-localizzazione di risorse, in grado di fornire alte probabilità di ottimalità. Pubblicazione • Calcolo dell’indirizzo I della risorsa • Per ogni nodo presente sul percorso fra il publisher e la radice: • Inserimento di un puntatore al publisher associato alla risorsa Routing • Calcolo dell’indirizzo I della risorsa • Invio del messaggio verso la radice • Deviazione del messaggio non appena si incontra un nodo che contiene il puntatore al publisher

  10. Multicast Organizzazione di canali di distribuzione di messaggi. Join-leave • Calcolo della radice del canale • Invio di un messaggio apposito alla radice • Nei nodi intermedi fra il mittente e la radice, gestione di una lista di “figli” in modo tale da creare-distruggere un ramo fra radice e mittente Invio in multicast • Calcolo della radice del canale • Invio del messaggio alla radice • Propagazione del messaggio dalla radice ai figli in modo ricorsivo, in modo da percorrere tutto l’albero

  11. Progetto Realizzazione di una tabella hash distribuita. Chimera • Overlay network basata sugli algoritmi di Tapestry-Pastry. • Ottima (e al momento unica?) implementazione centrata sull’estensibilità e la flessibilità • Ancora estremamente prototipale! DHT realizzata • Fornisce un dizionario distribuito che associa stringhe a stringhe • Funzioni di Put, Get, e manutenzione del dizionario • Nessuna ridondanza (può essere costruita in uno strato superiore)

More Related