Introducción

En el artículo de hoy, vamos a conocer el software GNS3 de simulación de redes. Es muy útil para emular escenarios que nos podemos encontrar en la industria, así como para entender como funcionan algunas arquitecturas, previendo y solucionando problemas que puedan acontecer.

Primero hablaremos sobre el software, después, construiremos una arquitectura básica y veremos como funciona. Posteriormente forzaremos un bucle de red o tormenta de broadcast y para finalizar usaremos el protocolo STP para corregir el error a través del switch gestionable.

¿Qué es GNS3?

GNS3 es una herramienta de simulación de redes gratuita, que permite crear y probar topologías de red de forma virtual, utilizando dispositivos reales o emulados. Es ideal para aprender, realizar pruebas y desarrollar entornos de red sin necesidad de hardware físico.

Características:

  • Interfaz gráfica intuitiva: Permite crear y gestionar topologías de red mediante arrastrar y soltar
  • Compatibilidad con imágenes reales: Soporta IOS de Cisco, así como dispositivos de otros fabricantes, lo que permite simular redes reales con precisión.
  • Integración con hardware físico: Puedes conectar equipos físicos a la simulación, facilitando pruebas en entornos híbridos.
  • Escalabilidad: Capaz de manejar desde redes pequeñas hasta topologías complejas con múltiples dispositivos.
  • Captura de tráfico integrada: Herramientas como Wireshark se integran directamente para analizar el tráfico en tiempo real.
  • Gratuito y de código abierto: GNS3 es accesible para cualquier persona, siendo una opción ideal tanto para estudiantes como para profesionales.

Otros programas: además del GNS3 existen otros programas similares, como el Cisco Packet Tracer, una herramienta de simulación de redes desarrollada por Cisco que permite diseñar, configurar y probar redes de manera virtual.

Arquitectura básica

En el siguiente ejemplo, hemos configurado dos PCs con dos switches gestionables y uno no gestionable. En este caso he utilizado la versión gratuita de switches gestionables “Open vSwitch”. También se pueden usar imágenes de switches reales.

Nota: no profundizamos en la configuración del GNS3 y de las máquinas virtuales, pero sí destacar que existe y que se ha de hacer. La idea es que los dispositivos deben correr en maquinas virtuales o dockers. No es complicado.

Para la configuración de los elementos, se puede hacer por configuración o por consola mediante comandos. En este caso se ha utilizado la consola de comandos. Para ello debemos iniciar la simulación con el botón de “PLAY”, ya que se va a simular que están encendidos y podemos acceder por la consola.

  • Asignar IPs de los PCs. Comando: “ip 192.168.1.11” y “ip 192.168.1.12”

Para el ejemplo hemos conectado los PC como se ve en la imagen, y no hemos generado ninguna configuración especial en los switches, por lo que los PCs se deben ver entre sí, actuando estos como switches no gestionables.

Para testear la comunicación entre ellos, realizamos un ping infinito recíproco.

PC1: ping 192.168.1.12 -t
PC2: ping 192.168.1.11 -t

Como se observa en la siguiente imagen, existe comunicación entre ambos.

Tormenta de broadcast

Teniendo ya nuestra arquitectura funcionando en simulación y ambos PCs viéndose entre ellos de forma correcta, pasamos ahora a simular un bucle de red o Tormenta de broadcast.

Este fenómeno ocurre cuando en una red, se duplican los paquetes enviados por un dispositivo debido a la configuración de la red, existiendo más de un sólo camino para los paquetes. Esto provoca que haya colisiones entre los paquetes y una saturación de la red.

En el siguiente enlace se ve visualmente la problemática:

Enlace a animación

Como curiosidad, una red en anillo, generaría un bucle de red si no fuera porque los switches gestionables habilitan solo uno de los caminos del anillo.

Generación del bucle en el ejemplo:

Incluimos un switch NO gestionable en la red, y lo unimos a los dos switches gestionables, de este modo queda la red con un bucle.

Wireshark: hasta la introduccion del ultimo switch no gest. las tramas eran normales y coincidian en los tiempos con los ping recíprocos de los PCs. Sin embargo, y como se observa en la imagen, a partir de la generación del bucle, las tramas crecen de forma exponencial, llenando toda el historial.

Además, se observa en las consolas de los PCs, como los paquetes ya no se envían correctamente generando problemas de timeout, como era de esperar.

En esta situación, ya tenemos un bucle en una red y la hemos conseguido saturar. A continuación veremos como detectarlo y eliminarlo.

En la realidad, no es difícil generar este tipo de problemas uniendo distintas bocas de un switch por error en una instalación eléctrica.

Protocolo STP

Para eliminar el problema generado en el apartado anterior de Tormenta de broadcast o buce de red, existe el protocolo Spanning Tree Protocol.

STP es un protocolo que evita bucles en redes con múltiples conexiones entre switches, bloqueando rutas redundantes y activándolas solo si es necesario. Mantiene la red estable y funcional.

STP funciona eligiendo un switch principal (Root Bridge) y calculando las mejores rutas para evitar bucles. Bloquea puertos redundantes, asegurando que solo haya un camino activo entre dispositivos. Si un enlace falla, habilita uno de los caminos bloqueados.

Otros protocolos:

  • STP (Spanning Tree Protocol) – Evita bucles en redes con switches.
  • RSTP (Rapid Spanning Tree Protocol) – Versión mejorada de STP con convergencia más rápida.
  • MSTP (Multiple Spanning Tree Protocol) – Permite múltiples instancias de STP en una sola red.

Ejemplo: activación de STP en Open vSwitch

Comando para activar en el Switch Open vSwitch

ovs-vsctl set bridge br0 stp_enable=true

Al activar en el switch gestionable la opción STP, en alguno de los switches gestionables, lo que conseguimos es que “cierre” uno de los caminos que provoca el bucle. Haciendo de este modo que todo vuelva a funcionar correctamente, ya que es como si hubiese cortado el cable.

En la imagen anterior se observa que en las consolas todo vuelve a la normalidad y en el Wireshark la frecuencia de paquetes se vuelve normal.

Conclusiones

GNS3 es un programa muy poderoso para anticiparse a los problemas de la realidad, mediante la simulación de elementos de comunicaciones.

La tormenta de broadcast es un problema común, que puede darse en entornos reales, dando lugar a la saturación de redes con las consecuencias que esto puede llevar a niveles funcionales.

STP es un protocolo de los switches gestionables modernos, que se encarga de evitar la tormenta de broadcast, eliminando los caminos redundantes por los que viajan los paquetes.

¡Gracias Jose Manuel!