Skip to content

Open source SDN solution for real-time traffic monitoring and routing to optimize network resources.

Notifications You must be signed in to change notification settings

amuracciole/TrafficEngineering-SDWAN

Repository files navigation

Solución de Ingeniería de Tráfico - TFM 2019/2020

Este repositorio forma parte del trabajo de TFM de Andrés Muracciole para el Master Universitario en Ingeniería en Redes y Servicios Telemáticos (MUIRST) de la Universidad Politécnica de Madrid (UPM)

Mención especial para Carlos M. Lentisco Sánchez quien tutorizó el trabajo desde un principio.

OBJETIVO: Estudio e implementación de una solución de ingeniería de tráfico y controlador SD-WAN para tratamiento de datos en una red WAN en tiempo real. El objetivo es sensar los caminos hasta el destino y determinar el camino mas óptimo para el tráfico sensible, en función del ancho de banda disponible en los canales.

El controlador a utilizar será Ryu y se hará un fuerte uso de su API.

El escenario tiene la particularidad de tener una topologia "tipo pez" de forma que se crea un loop se conmutadores como se puede apreciar en la figura. Aquí radica la dificultad del escenario ya que se debe aplicar una solución óptima para que no queden paquetes en el loop haciendo que se congestione la red.

Main_menu

Main Menu:

Iniciar la aplicación con el ejecutable TE_SD-WAN.desktop

main_menu Esto levanta una interfaz de menu en la terminal desde donde se pueden realizar las siguientes cosas:

  1. Crear escenario

  2. Destruir escenario

  3. Ejecutar controlador

  4. Realizar configuración

  5. Visualizar configuración

Al seleccionar la tercer opción, por defecto se envía todo el tráfico por el camino mas corto. Luego el usuario mediante la opción 4 será capaz de poder configurar el camino que desea que tome cada tipo de tráfico identificándolo por IPv4, IPv6 o ARP y direcciones IP (v4 o v6) origen y destino.

1 - Crear escenario

Levanta el escenario Laboratory_full.xml. Conjuntamente con este se ejecuta un script que limita el ancho de banda de los canales a 100 Mbps.

ACLARACIÓN: Puede que sea necesario cambiar el path del archivo para que funcione en su máquina.

Para ello es necesario de antemano tener instalado el wondershaper mediante los siguientes comandos:

git clone https://github.com/magnific0/wondershaper.git
cd wondershaper
sudo make install

2 - Destruir escenario

Elimina el escenario creado en el punto 1.

3 - Ejecutar controlador

Ejecuta el controladore RyU. Por defecto se crean reglas para que todo el tráfico IPv4, Ipv6 y ARP se encamine por el camino mas corto (CONM_A - CONM_C - CONM_E).

Paralelamente se ejecuta una instancia de Monitor.py que mide el promedio de los últimos 30 segundos del ancho de banda utilizado. Si se supera el 65% del total, se activan polçiticas para priorizar el tráfico sensible. Este proceso es automático en función de las prestaciones actuales de la red.

4 - Realizar configuración

Permite agregar reglas en las tablas de flujos así como también eliminar aquellas anteriormente creadas. Está configurado para que solo se eliminen aquellas con prio=10, es decir aquellas creadas explicitamente por el usuario para encaminar determinado tráfico IP en función de sus direcciones origen y destino.

5 - Visualizar configuración

Visualización de la información de los conmutadores, tablas de flujo, diagrama de red o tráfico por los enlaces (gráficos).

6 - Salir

Se cierra el escenario, controlador, monitor y diagrama de red.

NOTA: Guardar la carpeta network_awareness2 en el path .../ryu/ryu/app/

About

Open source SDN solution for real-time traffic monitoring and routing to optimize network resources.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published