Resumen :
Este Trabajo de Fin de Grado consiste en modelar una topología de switches Spine-Leaf
multidimensionales en un entorno SDN (Software Defined Network), mediante el
emulador Mininet-WiFi. El objetivo principal es explorar y analizar esta topología,
ampliamente utilizada en centros de datos moderno... Ver más
This Final Degree Project involves modeling a multidimensional Spine-Leaf switch
topology in a Software Defined Network (SDN) environment, using the Mininet-WiFi
emulator. The main objective is to explore and analyze this topology, widely used in
modern data centers, utilizing the Python programming language. The project develops
automated configuration, implementation, and performance testing.
As the environment is SDN-based, a controller is required. Initially, "ONOS" was used,
but due to technical issues, it was migrated to "OpenDaylight". The work was carried out
in a Linux environment, initially using a virtual machine, and later migrating to a partition
to optimize computational resources.
To analyze the topology's performance parameters, various testing scripts were developed
that automate performance tests and allow customization of both the topology and the
specific test. For this purpose, several auxiliary scripts were created to interact with
different environments, such as the Mininet-WiFi emulator, the OpenFlow protocol, data
input through console arguments, and data output in the form of graphs. These auxiliary
scripts are utilized by the main testing scripts.
During tests on various Spine-Leaf configurations, it was deduced that the controllers used
the Spanning Tree Protocol (STP) algorithm for topologies with loops, which blocks
redundant links. To leverage the Spine-Leaf topology, the Equal-Cost Multi-Path (ECMP)
algorithm was implemented, allowing the use of redundant links, thereby improving
bandwidth and latency. The ECMP implementation was achieved through an auxiliary
script that automated the definition of necessary flows using OpenFlow protocol
commands, enabling the emulation of the Spine-Leaf topology without a controller, as the
script acted as one.
Upon implementing ECMP, the focus shifted to bandwidth tests with different types of
flows, revealing that single-flow tests showed no improvements, but multiple and
distributed flows increased bandwidth. However, this also demonstrated some instability in
the results, as the ECMP algorithm assigned flows to links randomly.
Experimenting with ECMP revealed the utilization of each layer in the topology: the
number of switches in the Spine layer defined the maximum bandwidth, while the switches
in the Leaf layer allowed access to a greater number of devices in the network.
This work demonstrates the improvements introduced by the ECMP algorithm, using the
STP algorithm (employed by controllers) as a reference. It also showcases the utility of the
SDN environment, as it allows the implementation of algorithms that are not present in
conventional switches due to their closed-system nature.
|