Lezione | Data | Slide / Riferimenti | Argomenti |
1 | 12/09/2023 |
Introduzione al Corso. Introduzione alle reti di calcolatori. Commutazione di circuito e di pacchetto. Reti a datagrammi e reti a circuiti virtuali. |
|
2 | 14/09/2023 |
Introduzione ai modelli a strati delle reti di calcolatori. Concetto di protocollo. Imbustamento dei messaggi. Esempio dei due filosofi. Il modello di riferimento ISO-OSI. Presentazione dei sette livelli del modello OSI. |
|
3 | 15/09/2023 |
Commutazione di pacchetto e qualità del servizio. Introduzione allo stack TCP/IP. IETF ed RFC. Ruolo degli standard nelle reti. Standard chiusi e standard aperti. Presentazione generale dello stack di protocolli TCP/IP: funzionalità del livello rete. Formato di un datagram IPv4. Indirizzi IPv4. Funzioni di un router IP. Presentazione generale dello stack di protocolli TCP/IP: funzionalità del livello trasporto. Differenza tra protocolli TCP ed UDP. Ruolo dei port number nei protocolli di trasporto. |
|
4 | 21/09/2023 |
Introduzione ai protocolli applicativi. Protocolli applicativi e loro relazione con i protocolli di trasporto. Il protocollo HTTP. Formato dei messaggi. Il protocollo HTTP: metodi GET, HEAD, POST, PUT. Trasmissione di dati da form HTML mediante il protocollo HTTP: differenza tra uso di GET e POST. HTTP e connessioni persistenti. |
|
5 | 22/09/2023 |
Analisi di un RFC: RFC 2616. Cenni alla notazione ABNF (Augmented Backus Naur Form). Analisi di una traccia di traffico HTTP con Wireshark. Cooky e loro utilizzo nelle applicazioni web. Web caching e protocollo HTTP. Proxy cache. Gestione della coerenza con HTTP. Browser web e web engine. Introduzione al sistema DNS. |
|
6 | 22/09/2023 | Introduzione al linguaggio Python. | |
7 | 26/09/2023 |
Il servizio DNS. Il protocollo DNS. Tipologie di Resource Record gestite dal DNS. Esempi di uso pratico di nslookup per l'interrogazione di server DNS. |
|
8 | 28/09/2023 |
Il protocollo FTP. Posta elettronica. I protocolli SMTP e POP3. Formato di messaggi di posta elettronica con allegati. Content Delivery Networks. |
|
9 | 29/09/2023 |
Applicazioni peer-to-peer. Caratteristiche generali. Meccanismi di discovery di tipo query flooding. Cenni su Napster, Gnutella e BitTorrent. Programmazione di applicazioni TCP/IP con le socket: concetti generali. Programmazione di applicazioni client/server in Python. |
|
10 | 05/10/2023 |
Il livello rete in Internet. Il protocollo IPv4. Servizio best-effort. Formato del pacchetto IPv4. Frammentazione e riassemblaggio dei pacchetti in IPv4. |
|
11 | 06/10/2023 |
Indirizzi IPv4. Assegnazione degli indirizzi IP.
Gestione degli indirizzi IPv4 per classi. CIDR e subnetting in IPv4. La netmask. Subnetting FLSM. Esempi di piani di indirizzamento con subnetting. Funzionamento di un router IP: control plane e data plane. Forwarding e tabella di routing. Longest prefix match. |
|
12 | 10/10/2023 |
Trasmissione di datagram IP su rete Ethernet. Il protocollo ARP. Gratuitous ARP. ARP Probe ed ARP announcement. Proxy ARP. RARP. Il protocollo DHCP. Il protocollo ICMP. Il tool ping. |
|
13 | 12/10/2023 |
Il tool traceroute. Analisi dell'output di traceroute. Il tool Wireshark per la cattura di pacchetti. Configurazione delle rotte statiche in una rete di piccole dimensioni. |
|
14 | 13/10/2023 |
Network Address Translation (NAT). Funzionamento di un router NAT. Port forwarding. UPnP. Tecniche di NAT traversal (cenni). Routing in reti a datagrammi. Routing statico e dinamico. Routing Link State. Broadcast dei Link State Packets. Algoritmo di Dijkstra. Esempio di esecuzione dell'algoritmo di Dijkstra. Problemi di oscillazione del routing link-state. |
|
15 | 17/10/2023 |
Routing Distance Vector. Formula di Bellmann-Ford. Problemi di convergenza del routing Distance Vector. Problema del conteggio all'infinito. Split horizon e reverse poisoning. Protocolli di routing: RIP ed OSPF. |
|
16 | 19/10/2023 |
Esercitazione con GNS3. Presentazione dell'ambiente. Emulazione di una rete con routing statico. |
|
17 | 20/10/2023 |
Il protocollo IPv6. Formato dell'header IPv6. Indirizzamento in IPv6. Modalità di transizione da IPv4 a IPv6 (cenni). Il routing in Internet. Autonomous Systems. Routing interno e routing esterno. Relazioni tra AS. AS stub e multihomed. Routing inter-dominio. IXP. |
|
18 | 24/10/2023 |
Tecniche di trasmissione broadcast: flooding e flooding controllato. RPF. Spanning tree. IP multicast. IGMP. Trasmissione di datagram multicast in frame Ethernet. |
|
19 | 26/10/2023 |
Introduzione ai protocolli di trasporto: servizio connectionless vs. connection-oriented. Multiplexing e demultiplexing. Protocollo UDP. Formato dell'header UDP. Internet Cheksum. Trasmissione di flussi multimediali in reti a commutazione di pacchetto. Streaming e playout buffer. Protocolli per applicazioni multimediali: RTP ed RTCP. Dynamic Adaptive Streaming over HTTP (DASH). |
|
20 | 27/10/2023 |
Cenni al problema della rivelazione e correzione di errori nella comunicazione. Trasmissione affidabile a livello trasporto: protocollo stop-and-wait. Analisi di efficienza di S-and-W. Pipelining: protocolli go-back-N e selective-repeat. |
|
21 | 27/10/2023 |
Esercizio sul subnetting IP. Esercitazione: emulazione di routing OSPF in GNS3. |
|
22 | 31/10/2023 |
Il protocollo TCP. I campi dell'header TCP. Numero di sequenza ed ack. Il retransmission timer di TCP e l' algoritmo di scelta del timeout. Apertura e chiusura di una connessione TCP. Diagrammi di stato TCP. Apertura di una connessione TCP: three-way handshake. Chiusura di una connessione TCP: four-way handshake. Procedura di chiusura delle connessioni TCP e stato TIME_WAIT. Il protocollo TCP: un modello del sender. Gestione degli ack. Ulteriori dettagli sul protocollo TCP: opzioni, MSS, Windows scale. |
|
23 | 02/11/2023 |
|
Controllo di flusso in TCP. Problema della silly window sindrome. Algoritmo di Nagle. Soluzione di Clark. Problema del controllo di congestione: tecniche end-to-end e tecniche a livello rete. Controllo di congestione in TCP. Slow-start ed AIMD. Congestion avoidance. Differenza di comportamento tra TCP Tahoe e TCP Reno. Semplici modelli del throughput di una connessione TCP. Fairness di TCP. |
24 | 03/11/2023 |
Il livello di collegamento: introduzione e servizi. Tecniche di rilevazione e correzione degli errori: controllo di parità, checksum, CRC. Tecniche di accesso multiplo ad un canale condiviso: partizionamento del canale, tecniche ad accesso casuale, tecniche a rotazione. Tecniche di partizionamento del canale: TDMA ed FDMA. |
|
25 | 14/11/2023 |
Tecniche ad accesso casuale: slotted ALOHA e ALOHA puro. Analisi dell'efficienza massima di slotted ALOHA ed ALOHA puro. Tecniche ad accesso casuale: CSMA e CSMA/CD. Cenni alle tecniche di accesso multiplo basate su rotazione. La tecnologia Ethernet. Struttura dei pacchetti. Indirizzi di livello datalink: indirizzi MAC. Algoritmo di backoff esponenziale nel CSMA/CD di Ethernet. Cenni alla evoluzione del cablaggio delle reti Ethernet: 10base5, 10base2, 10baseT. |
|
26 | 16/11/2023 |
Cablaggio UTP: schemi TIA/EIA T-568A e T-568B. Interconnessione di LAN: hub vs. bridge. Bridge ed autoapprendimento. Switch Ethernet. Differenze tra hub e switch Ethernet. Evoluzione della tecnologia Ethernet. Ethernet full-duplex. Cablaggio strutturato. Cenni alle caratteristiche dei vari mezzi trasmissivi utilizzati in ambito LAN. |
|
27 | 17/11/2023 |
Virtual LAN (VLAN): introduzione. Seminario: Bringing AI to Production: Tackling Challenges and Riding Viral Waves. Lorenzo Migliorino (Bending Spoons). |
|
28 | 21/11/2023 |
Virtual LAN (VLAN). Trunking. VLAN tagging in IEEE 802.1q. Esercitazione su GNS3: VLAN. |
|
29 | 23/11/2023 |
Esercitazione su GNS3: OSPF. Differenza tra hub e switch vista con GNS3. Esercizi su indirizzamento e subnetting in reti IP. |
|
30 | 24/11/2023 |
Reti wireless. Differenza tra modo infrastruttura e modo ad-hoc. Bande ISM. Caratteristiche del canale wireless: fading e multipath. Il problema del terminale nascosto. Partizionamento del canale: CDMA. Cenni alla architettura delle reti cellulari 4G: RAN ed EPC. Seminario ALTEN group. |
|
31 | 30/11/2023 |
Reti locali wireless secondo lo standard 802.11. Procedure di associazione. CSMA/CA. Frame RTS e CTS. Struttura della trama 802.11. Sistema di distribuzione. Cenni alla evoluzione delle reti: Software Defined Networking (SDN). Primi cenni sulla sicurezza delle comunicazioni in rete. |
|
32 | 01/12/2023 |
Sicurezza nelle comunicazioni in rete: cenni alle tecniche di cifratura. Crittografia a chiave simmetrica. Cifrari a blocchi. Cenni a DES, 3DES ed AES. Crittografia a chiave pubblica. Algoritmo RSA: scelta delle chiavi, cifratura e decifratura. |
|
33 | 05/12/2023 |
Funzioni hash crittografiche: MD5, SHA1, SHA2, SHA3. Integrità dei messaggi. Message Authentication Code. Identificazione sicura del mittente. Firma digitale. Certificazione della chiave pubblica e Certification Authority. Protocolli di autenticazione. Posta elettronica sicura. Esempi di codice in Python per il calcolo dell'hash di un file. |
|
34 | 07/12/2023 |
|
Seminario "Ottimizzazione del trasporto del video su IP, opzioni e implementazione nello scenario italiano" (Alessandro Breccia, Cisco) |
35 | 12/12/2023 | Programmazione di applicazioni TCP/IP con le socket di Berkeley in C in ambiente Linux. |
|
|
|
|
|
|
|
|
The world is a jungle in general, and the networking game contributes many animals.
-- David C. Plummer, RFC 826
Ultimo aggiornamento: 12 dicembre 2023