PEER TO PEER AND WIRELESS NETWORKS E LABORATORIO

Anno accademico 2021/2022 - 2° anno - Curriculum Sistemi di Rete e Sicurezza
Docenti Crediti: 9
Organizzazione didattica: 225 ore d'impegno totale, 153 di studio individuale, 36 di lezione frontale, 24 di esercitazione, 12 di laboratorio
Semestre:

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.

    1. 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.
    2. 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.
    3. 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.
    4. 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.
    5. 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.

    1. 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.
    2. 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.
    3. 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.
    4. 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.
    5. 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
 ArgomentiRiferimenti testi
1Le reti P2P 
2Le reti wireless 
3Le varianti TCP 
LABORATORIO
 ArgomentiRiferimenti testi
1Il simulatore NS3 
2Valutazione 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 almeno 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.