Diario delle lezioni

In questa pagina viene riportato il diario dettagliato delle lezioni. Per ogni lezione viene riportato, il syllabus tentativo ed effettuato, le slide, il materiale da studiare e di approfondimento e il link zoom.

Le lezioni in streaming su zoom hanno l'accesso automatico con la mail uniroma1, gli altri verranno ammessi nella stanza virtuale manualmente.


REPOSITORY GITHUB CON IL CODICE VISTO DURANTE IL CORSO: https://github.com/gadiluna/reti3cfulatina


Testo per la parte di middleware e rpc:

Distributed Systems 3rd edition - M. Van Steen and A.S. Tanenbaum. The authors give away free copies: https://www.distributed-systems.net/index.php/books/ds3/

Lezione 1: 5 Ottobre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/7981663898

Syllabus effettuato della lezione.

  1. Introduzione al corso tecnica e amministrativa. (slide)

  2. Modulo 1: Concetti di base, ripasso di nozioni di reti. (slide)

Concetti chiave: Applicazioni di reti esempi HTTP, bittorrent e skype. Astrazione del reliable bit stream. Paradigma del layering. Introduzione ad IP. Struttura dell'internet. Packet switching.

Materiale da leggere: i concetti sono coperti principalmente dal primo capitolo del Kurose Ross.

Lezione 2: 12 Ottobre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/7981663898

Syllabus tentativo della lezione.

  1. Modulo 1, concetti di base: ritardi e round trip time (slide della scorsa lezione)

  2. Modulo 1, concetti di base: layer di trasporto, panoramica e layer UDP (slide)

  3. Modulo 1, concetti di base: TCP funzionamento ad alto livello e debolezze (slide)

  4. Modulo 1, QUIC il nuovo protocollo di trasporto: come QUIC risolve le debolezze di TCP (slide)

  5. Modulo 1, esercitazione pratica 1: Client/Server con Netcat e sniffing con wireshark (slide)

  6. Modulo 1, esercitazione pratica 2: manipolazione di pacchetti di reti con Scapy, come costruire un TCP SYN da 0. (slide)

Concetti chiave: Ritardi e round trip time. Layer di trasporto UDP e TCP. Debolezze di TCP e Head of line Blocking. QUIC confronto con TCP. Concetti pratici: client server con netcat, sniffing con wireshark e creazione manuale di pacchetti di rete con scapy.

Materiale da leggere: UDP e TCP sono affrontati in qualsiasi libro di reti (in particolare si può vedere: https://book.systemsapproach.org/e2e.html). QUIC è spiegato nel dettaglio nella RFC 9000 (https://www.rfc-editor.org/rfc/rfc9000.html), si può vedere questi articoli riassuntivi (https://docs.google.com/document/d/1gY9-YNDNAB1eip-RTPbqphgySwSNSDHLq9D5Bty4FSU/edit, https://arxiv.org/pdf/2010.03059.pdf ). Wireshark, netcat e scapy sono ampiamente documentati nei relativi siti web.

Lezione 3: 19 Ottobre 2021 09:00-12:00 Aula 12 - LT005

La lezione sarà principalmente pratica, chi vuole può portare il suo laptop per seguire la lezione passo passo.

Syllabus della lezione.

  1. Modulo 1, esercitazione pratica 2: manipolazione di pacchetti di reti con Scapy, come costruire un TCP SYN da 0. (slide)

  2. Introduzione a Python - Installazione, virtualenv, sintassi (loop, while, function calls, dictionaries, ...), Programmazione ad Oggetti, Esempi notevoli (scrittura su file, esecuzione). Debugging with pycharm. (slide)

  3. Scapy: Creazione di un traceroute

Concetti chiave: Creazione manuale di pacchetti di rete con scapy. Python sintassi e funzionalità notevoli. Scapy creazione di un traceroute.

Lezione 4: 26 Ottobre 2021 09:00-12:00 SOLO ONLINE

Link per la lezione zoom: https://uniroma1.zoom.us/j/7981663898

VIDEOREGISTRAZIONE

La lezione sarà solo online.

Syllabus tentativo della lezione.

  1. Paradigma Client/Server (slide).

  2. Sockets in python: Concetti, API , Client/Server UDP. (slide)


Concetti chiave: Paradigma Client/ Server. Tassonomia secondo la computazione. Architetture multi-tier, Statefull vs Stateless. Sockets in Python.

Lezione 5: 2 Novembre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/798166389

Syllabus tentativo della lezione.

  1. Sockets in python: Concetti, API , Client/TCP. (slide)

  2. Server multiprocesso/multithread TCP (slide)

  3. Chiamate a procedura remota (Remote procedure call) (slide)


Concetti chiave: Server Concorrenti, thread vs processo. Thread in python vs processi in python. Chiamate a procedura remota.

Lezione 6: 9 Novembre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/798166389

Syllabus tentativo della lezione.

  1. Soluzione del server phonebook in python: Multi-thread/Multi-Processo, segnali, persistenza, json e RW Lock. (slide)

  2. Chiamate a procedura remota (Remote procedure call) (slide)


Lezione 7: 16 Novembre 2021 09:00-12:00 ANNULLATA - A CAUSA DI UN PROBLEMA LA LEZIONE DI DOMANI È ANNULLATA. SI PREGA DI FARNE PUBBLICITÀ TRA GLI ALTRI STUDENTI.

Lezione 7: 23 Novembre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/798166389

Syllabus tentativo della lezione.

  1. Chiamate a procedura remota (Remote procedure call) (slide)

  2. Hand on su google RPC


Lezione 8: 30 Novembre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/798166389

Syllabus tentativo della lezione.

  1. Message Oriente Middleware: Queue and Group Based (slides)

      1. Message Oriente Middleware: Publish Subscribe (slides)

  2. Message Oriente Middleware: Hand on Zero MQ for pythone, examples of publish subcribe application and push/pull application.



Lezione 9: 7 Dicembre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/798166389

Syllabus tentativo della lezione.

  1. Concetti di base dei sistemi distribuiti (slides)

  2. Processi, canali, fallimenti, sistemi sincroni e asincroni i (slides)

  3. Rilevamento dei guasti e sincronia (slides)

  4. Sincronizzazione degli orologi (slides)


Lezione 10: 14 Dicembre 2021 09:00-12:00 Aula 12 - LT005

Link per la lezione zoom: https://uniroma1.zoom.us/j/798166389

Syllabus tentativo della lezione.

  1. Clock Logici e Vector Clock (slides)

  2. Broadcast Affidabile (slides)

-- Non ci sono altre lezioni, il corso è concluso--

Buone festività invernali a tutti gli studenti.

Il docente.

Questionari OPIS - Per la parte di Reti - 3 CFU

Codice per questionari opis: CKKJWFIM -- istruzioni:

SLIDES con istruzioni