RETI DI CALCOLATORI

Anno accademico
2025/2026 Programmi anni precedenti
Titolo corso in inglese
COMPUTER NETWORKS
Codice insegnamento
CT0629 (AF:608544 AR:256519)
Lingua di insegnamento
Italiano
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
I Semestre
Anno corso
3
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
Le reti di calcolatori sono parte integrante dei sistemi ICT, e sono massivamente pervasive. È fondamentale che gli studenti abbiano una conoscenza approfondita del loro funzionamento e di come queste influenzano le prestazioni dei software che vengono utilizzati ai livelli applicativi.
La conoscenza del funzionamento delle reti è essenziale sia per chi vuole intraprendere una carriera da sistemista, ma anche per gli sviluppatori che dovranno sapere come la rete introduce ritardi, congestioni, ed espone le informazioni private a terze parti.
Il corso è diviso in due parti: una prima metà dedicata agli algoritmi, ai fondamenti della comunicazione e alla sicurezza, una seconda dedicata ai protocolli di rete.

Lo studente acquisirà le seguenti conoscenze:

Lo studente acquisirà le seguenti capacità:
- interpretare i flussi di traffico in una rete, dimensionandone le componenti.
- progettare una architettura di rete di base con assegnazione degli indirizzi e tabelle di routing.
- utilizzare strumenti e primitive note per creare servizi semplici.

Lo studente otterrà le seguenti capacità di giudizio e comunicazione:
- interpretare una proposta di architettura di rete, valutandone la solidità, la presenza di servizi essenziali, la sicurezza dei componenti del sistema.
- Comunicare specifiche necessità di supporto per componenti e servizi quando si relaziona con esperti del settore e fornitori di servizi.
È richiesta familiarità con la programmazione in linguaggio C ottenibile dall'esame di programmazione.
Parte 1: Algoritmi e principi fondamentali.
- Commutazione di Pacchetto (Packet Switching) e pile protocollari
- Livello Fisico: elementi di fisica della comunicazione, teoremi di Nyquist e Shannon
- Livello di collegamento: parità, checksum, go-back-n, selective repeat. Topologie di rete, accesso multiplo a divisione di tempo (time-division) e casuale (random access)
- Livello di Rete: datagrammi, indirizzi, routing basato su distance vector e link-state
- Livelli di Trasporto e Applicazione: servizi, connectionless/connection-oriented (senza/con connessione), nomi a dominio (naming principles)
- Servizi di sicurezza e crittografia: Funzioni Hash, Crittografia a chiave simmetrica, HMAC, Crittografia a chiave pubblica, Certificati

Parte 2: Protocolli che implementano i principi descritti (top-down).
- Il Livello Applicazione: DNS, SMTP, POP, Estensioni di sicurezza per e-mail (e-mail Security Extensions), HTML, HTTP
- Il Livello Trasporto: UDP, TCP
- Il Livello Rete: IPv4, tabelle di routing (routing tables), ICMP, OSPF, elementi essenziali di BGP
- Il Livello di Collegamento : Ethernet, ARP, DHCP, 802.11, Spanning Tree
- Extra: programmazione di socket (socket programming) e protocolli sicuri: TLS
Testo di riferimento e di consultazione:
O. Bonaventure, "Computer Networking : Principles, Protocols and Practice" third edition. Liberamente scaricabile on-line.
A.Tanenbaum, D. Wetherall, ‘Reti di Calcolatori’, 6a ed., Pearson.
L'esame è composto da due prove scritte, che si svolgono in sequenza nello stesso giorno usando la piattaforma Moodle (in laboratorio), ed un orale opzionale.

Una prima prova scritta con domande a scelta multipla (50% del voto), una seconda prova scritta con domande aperte (50% del voto).
L'esame può essere superato (anche con il punteggio massimo) con lo scritto, gli studenti che abbiano ottenuto un voto superiore a 24 possono scegliere di fare un esame orale per incrementare il punteggio ottenuto.

La prova consiste in esercizi che accertino le conoscenze acquisite:
- principi alla base delle comunicazioni di rete
- componenti essenziali di protocolli di rete esistenti
- le caratteristiche di sicurezza dei protocolli

Gli esercizi dovranno anche verificare le abilità:
- analizzare la performance di un sistema di rete
- verificare la correttezza di un sistema di rete
- verificare le caratteristiche di sicurezza di un sistema di rete

In fine, attraverso la verifica della padronanza del linguaggio, del corretto uso della terminologia e della familiarità nell'utilizzo di alcuni comandi di base si verificheranno la capacità di giudizio e le abilità comunicative, per accertare che lo studente abbia maturato non solo la conoscenza pratica e teorica ma anche la capacità di formulare i problemi e soluzioni con il corretto linguaggio tecnico
scritto e orale
La valutazione dell'esame è formulata secondo quanto segue:
18: Lo studente ha familiarità con concetti essenziali delle comunicazioni, con le caratteristiche di base dei singoli protocolli, e con la stima delle loro performance
19-25: Lo studente dimostra capacità di mettere i principi ed i protocolli nel contesto di un'architettura di rete, spiegando le interazioni tra i componenti e riassumendo le problematiche che ciascun componente risolve
25-30: Lo studente dimostra la capacità di risolvere problemi più avanzati di design di rete, che richiedono un maggiore dettaglio e maggiori interazioni tra i componenti.
Corso frontale che si avvale anche di moduli didattici disponibili sulla piattaforma di e-learning di ateneo moodle.unive.it ed altre piattaforme per la realizzazione di esercizi on-line.
Le lezioni si svilupperanno con una componente teorica ed esempi di esercizi. Se possibile verranno proposte attività extra come esercizi di gruppo in aula, o presentazioni di temi a scelta degli studenti.
Programma definitivo.
Data ultima modifica programma: 09/06/2025