70226 - PROGRAMMAZIONE DI RETI

Scheda insegnamento

Anno Accademico 2017/2018

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.

Programma/Contenuti

Il programma dell'insegnamento ha come obiettivo fondamentale quello di presentare i problemi riguardanti la progettazione ed implementazione di applicazioni per le moderne reti di telecomunicazioni in modo generale, al fine di fornire strumenti di analisi e progettazione non strettamente correlati alle attuali tecnologie (che sono potenzialmente soggette a cambiamenti nel tempo). Le varie tematiche vengono quindi pressoché sempre 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, reti di accesso, mezzi trasmissivi, commutazione di circuito e di pacchetto, ISP e dorsali Internet, ritardi, perdite e throughput, ritardo di accodamento e perdita di pacchetti, ritardo end-to-end, throughput nelle reti di calcolatori, livelli di protocollo e modelli di servizio, architettura a livelli, primi cenni di sicurezza.
  • Livello di applicazione: architetture, servizi di trasporto offerti da Internet, 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. Sniffing, acquisizione ed utilizzo di tracce per l'analisi ed il debug.
  • Livello di trasporto: servizi, multiplexing e demultiplexing, trasporto senza connessione, protocollo UDP, principi del trasferimento dati affidabile, costruzione di un protocollo di trasferimento dati affidabile, protocolli per il trasferimento dati affidabile con pipeline, Go-Back-N, ripetizione selettiva, trasporto orientato alla connessione, protocollo TCP, cause e costi della congestione, approcci al controllo di congestione, controllo di congestione TCP.
  • Sicurezza delle reti: principi e concetti di base. Funzionamento di base di un firewall di tipo packet filtering, valutazione degli aspetti di sicurezza delle architetture di rete e dei principali protocolli. Alcuni esempi di attacchi.

Testi/Bibliografia

Il materiale didattico è costituito da:

  1. libro di testo adottato;
  2. dispense in formato elettronico messe a disposizione degli studenti;
  3. risorse segnalate durante le lezioni.

Testo adottato:
  • James F. Kurose, Keith W. Ross. Reti di Calcolatori e Internet, un approccio top-down. Pearson. Settima edizione. ISBN-13: 978-8891902542

Testi di consultazione:
  • A. S. Tanenbaum, D. J. Wetherall. "Reti di Calcolatori". Pearson. Quinta edizione.
  • B. Forouzan, F. Mosharraf. "Reti di Calcolatori. Un approccio top-down". McGraw-Hill Companies, 2013. ISBN: 978.8838668197.

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 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 una prova scritta, che consiste in un insieme di domande a risposta aperta.

Strumenti a supporto della didattica

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

Per ottenere il materiale didattico: http://www.cs.unibo.it/gdangelo/reti.html e seguire le istruzioni fornite durante la prima lezione.

NOTA: username e password sono riservati agli studenti iscritti al Corso di Laurea.

Link ad altre eventuali informazioni

http://www.cs.unibo.it/gdangelo/reti.html

Orario di ricevimento

Consulta il sito web di Giovanni Pau

Consulta il sito web di Chiara Contoli