RETI DI CALCOLATORI
cod. 14832

Anno accademico 2017/18
3° anno di corso - Annuale
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Discipline informatiche
Tipologia attività formativa
Caratterizzante
84 ore
di attività frontali
9 crediti
sede: PARMA
insegnamento
in ITALIANO

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.

Prerequisiti

- - -

Contenuti dell'insegnamento

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
Il progetto IEEE-802, il sottolivelli LLC e MAC
Ethernet e 802.3: gli indirizzi, la trama e l'architettura.
Tecnologie Ethernet, Fast Ethernet e Gigabit Ethernet.
Hub, Bridge, Switch, Spanning tree protocol.
LAN Virtuali, il protocollo 802.1Q.
Reti locali Wireless: Bande ISM, i protocolli 802.11 e 802.16.

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: I socket TCP e UDP: programmazione in C, Python, PHP e Java.

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: Compressione audio , audio streaming, radio internet, VOIP, compressione video, JPEG e MPEG, 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.

Calcolo Distribuito
Introduzione ai sistemi distribuiti. Sistemi per il calcolo parallelo. La programmazione parallela.
Laboratorio: Programmazione seriale e parallela con MPI e openMP, il job manager, plotting dello speedup e dello scaling.

Programma esteso

- - -

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 una prova scritta, lo sviluppo di un progetto e prova orale riguardo le attività svolte in laboratorio.

Durante le lezioni si terranno alcune prove scritte parziali. Le date delle prove parziali saranno comunicate dalla docente durante le lezioni. Il superamento con esito positivo di tutte le prove parziali esonera lo studente dal sostenere la prova scritta finale.

Il progetto e la prova orale riguardo le attività svolte in laboratorio devono essere tenuti entro la sessione d'esame in cui si sostiene la prova scritta (estiva, autunnale o invernale).
Il progetto viene assegnato dopo una valutazione positiva della prova orale sulle attività di laboratorio.

La consegna periodica, nei tempi stabiliti, con valutazione positiva delle attività proposte durante le lezioni di laboratorio comporta l'esonero dal progetto e dalla prova orale. Chi e' esonerato dalla prova scritta deve sostenere progetto e prova orale nella prima sessione disponibile.

Altre informazioni

- - -