Scheda programma d'esame
PROTOCOLLI E SERVIZI DI RETE
AUGUSTO CIUFFOLETTI
Anno accademico2022/23
CdSINFORMATICA UMANISTICA
Codice712AA
CFU6
PeriodoPrimo semestre
LinguaItaliano

ModuliSettoreTipoOreDocente/i
PROTOCOLLI E SERVIZI DI RETEINF/01LEZIONI42
AUGUSTO CIUFFOLETTI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

L'obiettivo del corso è spiegare Internet a chi deve contribuire in modo creativo al suo utilizzo. Per questo il corso  esamina e spiega i meccanismi che ne realizzano le funzioni partendo da quelle che ci sono familiari, ma che sono solo la superficie di un manufatto molto complesso.

Il corso esamina i concetti fondamentali della struttura di Internet, secondo la sua organizzazione stratificata.

Si inizia dallo strato di network per spiegare la complessa organizzazione globale del sistema, Successivamente vengono descritte alcune tecnologie rilevanti dello strato di link focalizzandosi sulle reti locali. Quindi si ritorna allo strato network per studiarne i meccanismi di routing. Poi si introducono i protocolli di trasporto ed infine il protocollo di applicazione HTML. In questa prima parte il contenuto è organizzato per protocolli, spiegando le relazioni esistenti tra essi e limitando i dettagli a quelli necessari a comprenderne la funzione ed il ruolo, 

Conclusa l'introduzione di HTML, lo studente ha le basi per affrontare gli argomenti relativi allo sviluppo di servizi: per questo il corso entra in una fase più pratica, studiando le tecniche utilizzate per la loro realizzazione, in particolare utilizzandoo risorse condivise (cloud).

 

Knowledge

The student who successfully completes the course will have the ability to use applications that require an understanding of network operation, and to diagnose the presence of network related problems. He/she will be able to demonstrate a solid knowledge of the networking protocols currently used for web browsing, peer 2 peer applications and web based applications. He/she will be aware of the structure and organization of the global Internet.

Modalità di verifica delle conoscenze

La verifica consiste in una esame orale, durante il quale si richiede l'inquadramento di un argomento specifico, la descrizione di un dettagliio tecnico specifico di un argomento, e lo svolgimento di una attività di laboratorio.

Assessment criteria of knowledge

The student will be assessed on his/her demonstrated ability to discuss the main course contents using the appropriate terminology. The discussion includes the demonstration of practical skills, using the laboratory support.

Methods:

  • Final oral exam
  • Laboratory practical

 

Capacità

Utilizzo consapevole di Internet, conoscenza della terminologia correlata, capacità di interagire con professionisti del settore, comprensione delle potenzialità e dei rischi correlati ad Internet, competenza nello operazioni di gestione fondamentali.

Skills

Knowledgeable use of the Internet, knowledge of related terminology, ability to interact with specialists, understanding of the potentials and of the risks correlated with the Internet, competence in carrying out fundamental tasks.

Modalità di verifica delle capacità

L'esame orale verifica l'efficacia e l'appropriatezza terminologica ed include lo svolgimento di una attività di laboratorio per verificare le capacità pratiche.

Assessment criteria of skills

The oral examination verifies the efficacy and appropriateness of the terms used and includes the execution of one of the laboratory exercises in order to verify practical skills.

Comportamenti

Proprietà d'uso e comprensione della terminologia tecnica.

Behaviors

Correct use and understanding of topic terminology.

Modalità di verifica dei comportamenti

Durante la prova orale viene considerata la comprensione dei concetti e la proprietà del lessico. In sede di prova di laboratorio vengono proposte situazioni che richiedono semplici estrapolazioni a partire dai contenuti del corso.

Assessment criteria of behaviors

During the oral examination we evaluate the terminology used, and we propose situation that require understanding and extrapolation, mainly during the execution of the laboratory activity.

Prerequisiti (conoscenze iniziali)

Conoscenza elementare del linguaggio Python e della commandline Unix (Linux).

Prerequisites

Basic knowledge of the Python programming language and of Unix commands.

Indicazioni metodologiche

Vengono affiancate lezioni teoriche, pause di riflessione (domande) e attività pratiche (suggerite o svolte in classe), in proporzione percentuale 70+10+20. Le esercitazioni pratiche che non possono essere svolte in classe per motivi di tempo possono essere svolte a casa utilizzando il laboratorio virtualizzato.

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • individual study
  • Laboratory work
  • ICT assisted study

Attendance: Not mandatory

Teaching methods:

  • Lectures
  • Seminar
  • Task-based learning/problem-based learning/inquiry-based learning
  • laboratory

 

Programma (contenuti dell'insegnamento)
  • Introduzione: Livello IP e routing
  • Presentazione del laboratorio virtuale
  • Comando ping, cattura ed analisi dei pacchetti PING (Wireshark)
  • Pacchetti e incapsulamento
  • Strato Link: il protocollo Ethernet, 803.11 (WiFi), 803.1Q (Virtual Network)
  • Strato IP: lo header IP e UDP
  • Strato IP: DHCP, DNS, multicast con IGMP e routing RIP e OSPF
  • Python, algoritmi di routing in Python.
  • TCP: connessione e finestra scorrevole ;API python per TCP
  • Controllo della congestione (slow start, triplo ack, tahoe/reno)
  • Network Address Translation (NAT) Sicurezza in Internet
  • Crittografia simmetrica e asimmetrica
  • Il protocollo HTTP Laboratorio web server minimo in python
  • Infrastruttura HTTP WebSockets Laboratorio: IoT con ThingSpeak
  • Laboratorio: il web framework Flask/Python
  • Cloud computing Cloud pubblico, privato e ibrido IaaS, PaaS e SaaS Laboratorio: il servizio PaaS Heroku
Syllabus
  • The structure of the Internet: from local networks to autonomous systems
  • Introduction to the virtual lab
  • Ping, capture of ping packets using Wireshark
  • The Link layer: Ethernet, WiFi and VLan
  • The network layer: IP and UDP
  • The network layer: DHCP, DNS, IGMP multicast and routing
  • Dijkstra and Bellman-Ford in Python
  • The transport layer: TCP, Python API, TCP congestion
  • Internet security (symmetric and asymmetric keys)
  • REST services and IoT applications (ThingSpeak)
  • Web Services with Flask
  • Cloud computing essentials, laboratory with Heroku deploy
Bibliografia e materiale didattico

Il moodle del corso include:

  • le trasparenze presentate a lezione
  • gli slidecast delle lezioni (registrati offline)
  • le istruzioni per l'installazione del laboratorio virtuale
  • gli screencast delle attività di laboratorio (registrati offline)
  • i quiz di autovalutazione

 

Bibliography

The moodle dedicated to the course include:

  • lecture transparencies
  • lecture slidecasts (recorded offline)
  • how to run the virtual laboratory
  • lab activities screencasts
  • self-assessment questionnaires

 

Condensed lecture notes from the teacher Kurose, Ross "Computer Networking, a top-down approach" further bibliography will be indicated.

Indicazioni per non frequentanti

Nessuna indicazione particolare: vengono formìniti i lucidi con il commento audio, e il laboratorio virtuale è disponibile anche per i non frequentanti.

Non-attending students info

The slidecasts and the screencasts are specifically indicated for non-attending students

Modalità d'esame

Esame orale della durata di 20' circa. Una domanda di inquadramento, una di approfondimento tecnico, una attività pratica scelta tra quelle illustrate a lezione. Nel caso venga proposta una realizzazione pratica (progetto) viene assegnato un bonus a chi consegna il progetto assegnato entro la scadenza.

Assessment methods

The oral examination has a typical duration of 20'. One framing question, one technical question, and the execution of a lab activity. An extra bonus applies if the assigned project is delivered within the deadline, or if the lab activity has original aspects.

Ultimo aggiornamento 29/07/2022 13:09