Resumen:
Las redes desempeñan un papel crucial en la conectividad y comunicación
entre dispositivos, servicios y usuarios. Sin embargo, el aumento exponencial de
la demanda de datos y dispositivos conectados ha generado importantes desafíos para
las redes tradicionales. Uno de estos problemas es el enrutamiento, ya que este proceso
puede ser complicado y estático, lo que conduce a cuellos de botella, ineficiencias
y tiempos de respuesta lentos. Por lo tanto, las Redes Definidas por Software surgen
como una posible solución para abordar los desafíos del enrutamiento, al separar el
plano de control del plano de datos, lo que permite un control más flexible y programable.
No obstante, la arquitectura centralizada de las Redes Definidas por Software
puede enfrentar problemas de escalabilidad y fiabilidad debido a la dependencia de un
solo controlador, el cual se puede ver saturado por el aumento del flujo de información.
Si este único controlador falla, toda la red quedaría incomunicada al no poder realizar
enrutamiento. Debido a esto surgieron las arquitecturas de plano de control distribuidas.
En el presente trabajo de grado se propone un enfoque para abordar el enrutamiento
en una arquitectura distribuida jerárquicamente en Redes Definidas por Software
utilizando Aprendizaje por Refuerzo con múltiples agentes. Este enfoque tiene
en cuenta la información del estado del enlace para tomar decisiones de enrutamiento
basadas en las métricas de la calidad de servicio (packet loss, delay y throughput). Se
empleó la interacción con el entorno, el Aprendizaje por Refuerzo y la visión global de
la topología, en conjunto con el control de la red, para calcular e instalar las rutas óptimas
para cada par origen-destino en los conmutadores. Los resultados muestran que
este enfoque supera tanto a la variación de Dijkstra, basada en el throughput, como al
algoritmo Q-learning, en términos de packet loss, delay y throughput.