Reti di Calcolatori

GENERALITA'

Come funziona Internet.

Concepito per essere self-contained.

Non richiede particolari pre-requisiti di conoscenze informatiche (a parte la pratica nell'utilizzo di e-mail e navigazione web).

Adatto anche per corsi di studio diversi da Ingegneria Informatica.

Vedi anche "Come organizzo lo studio di Internet"

PROVETTE

Due provette durante il corso, su metà del programma. Se entrambe positive propongo un voto. Se accettato allora l'esame è superato. Altrimenti, esame sull'intero programma, in uno degli appelli ufficiali

I risultati delle provette sono "giudizi con ampio intervallo" ("ottimo" può significare qualunque cosa tra "meraviglioso" e "poco più che buono"; il vero significato lo conosco solo io).

Il voto proposto alla fine tiene conto di tutti gli esercizi di tutte le provette.

Sconsiglio fortissimamente di venire alle provette senza avere seguito e studiato assiduamente (o avendo seguito gli anni precedenti).

Vedi anche "Tentare l'esame più e più volte".

Vedi anche "Consigli di una studentessa che ha avuto difficoltà con l'esame di Reti di Calcolatori".

CHI PUO' PARTECIPARE ALLE PROVETTE

E' necessario soddisfare entrambe queste condizioni:

  1. Avere superato positivamente (=verbalizzato) l'esame di "programmazione" (requisito di propedeuticità; non si applica agli studenti di corsi di studio diversi dalla triennale in ing. elettronica ed informatica);

  2. Non avere partecipato più di una volta alle provette di anni accademici precedenti. In altre parole, ogni studente ha due opportunità per partecipare alle provette.

MATERIALE DI STUDIO

Raccolta di esercizi svolti e raccolta di esercizi da svolgere (disponibili insieme alle slide).

Dispense.

Brevissimo allenamento per il test che precede l'esame scritto.

  • Va fatto dopo avere studiato il primo pacco di slide (client, server e numeri di porta), altrimenti l'allenamento è inutile. E' un form, alla fine non occorre effettuare il submit (comunque è completamente anonimo).

Sito web non strutturato (da usare "cercando") per FAQ ed altro: https://reti-units.blogspot.it/

  • Usare la search box in alto a destra, oppure le etichette nella colonna di sinistra in basso, oppure la sequenza cronologica nella colonna di sinistra in alto.

Vedi anche "Consigli per chi non ha seguito le lezioni".

PROGRAMMA ORIENTATIVO

  • Network Applications, Application Layer, Funzionalità di TCP.

  • DNS: utilizzo, implementazione, protocollo, esempio.

  • E-mail: utilizzo, implementazione (SMTP, POP).

  • WWW. Cenni di HTML. HTTP (request, response, gestione delle connessioni). Caching. Trasmissione dati al web server. Pagine dinamiche. Sessioni. Autenticazione. Proxy.

  • Network. Ethernet. Switched Ethernet. Wireless Ethernet. Internetwork. IP. Formato degli indirizzi IP e dello header IP. Collegare un nuovo host. ARP. Routing statico. Esempio di progetto di routing statico in una intranet. Collegare una nuova network. Gestione degli indirizzi IP.

  • Problemi nella security. Crittografia a chiave privata e a chiave pubblica. La distribuzione delle chiavi.

  • Message digest. Cosa si crede che garantisca la firma digitale. Cosa garantisce in realtà la firma digitale. Implementazione della firma digitale. Certificati e loro applicazioni. SSL e HTTPS. Generazione di certificati.

PROGRAMMA 2021/2022

Rispetto al programma standard di ogni anno, quest'anno apporterò almeno i seguenti "tagli":

  1. HTTP caching

  2. Web surveillance (cookie syncing e tutto il materiale della dispensa "Web II - The Big Brother")

Ogni riferimento a questi due argomenti negli esercizi disponibili, svolti e non svolti, è pertanto da ignorare. Renderò disponibili le slide corrispondenti ma non faranno parte del programma di esame.

Mi dispiace molto omettere la parte 2 perché contiene argomenti che aiutano a comprendere alcune dinamiche fondamentali della nostra società e che, secondo me, dovrebbero essere noti ad ogni cittadino consapevole (perché esistono i servizi web gratuiti, campagne di disinformazione e loro implicazioni, qual'è la macchina di sorveglianza perfetta etc). Purtroppo il corso è già fin troppo pesante. Tutto considerato, credo sia opportuno tagliare questa parte. Chi è interessato può leggere slide e dispense. Se ci sono "molte" persone interessate, sono disponibile per un seminario.

Al momento (7 ottobre) non posso escludere ulteriori "tagli". In particolare, non so se ripeterò anche i "tagli" apportati lo scorso anno accademico ed elencati qui sotto.

PROGRAMMA 2020/2021 (COVID)

Siamo andati più lentamente del solito. Per questo motivo quest'anno il programma del corso non comprenderà i seguenti argomenti:

  1. Subnetting ((6-C)-ip.pdf da "Subnetting: Esempi" fino alla fine del file)

  2. ICMP ((6-D-2)-ip.pdf)

  3. TLS / HTTPS con autenticazione mutua (vedi anche più sotto)

Gli argomenti 1 e 2 sono nelle slide già distribuite e sono quindi da saltare; l'argomento 3 non sarà nelle slide.

Nelle raccolte di esercizi sono quindi da saltare gli esercizi delle tipologie seguenti:

  • Dato il network number di un ISP, determinare un network number per l'organizzazione indicata.

  • Dato (o determinato) un network number per una organizzazione, determinare un network number per ogni network dell'organizzazione.

  • Tabelle di routing in formato numerico. Questi esercizi possono essere sostituiti con tabelle di routing in formato simbolico (indirizzi IP dei router e network number non si indicano con valori numerici ma con simboli, esempio IP-R1-L, N2).

  • Ping e traceroute. Esercizi del genere "ping o traceroute verso IP-X" possono essere sostituiti con "inviare un pacchetto verso IP-X; il payload del pacchetto è irrilevante e può essere indicato semplicemente con "IP payload"" (l'esercizio risultante sarà più semplice di quello originario).

  • Autenticazione mutua TLS/HTTPS. Esercizi in cui si richiede di fornire KeySet/TrustSet su un web server non possono essere svolti (e quindi non saranno inclusi negli esami; la sola cosa da sapere, ovvia, è che KeySet/TrustSet del web server deve comprendere la CA che ha rilasciato il certificato nel PersonalSet del web server stesso).

TLS/HTTPS con autenticazione mutua

E' un meccanismo difensivo "fantastico". Il caso d'uso più importante è quello in cui gli utenti si autenticano nei servizi web con smartcard inserita in un lettore smartcard. Con questo meccanismo gli utenti dimostrano la conoscenza di un segreto senza che il segreto lo conosca nessuno e senza trasmettere mai quel segreto (e come fanno? è qui il bello). I rischi connessi alla gestione del segreto sono quindi infinitamente minori rispetto a quelli connessi all'uso delle password: la password deve essere nota al server (quindi può essere rubata sul server) e deve essere trasmessa (quindi c'è il rischio di trasmetterla ad un attaccante che mi convince di essere il server). Purtroppo l'esperienza ha dimostrato che TLS/HTTPS con autenticazione mutua è usato molto, molto di rado.

Omettere questo meccanismo permette di risparmiare tempo e di descrivere il resto degli argomenti in maniera molto più facilmente comprensibile (il che mi ha però richiesto una modifica estesa e radicale alle slide degli anni scorsi).

Tutto considerato, quindi, omettere questo meccanismo mi pare un compromesso accettabile.