PEER TO PEER AND WIRELESS NETWORKS E LABORATORIO
Anno accademico 2020/2021 - 2° anno - Curriculum Sistemi di Rete e Sicurezza- PEER TO PEER AND WIRELESS NETWORKS: Salvatore Antonio RICCOBENE
- LABORATORIO: Salvatore Antonio RICCOBENE
Organizzazione didattica: 225 ore d'impegno totale, 153 di studio individuale, 36 di lezione frontale, 24 di esercitazione, 12 di laboratorio
Semestre: 1°
Obiettivi formativi
- PEER TO PEER AND WIRELESS NETWORKS
Il corso affronta tematiche avanzate nell'ambito delle reti e dei protocolli di comunicazione.
Lo scopo del corso è far prendere dimestichezza con le problematiche di sicronizzazione distribuita in ambienti anche non strettamente cooperanti o collaboranti, tramite l'analisi dei problemi e delle soluzioni teoriche ed implementative presenti in soluzioni reali.Il modulo principale è suddiviso in due parti.
Nella prima parte vengono studiati alcuni protocolli di cooperazioni per sistemi Peer-to-Peer, con particolare riferimento ai problemi di scalabilità, incentivazione alla collaborazione e trusting.
Nella seconda parte del corso si analizzano le reti wireless, evidenziando i problemi che sorgono in tutti i livelli della pila protocollare. In particolare viene analizzata la parte relativa al coordinamento distribuito per l'accesso al canale fisico.- Conoscenza e capacità di comprensione (knowledge and understanding): l'obiettivo del corso è quello di far acquisire conoscenze avanzate che consentano allo studente di comprendere i meccanismi teorici che stanno alla base di un protocollo distribuito di comunicazione; in particolare lo studente acquisirà le conoscenze dei principali protocolli per reti P2P e per reti Wireless.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà le competenze necessarie per progettare un protocollo di coordinamento distribuito per una Overlay Network, definendo gli opportuni strumenti per l'incentivazione alla collaborazione, ottimizzando nel contempo lo sfruttamento delle risorse condivise. A tale riguardo una parte del corso consisterà in lezioni di laboratorio, aventi come oggetto l'utilizzo del simulatore NS3, allo scopo di valutare le performance di un protocollo.
- Autonomia di giudizio (making judgements): Attraverso esempi concreti di errori e/o limiti progettuali presenti in protocolli reali, lo studente sarà in grado di elaborare autonomamente proprie soluzioni, al fine di superare i classici vincoli imposti dalla scalabilità nei sistemi distribuiti.
- Abilità comunicative (communication skills): lo studente acquisirà ulteriori abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale protocolli di rete e dei sistemi distribuiti.
- Capacità di apprendimento (learning skills): il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche e pratiche per poter affrontare e risolvere autonomamente nuove problematiche che dovessero sorgere durante l'attività progettuale tipica di un Laureato Magistrale.
- LABORATORIO
Il modulo di Laboratorio approfondisce gli argomenti teorici trattati nel modulo base, Lo scopo del modulo è di approfondire, grazie all'utilizzo del simulatore ns3, le caratteristiche implementative dei protocolli esaminati. Inoltre viene posta particolare enfasi alla valutazione delle performance.
- Conoscenza e capacità di comprensione (knowledge and understanding): l'obiettivo del corso è quello di far acquisire conoscenze avanzate che consentano allo studente di valutare le prestazioni di un protocollo distribuito di comunicazione.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà le competenze necessarie per progettare un protocollo di coordinamento distribuito per una Overlay Network. Ciò sarà realizzato con lezioni di laboratorio, aventi come oggetto l'utilizzo del simulatore NS3, allo scopo di valutare le performance di un protocollo.
- Autonomia di giudizio (making judgements): Attraverso esempi concreti di errori e/o limiti progettuali presenti in protocolli reali, lo studente sarà in grado di elaborare autonomamente proprie soluzioni, al fine di superare i classici vincoli imposti dalla scalabilità nei sistemi distribuiti.
- Abilità comunicative (communication skills): lo studente acquisirà ulteriori abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale protocolli di rete e dei sistemi distribuiti.
- Capacità di apprendimento (learning skills): il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche e pratiche per poter valutare nuovi protocolli di rete.
Modalità di svolgimento dell'insegnamento
- PEER TO PEER AND WIRELESS NETWORKS
Le lezioni sono tenute in aula con l'ausilio di slide, messe a disposizione degli studenti sul portale Studium. Le slide non sostituiscono i testi di riferimento, ma, oltre che agevolare la comprensione della lezione, forniscono un dettaglio puntuale sul programma svolto.
In caso di necessità, a seguito di apposite indicazioni da parte degli organi di Ateneo, l'insegnamento potrà essere impartito in modalità mista o a distanza, con le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto qui riportato.
- LABORATORIO
Le lezioni di questo modulo vengono svolte principalmente il laboratorio, con l'uso del simulatore NS3.
Gli studenti sono incoraggiati a formare piccoli gruppi di lavoro, per svolgere le esercitazioni proposte.
In caso di necessità, a seguito di apposite indicazioni da parte degli organi di Ateneo, l'insegnamento potrà essere impartito in modalità mista o a distanza, con le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto qui riportato.
Prerequisiti richiesti
- PEER TO PEER AND WIRELESS NETWORKS
Per la comprensione del corso è necessario avere competenze di base relative a Sistemi Operativi, Sistemi Distribuiti e Reti di Calcolatori
- LABORATORIO
Concetti di base di:
- sistemi operativi
- reti di calcolatori
- programmazione in C++
Frequenza lezioni
- PEER TO PEER AND WIRELESS NETWORKS
La frequenza alle lezioni non è obbligatoria ma fortemente consigliata,
- LABORATORIO
Non obbligatoria ma fortemente consigliata
Contenuti del corso
- PEER TO PEER AND WIRELESS NETWORKS
Il modello Client - Server ed il modello P2P
Le overlay networks
Le origini del P2P
Proprietà caratteristiche delle reti P2P
Tipologie delle reti P2P: pure, ibride, strutturate, con DHT, gerarchiche, decentralizzate
Casi di Studio:- Sistemi centralizzati: Napster
- Sistemi decentralizzati: Gnutella 0.4
- Problemi di scalabilità e Sistemi ibridi: Edonkey, Gnutella 0.6, Gnutella 2 FastTrack, OpenFT
- Incentivi alla collaborazione:
- il sistema dei crediti: eMule
- il Tit-for-tat: BitTorrent
- L'anonimato: Freenet
- L'uso delle DHT: Chord, Pastry
Le wireless network
Wired vs Wireless
Limiti impliciti delle reti wireless
Nuove applicazioni per il wireless
Tassonomia
Introduzione al Livello fisico: accesso al canale
L'approccio CSMA/CA
IEEE 802.11: strutturazioni BSS, ESS, IBSS
Reti strutturate e AdHoc Network
Rilevazione della portante fisica e virtuale
Lo standard IEEE 802.11
il DCF
MACAW, NAV, RTS/CTS, DS
Tempi caratteristici: SIFS, PIFS, DIFS, EIFS
Il PCF
Formato delle frame IEEE802.11
MAC Address
Esempio: performance teoriche del TCP su IEEE802.11
Protocolli di routing
Mobile IP
Routing per MaNet: approcco reattivo, proattivo e ibrido
Esempi di routing:- DSR,
- AODV,
- DSDV
- LRA
Il TCP. Richiami sulla congestione.
Le varianti TCP- Tahoe
- Reno
- New Reno
- Vegas
- SACK
- Westwood
- Veno
- LABORATORIO
Introduzione alle simulazioni tempo-descrete
Strutturazione di un modello: variabili di stato e variabili d'ambiente
Valutazione delle prestazioni in un ambiente di rete
Il simulatore di rete NS3
Valutazione delle prestazioni di una connessione di rete con TCP Tahoe, TCP Reno, TCP new Reno
Le prestazioni di TCP in ambiente wireless
Le MaNET in NS3
Testi di riferimento
- PEER TO PEER AND WIRELESS NETWORKS
Il corso non prevede un libro di riferimento: nella sezione "materiale didattico", presente nel portale "Studium" vengono indicati articoli scientifici, dispense e capitoli di libri utili alla preparazione dell'esame.
- LABORATORIO
Manuale di riferimento di NS3
Programmazione del corso
PEER TO PEER AND WIRELESS NETWORKS | |||
Argomenti | Riferimenti testi | ||
---|---|---|---|
1 | Le reti P2P | ||
2 | Le reti wireless | ||
3 | Le varianti TCP | ||
LABORATORIO | |||
Argomenti | Riferimenti testi | ||
1 | Il simulatore NS3 | ||
2 | Valutazione delle prestazioni di un protocollo di rete |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
- PEER TO PEER AND WIRELESS NETWORKS
La verifica delle competenze acquisite viene effettuata tramite colloquio orale. La valutazione complessiva tiene conto della successiva prova di laboratorio.
Durante l'anno sono previste ameno due prove in itinere. Il superamento delle prove esonera dal colloquio finale.
In caso di necessità, a seguito di apposite indicazioni da parte degli organi di Ateneo, la verifica potrà essere effettuata in modalità telematica, con le necessarie variazioni rispetto a quanto dichiarato in precedenza.
- LABORATORIO
La verifica delle competenze acquisite viene effettuata con la realizzazione di un progetto implementativo realizzato con NS3, assegnato dal docente.
Lo scopo del progetto è di valutare le performance di un protocollo di rete.
E' possibile realizzare il progetto in gruppo (massimo 3 studenti)In caso di necessità, a seguito di apposite indicazioni da parte degli organi di Ateneo, la verifica potrà essere effettuata in modalità telematica, con le necessarie variazioni rispetto a quanto dichiarato in precedenza.
Esempi di domande e/o esercizi frequenti
- PEER TO PEER AND WIRELESS NETWORKS
Limiti di scalabilità in Gnutella.
L'anonimato in Freenet
Le DHT
Accesso al canale in 802.11
Il PCF
Tempi caratteristici in 802.11
Controllo della congestine nelle varianti TCP - LABORATORIO
Valutazione delle prestazioni di una rete P2P con Gnutella.
Valutazione delle prestazioni di una rete Manet con DSR.