70226 - PROGRAMMAZIONE DI RETI

Anno Accademico 2022/2023

  • Docente: Franco Callegati
  • Crediti formativi: 6
  • SSD: INF/01
  • Lingua di insegnamento: Italiano
  • Moduli: Roberto Girau (Modulo 1) Franco Callegati (Modulo 2) Andrea Piroddi (Modulo 3)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2) Convenzionale - Lezioni in presenza (Modulo 3)
  • Campus: Cesena
  • Corso: Laurea in Ingegneria e scienze informatiche (cod. 8615)

    Valido anche per Laurea in Ingegneria biomedica (cod. 9082)

Conoscenze e abilità da conseguire

Al termine del corso, lo studente acquisisce le nozioni essenziali sulle architetture di rete e sulle problematiche di progettazione e implementazione di protocolli di comunicazione.

Contenuti

L'obiettivo dell'insegnamento e' quello di presentare i problemi riguardanti la progettazione e l'implementazione delle moderne applicazioni di rete. Le varie tematiche vengono presentate in due fasi, la prima dedicata allo studio del problema in termini generali, la seconda orientata a mostrare come tali soluzioni trovino implementazione nelle soluzioni tecnologiche correnti.

Il programma segue il cosiddetto approccio "top-down", che presenta prima le funzionalità applicative scendendo poi progressivamente verso i livelli più bassi della pila protocollare.

  • Internet e reti di calcolatori: Internet, protocolli, programmi client e server, livelli di protocollo e modelli di servizio, architettura a livelli.
  • Analisi di protocollo: Sniffing, acquisizione ed utilizzo di tracce per l'analisi ed il debug. Utilizzo dell'analizzatore Wireshark.
  • Livello di applicazione: protocolli a livello applicazione (Web e HTTP, FTP, SMTP, POP3, IMAP, DNS), architetture P2P (BitTorrent), utilizzo delle socket (o costrutti affini) in vari linguaggi di programmazione. 
  • Livello di trasporto: servizi, multiplexing e demultiplexing, trasporto senza connessione, protocollo UDP, principi del trasferimento dati affidabile, trasporto orientato alla connessione, protocollo TCP, cause e costi della congestione, approcci al controllo di congestione, controllo di congestione TCP.
  • Cenni alla sicurezza delle applicazioni: autenticazione, autorizzazione, certificati digitali.

Testi/Bibliografia

James F. Kurose, Keith W. Ross. Reti di Calcolatori e Internet, un approccio top-down. Pearson; 8° edizione (21 gennaio 2022), ISBN 8891916005.

Metodi didattici

Questo primo modulo dell'insegnamento si compone esclusivamente di lezioni frontali (40 ore), le lezioni di laboratorio sono demandate al secondo modulo (16 ore).


Modalità di verifica e valutazione dell'apprendimento

L'esame di fine corso mira a valutare il raggiungimento degli obiettivi didattici:

  • conoscere i principali aspetti riguardanti la programmazione di reti;
  • verificare la capacità critica dello studente nell'analisi di problemi e nell'implementazione di soluzioni;
  • valutare la capacità dello studente nel proporre soluzioni concrete alle principali problematiche.

Il voto finale del corso si basa su un progetto effettuato nel modulo di Laboratorio e una prova scritta, che consiste in un insieme di domande a risposta sia chiusa che aperta.

Strumenti a supporto della didattica

Il materiale didattico presentato a lezione viene messo a disposizione degli studenti in formato elettronico tramite Internet.

Orario di ricevimento

Consulta il sito web di Franco Callegati

Consulta il sito web di Roberto Girau

Consulta il sito web di Andrea Piroddi

SDGs

Lavoro dignitoso e crescita economica Imprese innovazione e infrastrutture

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.