Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA INFORMATICA
Insegnamento
RETI DI CALCOLATORI
IN04107336, A.A. 2019/20

Informazioni valide per gli studenti immatricolati nell'A.A. 2017/18

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INGEGNERIA INFORMATICA
IN0508, ordinamento 2011/12, A.A. 2019/20
N0
porta questa
pagina con te
Curriculum Percorso Comune
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese COMPUTER NETWORKS
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile NICOLA ZINGIRIAN ING-INF/05
Altri docenti ANDREA ZANELLA ING-INF/03

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Ingegneria informatica ING-INF/05 9.0

Organizzazione dell'insegnamento
Periodo di erogazione Secondo semestre
Anno di corso III Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 9.0 72 153.0

Calendario
Inizio attività didattiche 02/03/2020
Fine attività didattiche 12/06/2020
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2011

Syllabus
Prerequisiti: I prerequisiti necessari per seguire il corso sono la conoscenza di un linguaggio di programmazione, preferibilmente il linguaggio C o C++, tranne l'algebra dei puntatori che viene ripresentata nel corso e la conoscenza di concetti base di Sistemi Operativi.
Conoscenze e abilita' da acquisire: Il corso fornisce la conoscenza, fino a livello implementativo, dei seguenti protocolli


- Hyper-Text Transfer Protocol (HTTP) 0.9, 1.0, 1.1
- Common Gateway Interface
- Transport Layer Security Protocol (TSL)
- HyperText-Transfer-Protocol 2.0
- Domain Name System
- protocolli ad alto livello per la gestione di flussi multimediali
- protocolli ad alto livello per il controllo di flusso/congestione

Il corso fornisce la capacità di:
- Comprendere un documento di specifiche di un protocollo
- Implementare il protocollo attraverso programmi in linguaggio C
- Correggere ed effettuare il test delle implementazioni di protocolli
Modalita' di esame: L'esame consiste nella implementazione di parti o varianti dei protocolli studiati durante il corso, tramite la modifica dei programmi costruiti durante il corso.

Viene fornita una specifica e se ne richiede l'implementazione, l'esecuzione e una spiegazione scritta dell'implementazione
Criteri di valutazione: La valutazione si basa sui seguenti criteri:

1) Il programma richiesto funziona/non funziona
2) Lo studente è in grado di motivare le soluzioni implementate
3) Lo studente ha tenuto conto delle parti necessarie del documento di specifiche relative all'implementazione richiesta
Contenuti: Il corso affronta lo studio dei protocolli alti di rete seguendo la traccia del modello OSI, seguendo un percorso top-down (dal livello 7 applicativo, al livello 5)

Modello Client Server vs. modelli peer-to-peer e Publish/Subscribe/Notify

Protocollo HTTP/1.1: realizzazione di client, server e proxy
Protocollo HTTP/2.0: realizzazione di client, server
Protocollo CGI-BIN: realizzazione di server.
Protocollo TSL
Protocollo DNS over UDP
Dynamic Adaptive Streaming over HTTP, con relativi algoritmi di gestione dinamica della qualità del video basati su livello di riempimento del buffer, tempo di download dei frame etc)
Protocollo QUIC, che implementa un protocollo di trasporto overlay, su UDP, particolarmente adatto per la trasmissione di flussi HTTP
Attivita' di apprendimento previste e metodologie di insegnamento: Il corso affronta ciascun argomento applicando il seguente metodo:

1) Introduzione del docente che inquadra l'argomento
2) Lettura ragionata dello standard (RFC) e commenti
3) Implementazione in aula dello standard tramite linguaggio C
4) Esecuzione dei programmi e commento dei risultati
5) Esercizi di ampliamento dell'implementazione corretti in aula
6) Discussione Finale
Eventuali indicazioni sui materiali di studio: I materiali di studio sono:

- standard descritti nelle Request For Comments dell'Internet Engineering Task Force, 1945, 2068, 3234, 8446, 1034, 1035.
- la lettura dei manuali POSIX 1-2008 IEEE and The Open Group: socket(2), connect(2) bind(2), listen(2), accept(2), read(2), write(2), recvfrom(2), sendto(2).
- riferimenti a capitoli di libri di testo
Testi di riferimento:
  • Kurose, James F.; Ross, Keith W.; Gaito, Sabrina; Capone, Antonio, Reti di calcolatori e internetun approccio top-downdi James F. Kurose, Keith W. Rossedizione italiana a cura di Antonio Capone, Sabrina Gaito. Milano: Torino, Pearson, 2017. Cerca nel catalogo

Didattica innovativa: Strategie di insegnamento e apprendimento previste
  • Utenza di Sistema Cloud su indirizzo di IP pubblico