Reti di calcolatori

AA 2016/2017

 

Obiettivi

Programma del corso

Caratteristiche delle reti di calcolatori
Tipologie di reti e relative tecnologie: reti locali (LAN), reti metropolitane (WAN) e reti geografiche (WAN). Protocolli e standard. Gli organismi di standardizzazione. Lo standard ISO-OSI e la struttura in livelli. I protocolli TCP/IP: indirizzamento di rete (indirizzi IP), socket e porte TCP e UDP.

Il livello applicativo
Modelli client/server e Peer-to-Peer (P2P). Il Domain Name System (DNS): architettura, funzionamento e protocolli. Il servizio di posta elettronica: architettura (Mail Transfer Agents e Mail User Agents); indirizzamento delle caselle di posta; formato dei messaggi (codifica del caratteri, codifica ASCII 7 bit e Unicode, standard MIME).

Il Web e HTTP
Evoluzione delle tecnologie del Web. Architettura del Web e protocollo HTTP. Riferimento a risorse Web: URI, URL e URN. Caratteristiche di HTTP: messaggi di richiesta e risposta; formato delle intestazioni e uso delle intestazioni principali (User-Agent, Location, If-Modified-Since, Content-Type,Cache-Control, Host); supporto al virtual hosting, alle cache e ai proxy. Il linguaggio HTML: struttura dei documenti; uso dell'intestazione; principali tag e relativi attributi; cascading style sheet (CSS); uso dei form e codifica delle informazioni nelle richiesta HTTP (metodi POST e GET). Applicazioni Web lato server: lo standard CGI.

La programmazione lato server e il linguaggio PHP
Caratteristiche principali di PHP: variabili, strutture per il controllo del flusso, array associativi, variabili superglobali e interazione con il server Web e le richieste/risposte HTTP, gestione dei cookie e delle sessioni, interazione con un DBMS.

Il linguaggio XML
Documenti XML: struttura, documenti ben formati, tag e attributi. XML schema e validazione dei documenti XML.

Programmazione Web lato client
Il linguaggio Javascript. Interazione con gli elementi di un documento HTML. Gestione degli eventi. Principali strutture.

Il livello di trasporto e i socket
Protocollo TCP: caratteristiche e formato dell'intestazione; modalità di apertura e chiusura della connessione; acknowledge e gestione del timeout di ritrasmissione; controllo di flusso e gestione della congestione. Protocollo UDP.

Il livello di rete
Il procotocollo IP: indirizzi e classi di indirizzi; sottoreti e subnet mask; consegna diretta e routing; il protocollo ARP per la consegna diretta; i routers.

Modalità di esame

L'esame prevede il superamento di due prove intermedie e un colloquio orale nel quale è prevista anche la presentazione di un progetto. Per chi non ha sostenuto o non superato una o entrambe le prove intermedie è prevista una prova scritta relativamente alla/e parte/i mancante/i.

L'argomento del progetto può essere scelto a piacere e può essere svolto anche in gruppo formato un massimo di 2 persone (a meno di approvazione da parte del docente).

Prove in itinere 2016/17

Per partecipare è necessario registrarsi alla prova sul sito segreterieonline o inviare una mail al docente per chi non può farlo.

Lucidi delle lezioni

  1. Presentazione
  2. Introduzione alle reti di calcolatori
  3. Protocolli e standard
  4. Application Layer, DNS e email
  5. HTTP e il World Wide Web
  6. Server-Side Web programming (PHP)
  7. XML
  8. Client-Side Web programming (javascript)
  9. Transport Layer (TCP e UDP)
  10. Network Layer (IP)

Esempi di codice e esercizi

  1. Esempi HTML
  2. CGI in C
  3. Esempi tutorial PHP
  4. Esempio accesso DB da PHP (new)
  5. Esercizi PHP
  6. Esempi XML
  7. Esempi Javascript
  8. Esempi Socket C
  9. Configurazione IP e routing
  10. Esercizi XML
  11. Esercizi Javascript
  12. Esercitazione PHP di laboratorio 11/04/2014
  13. Esercitazione PHP di laboratorio 17/04/2015
  14. Esercitazione Javascript di laboratorio 18/05/2017

Testi di esami e prove in itinere

  1. Prima prova 2010/11 (vecchio programma)
  2. Seconda prova 2010/11 (vecchio programma)
  3. Prima prova 2011/12 - soluzione esercizio 1 (vedi Esercizio PHP 9) - soluzioni esercizi 2
  4. Seconda prova 2011/12 - soluzioni
  5. Sessione 1 2011/12 - Primo appello - soluzioni
  6. Sessione 1 2011/12 - Secondo appello - soluzioni
  7. Sessione 2 2011/12 - Primo appello - soluzioni
  8. Sessione 2 2011/12 - Secondo appello - soluzioni
  9. Sessione straordinaria 2011/12 - soluzioni
  10. Sessione 3 2011/12 - Primo appello - soluzioni
  11. Prima prova 2012/13 - soluzioni
  12. Seconda prova 2012/13 - soluzioni
  13. Sessione 1 2012/13 - Primo appello - soluzioni
  14. Sessione 1 2012/13 - Secondo appello - soluzioni
  15. Sessione 2 2012/13 - Primo appello - soluzioni
  16. Sessione 2 2012/13 - Secondo appello - soluzioni
  17. Sessione straordinaria di novembre 2012/13 - soluzioni
  18. Sessione 3 2012/13 - Secondo Appello - soluzioni
  19. Sessione straordinaria di Aprile 2012/13 - soluzioni
  20. Prima prova 2013/14 - soluzioni
  21. Seconda prova 2013/14 - soluzioni
  22. Sessione 1 2013/14 - Primo appello - soluzioni
  23. Sessione 1 2013/14 - Secondo appello - soluzioni
  24. Sessione 2 2013/14 - Primo appello - soluzioni
  25. Sessione 2 2013/14 - Secondo appello - soluzioni
  26. Sessione straordinaria di Novembre 2013/14 - soluzioni
  27. Sessione 3 2013/14 - Primo appello - soluzioni
  28. Sessione 3 2013/14 - Secondo appello - soluzioni
  29. Sessione straordinaria di Aprile 2014/15 - soluzioni
  30. Prima prova 2014/15 - soluzioni
  31. Seconda prova 2014/15 - soluzioni
  32. Sessione 1 2014/15 - Primo appello - soluzioni
  33. Sessione 1 2014/15 - Secondo appello - soluzioni
  34. Sessione 2 2014/15 - Primo appello - soluzioni
  35. Sessione 2 2014/15 - Secondo appello - soluzioni
  36. Sessione straordinaria di Novembre 2014/15 - soluzioni
  37. Sessione 3 2014/15 - Primo appello - soluzioni
  38. Sessione 3 2014/15 - Secondo appello - soluzioni
  39. Prima prova 2015/16 - soluzioni
  40. Seconda prova 2015/16 - soluzioni
  41. Sessione 1 2015/16 - Primo appello - soluzioni
  42. Sessione 1 2015/16 - Secondo appello - soluzioni
  43. Sessione 2 2015/16 - Primo appello - soluzioni
  44. Sessione 2 2015/16 - Secondo appello - soluzioni
  45. Sessione straordinaria di Novembre 2015/16 - soluzioni
  46. Sessione 3 2015/16 - Primo appello - soluzioni
  47. Sessione 3 2015/16 - Secondo appello - soluzioni
  48. Sessione straordinaria di Aprile 2015/16 - soluzioni
  49. Prima prova 2016/17 -
  50. Seconda prova 2016/17 - soluzioni
  51. Sessione 1 2016/17 - primo appello - soluzioni
  52. Sessione 1 2016/17 - secondo appello - soluzioni
  53. Sessione 2 2016/17 - primo appello - soluzioni
  54. Sessione 2 2016/17 - secondo appello - soluzioni

Link utili

  1. Easy PHP (Windows)
  2. WAMP server (Windows)
  3. MAMP (Mac OSx)
  4. XAMPP (multiplatform)
  5. PHP (sito principale)
  6. HTML 4.01 specification
  7. HTML 5 draft
  8. Apache Web server
  9. Aptana Studio (PHP/HTML IDE)
  10. NetBeans IDE
  11. Visual traceroute

Materiale relativo agli anni accademici precedenti (vedere qua)