Introduzione al corso

Obiettivi dell'insegnamento

L’approccio didattico è basato su numerosi esempi pratici ed un utilizzo di strumenti software per supporto alle tematiche trattate e per consentire allo studente di acquisire dimestichezza sugli strumenti e sulle tecniche di dimensionamento e valutazione delle prestazioni di reti di telecomunicazioni.
Le modalità didattiche utilizzate sono basate sui principi della classe attiva con il coinvolgimento degli studenti durante i momenti d’aula. Alcuni argomenti del corso e tutta la parte di laboratorio sono svolti in modalità flipped class con video e materiale didattico da studiare prima delle attività in aula. Le modalità di valutazione dell’apprendimento, oltre che utilizzare gli appelli tradizionali che sono comunque garantiti, è di tipo continuo durante il semestre con 4 prove in itinere, alcune attività svolte durante le lezioni come quiz online e sfide che consentono di acquisire punti premio validi per il voto finale.

Argomenti trattati

  1. INTRODUZIONE E ARCHITETTURE
    • Principi generali, architettura e componenti, meccanismi di base
  2. SISTEMI DI COMUNICAZIONE
    • Come misuro le prestazioni di una rete: il concetto di throughput, i ritardi nelle reti di telecomunicazioni (tempo di trasmissione, ritardo di trasferimento, tempo di processing, tempo di accodamento).
    • Cenni sul livello fisico
  3. MODELLI FUNZIONALI
    • Come è gestita la comunicazione in rete: il concetto di protocollo di comunicazione, modelli architetturali a strati, commutazione di pacchetto e commutazione di circuito.
  4. PROTOCOLLI APPLICATIVI
    • architetture delle applicazioni di rete: approccio client-server ed approccio peer-to-peer;
    • esempi di protocolli applicativi client-server: HTTP, FTP, SMTP;
    • architetture peer-to-peer: la rete Gnutella, BitTorrent
  5. IL LIVELLO DI TRASPORTO
    • caratterizzazione del servizio di comunicazione tra processi applicativi; trasporto non affidabile: il protocollo UDP (formato del segmenti);
    • trasporto affidabile: il protocollo TCP (formato dei segmenti, apertura della connessione, controllo di flusso, controllo di congestione e controllo d’errore).
  6. IL LIVELLO DI NETWORKING:
    • l’Internet Protocol (IP): servizi offerti da IP, formato dei pacchetti IPv4
    • Gestione di indirizzi IP: formati e notazioni degli indirizzi IPv4, le classi e gli indirizzi speciali, pianificazione di uno spazio di indirizzamento IPv4, tecniche di subnetting e supernetting, assegnamento automatico di indirizzi IP: il Dynamic Host Control Protocol (DHCP)
    • Corrispondenza tra indirizzi IP ed indirizzi simbolici (Il Domain Name System);
    • l’Internet Control Message Protocol (ICMP)
  7. INOLTRO ED INSTRADAMENTO IN INTERNET:
    • inoltro diretto ed indiretto
    • uso delle tabelle di routing;
    • instradamento su cammini minimi, la costruzione dell’albero dei cammini minimi,
    • Instradamento link state ed instradamento distance vector
    • Esempi di protocolli: RIP, OSPF, BGP, SDN
  8. RETI LOCALI E LIVELLO DI LINEA:
    • problema dell’accesso multiplo,
    • indirizzamento nelle reti locali,
    • l’Address Resolution Protocol (ARP),
    • interconnessione di reti locali con bridge/switch,
    • lo standard Ethernet/802.3: principi e funzionamento,
    • lo standard IEEE 802.11 (WiFi): principi e funzionamento.
  9. INTRANET
    • Indirizzamento privato e traduzioni di indirizzi IP (NAT, NAPT)
    • Interconnessione di reti private (IP Tunneling)
    • IPv6 (cenni)

LABORATORIO:

  • Attività di base svolta a lezione ed esercitazione:
  • Sniffer di rete (Wireshark)
  • Protocolli applicativi (con utilizzo di server e client email e web)
  • Attività di laboratorio
  • Lab 1: Python e scripting per analisi di rete
  • Lab 2: Programmazione socket in Python, parte I
  • Lab 3: Programmazione socket in Python, parte II
  • Lab 4: Configurazione e simulazione di rete (Packet Tracer), parte I
  • Lab 5: Configurazione e simulazione di rete (Packet Tracer), parte II
  • Lab 6: Attività sperimentali su reti wireless

Prerequisiti

Conoscenze di base di programmazione e architettura dei calcolatori.

Modalità di valutazione

La valutazione dell’apprendimento del corso è di tipo continuo e si base su attività svolte durante il semestre di erogazione dell’insegnamento. Sono previste:

  • 4 prove in itinere
  • quiz svolti durante le lezioni
  • attività valutate relative a esercitazioni e laboratori

Alla fine del corso, agli studenti che hanno ottenuto una valutazione sufficiente mediante la valutazione continua svolta nel semestre è proposto un voto finale.

A chi non ha ottenuto un voto sufficiente, a chi non ha partecipato alle attività di valutazione in itinere o a chi non fosse soddisfatto del voto ottenuto è consentito di svolgere gli appelli regolari nelle date previste dal calendario delle prove. I punti extra eventualmente conseguiti con i quiz o le attività valutate sono comunque conservati per gli appelli dell’anno accademico di pertinenza.

L’esame durante gli appelli da calendario è scritto e consente di ottenere fino a 32 punti mediante:

  • esercizi numerici
  • domande a risposta aperta
  • attività di laboratorio

Il voto finale in trentesimi è pari al numero di punti ottenuti. È assegnato il voto di 30 e lode se la somma dei punti è superiore a 31