Seguici su
Cerca

RETI DI CALCOLATORI A - L

Anno accademico 2025/2026 - Docente: FEDERICO FAUSTO SANTORO

Risultati di apprendimento attesi

Il corso fornisce un'introduzione al mondo delle reti di computer e all'interconnessione tra sistemi.
Vengono presentate le problematiche relative all'interconnessione fisica, mettendo in evidenza le limitazioni del mondo reale e le tecniche per superare tali limiti.
Successivamente viene descritta la suite dei protocolli TCP/IP, nelle tre componenti base: livello IP, livello di trasporto e livello applicativo.
Per ultimo vengono dati alcuni cenni sulle problematiche relative alla sicurezza.


Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi.

  1. Conoscenza e capacità  di comprensione (knowledge and understanding): l'obiettivo del corso è quello di far acquisire conoscenze che consentano allo studente di comprendere i meccanismi teorici e fisici che stanno alla base di un sistema di comunicazione; in particolare lo studente acquisirà le conoscenze dei principali protocolli che sono alla base di una rete di calcolatori
  2. Capacità  di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà le competenze necessarie per configurare interamente una rete aziendale di medie dimensioni, scegliendo gli apparati più opportuni, realizzando i cablaggi e ottimizzando le risorse disponibili. A tale riguardo una parte del corso consisterà di lezioni in laboratorio, con esempi pratici di configurazione e collegamento di host.
  3. Autonomia di giudizio (making judgements): Attraverso esempi concreti di errori derivanti da configurazioni non corrette, lo studente sarà in grado di elaborare autonomamente soluzioni in grado di risolvere i principali problemi che un amministratore di rete potrà trovare nel suo lavoro.
  4. Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale dei sistemi informativi e delle reti di computer in particolare.
  5. Capacità  di apprendimento (learning skills): il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche e pratiche per poter affrontare e risolvere autonomamente nuove problematiche che dovessero sorgere durante una attività lavorativa. A tale scopo diversi argomenti saranno trattati a lezione coinvolgendo lo studente nella ricerca di possibili soluzioni a problemi reali.

Modalità di svolgimento dell'insegnamento

Le lezioni sono tenute in aula con l'ausilio di slide, messe a disposizione degli studenti. Le slide non sostituiscono i testi di riferimento, ma, oltre che agevolare la comprensione della lezione, forniscono un dettaglio puntuale sul programma svolto.

Le lezioni frontali teoriche sono intervallate da esercitazioni pratiche in ambiente virtuale, svolte nella stessa aula di lezione. Gli studenti sono invitati a formare piccoli gruppi di lavoro (massimo 4-5 persone) per lo svolgimento delle esercitazioni proposte.

In caso di necessità, a seguito di apposite indicazioni da parte degli organi di Ateneo, l'insegnamento potrà essere impartito in modalità mista o a distanza, con le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto qui riportato.

Prerequisiti richiesti

Per la piena comprensione dei contenuti del corso sono necessari i seguenti prerequisiti:

  • Programmazione in C, C++ e Python
  • Elementi di Architettura degli elaboratori
  • Nozioni basilari di Sistemi Operativi

Frequenza lezioni

La frequenza delle lezioni non è obbligatoria ma è fortemente consigliata. In particolare si consiglia la frequenza alle ore di esercitazione di gruppo.

Contenuti del corso

Introduzione alle Reti di Calcolatori
Definizione di una Rete e come crearla
I nodi di una rete
Tipologie di ruoli
Come connettere più nodi
Hub, Bridge e Switch
Router e gerarchie di rete

Stack di Rete
Come avviene la comunicazione
Modello OSI (dal punto di vista pratico)
Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Incapsulamento e Decapsulamento
Protocol Data Unit
Modello TCP/IP (dal punto di vista pratico)
Application Layer
Transport Layer
Internetwork Layer
Network Access Layer


Network Routing
Indirizzamento Logico e Fisico
Topologia Logica e Fisica
Stack di Rete e Routing
Ruoli e responsabilità dei nodi nella rete
Tabelle di Routing

Network Administration
Nodi e Virtualizzazione
Tipologie di Virtualizzatori
Installazione e introduzione ad Alpine Linux
Comandi di rete
Indirizzi IP e Maschere
Come realizzare uno Switch
Bridge e Bounding
Come realizzare un Router
IP Forwarding e Routing Tables
I file di configurazione
Connessione remota alle macchine
Il problema dell'ISP
Gestione della NAT
IP TABLES

Network Programming
Il bisogno dei software di dover comunicare
Programmazione Concorrente
Programmazione Distribuita
Endianess
Socket di Rete (BSD)
Stream e Datagram Socket
Ruolo delle Socket nello Stack di Rete
Flusso delle socket
Strutture di sistema
Client e Server TCP
Programmazione parallela
Thread e Processi
Definizione di un protocollo
Strutture e Stringhe
Socket UDP
Comunicazione P2P


Comunicazione Interprocesso

Necessità di parlare tra sistemi diversi
Uso di tecnologie diverse
Socket in Python
Strutture in Python

Testi di riferimento

  1. J.F. Kurose - K. W. Ross: Internet e Reti di calcolatori
  2. D.E. Comer: Internetworking con TCP/IP - vol.1
  3. A. Tanenbaum: Reti di Computer

Programmazione del corso

 ArgomentiRiferimenti testi
1Introduzione alle reti di calcolatori
2Il livello applicativo
3Il livello di Trasporto
4Connessioni UDP
5Principi per il trasferimento dati affidabile
6Il protocollo TCP
7Controllo della congestione in TCP
8Il livello di rete
9IPv4
10IPv6
11Protocolli di Routing
12Livello Data Link
13Rilevazione e correzione degli errori
14Ethernet
15VLan
16Creazione e configurazione di un host Linux based in ambiente virtuale
17Configurazione delle interfacce di rete in ambiente Unix
18Configurazione di un router su VM

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame finale consiste in una prova scritta, di un colloquio orale ed una prova in Laboratorio.

E' importante sapere che, salvo diversa comunicazione:

  • l'esame scritto si svolge alle ore 9:00
  • la prova orale si svolge lo stesso giorno della prova scritta.
  • la prova di laboratorio si svolge nei giorni subito seguenti la prova scritta.

Per problemi organizzativi, tale schedulazione potrebbe essere modificata.

Note:

  • È vietato l'uso di qualsiasi strumento hardware (calcolatrici, tablet, smartphone, smartwatch, cellulari, auricolari BT etc.), di libri o documenti personali durante le prove. Eventuale documentazione sarà fornita dalla commissione durante l'esame. La prova di laboratorio si svolge su HW messo a disposizione dal CdL. E' possibile consultare esclusivamente la documentazione fornita dalla commissione.
  • Per sostenere gli esami è necessario prenotarsi utilizzando l'apposito modulo del portale studenti.
  • Non sono ammesse prenotazioni tardive tramite email. In mancanza di prenotazione, l'esame non può essere nè sostenuto nè verbalizzato.

Prove in Itinere: Non previste

In caso di necessità, a seguito di apposite indicazioni da parte degli organi di Ateneo, la verifica potrà essere effettuata in modalità telematica, con le necessarie variazioni rispetto a quanto dichiarato in precedenza.

Le prove sono finalizzate per ottenere una valutazione complessiva della preparazione dello studente Il voto è attribuito secondo il seguente schema:

  • Non approvato: lo studente non ha acquisito i concetti di base e non è in grado di rispondere ad almeno il 60% delle domande né di svolgere gli esercizi teorici e pratici.
  • 18-20: lo studente dimostra una padronanza appena sufficiente dei concetti base, e/o riesce ad impostare gli esercizi teorico/pratici con molta difficoltà e con vari errori.
  • 21-24: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di collegamento dei contenuti sono modeste, riesce a risolvere semplici esercizi.
  • 25-27: lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di collegamento dei contenuti sono buone, risolve gli esercizi con pochi errori.
  • 28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di padroneggiarli compiutamente e di collegarli con spirito critico; risolve gli esercizi in modo completo e senza errori di particolare rilievo.

Esempi di domande e/o esercizi frequenti

Indirizzamento inter lan e intra lan con IPv4
Header opzionali in IPv6
Protocolli di routing: DV
Protocolli di routing: LSR
Controllo della congestione in TCP
Controllo del flusso in TCP
Apertura e chiusura delle connessioni TCP
Rilevazione e correzione degli errori
Indirizzamento a livello DL
IEEE 802.3
Protocolli di livello applicativo
ENGLISH VERSION