PEER TO PEER AND WIRELESS NETWORKS E LABORATORIO
Modulo PEER TO PEER AND WIRELESS NETWORKS

Anno accademico 2023/2024 - Docente: Salvatore Antonio RICCOBENE

Risultati di apprendimento attesi

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.

Modalità di svolgimento dell'insegnamento

Le lezioni sono tenute in aula con l'ausilio di slide, messe a disposizione degli studenti su MS Teams. Le slide  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.

Prerequisiti richiesti

Per la comprensione del corso è necessario avere competenze di base relative a Sistemi Operativi, Sistemi Distribuiti e Reti di Calcolatori
 

Frequenza lezioni

La frequenza alle lezioni non è obbligatoria ma fortemente consigliata,

Contenuti del corso

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, Kademlia

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
  • BIC


 

Testi di riferimento

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.
 

Programmazione del corso

 ArgomentiRiferimenti testi
1Le reti P2P
2Le reti wireless
3Le varianti TCP

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

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.

Il voto, congiunto con il modulo di laboratorio, è attribuito secondo il seguente schema:

  • Non approvato: lo studente non ha acquisito i concetti di base e non è in grado di rispondere ad almeno il 60% delle domande né di svolgere gli esercizi teorici e pratici.
  • 18-20: lo studente dimostra una padronanza appena sufficiente dei concetti base, e/o riesce ad impostare gli esercizi teorico/pratici con molta difficoltà e con vari errori.
  • 21-24: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di collegamento dei contenuti sono modeste, riesce a risolvere semplici esercizi.
  • 25-27: lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di collegamento dei contenuti sono buone, risolve gli esercizi con pochi errori.
  • 28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di padroneggiarli compiutamente e di collegarli con spirito critico; risolve gli esercizi in modo completo e senza errori di particolare rilievo.

Esempi di domande e/o esercizi frequenti

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