Questo insegnamento presenta le architetture, gli algoritmi e i protocolli più diffusi per la realizzazione di reti di calcolatori e di comunicazione, a partire da sistemi di trasmissione a livello fisico, fino ad arrivare alle più diffuse applicazioni e relativi protocolli di comunicazione. L'obiettivo dell'insegnamento è fornire agli studenti gli elementi necessari alla comprensione del funzionamento delle reti di calcolatori e di comunicazione, con particolare attenzione alla rete Internet.
The course describes the most common architectures, algorithms and protocols used to implement computer networks, starting from the physical layer up to the most popular application layer protocols. The course goal is to give the students the elements needed to understand how computer and communication networks work, with particular emphasis to the Internet.
• Concetti generali alla base delle reti di calcolatori: classificazione basata sull'area geografica coperta, topologie di rete, tecniche di commutazione a pacchetto e a circuito, tecniche di multiplazione e di accesso multiplo, modelli di servizio di tipo client-server e peer-to-peer, architetture stratificate di protocolli, caratterizzazione del traffico di rete e requisiti di qualità di servizio.
• Principali tipi di canali trasmissivi, tecniche di codifica dei dati, reti di accesso e di trasporto.
• Principali tecniche di recupero degli errori e di controllo di flusso: protocolli a finestra ARQ.
• Principali protocolli di livello collegamento e architetture e protocolli per reti locali e interconnessione di reti locali.
• Protocollo IP: protocollo di livello rete in Internet, algoritmi e protocolli di instradamento, indirizzamento e traduzione di indirizzi in Internet, Multicast IP.
• Protocollo TCP e UDP: Protocolli di livello trasporto in Internet, algoritmi e problematiche.
• Protocolli per applicazioni in Internet: SMTP, POP e IMAP, HTTP, DNS, Applicazioni P2P, Comunicazioni multimediali, VoIP, SIP.
La capacità di applicare le conoscenze sarà verificata mediante esercitazioni in aula e in laboratorio.
The student will gain knowledge on:
• General concepts of computer networks: network classification based on the covered area, network topologies, switching techniques (circuit and packet), multiplexing and multiple access techniques, service models (client-server, peer-to-peer), layered protocol architectures, traffic characterization and QoS requirements.
• Transmission channels, bit encoding techniques, access and transport networks.
• Error recovery and flow control techniques: ARQ window protocols.
• Data-link layer protocols.
• Local Area Networks: architecture, protocols, interconnection.
• Routing algorithms and protocols. Network protocols in the Internet, IP addressing and translation, Multicast IP.
• Internet transport layer protocols.
• Internet application layer protocols.
The ability to apply the gained knowledge will be verified through lab experience and class exercise on course subjects.
Lo studente deve avere una conoscenza elementare sul funzionamento di un sistema di elaborazione, conoscere gli elementi base della rappresentazione dei numeri sui calcolatori, ed essere in grado di effettuare le conversioni decimale-binario e binario-decimale. Inoltre, è anche richiesta la conoscenza del concetto di spettro di frequenza, e delle tecniche di campionamento dei segnali. Infine, sono richieste conoscenze elementari di fisica, con particolare riferimento all'ottica ed all'elettromagnetismo.
Basic skills in computer engineering (fist year course level). In particular, the student should be able to perform decima-to-binary and binary-to-decimal conversions, and he/she should have a basic understanding of how a computer works. Understanding of concepts such as frequency spectrum, its energetic interpretation and signal sampling is also requested. The student should also be familiar with basic physics concepts related to optics and electromagnetic fields.
Gli argomenti trattati a lezione sono i seguenti, divisi in due parti:
Parte I: Fondamenti e reti di accesso
• Concetti generali alla base delle reti di calcolatori: classificazione basata sull'area geografica coperta e topologie, tecniche di commutazione (pacchetto e circuito), tecniche di multiplazione, modelli di servizio (client-server, peer-to-peer), architetture a strati di protocolli, caratterizzazione del traffico e requisiti di qualità di servizio. (1,6 CFU)
• Livello fisico: Principali tipi di canali trasmissivi e relative tecniche di codifica, reti di accesso con e senza fili, reti di trasporto. (0,8 CFU)
• Livello data-link: principi di recupero di errore e controllo di flusso, protocolli per canali punto-punto, architetture e protocolli per reti locali e interconnessione di reti locali. (1,6 CFU)
Parte II: Comunicazione end-to-end e applicazioni
• Protocolli di livello rete in Internet: IPv4 e ICMP, indirizzamento IP, DHCP, ARP, NAT, Multicast IP. (1,2 CFU)
• Strumenti per l’analisi di rete (0,2 CFU)
• Protocolli di livello trasporto (TCP e UDP). (0,7 CFU)
• Protocolli di livello applicativo (SMTP, POP e IMAP, HTTP, DNS, Applicazioni P2P, Comunicazioni multimediali, VoIP, SIP) (1 CFU)
• Esercitazioni di laboratorio (0,9 CFU)
Classroom lessons will cover the following topics:
- General concepts related to computer networks: classification based on the extension of the physical area covered, circuit and packet switching, connectionless and connection-oriented protocols, layered protocol architecture, requirements for the transmission of audio/video and non real-time data (1,6 CFU)
- Major physical media for data transmission, and related data encoding techniques (0,8 CFU)
- Data-link layer: principles of error recovery and flow control, point-to-point protocols, local area networks. (1,6 CFU)
- Network layer: IPv4, ICMP, ARP, and DHCP protocols, addressing schemes, NAT, Multicast IP. (1,2 CFU)
- Network Analysis tools (0,2 CFU)
- Transport layer: UDP and TCP protocols. (0,7 CFU)
- Application layer: HTTP, SMTP, POP and IMAP protocols, P2P applications, Multimedia communication, VoIP, SIP. (1 CFU)
- Laboratory (0,9 CFU)
Sono previste esercitazioni in aula (comprese nel dettaglio di suddivisione oraria indicato nella sezione precedente) che vertono prevalentemente sui seguenti argomenti:
• Tecniche di commutazione
• Funzionamento dei protocolli a finestra
• Previsione di sequenze di messaggi che vengono generati per realizzare operazioni avviate dall'utente, data una particolare configurazione della rete.
In laboratorio è prevista l'analisi di tracce di pacchetti catturati su rete locale, sia in modo passivo, sia a seguito di operazioni iniziate dall'utente.
Exercises in the classroom will cover the following topics:
- Switching techniques
- Sliding window protocols
- Sequence of messages expected to implement a given operation initiated by the user, given a particular network configuration.
Sessions in laboratory will cover packet analysis on real traffic, captured either in passive way or after specific commands entered by students.
Il materiale verrà fornito dal docente e sarà disponibile sul sito web del portale della didattica.
Testi consigliati per gli approfondimenti/esercitazioni:
• A. Pattavina: Reti di telecomunicazioni, Mc.Graw-Hill (in italiano)
• J.F. Kurose, K.W. Ross: Computer Networking: A Top-Down Approach Featuring the Internet, Pearson (disponibile in italiano e inglese)
• (per la prima parte del corso) A. Bianco, C. Casetti, P. Giaccone, Esercitazioni di reti telematiche, Capitoli 1-2-3, CLUT (in italiano)
• (per la seconda parte del corso) F. Risso, dispense di esercizi (in inglese, disponibili sul portale della didattica)
The teacher will distribute the course material, and it will be available on the web pages of the course.
Additional reading:
- A. Pattavina: Reti di telecomunicazioni, Mc.Graw-Hill (in italian)
- J.F. Kurose, K.W. Ross: Computer Networking: A Top-Down Approach Featuring the Internet
- A. Bianco, C. Casetti, P. Giaccone, Esercitazioni di reti telematiche, Capitoli 1-2-3, CLUT (in italian)
- F. Risso, Exercise collections (in english, available on the portal)
Modalità di esame: Prova scritta (in aula);
Exam: Written test;
...
L’esame, della durata complessiva di 2 ore, sarà articolato nelle seguenti componenti:
• 12 quiz a risposta multipla. Ogni risposta ha un punteggio pari a 1 punto se è giusta e a -0.25 punti se è sbagliata. Se il punteggio complessivo è uguale o superiore ad una soglia, sarà corretta anche la parte successiva, altrimenti l’esame sarà considerato non superato (indipendentemente dalla parte successiva, che non sarà corretta).
• Da 2 a 4 domande aperte: per ciascuna delle due parti del corso saranno possibili una domanda di teoria e/o un esercizio numerico, oppure due esercizi numerici.
Durante la prova non è possibile consultare nessun tipo di materiale didattico ed è vietato l’uso della calcolatrice.
La valutazione degli esercizi numerici si basa sia sul risultato finale ottenuto sia sul procedimento utilizzato per ottenerlo. Nelle domande e negli esercizi teorici si valuta invece il livello di comprensione dei concetti e degli argomenti esposti a lezione.
Il voto finale sarà calcolato come la somma non pesata delle due componenti, convalidate da una valutazione positiva della prova finale.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Written test;
2-hour written exam, organized as follows:
- 12 multiple-choice questions. Correct answer: 1 point, wrong answer: -0.25 points, empty answer: 0 points. The exam will be considered only if the overall score in this first part is higher than a given threshold. Otherwise, it will not be checked.
- 2 to 4 open questions. For each course part, the exam text may contain 1 theoretical question, 1 exercise, or 2 exercises.
The use of any teaching material is forbidden during the exam, as well as the use of a calculator of any type.
The evaluation of the numerical exercises will be based on both the final result and the procedure adopted to obtain it. Instead, in theoretical questions and exercises it will be evaluated the knowledge level of the explained concepts and topics.
The final mark will be evaluated as weighted summation of the two components, validated by a positive outcome of the final project.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.