Obiettivi formativi
Il corso intende fornire le nozioni teoriche, le problematiche fondamentali e le relative soluzioni tecnologiche e progettuali nel settore delle reti di calcolatori, la conoscenza delle problematiche legate alla sicurezza dei sistemi in rete, le moderne metodologie per la programmazione distribuita.
Contenuti dell'insegnamento
Introduzione alle reti di calcolatori
Strato fisico
Strato data-link
Strato rete
Laboratorio Rete: Gestione delle impostazioni, configurazioni e prestazione della rete s
Strato di Trasporto
Laboratorio Trasporto: programmazione socket TCP e UDP
Strato Applicazione
Laboratorio Applicazione: Configurazione server e utilizzo client con i protocolli DNS, SMTP, HTTP.
Sicurezza delle Reti
Laboratorio Sicurezza: crittografia applicata con openSSL, virtual host SSL, firewall con iptables.
Programma esteso
Introduzione alle reti di calcolatori
Utilizzi della rete, tipi di servizi e prestazioni, architetture di rete, commutazione di circuito e di pacchetto, Protocolli, il modello ISO/OSI, Protocolli TCP/IP.
Strato fisico
La trasmissione dell'informazione, lo spettro elettromagnetico, mezzi trasmissivi elettrici, ottici e wireless.
La codifica dei livello fisico.
Il sistema telefonico. Multiplexing a divisione di tempo e di frequenza, la codifica PCM, i modem, le reti DSL, la telefonia Mobile.
Strato data-link
Scopi dello strato Data-Link e servizi offerti al livello rete.
Impacchettamento, Controllo degli errori, controllo del flusso, Protocolli per collegamenti punto-punto
Protocolli per reti locali: condivisione del canale trasmissivo, protocolli statici e dinamici, ALHOA, CSMA, CSMA/CD, protocolli LAN wireless
Ethernet e 802.3: gli indirizzi, la trama, l'architettura e le tecnologie.
Hub, Bridge, Switch, Spanning tree protocol.
LAN Virtuali, il protocollo 802.1Q.
Reti locali Wireless
Strato rete
Scopi dello stato Rete e servizi offerti al livello di Trasporto.
Commutazione di circuito, commutazione di pacchetto a circuito virtuale e a datagramma.
Commutazione di pacchetto a circuito virtuale: ATM e MPLS.
Internet, Il protocollo IP, Indirizzi IP, reti e sottoreti, CIDR, NAT.
Protocolli di controllo e di servizio: ARP, DHCP e ICMP.
Il Router, algoritmi e protocolli di routing non adattivi e adattivi, RIP, IGRP, OSPF e BGP
IPv6: motivazioni, formato dell'intestazione, extension header, tipologie di indirizzi, ICMPv6.
Laboratorio: Gestione delle impostazioni, configurazioni e prestazione della rete sul proprio host connesso ad internet e le sua interazione con host remoti. utilizzo di tools per analizzare la rete e misurare le prestazioni.
Strato di Trasporto
Servizi forniti allo strato superiore, multiplexing, il modello client-server.
I socket di Berkeley: la libreria, le porte e le primitive.
UDP: il protocollo, la trama, la programmazione.
TCP: apertura e rilascio della connessione, ordinamento dei dati, controllo di flusso, congestione, errori di trasmissione, la trama e la programmazione.
Laboratorio: Programmazione dei socket TCP e UDP.
Strato Applicazione
DNS: architettura, i Top Level Domain, sottodomini e zone, risoluzione diretta e inversa, il server DNS, i client.
Posta elettronica: formato dei Messaggi, protocolli per il trasferimento dei Messaggi,, l'agente utente.
World Wide Web: architettura, URL, Web Browser, HTML, Web server, HTTP, pagine statiche e dinamiche, cookie.
Multimedia: audio streaming, radio internet, VOIP, video on demand.
Laboratorio: Configurazione server e utilizzo client con i protocolli DNS, SMTP, HTTP. Creazione di pagine web statiche e dinamiche.
Sicurezza delle Reti
Tecniche di attacco, sniffer, scanner, spoofing, DoS, Malware, Security Exploit. Tecniche di difesa, IDS, Firewall e Proxy.
Elementi di Crittografia: algoritmi a chiave simmetrica, DES, 3-DES e AES, algoritmi a chiave pubblica, RSA, Message Digest, firme digitali, MD5 e SHA-1, Certificati X.509, infrastrutture a chiave pubblica, Certification Authority, S/Mime, i protocolli SSL/TLS.
IPsec, VPN, sicurezza delle reti Wireless, protocolli di Autenticazione, Kerberos.
Laboratorio: crittografia applicata con openSSL, creazione ed utilizzo di certificati X509, creazione di un virtual host SSL, progettazione e configurazione di un firewall con iptables.
Bibliografia
"Reti di computer" - A. Tanenbaum - Prentice Hall
"Reti di calcolatori e Internet" - B.Frouzan - McGraw-Hill
"Reti di calcolatori" - L. Peterson, B. Davie - Apogeo
Metodi didattici
Lezioni frontali e lezioni in Laboratorio.
Le dispense del docente utilizzate a supporto delle lezioni verranno caricate con cadenza settimanale sulla piattaforma Elly.
Per scaricare le slide è necessaria l’iscrizione al corso on line.
Le slide vengono considerate parte integrante del materiale didattico. Si ricorda agli studenti non frequentanti di controllare il materiale didattico disponibile e le indicazioni fornite dalla docente tramite la piattaforma Elly.
Modalità verifica apprendimento
Il corso prevede verifiche riguardo le lezioni frontali e le attività proposte in laboratorio.
Per le attività di laboratorio verrà richiesta la consegna di relazioni nelle modalità e nei tempi indicati durante il corso. Le consegne di laboratorio vengono valutate tenendo conto di originalità, impegno e aderenza ai tempi indicati, e possono incidere per +/- 2 punti rispetto alla valutazione della prova scritta.
La verifica delle lezioni frontali consiste in esercizi e domande in forma scritta riguardo gli argomenti trattati a lezione e in laboratorio.
Il superamento della prova scritta e la consegna delle relazioni di laboratorio danno accesso alla prova orale finale in cui verranno analizzate assieme allo studente lo scritto e le relazioni.
Durante le lezioni si potranno tenere alcune prove parziali in forma scritta. Le date delle prove parziali saranno comunicate durante le lezioni. Il superamento con esito positivo di tutte le prove parziali esonera lo studente dal sostenere la verifica sulle lezioni frontali negli appelli d'esame invernali (gennaio-febbraio).
Per partecipare alle prove parziali è necessario essere al pari con la consegna delle relazioni di laboratorio per l'anno corrente.
Rimane comunque la prova orale in cui verranno analizzate assieme allo studente le prove scritte e le consegne di laboratorio.
Nota: in caso di eventuali restrizioni sanitarie tutte le verifiche potranno essere commutate in prova orale a distanza.