Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi.
Le lezioni sono tenute in aula con l'ausilio di slide, messe a disposizione degli studenti. Le slide non sostituiscono i testi di riferimento, ma, oltre che agevolare la comprensione della lezione, forniscono un dettaglio puntuale sul programma svolto.
Le lezioni frontali teoriche sono intervallate da esercitazioni pratiche in ambiente virtuale, svolte nella stessa aula di lezione. Gli studenti sono invitati a formare piccoli gruppi di lavoro (massimo 4-5 persone) per lo svolgimento delle esercitazioni proposte.
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.
Per la piena comprensione dei contenuti del corso sono necessari i seguenti prerequisiti:
Introduzione alle Reti di Calcolatori
Architettura di una rete.
Il sistema a livelli nell'architettura di una rete.
Servizi e funzionalità dei vari livelli
L'architettura del protocollo OSI. I livelli del TCP/IP.
Confronto architetturale tra OSI e TCP/IP.
Comunicazioni affidabili e non affidabili.
Servizi con connessione e senza connessione
Primitive di servizio
Reti broadcast, multicast, punto-punto
PAN, LAN, MAN e WAN.
Commutazione di circuito e commutazione di pacchetto.
Reti a circuito virtuale.
Application Layer
Comunicazione tra processi
Lo schema Client - Server
Affidabilità delle comunicazioni e coerenza dei dati end-to end
Requisiti temporali e di affidabilità delle applicazioni
Indirizzamento dei processi.
Well Known Ports, Registered Ports e User Ports
Il protocollo HTTP
Formato dei pacchetti HTTP
HTTP 1.0, 1.1, 2.0, 3.0
Il protocollo FTP
Confronto tra HTTP e FTP
Concetti di protocollo stateless e statefull. I cookies
Il protocollo SMTP
POP e IMAP
Il protocollo DNS - I record DNS
Cenni sul protocollo SNMP
Transport Layer
Il modello Client-Server
Indirizzamento a livello di trasporto (Mux -demux)
I Server multipli
Il livello di Trasporto in IP: UDP e TCP.
Formato delle frame UDP
Protocolli di trasferimento affidabile su canali inaffidabili
Velocità di trasferimento dati di un canale
Tempo di latenza
Velocità di trasferimento end-to-end - Banda disponibile ai livelli superiori
Protocolli Stop and wait, Go back N, Ripetizione selettiva
Il protocollo TCP. Formato dei pacchetti TCP
Tempi di Round Trip. Gestione dei Timer. Fast Retransmit
Finestra di ricezione e gestione ACK in TCP
Servizi orientati alla connessione.
Apertura e chiusura delle connessioni: problemi teorici e soluzioni implementative
La congestione nelle reti di comunicazione: aspetti teorici e possibili soluzioni
Controllo del Flusso e controllo della Congestione
Il controllo della congestione in TCP: varianti Tahoe e Reno.
Fairness tra connessioni TCP concorrenti: dimostrazione grafica.
Network Layer
Introduzione al livello di Rete.
Servizi Datagram e servizi con circuito virtuale. Confronto delle caratteristiche
Data Plane e Control Plane nei router.
Algoritmi di routing: algoritmi centralizzati e distribuiti.
Flooding: metodi di controllo del flooding
Distance Vectors.
Link State Routing
Algoritmo di Dijkstra
Confronto tra DV e LS.
Routing gerarchico.
Implementazioni RIP e OSPF.
Cenni su BGP.
Il protocollo IPv4.
Formato dei pacchetti IPv4.
Indirizzi IPv4. Le maschere. Le Sottoreti.
Tabelle di routing per host e router. Indirizzamento IP su LAN ethernet
Indirizzamento intraLAN e interLAN
Frammentazione dei pacchetti IPv4
Protocolli su IP: ICMP, ARP, RARP, BOOTP, DHCP, NAT.
Il protocollo IPv6
Indirizzi IPv6: indirizzamento Anycast, Unicast e Multicast.
Indirizzi di canale
Header opzionali
Cenni sui Firewall.
Data Link Layer
Tecniche di Framing dei dati.
Codifica a due livelli, a tre livelli, a cinque livelli
Codifica 4B/5B, 8B/10B
Aspetti teorici per la rilevazione degli errori.
Uso della ridondanza nelle comunicazioni.
Il CRC. Calcolo del CRC.
Correzione degli errori: aspetti teorici
Distanza di Hamming.
I codici di Hamming.
Il sottolivello MAC
Protocolli del Data Link per il MAC
FDMA, TDMA, CDMA
Aloha puro e slotted.
CSMA
CSMA/CD
Protocolli senza collisioni
Cenni sui protocolli a turno (token)
Le LAN IEEE 802 (.1 .2).
IEEE 802.3.
Ethernet, Fast Ethernet, GigabitEthernet.
Schemi di Trellis e decodifica di Viterbi.
Schemi di interconnessione in Ethernet
Repeater, Hub, Bridge, Switch
Bridge trasparenti.
Schemi di indirizzamento flat.
Confronto tra indirizzamento piatto ed indirizzamento gerarchico: vantaggi e svantaggi
Indirizzi MAC
Le VLAN: Untagged e Tagged - IEEE 802.1Q
Laboratorio di Reti
I sistemi virtualizzati: aspetti teorici e implementazioni
Creazione di una VM linux based
Configurazione di una VM e collegamento in una LAN privata
Configurazione di una interfaccia di rete con IPv4 e IPv6.
Configurazione delle tabelle di routing.
Configurazione di una rete con LAN differenti connesse da router.
Uso dei socket in C.
Socket bloccanti e non bloccanti
Esempio di un sistema Client Server con UDP, con IPv4 e IPv6
Esempio di un sistema multiserver con TCP, con IPv4 e IPv6
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Introduzione alle reti di calcolatori | |
| 2 | Il livello applicativo | |
| 3 | Il livello di Trasporto | |
| 4 | Connessioni UDP | |
| 5 | Principi per il trasferimento dati affidabile | |
| 6 | Il protocollo TCP | |
| 7 | Controllo della congestione in TCP | |
| 8 | Il livello di rete | |
| 9 | IPv4 | |
| 10 | IPv6 | |
| 11 | Protocolli di Routing | |
| 12 | Livello Data Link | |
| 13 | Rilevazione e correzione degli errori | |
| 14 | Ethernet | |
| 15 | VLan | |
| 16 | Creazione e configurazione di un host Linux based in ambiente virtuale | |
| 17 | Configurazione delle interfacce di rete in ambiente Unix | |
| 18 | Configurazione di un router su VM |
L'esame finale consiste in una prova scritta, di un colloquio orale ed una prova in Laboratorio.
E' importante sapere che, salvo diversa comunicazione:
Per problemi organizzativi, tale schedulazione potrebbe essere modificata.
Note:
Prove in Itinere: Non previste
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.
Le prove sono finalizzate per ottenere una valutazione complessiva della preparazione dello studente Il voto è attribuito secondo il seguente schema: