¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Montar una red de prueba con Mininet

Después de esta lección: Puedo construir una red de prueba pequeña y comprobar que todos sus equipos se alcanzan.

Lección de 50 min4 comandosLaboratorio de redes definidas por software: Open vSwitch, Mininet y un controlador OpenFlow en una VM

Qué es Mininet y para qué sirve

Mininet es un programa que construye una red de prueba completa dentro de un solo ordenador: equipos, switches y cables virtuales. Sirve para probar una red definida por software sin conectar ni un solo aparato.

Una universidad quiere ensayar el cambio de su red del aula de informática. Antes de tocar los switches reales, monta una copia pequeña y la comprueba con un ping entre todos los equipos.

Al final de esta lección

Nota

Puedo construir una red de prueba pequeña y comprobar que todos sus equipos se alcanzan.

Palabras clave

PalabraQué significaEjemplo
Mininetun programa que construye una red de prueba virtual
Hostun ordenador virtual de la red de pruebah1
Enlaceun cable virtual entre dos aparatos
Topologíala forma en que están unidos los aparatossingle,3
Pingun mensaje de ida y vuelta para ver si otro equipo responde
pingallla prueba de Mininet que hace ping entre todos los equipos

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Mininet crea equipos, switches y enlaces

Con una sola orden, Mininet crea los hosts, un switch y los enlaces que los unen, y arranca un controlador. Después hace ping entre todos y lo derriba todo.

--mac da a cada host una dirección MAC fácil de leer, que termina en su número. --test pingall hace la prueba. La salida puede empezar con un aviso sobre límites de recursos: no es un fallo de tu red.

Construye y prueba la red más pequeña

Comando
sudo mn --mac --test pingall

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Ejemplo: lo que imprimió Mininet

Línea de la salidaQué significa
*** Adding hosts: h1 h2Creó dos equipos, h1 y h2
*** Adding switches: s1Creó un switch, s1
*** Adding links: (h1, s1) (h2, s1)Unió cada equipo con el switch
h1 -> h2 y h2 -> h1Cada equipo hizo ping al otro
*** Results: 0% dropped (2/2 received)Los dos pings tuvieron respuesta

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una topología es la forma de la red

La topología dice cuántos hosts y switches hay y cómo se unen. single,4 es un switch con cuatro hosts. linear,3 son tres switches en fila, cada uno con un host.

Estas dos órdenes cambian la topología. Mira cuántos pings hace cada una.

Un switch con cuatro hosts

Comando
sudo mn --mac --topo single,4 --test pingall

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Tres switches en fila

Comando
sudo mn --mac --topo linear,3 --test pingall

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Ejemplo: cuántos pings hace pingall

HostsPings de cada hostPings en total
212
326
4312
5420

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Mininet arranca también un controlador

Mininet no solo crea la red. Arranca un controlador, c0, que escribe las reglas que el switch necesita para que los pings lleguen.

Esta orden entra en la consola de Mininet, pide la lista de nodos y la de enlaces, y sale. Verás a c0 junto a los hosts y al switch.

Lista los nodos y los enlaces

Comando
printf 'nodes\nlinks\nexit\n' | sudo mn --mac --topo single,3

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mininet puede borrar tus switches

Mininet limpia al empezar y al acabar, y su limpieza puede llevarse los switches de Open vSwitch que ya existían, sw1 y br0 incluidos.

Si pasa, la primera orden de cada lección vuelve a crear sw1. Para reconstruir la práctica del laboratorio, usa sudo sdnlab flows.

Un error frecuente

Advertencia

Mucha gente cree que Mininet simula la red con resultados inventados. No es así: sus hosts son procesos reales de Linux y su switch es un Open vSwitch real. Solo son virtuales los cables. Por eso lo que aprendes aquí vale para una red real.

Sobre este laboratorio y su código: Laboratorio de redes definidas por software: Open vSwitch, Mininet y un controlador OpenFlow en una VM

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.