Lab4: Emulación de una red Open SDN con
Mininet y Controlador Externo
1. Introducción
● Mininet es un programa gratuito de emulación de redes de datos enfocado al análisis
de los paquetes y tráfico que circulan por una infraestructura.
● Permite emular desde usuarios finales, routers, switches y los enlaces que los
conectan en un único Kernel Linux mediante una virtualización ligera para compartir
recursos, lo que le otorga rapidez, optimización y adaptabilidad de creación de
diversos escenarios.
● Cabe recalcar que Mininet emula al 100% el comportamiento de un dispositivo de
red, sólo que en lugar de ser creados en Hardware, son creados en software.
● Mininet permite comprobar el comportamiento de redes basadas en controladores
como SDN.
● En caso que desee ahondar más sobre Mininet (características, instalación y
limitaciones), puede hacer uso de los siguientes enlaces:
○ http://mininet.org/
○ https://github.com/mininet/mininet/wiki/Introduction-to-Mininet
○ https://www.youtube.com/watch?v=jmlgXaocwiE
Labo 4 - Redes 1
2. Objetivos
● Profundizar el uso de Mininet
● Comprender el funcionamiento de Mininet junto con un Controlador Externo
● Otorgar visibilidad a entornos Mininet OpenSDN
3. Procedimiento
Importante: Debe documentar con sus palabras el paso a paso de todo el laboratorio
y adjuntar capturas de pantalla de las actividades.
Anexo A:
1- Instalación de Mininet
Anexo B:
1- Uso de Mininet
2- Wireshark en acción
Anexo C:
1- Mininet y Controlador SDN
4. Cuestionario
● ¿Qué es un Controlador SDN y Qué son los protocolos Northbound y Southbound
SDN
● ¿Qué mensajes se intercambian entre el controlador externo Aruba HPE VAN SDN y
los OVS (OpenvSwitches) de Mininet? Cabe decir que estos son los mensajes de
OpenFlow. Incluya una captura de pantalla de Wireshark especificando los mensajes
OpenFlow encontrados y su función principal.
● Incluya impresiones de pantalla de al menos tres topologías distintas de Mininet,
usando el controlador externo SDN (Impresiones de pantalla de las topologías en el
front-end del controlador).
● Investigue sobre otros controladores externos que puedan reemplazar a Aruba-HPE
VAN SDN (al menos uno más) e indique sus características principales.
Labo 4 - Redes 2
● Con uno de esos controladores investigados, reemplace a Aruba HPE VAN SDN y
controle la topología de Mininet con dicho controlador. Documente el paso a paso
para que funcione esa topología.
5. Conclusiones y Recomendaciones
Dar su conclusión con sus propias palabras sobre el laboratorio realizado. Se aceptan
recomendaciones que aporten a la materia.
Labo 4 - Redes 3
ANEXO A
1- Instalación de Mininet
Descarga e instalación de Mininet
Descargar el archivo “mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64.zip” del aula
virtual o desde internet asegurarse que sea la versión correspondiente para el correcto
funcionamiento del laboratorio.
Extraiga el contenido del archivo comprimido descargado. En esa carpeta se encontrará
tanto una VM para correr en VMWare como en VirtualBox. Estos instaladores son los que se
encuentran en el Aula Virtual y son los que debe descargar:
Importe la VM:
Seleccione la VM de Mininet: mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64.ovf
Labo 4 - Redes 4
Cambie el nombre de la VM a Mininet-2.2 e importela:
Seleccione y de Play a la VM mininet-2.2, luego del proceso de instalación, les aparecerá la
petición de login, las credenciales son:
User: mininet
Pass: mininet
Labo 4 - Redes 5
ANEXO B
1- Uso de MININET
Crear topología básica
Crear una topología básica en mininet es muy simple, se debe correr el comando:
sudo mn
sudo mn –topo minimal
Mininet debe correr como root. Esto da acceso a un CLI (mininet>) para introducir otros
comandos y probar la topología.
La topología mínima está compuesta por un switch y dos hosts.
Conexiones e información de Mininet
Para verificar las conexiones e información de los dispositivos de red, usaremos los
comandos:
net
Labo 4 - Redes 6
La imagen indica que el host 1 (h1) mediante su interfaz eth0 se conectan al Switch
(S1) mediante su interfaz eth1. Para el host 2 (h2), se conecta a S1 mediante su
eth0 hacia la eth2 del switch.
Luego ingresamos el comando:
dump
Mediante el comando dump, se puede determinar la dirección IP de los host, así
como se indica que el Switch es un Open-vSwitch (OVSSwitch) operado mediante
un controlador (nativo de Mininet).
Verificamos la conectividad entre los hosts:
pingall
Mostrar los nodos de la topología:
nodes
Realice un ping entre h1 y h2 (recuerde detenerlo con ctrl + c)
h1 ping h2
Labo 4 - Redes 7
Vamos a obtener la IP de la Mininet creada (copiela en algún lugar que luego la usaremos):
ifconfig
Mininet posee ayuda para identificar los comandos que se pueden aplicar en su CLI, como
los que usamos y otros mas, los podemos ver ejecutando el comando help.
Descarga e instalación de MobaXterm
Es posible establecer una conexión externa con cada uno de los hosts usando SSH y
XTERM. Para ello hay que acceder vía SSH a la VM de Mininet usando un Emulador de
terminal que permita habilitar X11, uno de ellos es MobaXterm.
Para descargar MobaXterm siga el siguiente link: https://mobaxterm.mobatek.net/
Labo 4 - Redes 8
Presione GET MOBAXTERM NOW!
Luego seleccione la versión Home Edition (Free). Una vez descargado, seguir los pasos de
instalación, con los valores por defecto.
Vincular MobaXterm con Mininet
Cuando el programa esté instalado, lo abrimos y una vez que esté listo para usar, vamos a
ingresar la IP de la Mininet ya creada:
Labo 4 - Redes 9
Nos aparecerá una ventana en la que vamos a configurar todo de la siguiente manera,
respetando la IP de la Mininet y el puerto asignado en caso de haberlo cambiado:
Luego de darle a “ok”, nos debería aparecer una nueva pestaña en MobaXterm con la que
ingresamos a la máquina virtual externamente simplemente ingresando la contraseña
“mininet”.
Labo 4 - Redes 10
En caso de que alguno de los anteriores pasos no funcioné correctamente vamos a
proceder a activar el SSH en la mininet mediante los comandos “sudo systemctl enable ssh”
y luego “sudo systemctl start ssh” como habíamos aprendido en laboratorios anteriores:
Una vez conectado la máquina virtual del emulador Mininet a MobaXterm, podremos
comenzar a utilizarla de la misma manera que hacíamos en VMWare, con la diferencia de
que ahora sí vamos a poder utilizar programas externos como el WireShark.
Mininet por MobaXterm
Desde la consola de MobaXterm podemos crear una topología básica de mininet:
sudo mn
Ahora vamos a trabajar directamente con el host1 de nuestra topología, para eso
ejecutamos (se abrirá otra ventana):
xterm h1
Labo 4 - Redes 11
Con ello es posible tener una consola con acceso root a los hosts, por lo cúal ejecutamos
ifconfig para poder ver toda la info del host.
Luego en la consola de mininet de MobaXterm, podemos ver el ancho de banda en un
enlace, por ejemplo entre h1 y h2:
iperf
2- Wireshark en acción
Capturando con Wireshark
Podemos definir a Wireshark como un sniffer gráfico que permitirá visualizar los paquetes
OpenFlow que circulan por la infraestructura.
Para ver eso, haremos otra conexión hacia la VM de Mininet usando SSH, de preferencia
con MobaXterm.
Primero eliminamos cualquier proceso que esté corriendo en Mininet (siempre desde
MobaXterm):
sudo mn -c
Labo 4 - Redes 12
Una vez limpio, vamos a poner a correr a Wireshark en segundo plano (para eso el “&)
capturando nuestra Mininet:
sudo wireshark &
Luego de un par de segundos se iniciará WireShark. Es posible que salgan dos
advertencias o errores, simplemente dé clic en OK.
En Wireshark, generamos una nueva captura, pero apuntando a la interfaz Loopback, la
cual es empleada por el controlador de la red OpenSDN:
Capture → Interfaces →Loopback lo
Labo 4 - Redes 13
Una vez seleccionado, empezamos a capturar dando clic en Start.
Ya con Wireshark capturando, iniciamos una nueva topología en Mininet (MobaXterm):
Ingresamos nuevamente a Wireshark y en el filtro colocamos of (OpenFlow):
Labo 4 - Redes 14
Como se aprecia en la imagen anterior y la siguiente, la topología de una red Mínima
involucra un Open-vSwitch que posee un Controlador nativo de Mininet, el cual se comunica
a él mediante OpenFlow usando la interfaz Loopback.
Labo 4 - Redes 15
Labo 4 - Redes 16
ANEXO C
1- MININET y Controlador Externo SDN
Descargar y cargar imagen de VM del Controlador
Descargar y descomprimir el .OVA del controlador que correrá en VMWare. Este archivo se
encuentra en el Aula Virtual. (tiene un peso de 1.6GB)
Cambie el nombre del archivo a SDN-Controller-HPEVAN, luego Importar la VM del
Controlador a VMWare
Antes de arrancar la VM, modifique sus características tal como se muestra a continuación
(La máquina huésped debe tener más de 8GB de RAM de preferencia). Si su máquina tiene
8GB de RAM, asígnele al menos 4GB de RAM a esta VM:
Labo 4 - Redes 17
Iniciamos la VM (Play), si la instalación fue correcta, aparecerá la petición de login del
Controlador SDN:
Ingrese con los siguientes user y password:
User: sdn
Password: skyline
Una vez ingresado por primera vez, seleccione la opción de configuración inicial del
controlador (dé clic en Next)
Labo 4 - Redes 18
Labo 4 - Redes 19
Al estar configurado el Controlador adecuadamente, éste tendrá una dirección IP
alcanzable por el resto de VMs.
Ahora sin cerrar el controlador, vamos a iniciar la VM de mininet2.2:
Labo 4 - Redes 20
Conexión entre Mininet y Controlador SDN
Una vez encendida y corriendo, pruebe hacer un ping desde la VM de Mininet 2.2 a la del
Controlador SDN (Aruba-Van SDN):
Nota: en la captura dice Mininet 2.3 y los IP no coinciden con lo anterior, favor de colocar
sus IP correspondientes
Limpie cualquier proceso de Mininet con sudo mn -c
Labo 4 - Redes 21
Abra el Front-End del controlador Aruba-VAN ingresando su dirección IP en la URL de un
navegador web de su máquina huésped, usando https y el puerto 8443. Para proceder, se
debe visualizar la configuración avanzada y presionar en “Acceder a...”.
Use las mismas credenciales de sdn y skyline.
Labo 4 - Redes 22
Al ingresar, observará la información que otorga el controlador SDN:
Ingrese a OpenFlow Topology (Por el momento vacío):
Labo 4 - Redes 23
Prueba de conexión y captura
Crear en Mininet una topología mínima pero usando la dir. IP del controlador. Para ello digite
el comando:
sudo mn --controller=remote,ip=192.168.0.82
Realice una prueba de conectividad en Mininet (pingall, net y dump):
Labo 4 - Redes 24
Una vez que se haya conectado con el controlador Mininet, éste está en la capacidad de
mostrar información de la red Open SDN:
Labo 4 - Redes 25
Visualización Final de la Red creada en Mininet (Minimal Topology) bajo controlador SDN
externo.
Pruebe cambiando las topologías en Mininet y capturando mensajes con Wireshark para
responder las preguntas del cuestionario.
Labo 4 - Redes 26