Reti di Calcolatori I (6 CFU)

Università degli Studi di Napoli Federico II

Corso di Laurea in Ingegneria delle Telecomunicazioni

Prof. Roberto Canonico

A.A. 2017-18

AVVISO: E' opportuno che gli studenti che seguono il corso di Reti di Calcolatori I 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.

Programma dettagliato delle lezioni svolte

Le slide delle lezioni verranno pubblicate in formato PDF dopo ciascuna lezione.

Lezione Data Slide / Riferimenti Argomenti
1 07/03/2018 Introduzione al Corso. Introduzione alle reti di calcolatori. Commutazione di circuito e di pacchetto. Reti a datagrammi e reti a circuiti virtuali.
Modelli a strati delle reti. Concetto di protocollo. Imbustamento dei messaggi. Il modello di riferimento ISO/OSI.
2 08/03/2018 Commutazione di pacchetto e qualità del servizio.
Funzionalità del livello rete e del livello trasporto.
Presentazione generale dello stack di protocolli TCP/IP.
Formato di un datagram IPv4. Indirizzi IPv4.
Modello di servizio dei protocolli UDP e TCP.
Protocolli applicativi e loro relazione con i protocolli di trasporto.
3 14/03/2018 Il protocollo HTTP. Formato dei messaggi. Metodi GET, POST, HEAD, PUT.
Web caching e protocollo HTTP. Proxy cache. Gestione della coerenza con HTTP.
Connessioni persistenti. Cookies.
4 15/03/2018 Il servizio DNS. Il protocollo DNS.
Esempi di uso pratico di nslookup per l'interrogazione di server DNS.
Content Delivery Networks.
5 21/03/2018 Il protocollo FTP.
I protocolli SMTP e POP3.
6 22/03/2018 Applicazioni peer-to-peer. Caratteristiche generali.
Meccanismi di discovery di tipo query flooding.
Cenni su Napster, Gnutella e BitTorrent.
Breve introduzione al linguaggio Python.
Programmi client/server in Python.
7 28/03/2018 Il livello rete in Internet. Il protocollo IPv4. Servizio best-effort.
Formato del pacchetto IPv4.
Indirizzi IPv4. Assegnazione degli indirizzi IP.
Gestione degli indirizzi IPv4 per classi.
CIDR e subnetting in IPv4. La netmask. Subnetting FLSM e VLSM.
Esempi di piani di indirizzamento con subnetting.
Funzionamento di un router IP. Relazione tra forwarding e routing.
8 05/04/2018 Trasmissione di datagram IP su segmenti di rete Ethernet.
Il protocollo ARP. Proxy ARP. Il protocollo RARP.
Il protocollo DHCP.
Il protocollo ICMP. I tool ping e traceroute.
Il tool Wireshark per la cattura di pacchetti.
9 11/04/2018 Frammentazione e riassemblaggio di pacchetti IP. Path MTU discovery.
Network Address Translation (NAT).
Funzionamento di un router NAT. Port forwarding. UPnP.
Tecniche di NAT traversal (cenni).
Il protocollo IPv6. Formato dell'header IPv6. Indirizzamento in IPv6.
Modalità di transizione da IPv4 a IPv6 (cenni).
10 12/04/2018 Routing in reti a datagrammi. Routing statico e dinamico. Routing centralizzato e distribuito.
Esempio: configurazione delle rotte statiche in una rete di piccole dimensioni.
Routing Link State. Broadcast dei Link State Packets. Algoritmo di Dijkstra.
Esempio di esecuzione dell'algoritmo di Dijkstra.
Protocolli di routing: OSPF.
11 18/04/2018 Problemi di oscillazione del routing link-state.
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.
Il routing in Internet. Autonomous Systems. Routing interno e routing esterno.
Relazioni tra AS. AS stub e multihomed. Routing inter-dominio. IXP (cenni).
12 19/04/2018 Tecniche di trasmissione broadcast: flooding e flooding controllato.
RPF. Spanning tree.
Introduzione ai protocolli di trasporto: servizio connectionless vs. connection-oriented. Multiplexing e demultiplexing.
Cenni al problema della rivelazione e correzione di errori nella comunicazione.
Protocollo UDP. Calcolo della cheksum in UDP.
Trasmissione affidabile a livello trasporto: protocollo stop-and-wait. Analisi di efficienza di S-and-W.
Pipelining: protocolli go-back-N e selective-repeat.
13 26/04/2018 Esercizio su indirizzamento e subnetting in reti IP.
Il protocollo TCP. I campi dell'header TCP. Numero di sequenza ed ack.
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.
I timer del TCP.
Il protocollo TCP: un modello del sender. Gestione degli ack.
14 02/05/2018 Programmazione di applicazioni TCP/IP con le socket di Berkeley in C.
Compilazione ed esecuzione degli esempi in una VM Linux.
15 03/05/2018 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. Tecnica AIMD. Slow-start.
Differenza di comportamento tra TCP Tahoe e TCP Reno.
Semplici modelli del throughput di una connessione TCP.
Fairness di TCP.
16 09/05/2018 Esercitazione su routing OSPF in una rete emulata realizzata mediante container LXC e software Quagga.
17 10/05/2018 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, ALOHA puro, CSMA e CSMA/CD.
Analisi dell'efficienza massima di slotted ALOHA ed ALOHA puro.
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.
18 16/05/2018 Tecniche di rilevazione e correzione degli errori: controllo di parità, checksum, CRC (vedi slide lezione precedente).
Interconnessione di LAN: hub vs. bridge.
Bridge ed autoapprendimento.
Hub e switch Ethernet: differenze.
Evoluzione della tecnologia Ethernet. Ethernet full-duplex.
Cenni al cablaggio strutturato.
19 17/05/2018 Virtual LAN (VLAN). Trunking. VLAN tagging in IEEE 802.1q.
Reti di Datacenter: specificità e tendenze evolutive (cenni).
Reti locali wireless. Wi-Fi 802.11: canali ed associazioni.
Il problema del terminale nascosto. CSMA/CA. Frame RTS e CTS. Pacchetti 802.11.
20 23/05/2018 Sicurezza nelle comunicazioni in rete (Cenni introduttivi). Tecniche di 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.
Integrità dei messaggi. Funzioni hash crittografiche. Firma digitale. Certificazione della chiave pubblica e Certification Authority. Protocolli di autenticazione. Posta elettronica sicura.
21 24/05/2018 IP multicast. IGMP.
Trasmissione di datagram multicast in frame Ethernet.
MBone. Tunneling.
Trasmissione di flussi multimediali in reti a commutazione di pacchetto.
Protocolli per applicazioni multimediali: RTP ed RTCP.
Esercizi su indirizzamento e subnetting in reti IP.
22 31/05/2018   PROVA INTRACORSO.

Libro di testo

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

Libri di approfondimento

  • Reti di calcolatori terza edizione
    Larry Peterson, Bruce Davie
    Apogeo, 2013
    ISBN: 978-8838786396

Standard

Documenti di approfondimento teorico

Approfondimenti pratici, tutorial e simulazioni

Video didattici


Edizioni precedenti del corso (da 9 CFU per Ingegneria Informatica)


roberto.canonico at unina.it

Ultimo aggiornamento: 24 maggio 2018