Servizi per la didattica
PORTALE DELLA DIDATTICA

Software Networking

01SQPOV

A.A. 2019/20

Lingua dell'insegnamento

Italiano

Corsi di studio

Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino

Organizzazione dell'insegnamento
Didattica Ore
Lezioni 48
Tutoraggio 24
Esercitazioni in laboratorio 12
Docenti
Docente Qualifica Settore h.Lez h.Es h.Lab h.Tut Anni incarico
Risso Fulvio Giovanni Ottavio Professore Associato ING-INF/05 48 0 0 0 2
Collaboratori
Espandi

Didattica
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
2018/19
Insegnamento facoltativo per la Laurea Magistrale in Ingegneria Informatica, collocato al I PD del II anno. Il corso si focalizza sulle tematiche software relativamente al mondo del networking, che rappresenta attualmente un campo in forte evoluzione. Il corso si concentrerà inizialmente sul piano di controllo delle reti, presentando gli algoritmi e i protocolli relativi (es. protocolli di routing), quindi si affronteranno gli aspetti software relativamente al piano dati (forwarding, filtering, dataplane programmabili). Verranno inoltre introdotti i concetti di Software-Defined Networks, Network Functions Virtualization, e verrà approfondita l’architettura del networking del sistema operativo Linux (es., netfilter, iptables, eBPF), diventato ormai lo stato di fatto dei server in un datacenter. Infine verranno presentati alcuni esempi di utilizzo dei concetti precedenti in orchestratori di datacenter, quali OpenStack e Kubernetes. Verranno infine effettuate alcune esercitazioni di laboratorio a supporto dell’apprendimento in aula.
- Conoscenza degli algoritmi di forwarding e di routing unicast. - Conoscenza dei protocolli di routing intra- ed inter-dominio. - Conoscenza delle principali tecnologie di data-plane in un moderno apparato di rete (ASIC custom, OpenFlow, P4). - Conoscenza dell'architettura del networking di Linux e dei principali strumenti di configurazione dei corrispondenti componenti kernel. - Conoscenza dei concetti di Software-Defined Networks e Network Functions Virtualization.
Conoscenze generali di reti di calcolatori. Conoscenza approfondita del protocollo IP e dei principali protocolli della suite TCP/IP. Capacità di progettazione di reti IP e di gestione di routing statico. Capacità di analisi del traffico in riferimento ai principali protocolli della suite TCP/IP. Conoscenze di switching di livello data-link, VLAN, architetture di datacenter.
- Data plane vs Control Plane e architettura degli apparati di rete commerciali (0.4 cr) - Algoritmi di routing unicast (Distance Vector, Path Vector, Link State); routing gerarchico (0.6 cr) - Principali protocolli di routing intra-dominio (cenni di RIP, IGRP, EIGRP; OSPF) (0.6 cr) - Protocolli di routing inter-dominio (BGP) (0.4 cr) - Tecnologie hardware programmabili per dataplane: OpenFlow, P4 (0.6 cr) - Tecnologie software per dataplane: software di accelerazione quali OpenDataPlane, DPDK (0.2 cr), eBPF/Iovisor, eXpress Data Path (0.6 cr); packet filtering (0.4 cr) - Linux networking architecture, NetFilter (0.4 cr) - Software Defined Networks (0.2 cr) - Network Functions Virtualization (0.2 cr) - Network automation: strumenti software principali (es., Ansible, Chef, Puppet) e protocolli (Yang, OpenConfig, Netconf, Restconf) (0.2 cr) - Orchestratori per ambienti telco e per datacenter; OpenStack, Kubernetes (0.2 cr) - Esercitazioni di laboratorio (1.2 cr)
Sono previsti homework, da svolgere individualmente, per la maggior parte degli argomenti teorici, che consistono nello svolgimento di esercizi relativi a quanto trattato nelle lezioni immediatamente precedenti. In aggiunta agli homework, vi sono anche esercitazioni di laboratorio che consistono nella configurazione, nella verifica del funzionamento e nella ricerca guasti di alcune tecnologie introdotte a lezione, mediante l'utilizzo di apparati commerciali o del sistema operativo Linux. Sono previste 4 esercitazioni in laboratorio, con la possibilità di fruizione del laboratorio anche da remoto in orari non allocati alle lezioni del corso. Le esercitazioni sperimentali dovranno essere svolte preferibilmente da team di 2 studenti.
Non esiste un testo di riferimento che copra interamente gli argomenti trattati. I testi consigliati sono i seguenti: - J. Doyle, J. Carroll, Routing TCP/IP, Volume 1 (2nd Edition), Cisco Press, 2005, ISBN 978-1587052026 - J. Doyle, J. Carroll, Routing TCP/IP, Volume 2, Cisco Press, 2001, ISBN 978-1578700899 - G. Vargese, Network Algorithmics, Morgan Kaufmann Publishers, 2005, ISBN 978-0120884773 Sono disponibili copie dei lucidi utilizzati nelle lezioni, esempi di scritti di esame ed esercizi, e i manuali per le esercitazioni di laboratorio. Tutto il materiale didattico è scaricabile da un sito web o attraverso il portale.
Modalità di esame: prova scritta;
Risultati di apprendimento attesi Comprensione degli argomenti trattati a lezione e abilità nella soluzione di esercizi focalizzati sui singoli argomenti. Capacità di affrontare esercizi di progettazione più complessi che richiedono l’utilizzo combinato di più tecnologie tra quelle presentate a lezione. Criteri, regole e procedure per l'esame L'esame finale è scritto, comprendente quattro esercizi e/o domande con risposta aperta, ognuna avente punteggio pari a 5 punti, più 10 domande con risposta a scelta multipla. I primi concorrono al voto finale per 5/30 ciascuno, le seconde con 1/30 ciascuna. Gli studenti che totalizzano nella prova scritta un punteggio pari ad almeno 26 punti avranno diritto ad un orale comprendente una domanda che concorrerà al voto finale per 3/30. L'orale potrà essere richiesto per libera decisione del docente nel caso in cui sia opportuno un approfondimento. Il tempo assegnato per l'esame è di 2 ore. La prova scritta non prevede l’utilizzo di alcun materiale di supporto (libri, appunti, etc.).
Exam: written test;


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
m@il