ARCHITETTURA INTERNET E PROGRAMMAZIONE WEB

Anno accademico 2017/2018 - 3° anno
Docenti: Orazio MIRABELLA e Antonino Raucea
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 146 di studio individuale, 49 di lezione frontale, 30 di esercitazione
Semestre:
ENGLISH VERSION

Obiettivi formativi

L’insegnamento introduce alla conoscenza della struttura e dei protocolli di Internet, delle principali tecnologie per le reti di calcolatori. Attraverso lo studio degli argomenti presentati, lo studente acquisirà le nozioni che gli consentiranno di comprendere come funziona Internet nella sua globalità e, in particolare:

  • conoscere i protocolli alla base dei servizi più diffusi, come il WWW, il DNS e la posta elettronica;
  • apprendere i meccanismi che governano il funzionamento dei protocolli TCP ed UDP;
  • comprendere la struttura del protocollo IP e le tecniche di indirizzamento e sub-networking;
  • capire come funziona il routing su Internet;
  • conoscere le principali tecnologie layer 2 per reti wired e wireless.
  • Inparare a progettare il client ed il server per un sito web

Prerequisiti richiesti

Conoscenze di base di informatica e di sistemi operativi.


Frequenza lezioni

La frequenza non è obbligatoria, tuttavia per la parte del corso relativa alla programmazione web è altamente consigliato seguire le lezioni del docente e le esercitazioni.


Contenuti del corso

Internet e le reti di calcolatori: Che cos'e' Internet. Ai confini della rete. Il nucleo della rete. Ritardi, perdite e throughput nelle reti a commutazione di pacchetto. Livelli di protocollo e loro modelli di servizio. Principi base della comunicazione digitale. Principali mezzi fisici di comunicazione. Storia del computer networking e di Internet.

Livello di applicazione: I principi delle applicazioni di rete. Web e HTTP. Trasferimento di file: FTP. Posta elettronica in Internet. DNS: il servizio di directory di Internet.

Livello di trasporto: Introduzione e servizi a livello di trasporto. Multiplexing e demultiplexing. Trasporto senza connessione: UDP. Principi del trasferimento dati affidabile. Trasporto orientato alla connessione: TCP. Trasferimento dati affidabile. Controllo di flusso. Controllo di congestione TCP.

Livello di rete: Introduzione. Reti a circuito virtuale e a datagramma. I router. Protocollo Internet (IP). IPv4. IPv6. Algoritmi d'instradamento. Instradamento in Internet.

Livello di collegamento e reti locali: Introduzione e servizi. Tecniche di rilevazione e correzione degli errori. Protocolli di accesso multiplo. Reti locali. Tecnologie Ethernet. Switch a livello di collegamento.

Reti wireless: Introduzione. Collegamenti wireless e caratteristiche di rete. Wi-Fi 802.11 wireless LAN. Personal Area Networks: Bluetooth.

Client-side Web Programming: HTML. HTML5. CSS3. Introduzione a JavaScript.

Server-side Web Programming: Introduzione a PHP.


Testi di riferimento

[T1] Reti di calcolatori e internet - Un approccio top-down, 7/Ed, James F. Kurose & Keith W. Ross - Pearson Higher Education

Appunti dal sito web del docente.



Programmazione del corso

 *ArgomentiRiferimenti testi
1*Internet e le reti di calcolatori: Che cos'e' Internet. Ai confini della rete. Il nucleo della rete. Ritardi, perdite e throughput nelle reti a commutazione di pacchetto. Livelli di protocollo e loro modelli di servizio. Storia delle reti e di Internet.[T1]: Capitolo 1  
2 Concetti di base sulle comunicazione digitale. Larghezza di banda e Bit rate. Caratteristiche dei mezzi fisicidispensa su sito netlab 
3 Livello di applicazione: I principi delle applicazioni di rete.[T1]: Capitolo 2 
4*Livello di applicazione: Web e HTTP. DNS: il servizio di directory di Internet.[T1]: Capitolo 2  
5  Livello di applicazione: Trasferimento di file: FTP. Posta elettronica in Internet.[T1]: Capitolo 2 
6 Livello di trasporto: Introduzione e servizi a livello di trasporto. Multiplexing e demultiplexing. Trasporto senza connessione: UDP[T1]: Capitolo 3 
7*Livello di trasporto: Trasporto orientato alla connessione: TCP. Trasferimento dati affidabile. Controllo di flusso. Controllo di congestione TCP.[T1]: Capitolo 3 
8 Livello di rete: Introduzione. Reti a circuito virtuale e a datagramma. I router.[T1]: Capitolo 4 
9*Livello di rete: Protocollo Internet (IP). IPv4.[T1]: Capitolo 4 
10 Livello di rete: IPv6. Algoritmi d'instradamento. Routing in Internet.[T1]: Capitolo 4 
11*Livello di Data Link e reti locali: Concetti introduttivi e servizi. Cenni sulle tecniche di rilevazione e correzione degli errori. Protocolli di accesso multiplo.[T1]: Capitolo 5 
12*Local Area Networks (LAN). Tecnologie Ethernet. Switch a livello di DataLink.[T1]: Capitolo 5 
13 Reti wireless: Introduzione. Collegamenti wireless e caratteristiche di rete. [T1]: Capitolo 6 
14*Reti wireless: Wi-Fi 802.11 wireless LAN. Personal Area Networks: Bluetooth.[T1]: Capitolo 6 
15* Client-side Web Programming: HTML. HTML5. CSS3. Introduzione a JavaScript. Server-side Web Programming: Introduzione a PHP.Dispensa su sito netlab 
* Conoscenze minime irrinunciabili per il superamento dell'esame.

N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame consiste in un colloquio orale sugli argomenti del programma e su una discussione relativa allo svolgimento di un test di verifica pratica sulla programmazione web.


Esempi di domande e/o esercizi frequenti

Le domande verteranno esclusivamente sugli argomenti trattati dal docente durente le lezioni. Ad es.:

Architettura della Internet.

Instaurazione di una connessione in TCP.

Principali algoritmi di routing

Protocollo CSMA/CD.

ecc.