Reti di Calcolatori

Università degli Studi di Napoli Federico II

Corso di Laurea in Ingegneria Informatica - Canale San Giovanni a Teduccio

Prof. Roberto Canonico

A.A. 2024-25

AVVISO: E' opportuno che gli studenti che seguono il corso di Reti di Calcolatori del prof. Canonico si iscrivano al corso sul sito http://www.docenti.unina.it/roberto.canonico mediante la apposita procedura, selezionando l opzione "Iscrizione alla mailing list" per ricevere eventuali comunicazioni dal docente.
E' anche opportuna l'iscrizione sulla piattaforma Microsoft Teams al Team:
2024/2025: Reti di Calcolatori - Prof. CANONICO
usando il codice pubblicato mediante avviso in bacheca sul sito docenti.
Si invitano gli studenti a consultare quotidianamente gli avvisi pubblicati nella bacheca del sito docenti.

Programma dettagliato delle lezioni

La sequenza degli argomenti e le slide del corso potranno subire variazioni durante il corso.

Lezione Data Slide / Riferimenti Argomenti
1 17/09/2024 Introduzione al Corso. Introduzione alle reti di calcolatori.
Commutazione di circuito e di pacchetto.
Reti LAN e WAN. Internetworking.
Reti a datagrammi e reti a circuiti virtuali.
Cenni alla struttura di Internet. Struttura della rete di un ISP. Reti di accesso.
2 18/09/2024 Introduzione ai modelli a strati delle reti di calcolatori.
Concetto di protocollo. Imbustamento dei messaggi.
Esempio dei due filosofi.
3 24/09/2024 Il modello di riferimento ISO-OSI. Presentazione dei sette livelli del modello OSI.
Introduzione allo stack TCP/IP. IETF ed RFC.
Ruolo degli standard nelle reti. Standard chiusi e standard aperti.
4 25/09/2024 Commutazione di pacchetto e qualità del servizio.
Introduzione allo stack TCP/IP. IETF ed RFC.
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.
Ruolo dei port number nei protocolli di trasporto.
5 26/09/2024 Differenza tra protocolli TCP ed UDP.
Protocolli applicativi e loro relazione con i protocolli di trasporto.
Introduzione ai protocolli applicativi.
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.
6 30/09/2024 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.
7 01/10/2024 Il servizio DNS. Il protocollo DNS.
Tipologie di Resource Record gestite dal DNS.
8 02/10/2024 Approfondimenti sul sistema DNS: tipologie di query DNS.
Esempi di uso pratico di nslookup per l'interrogazione di server DNS. Il protocollo FTP.
9 08/10/2024 Posta elettronica. I protocolli SMTP e POP3. Formato di messaggi di posta elettronica con allegati.
Content Delivery Networks.
Applicazioni peer-to-peer. Caratteristiche generali.
Meccanismi di discovery di tipo query flooding.
10 09/10/2024 Applicazioni peer-to-peer: cenni su Napster, Gnutella e BitTorrent.
Introduzione al livello rete in Internet.
11 15/10/2024 Il protocollo IPv4. Servizio best-effort. Formato del pacchetto IPv4.
Frammentazione e riassemblaggio dei pacchetti in IPv4.
12 16/10/2024 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.
13 17/10/2024 Funzionamento di un router IP: control plane e data plane.
Forwarding e tabella di routing. Longest prefix match.
Trasmissione di datagram IP su rete Ethernet.
Il protocollo ARP. Gratuitous ARP. ARP Probe ed ARP announcement. Proxy ARP. RARP.
14 22/10/2024 Il protocollo ICMP. Il tool ping.
Il tool traceroute. Analisi dell'output di traceroute.
Il tool Wireshark per la cattura di pacchetti.
15 23/10/2024 Network Address Translation (NAT).
Funzionamento di un router NAT. Port forwarding. UPnP.
Tecniche di NAT traversal (cenni).
Il protocollo DHCP.
16 24/10/2024 Configurazione delle rotte statiche in una rete di piccole dimensioni.
Routing in reti a datagrammi. Routing statico e dinamico.
Intoduzione all'emulatore di rete GNS3: primi esempi d'uso.
17 29/10/2024 Esercitazione con GNS3.
Presentazione dell'ambiente.
Laboratori GNS3: da Lab-1 a Lab-5.
18 31/10/2024 Routing in reti a datagrammi. Routing statico e dinamico.
Routing Distance Vector. Formula di Bellmann-Ford.
Problemi di convergenza del routing Distance Vector.
Problema del conteggio all'infinito. Split horizon e reverse poisoning.
19 05/11/2024 Programmazione di applicazioni TCP/IP con le socket in linguaggio Python.
20 06/11/2024 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.
21 07/11/2024 Protocolli di routing: RIP ed OSPF. Il routing in Internet. Autonomous Systems. Routing interno e routing esterno.
Relazioni tra AS. AS stub e multihomed. Routing inter-dominio. IXP.
22 12/11/2024 Routing inter-dominio. IXP.
Tecniche di trasmissione broadcast: flooding e flooding controllato.
RPF. Spanning tree.
23 13/11/2024 IP multicast. IGMP. Trasmissione di datagram multicast in frame Ethernet.
24 14/11/2024 Cenni al multicast routing.
Il protocollo IPv6. Formato dell'header IPv6. Indirizzamento in IPv6.
25 19/11/2024 Il protocollo IPv6. Tipologie di indirizzi IPv6: link local, site local, unique local, unique global.
Meccanismi di assegnazione degli indirizzi IPv6.
Protocollo IMPv6: messaggi neighbor solicitation e neighbor advertisement, router solicitation e router advertisement.
Risoluzione indirizzi fisici in IPv6 mediante ICMPv6.
Modalità di transizione da IPv4 a IPv6 (cenni).
26 20/11/2024 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.
27 21/11/2024 Protocolli per applicazioni multimediali: RTP ed RTCP.
Dynamic Adaptive Streaming over HTTP (DASH).
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.
28 26/11/2024 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.
Il protocollo TCP: un modello del sender. Gestione degli ack.
29 28/11/2024 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.
Ulteriori dettagli sul protocollo TCP: opzioni, MSS, Windows scale.
Controllo di flusso in TCP. Problema della silly window sindrome. Algoritmo di Nagle. Soluzione di Clark.
30 03/12/2024 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.
31 04/12/2024 La tecnologia Ethernet. Struttura dei pacchetti.
Indirizzi di livello datalink: indirizzi MAC.
Cenni alla evoluzione del cablaggio delle reti Ethernet: 10base5, 10base2, 10baseT.
Cablaggio UTP: schemi TIA/EIA T-568A e T-568B.
32 10/12/2024 Il livello di collegamento: introduzione e servizi.
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.
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.
Algoritmo di backoff esponenziale nel CSMA/CD di Ethernet.
Cenni alle tecniche di accesso multiplo basate su rotazione.
33 11/12/2024 Interconnessione di LAN: hub vs. bridge.
Bridge ed autoapprendimento.
Switch Ethernet. Differenze tra hub e switch Ethernet.
Evoluzione della tecnologia Ethernet. Ethernet full-duplex.
34 12/12/2024 Virtual LAN (VLAN). VLAN tagging in IEEE 802.1q. Trunking. Collegamento di VLAN.
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.
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.
35 17/12/2024 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.
36 17/12/2024 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.
Tecniche di rilevazione e correzione degli errori: controllo di parità, checksum, CRC.

Libro di testo

  • Reti di calcolatori e Internet. Un approccio top-down. (7a ed.)
    J. Kurose, K. Ross
    Pearson, 2017
    ISBN: 978-8891902542

Ulteriori testi consultabili per approfondimenti

  • Reti di calcolatori terza edizione
    Larry Peterson, Bruce Davie
    Apogeo Education - Maggioli Editore, 2012
    ISBN: 978-8838786396

Standard

Documenti di approfondimento teorico

Approfondimenti pratici, tutorial e simulazioni

Video didattici


Edizioni precedenti del corso


The world is a jungle in general, and the networking game contributes many animals.
-- David C. Plummer, RFC 826

roberto.canonico at unina.it

Ultimo aggiornamento: 18 dicembre 2024