Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2020/2021
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 054319 - SWITCHING AND ROUTING
Docente Pattavina Achille
Cfu 5.00 Tipo insegnamento Monodisciplinare
Didattica innovativa L'insegnamento prevede  1.0  CFU erogati con Didattica Innovativa come segue:
  • Blended Learning & Flipped Classroom

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento

Obiettivi dell'insegnamento

The course addresses the study of switching and routing systems in the era of Software Defined Networking (SDN) and Network Function Virtualization (NFV).

Fundamental concepts about data-plane technology are initially given. In particular, routers and switches are analyzed, showing their classical architecture. Switching theory is explained to understand the most common interconnection structures. Efficient algorithms for address look-up, packet-flow classification and buffering management are presented. The focus of the course is on understanding the impact of softwarization and virtualization on the switching systems. For this purpose, the approaches and methodologies used in SDN and NFV are provided. In particular, the course presents the basic elements to understand the SDN control plane, focusing on the controllers and their interfaces, and finally, the Network Application (NetApp) plane is introduced. NetApps are presented in a practical and operative way, as the components providing intelligence to switching and routing in modern networks. Then, the basic elements related to Network Function Virtualization (NFV) are introduced, explaining service orchestration and the MANO model. Finally, the new switching and orchestration systems for SDN and NFV are introduced and compared to the traditional implementations.

The course also comprises hands-on experimental activity: the basic knowledge and tools required for this activity are presented and explained during the laboratory hours and exploited by students to complete their project assignments. The experimental activity related to NFV will be supported by ADVA, a leading manufacturer of network equipment and orchestration software

Risultati di apprendimento attesi

1. Knowledge and understanding

Students will learn how to:

- Familiarize with theorems and properties of the switching network theory

- Exploit advanced logical structures to effectively perform searches in a table

- Describe the main functions needed in a router with relation to the IP network layer

- Identify the main subsystems of packet-switching equipment, focusing in particular on their traditional and SDN-oriented architectures

- Familiarize with the basic features of the SDN paradigm and of the south-bound interface protocols (e.g. OpenFlow, NETCONF)

- Learn the fundamental concepts of NFV

2. Applying knowledge and understanding

Students will be able to:

- Apply effective algorithms to perform the functions of address lookup and packet classification

- Design and compare various switching-fabric architectures

- Develop an SDN switch and a controller and related net apps needed to implement given functions

- Build and run a virtual testbed to test SDN OpenFlow switches

- Solve problems related to simple SDN usecases (mainly related to enterprise networking)

- Instantiate and manage Virtual Network Functions (VNFs) in an orchestrated environment

3. Making judgement

Students will be able to:

- Understand the trade-off between different complexity metrics (namely, execution and reconfiguration time, memory occupation) in algorithms for address lookup and packet classification

- Understand the trade-off between blocking properties and cost in switching fabrics

- Appreciate the main differences between the classical and the SDN paradigm when applied to switching and routing

- Understand the use and importance of virtualization in modern networking

4. Communication

Students will learn to:

- Orally report and critically discuss all the topics covered by the course

- Give evidence of what has been learned by demonstrating algorithms in simple examples during the oral exam

- Work in a team and present the work done to other colleagues


Argomenti trattati


1 – Introduction

- Architecture of the Internet.

- The general architecture of modern networks based on Software Defined Networking (SDN): data plane, control plane, network-application plane

2 – Data plane

- Review of Internet and the IP layer

- Router structure: design principles and expected performance

- Elements of interconnection networks: Taxonomy (mono-stage and multi-stage networks). Multistage networks with partial and full interconnection. (mentioning Banyan networks).

- Multi-stage networks: Three-stage networks. Paull and Slepian-Duguid theorem. Multi-stage networks with full interconnection: Clos theorem and recursive construction

- Routing of IP datagrams: Structure of IP addressing. Algorithms with tries. Algorithms based on trees and prefixes. Hardware algorithms

- Packet classification and traffic handling: Classifiers. Classification based on tries. Geometric algorithms. Heuristic algorithms. Network services and quality-of-service parameters

- The OpenFlow switches

3 – Control plane

- Fundamentals of SDN: north and south-bound interfaces, SDN controllers.

- OpenFlow protocol. Alternative South-bound protocols (NETCONF), Restful APIs, Data models (YANG models)

4 – Network application plane

- Network applications: Network Services Abstraction Layer, Measurement and Monitoring

- Introduction to Network Function Virtualization (NFV): NFV Reference Architecture, VNF Interfaces, VNF Scaling

- Virtual Infrastructure managers (introduction to OpenStack). Service orchestrators (MANO model)

- Usecases: virtualization of simple network functions (e.g. routers, firewalls)


In the exercise sessions, guidelines will be provided to students on how to showcase the learned algorithms on simple examples, so to prove the achievement of the learning outcomes related to logic.

Software Laboratory

1 – Virtualization Lab tools: Virtual Box, MiniNet

2 – SDN controllers: The Ryu framework; ONOS and ODL (introduction)

3 - Skeleton controller to develop the projects

4 – OpenStack: simple intorduction

5 - ADVA NFV orchestration suite

Project Laboratory

1 - Project assignment and development (teamwork), under the assistance of a project tutor (from ADVA for NFV projects or PoliMi for SDN projects)

2 - Software checks and project testing (teamwork), under the assistance of a project tutor (from ADVA for NFV projects or PoliMi for SDN projects)

 Innovative Learning

The innovative learning action in the course will be provided by the following active-classroom forms:

Specific topics covered in a flipped-classroom form (e.g. Buffering in packet switching, including: buffering strategies (input, output, shared queueing), scheduling in VOQ switches (algorithms for maximum matching and maximal matching)

Blended-classroom exercise sessions (after an example explained by the teacher, students solves exercises and present and discuss results)

Active student participation to the software-laboratory sessions, bringing and working on their own device

On-line assessment of knowledge (via Kahoot) at the end of each section


It is strongly suggested that students know the principles of networking, Internet and IP protocol. However, during the course a brief synopsis on Internet basics will be provided

Modalità di valutazione

The verification of knowledge for the course content consists of a test at the end of the course and the completion of a project activity. The test is an oral examination on the subjects covered by the course.

For the experimental activity, students are required to team-work on projects in which they implement switching and routing functionalities by SDN) techniques. Each team is assigned a specific task and has to develop a customized Ryu-controller version and a set of net applications to test the system. The developed software is first tested in an emulated network that students can implement at home by MiniNet; at the end, the software is also tested in a hardware OpenFlow network testbed at the Department's lab. Each team has to defend the project in a final presentation in front of the other colleagues and of the professor.

Other testbed may be available at the time of the course, such as a SDN and/or NFV testbed provided by a technology-vendor company. That will depend on the partnership agreements currently in course of definition.

The final score will be the mean of the two scores obtained by each student in the oral exam and in the project.

The participation of each student to innovative-learning classroom activities will be scored and will contribute to the final evaluation as an elective bonus.

In case of negative evaluation the student is admitted to the following tests of the academic year

Risorsa bibliografica obbligatoriaMaterial distributed by the lecturer: slides and exercise notes available on BEEP and video recordings available on Youtube
Risorsa bibliografica facoltativaChao, Liu, High Performance Switches and Routers, Editore: John Wiley & Sons, Anno edizione: 2007
Risorsa bibliografica facoltativaAchille Pattavina, Switching Theory, Architectures and Performance in Broadband ATM Networks, Editore: John Wiley & Sons, Anno edizione: 1998
Risorsa bibliografica facoltativaWilliam Stallings, Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud, Editore: Addison Wesley, Anno edizione: 2015

Available also in Kindle format

Software utilizzato
Nessun software richiesto

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
Ore di studio autonome
Laboratorio Informatico
Laboratorio Sperimentale
Laboratorio Di Progetto
Totale 49:57 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.7.2 / 1.7.2
Area Servizi ICT