Il protocollo BitTorrent



Documenti analoghi
Algoritmi per protocolli peer-to-peer

Contesto: Peer to Peer

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

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Approfondimento di Marco Mulas

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

Progettare un Firewall

ARTeS iscrizione Albi e Registri Terzo Settore della Regione Lazio Guida alle procedure di iscrizione. Rev. 0 del 2 maggio 2012

Express Import system

Reti di Telecomunicazione Lezione 8

Progettaz. e sviluppo Data Base

La sicurezza nel Web

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

Il web server Apache Lezione n. 3. Introduzione

Realizzazione di una chat su protocollo HTTP

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

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Telecomunicazione Lezione 7

Avviso 1/2014 Procedura Caricamento Documentazione con Firma Digitale

P2-11: BOOTP e DHCP (Capitolo 23)

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti

Inizializzazione degli Host. BOOTP e DHCP

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

Guida Compilazione Piani di Studio on-line

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Reti di Telecomunicazione Lezione 6

Express Import system

Dal protocollo IP ai livelli superiori

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Progettazione di una base di dati Ufficio della Motorizzazione

Liberare la memoria allocata dinamicamente.

Indagine conoscitiva sulla comunicazione all interno dell Azienda ASL Latina

È possibile organizzare corsi e cicli presso la propria sede (Classi on-site)?

Modelli e Sistemi di Elaborazione Peer-to-Peer

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Accreditamento al SID

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Esercizio data base "Biblioteca"

Dipartimenti di Fisica, Matematica Ingegneria e Scienza dell Informazione CIBIO - Centro di Biologia Integrata

WEB SEMINAR Dettaglio servizio

Lo Sportello Informativo on line La tua Regione a portata di mouse

Come utilizzare il nuovo HelpDesk Maggioli Informatica

CALCOLO COMBINATORIO

NOTA. La presente traduzione non sostituisce in alcun modo il regolamento originale del gioco.

Avvio di Internet ed esplorazione di pagine Web.

FASE 1 REGISTRAZIONE DEI DATI PERSONALI

PORTALE TERRITORIALE PER LA FATTURAZIONE ELETTRONICA

Servizio di Posta elettronica Certificata (PEC)

Dipartimenti di Fisica, Matematica Ingegneria e Scienza dell Informazione CIBIO - Centro di Biologia Integrata

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO!

Sommario 1. Home Tickets Nuove richieste Knowledge Base Documenti Referenti... 5

Progetto SINTESI - Dominio Provinciale

Mutua esclusione distribuita

PROCEDURE PER LA VALUTAZIONE DELLE COMPETENZE INFORMATICHE DI BASE (v.3)

Finanziamenti on line -

Assegnazione dei centri di costo ai numeri di riferimento delle fatture e ai numeri di licenza di affrancatura Guida al servizio online «Gestore di

MANUALE DI RIFERIMENTO

MANUALE UTENTE PROTEUS GRPIGD - GESTIONE RICHIESTE PROTOCOLLO INFORMATICO E GESTIONE DOCUMENTALE

Informatica (Basi di Dati)

2.1 Configurare il Firewall di Windows

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

SITO DI ZONA

Lezione 1 Introduzione

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

Lezione n.10 LPR- Informatica Applicata RMI CallBacks

Corso di Informatica

Il 19 Maggio 2010 è entrato in vigore il DLgs 65/10 Semplificazione per i Distributori, meglio conosciuto come Ritiro RAEE 1 contro 1.

Installazione di GFI Network Server Monitor

Progettazione e Implementazione di API WebSocket per il Gateway Dog

SendMedMalattia v Manuale d uso

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

D. Altre attività formative Stage, attività esterne, tesine (con file già formattato), idoneità, etc. ELENCO DELLE DOMANDE (versione stampabile)

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

GUIDA AL SOCIAL CARE

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

Servizio di Posta elettronica Certificata (PEC)

Manuale di Registrazione

RINNOVO DELLA CONSULTA DEGLI STUDENTI DELL ISIA DI FIRENZE TRIENNIO 2010/2013. Elenco e Programmi dei candidati

Presentazione della pratica online

Progetto di Ingegneria del Software 2. SWIMv2

1 ACCESSO AL 3 2 CARICAMENTO DELLE RICHIESTE/PRESTAZIONI MONITORAGGIO DELLE RICHIESTE DOWNLOAD ESITI...

Manuale per la configurazione di un account di PEC in Outlook Express.

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Transcript:

4 Università degli studi di Bari Corso di Laurea Magistrale in Informatica Sistemi Distribuiti: architetttura e modelizzazione Modulo B modellizzazione Anno Accademico 2008 2009 Modellizzazione del protocollo BitTorrent attraverso il formalismo delle Abstract State Machines(ASM) Il protocollo BitTorrent Docente Alessandro Bianchi Studente Vito Astone 2 3 Che cosa è Un protocollo to per il file sharing; E il nome del client ufficiale; Scritto da Bram Cohen; Implementato in linguaggio Python; Pensato per file di grossa dimensione (ISO, DVD,.). I Componenti.torrent: un file che contiene le informazioni necessarie per scaricare il file voluto; : coordina l attività dei ; : è sia colui che scarica un dato file e sia colui che permette di scaricarlo; qualcuno che ci fornisce il file.torrent: webserver, posta elettronica,...

5 7 6 8.torrent Nome del file da scaricare; Dimensione del file; L hash di ciascuna parte in cui è stato diviso il file. In questo modo abbiamo la certezza di scaricare la parti di file corretti; La dimensione delle parti; L indirizzo del. Coordina l attività dei ; Conosce l indirizzo di ogni ; Di ogni conosce lo stato di download; Per poter assistere meglio i è anche informato su quali parti del file siano possedute da ciascun ; Viene interrogato periodicamente. Esistono due differenti tipi di o Seeder; o Leecher. seeder E detto seeder quel che possiede una intera copia del file; E necessario che almeno inizialmente si sia almeno un seeder che possa inseminare la rete; In determinate circostanze, ci potrebbe non essere alcun seeder ma, malgrado ciò, sia ancora possibile recuperare tutte le parti necessarie per mettere insieme l intero file. In questo caso si parla di copia distribuita.

9 leecher Un leecher è un che non ha ancora una copia completa dei un particolare file; Quando dei nuovi cominciano a scaricare diventano leecher finchè non avranno una copia completa diventando in tal modo seeder; In bittorrent un leecher ha un ruolo attivo, in quanto permette l upload; E interesse del leecher garantire banda per l upload, in quanto la sua velocità di download dipende dalla sua velocità di upload: più si da più si riceve. 0 Primo passo Chi desidera scaricare un file deve innanzitutto ottenere il file.torrent relativo al file; Successivamente deve aprire il file.torrent con un client BitTorrent. sito web con file.torrent Si avvia il client BitTorrent; Viene contattato il indicato dal.torrent; Lo scambio di messaggi avviene attraverso HTTP request e response. Il comunica al o Quale file vuole scaricare; o In quale porta si attende di ricevere la lista dei da cui scaricare; o Un _id che lo identifica univocamente. 2

Altri parametri che vengono inviati al o info_hash: viene utilizzato SHA; o port: numero di porta sulla quale il client è in ascolto. Le porte tipiche sono nel range 688 6900; o uploaded: bytes inviati dal quel client agli altri client dall inizio della sessione; o downloaded: bytes scaricati dagli altri client dall inizio della sessione; o left: bytes rimanenti al completamento del file. Il restituisce una lista di da cui è possibile scaricare. 3 4 Terzo passo Viene istanziata una connessione con i presenti nella lista fornita dal ; I messaggi vengono scambiati attraverso il TCP socket; Fase di handshake. Quarto passo Ogni informa gli altri di quali parti di file ha a disposizione; Un annuncia il possesso di una parte di file solo dopo averne verificato l integrità con l algoritmo SHA; Lo scambio di dati è reciproco. 5 6

7 8 Selezione delle parti Per poter ottenere una buona performance del sistema, bittorrent applica alcuni criteri di selezione delle parti di file da scaricare Strict priority Una volta che un blocco viene richiesto ad un, tutte le future richieste a quel riguarderanno i restanti blocchi della parte. Questo permette di completare velocemente parti intere del file. Rarest first Quando il seleziona quale parte scaricare sceglie sempre quella con minore occorrenza. Questo criterio permette al di essere concorrenziale, possedendo delle parti di file molto richieste. Questo metodo risulta particolarmente utile soprattutto nel momento dell introduzione di un nuovo torrent, alleggerendo di molto il carico sul seeder originario. Random first Selezione delle parti L unica eccezione alla regola del rarest first accade quando si inizia il download di un file. E importante che un lecheer inizi ad uplodare le parti che possiede in quanto la sua velocità di download dipende dalla sua velocità di upload. Per questa ragione la prima parte da scaricare viene scelta in modo casuale. Endgame mode Risulta molto utile quando si è prossimi a terminare il download del file. Viene inviata una richiesta per le parti mancanti ad ogni. Quando una parte arriva deve essere inviata una richiesta in cui si esprime che quella parte non è più di nostro interesse. Algoritmo choking Ogni ha anche il compito di scegliere se respingere (choke) o accettare (unchoke) una richiesta di upload. In realtà l atto del choking è un temporaneo rifiuto dell upload. Queste decisioni avvengono in base ad alcuni criteri: Un manda dati a che ne hanno mandati a lui (tit for tat); Il serve al più 4, privilegiando quelli che scaricano a una velocità maggiore; Ogni 0 secondi si calcola la lista dei da soffocare (choke) e quelli con cui cooperare (unchoking); Ogni 30 secondi il abilita un nuovo fra quelli in choke, a prescindere dalle sue prestazioni. 9 20

Modellizzazione del protocollo BitTorrent con le ASM 22 2 Ground Model Livello 0 23 Peer BitTorrent Network livello 24 Attiva Comunicazione Livello 2

Attiva Comunicazione 2 Livello 2 Tabelle degli stati Ground Model Livello 0 25 26