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.
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.
- 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.
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)
- 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.
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.
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 orale facoltativa; Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo;
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 comprende 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: Optional oral exam; Computer-based written test using the PoliTo platform;
Expected learning outcome
Knowledge of the topics presented in class and of the lab assignments.
Capability to solve exercises that involve the technologies presented in class.
Capability to solve exercises that involve a complex scenario that requires a subset of the technologies presented in class.
Exam: rules, procedures
Written final exam: it will include a set of exercises and/or open-answer questions, each one reaching a max of 5 points. In addition, a set of closed-answer questions may be delivered, each one accounting for max 1 points. The total score of the written exam will be max 30 points. The written exam will last max 2 hours; student cannot bring with them any additional material (e.g., slides, notes, etc).
Students who reach a grade >=26 in the written exam can ask for an optional oral exam, consisting in one question, which will contribute to the final grade with max 3 points.
The oral may also be requested by the professor in case it could be useful to decide the final grade.
Modalità di esame: Test informatizzato in laboratorio; Prova orale facoltativa; Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo;
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 comprende 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: Computer lab-based test; Optional oral exam; Computer-based written test using the PoliTo platform;
Expected learning outcome
Knowledge of the topics presented in class and of the lab assignments.
Capability to solve exercises that involve the technologies presented in class.
Capability to solve exercises that involve a complex scenario that requires a subset of the technologies presented in class.
Exam: rules, procedures
Written final exam: it will include a set of exercises and/or open-answer questions, each one reaching a max of 5 points. In addition, a set of closed-answer questions may be delivered, each one accounting for max 1 points. The total score of the written exam will be max 30 points. The written exam will last max 2 hours; student cannot bring with them any additional material (e.g., slides, notes, etc).
Students who reach a grade >=26 in the written exam can ask for an optional oral exam, consisting in one question, which will contribute to the final grade with max 3 points.
The oral may also be requested by the professor in case it could be useful to decide the final grade.