Summary

Summary

In this report, we will explore the creation of a communication interface for the network devices of the IUT’s classrooms. This interface will be a way to create or modify a network infrastructure dynamically, according to the needs of the professor. We will talk about the context behind the project, i.e. the infrastructure already in place, the needs that led us to conduct this project and the possible solutions explored. We will then discuss the different steps in the creation of the interface, starting with the connection between the api and the switch, then the design of the api itself, the design of the web interface and the collaborative work aspect. Finally, we will look at the possible improvements, starting with the update of the web interface in real time, then the automatic discovery of the infrastructure and the automatic instantiation of apis, then the support of new generation switches, and finally the creation of graphs and alerts for monitoring.

Key words

  • SDN - Software Defined Network : Software Defined Network concept. It allows a great ease of deployment and development of the network infrastructure.
  • Cisco : Manufacturer of network devices, market leader.
  • API - Application Programming Interface : Application Programming Interface. It is a communication interface between the application and the network asset.
  • SNMP - Simple Network Management Protocol : Supervision protocol based on a system of OIDs (Object Identifier).
  • Flask - Microframework Python : Python-based web development framework.
  • FastAPI : Python-based web development framework. Allows to develop APIs easily and with automatically generated documentation.
  • Docker : Container deployment software. Allows to deploy containers on servers. Containers are applications that run in an environment completely isolated from the rest of the system. This allows management as independent units, so that they can be managed independently.
  • GCP - Google Cloud Platform : Google Cloud Platform. Here we use it as a container hosting platform.
  • Github : Collaborative development platform. Allows to share code, create repositories and manage repositories.
  • Hugo : Content publishing site. Allows to generate static websites from content written in Markdown.