CBL - Campus del Baix Llobregat

Projecte llegit

Títol: Reinforcement Learning-Based Routing in SDN Networks


Estudiants que han llegit aquest projecte:


Director/a: AGUSTÍ TORRA, ANNA

Departament: ENTEL

Títol: Reinforcement Learning-Based Routing in SDN Networks

Data inici oferta: 21-07-2022     Data finalització oferta: 21-03-2023



Estudis d'assignació del projecte:
    GR ENG SIS TELECOMUN
    GR ENG TELEMÀTICA
Tipus: Individual
 
Lloc de realització: EETAC
 
Paraules clau:
SDN, Reinforcement Learning, Python, ONOS, Java
 
Descripció del contingut i pla d'activitats:
A les xarxes basades en software (Software-defined Networking,
SDN) es separa el pla de dades del pla de control. Les tasques
d'enviament de les dades (forwarding) les realitzen els
elements de la xarxa (commutadors), mentre que les tasques per
determinar la configuració de les taules de commutació dels
elements de la xarxa i, per tant, realitzar l'encaminament a
la xarxa, les realitza un element anomenat controlador.

ONOS (Open Network Operating System), de la Linux Foundation,
és un controlador SDN desenvolupat en el marc d'un projecte
que té com a objectiu proporcionar un sistema operatiu de codi
obert distribuit per a xarxes SDN que es pugui utilitzar com a
platarforma per provar i desenvolupar noves aplicacions i
serveis.

Aquest projecte proposa el desenvolupament d'un mòdul per al
controlador ONOS on es puguin programar, provar i avaluar
algoritmes de machine learning per a determinar la
configuració de les taules de commutació dels dispositius.
 
Overview (resum en anglès):

Ever since the concept of the Internet was born, it has experienced a massive increase in the number of users. Similarly, there has been an exponential increase in the amount of information that they transmit, partly because of new technologies and services that have emerged, such as cloud and real-time communication. Customers do now demand a fast and reliable interaction, without any data loss or undesired delays.

In order to meet these needs and keep up with the constantly-evolving technologies different non-profit organizations needed to devise a new technology, and this is when Software-Defined Networking (SDN) was born. Unlike traditional networks to date, it decouples the control layer from the data layer, leaving the act of forwarding traffic to the network device and delegating all network decisions to a controller, thus centralizing all the decisions, which improves network operability and agility. Despite all the improvements made with this technology, we still encounter the same problems of traditional networks regarding traffic routing. Conventional algorithms such as Dijkstra and Least Loaded (LL) based on the occupancy of the links, allocate traffic without considering the impact the chosen path could have if future traffic were to be introduced in the network.

The objective of this project is to create an algorithm capable of routing traffic taking into account the future impact. To evaluate the proposed mechanism of Dijkstra, we will first obtain some experimental results using the default link weights and then base these weights on the occupancy of the links, using the Open Network Operating System (ONOS) as the SDN controller and the Multi-Generator (MGEN) tool to generate traffic. After these results, this research will use Reinforcement Learning (RL), a subcategory of Artificial Intelligence (AI), to train a RL model in Python using a network of eight interconnected switches.

After the agent is trained, we have made a comparison between RL, LL, and SP, in which we have run a series of files containing flows of different rates. In conclusion, this research will exhibit that, on average, the RL algorithm consistently beats the other two algorithms by 16%, when it comes to reducing the data loss, which will improve the efficiency of the network.


© CBLTIC Campus del Baix Llobregat - UPC