Trabajo Mininet Telemática Grupo 1
Trabajo Mininet Telemática Grupo 1
Trabajo Mininet Telemática Grupo 1
TEMA:
MININET- WIFI
REALIZADO POR:
Estudiantes: Grupo No: 1
Freddy Torres
Steve Solís
Edison Loaiza
TELEMÁTICA 1
TEMA: MININET- WIFI
INTRODUCCIÓN:
Este documento esta destinado a revisar las principales características y funcionalidades del
Mininet-WiFI, para que de esta manera usuarios nuevos tengan una idea de que es Mininet y cómo
funciona, a manera que sirva de guía para cualquier persona que tenga interés en el programa.
Primero se explicará brevemente que significa y en que consiste este emulador y revisará las
principales funciones y configuraciones de este.
Las Redes Definidas por Software (SDN) son un nuevo prototipo en redes de datos que está
siendo foco de estudio e investigación en los últimos años, debido a las diferentes ventajas que
tiene con respecto al funcionamiento de las redes convencionales. Las Redes Definidas por
Software separan el plano de control de un dispositivo de red, del plano de datos, permitiendo
controlar, monitorizar y gestionar una red desde un nodo centralizado o controlador, lo cual
promete simplificar la gestión de red e incluir innovación a través de su programación.
Mininet es un emulador de red (SDN). Este programa tiene una colección de hosts finales,
conmutadores, enrutadores y enlaces que se pueden ejecutar en Sistema Operativo Linux, se
requiere una sola máquina (VM, nube o nativo), su creación puede demorar segundos, y se puede
ejecutar con un solo comando. Los hosts virtuales, los conmutadores, los enlaces y los
controladores de Mininet son reales, ya que se crearon utilizando software en lugar de hardware,
y en su mayor parte su comportamiento es similar a los elementos discretos de hardware. Por lo
general, es posible crear una red Mininet que se asemeje a una red de hardware o una red de
hardware que se asemeje a una red Mininet. Mininet es útil para el desarrollo , la enseñanza y
la investigación .
MININET- WIFI
Mininet-WiFi es una extensión (bifurcación) del emulador de redes Mininet. Los desarrolladores
de Mininet-WiFi no modificaron ninguna funcionalidad existente de Mininet, sino que agregaron
una nueva funcionalidad. Los desarrolladores Mininet-WiFi agregaron estaciones WiFi-
virtualizadas y puntos de acceso basados en los controladores inalámbricos estándar de Linux y el
controlador de simulación inalámbrica 80211_hwsim (módulo kernel de Linux que se puede usar
para simular el número arbitrario de radios IEEE 802.11 para mac80211). También permite emular
los atributos de una estación móvil, como la posición y el movimiento en relación con los puntos
de acceso.
Se escogen las características a ser instaladas, según los requerimientos del usuario.
Se da clic en el botón siguiente, hasta llegar al proceso de instalación.
Se espera el tiempo requerido hasta que todos los componentes sean instalados y finalmente se
obtiene el Virtual Box instalado, con una interfaz gráfica como la siguiente.
Al igual que con Virtual Box se ingresa a la máquina virtual y se selecciona la descarga del
instalador de acuerdo a la versión que se requiera. https://www.ubuntu.com
Una vez que el proceso de descarga ha terminado. Se accede a virtual box y se selecciona el
botón de Nueva y aparecerá un cuadro como el que se muestra a continuación, en donde se
escogerá el nombre que se asignará a la máquina, el tipo y la versión del sistema operativo.
Al dar clic en siguiente aparacerán opciones de creación del disco duro a usarse. Para lo que se
escogerá la creación de un disco duro virtual. Y a continuación el tipo de archivo que se quiere
usar para el nuevo disco duro que se escogerá la opción VDI.
Seguidamente se escogerá un almacenamiento en la unidad del disco duro físico reservado
dinámicamente. Es decir irá ocupando el espacio en el disco duro del computador a medida que se
vaya llenando.
A continuación aparecen una serie de opciones para la instalación, en las que en este caso se
escogieron las mostradas a continuación.
Luego de seleccionadas las opciones que se requieran se da clic en el botón Instalar ahora y
comenzará el proceso. Y se deberá esperar que esperar un tiempo considerable hasta que se
complete, además se requiere una conexión a internet, ya que durante la instalación se van
descargando ciertos archivos que se requerirán para la misma.
Una vez concluida la instalación se tendrá una interfaz del sistema operativo como el siguiente,
dentro del Virtual Box.
cd mininet-wifi
sudo util/install.sh -Wnfv
Mininet es instalado por una secuencia de comandos (script). Para visualizar todas las opciones
disponibles se coloca el siguiente comando:
wifi:~$ util/install.sh -h
El cual desliza un menú de comandos en los que se puede instalar o eliminar controladores,
archivos, entre otros.
Una forma alternativa es usar una máquina virtual preconfigurada con el software Mininet-Wifi, la
cual se lo puede encontrar en internet y no requiere el proceso de instalación anterior.
COMPONENTES DE MININET- WIFI
Las interfaces inalámbricas para virtualizar dispositivos WiFi funcionan en modo maestro para
puntos de acceso y modo administrado para estaciones.
Estaciones: son dispositivos que se conectan a un punto de acceso mediante autenticación y
asociación. En nuestra implementación, cada estación tiene una tarjeta inalámbrica (staX-wlan0 -
donde X será reemplazado por el número de cada estación).
Puntos de Acceso (AP): son dispositivos que administran estaciones asociadas. Usan interfaces
inalámbricas virtuales para puntos de acceso y servidores de autenticación. Los puntos de acceso
virtualizados no permiten todavía a los usuarios configurar varios parámetros de la misma manera
que uno real,sin embargo la implementación actual cubre las características más importantes, por
ejemplo ssid, canal, modo, contraseña, criptografía, etc.
EJEMPLOS PREESTABLECIDOS
Mininet-WiFi incorpora ejemplos que se pueden usar como una guía o como un punto de partida
para la creación de nuevas redes ya que los mismo son modificables. Para acceder a los ejemplos
se usa los siguientes comandos en el terminal:
Una vez que se accede a la carpeta ejemplos para observar los disponibles se coloca el comando ls
el cual mostrará, los ejemplos preestablecidos por mininet.
s
Para poder correr el ejemplo antes del nombre con el cual se identifica en la lista anterior se usa el
comando sudo python y se correrá automáticamente la red de ejemplo.
-net
También podemos verificar la configuración utilizando los comandos net. Por ejemplo, al ejecutar
este comando se puede ver las conexiones entre nodos.
-ping
El comando ping permite comprobar si una determinada interfaz de red, de una estación, se
encuentra activa con respecto a un servidor u otra estación.
-ping all
Permite verificar la conectividad y algunas estadísticas de todas las estaciones en la red.
-dump
Es el comando que permite ver de la forma más fácil las direcciones IP de los dispositivos como
estaciones y puntos de acceso.
-iperf
Este comando permite medir la velocidad de transmisión entre dos estaciones o de una estación
al servidor. Esto dependerán de la cobertura que tengan las estaciones con los APs
-distance
Este comando permite medir la distancia directa que existe entre estaciones o Puntos de acceso.
-iwconfig
Este comando es usado para obtener información de una interfaz inalámbrica.
-Obtener la posición
Para tener la posición de una estación o punto de acceso se debe ubicar el siguiente comando
especificando de que dispositivo se requiere obtener la posición.
mininet-wifi>py sta1.params[’position’]
Aquí se obtendrá el punto de acceso al que se encuentra conectado la estación especificada y las
direcciones IP que pertenecen a la misma.
mininet-wifi>py sta1.params['associatedTo']
Esta función es similar a la anterior pero no necesariamente tiene que estar la estación asociada al
AP, sino que debe encontrarse en el rango de uno de estos y brindará la misma información que
en el comando anterior. Una estación puede encontrarse en el rango de varios APs.
mininet-wifi>py sta1.params['apsInRange']
-Obtener el canal
Como se indica obtiene el canal en frecuencia que está usando un AP o una estación en la red
WiFi.
mininet-wifi>py sta1.params['channel']
-Obtener frecuencia
mininet-wifi>py sta1.params['frequency']
Obtener el modo
mininet-wifi>py sta1.params['mode']
mininet-wifi>py sta1.params['txpower']
mininet-wifi>py sta1.moveNodeTo('40,20,40')
Configuración en la ganancia de una antena
mininet-wifi>py sta1.setAntennaGain('sta1-wlan0', 5)
mininet-wifi>py sta.setRange(100)
Configuración de la potencia de transmisión
mininet-wifi>py sta1.setTxPower('sta1-wlan0', 10)
Otra forma para poder a cambiar estos parámetros en una red es ingresando a la configuración
general de esta mediante el comando nano y a continuación el nombre del archivo de la red
(ejemplo), y se accederá a una ventana de configuración como la siguiente.
Aquí se puede modificar varios parámetros de los dispositivos de la red, como su posición
dirección ip, puntos de acceso al que se encuentran asociados entre otras modificaciones.
Además es posible aumentar los elementos que conforman la red en este caso se aumentó una
estación que se visualizará en la siguiente imagen. Para usar los comandos que se encuentran en
la parte inferior se presiona la tecla Ctrl+ La letra de la función que se quiera realizar.
Figura 3. Red de ejemplo 4adress modificada.
Wireshark es una herramienta básica para observar los mensajes intercambiados entre
aplicaciones es un analizador de protocolos (packet sniffer). Un analizador de protocolos es un
elemento pasivo, únicamente observa mensajes que son transmitidos y recibidos desde y hacia un
elemento de la red, pero nunca envía él mismo mensajes. En su lugar, un analizador de protocolos
recibe una copia de los mensajes que están siendo recibidos o enviados en el terminal donde está
ejecutándose.
Como segundo paso se tiene que descargar el Wireshark usando el siguiente comando:
A continuación, se ejecutará el comando ping entre las dos estaciones. En Wireshark se observan
los marcos inalámbricos y los paquetes ICMP encapsulados que están pasando por la interfaz
hwsim0.
El Protocolo de Mensajes de Control y Error de Internet, ICMP, su utilidad no está en el transporte
de datos de usuario, sino en controlar si un paquete no puede alcanzar su destino, si su vida ha
expirado, si el encabezamiento lleva un valor no permitido, si es un paquete de eco o respuesta,
etc. Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la
red, informando con ellos a la fuente original para que evite o corrija el problema detectado. ICMP
proporciona así una comunicación entre el software IP de una máquina y el mismo software en
otra.
UN PUNTO DE ACCESO
En esta primera parte se muestra como crear escenarios simples así como la forma de capturar
tráfico en una red Wireless Mininet-WiFi. La topología está formada por un punto de acceso
wireless, se trata de un switch conectado a un controlado y dos estaciones también inalámbricas
que en este caso son hosts
En esta parte se va a crear un escenario de red con 2 o más puntos de acceso inalámbricos. Con el
siguiente comando se creara una topología de red en la que se dispondrá de tres puntos de
acceso inalámbricos y una estación conectada a cada punto de acceso:
Como resultado se ve como la red es establecida y como cada estación es relacionada con cada
punto de acceso. Se puede verificar la configuración usando los comandos net y dump. Si se
quiere saber cuáles son los puntos de acceso visibles para cada estación se usara el comando
siguiente:
Si lo que se quiere saber es con qué punto de acceso está conectada nuestra estación se utilizará
el comando:
Escenario simple de movilidad Con el comando iw se puede cambiar la conexión entre los puntos
de acceso y las estaciones. Esto no es recomendable cuando no son escenarios estáticos. Y en
caso de que la obtención de esta información sea durante la ejecución será mejor utilizar el
comando info del que se hablara más adelante.
Lo que se ha hecho es cambiar la conexión de la estación, por lo que ahora estará conectada al
punto de acceso 2. Esto se puede verificar con el comando link que se ha usado anteriormente
FLUJO OPENFLOW EN ESCENARIOS DE MOVILIDAD.
Ahora se va a ver como maneja el controlador este escenario. Para ello, se va a generar tráfico
entre la estación 1 y la estación 3. Para saber las direcciones IP basta con escribir el comando
dump. Una vez se sabe las direcciones IP de las estaciones se va a abrir una ventana externa para
una de las estaciones [5]:
MOVILIDAD
Posiblemente, la característica más importante que ofrece Mininet-WiFi con respecto a Mininet
sea el soporte sobre la movilidad de las estaciones. En esta parte, se va a ver cómo manejar y
crear un escenario donde las estaciones se muevan a lo largo del espacio y vayan cambiando de
puntos de acceso a los que se conectan, basándose en la cercanía.
Si lo que se quiere es que el movimiento sea aleatorio se pueden utilizar alguno de los siguientes
métodos: RandomWalk, TruncatedLevyWalk, RandomDirection, RandomWayPoint, GaussMarkov,
ReferencePoint,TimeVariantCommunity. Por ejemplo:
Para ver cómo responde el sistema al tráfico realizaremos un ping, cuando ya se haya realizado
ese ping. Se inicia un servidor iperf en la estación:
Tras esto, se abrirá una ventana de comando en un host o en una estación con el comando xterm
ya mencionado. Ahora se iniciará un cliente iperf en esta ventana nueva que se ha abierto con
xterm:
Se puede observar la salida de iperf y como la estación se mueve a través del gráfico. Cuando esta
pasa de un punto de acceso a otro el tráfico se para. Para que vuelva a haber tráfico es necesario
limpiar las tablas de flujo, ya que sino el controlador puede funcionar de manera incorrecta. Para
ello, basta con el siguiente comando:
PROPAGACIÓN
rm /var/lib/dpkg/lock
apt-get update
rm -rf /var/lib/apt/lists/lock
rm /var/lib/dpkg/lock
apt-get update
error
Solucion:
Guardar y salir.
Problema:
Solucion:
Problema:
Solución:
CONCLUSIONES
Este trabajo presentado se muestra a Mininet-WiFi como una herramienta para emular
escenarios inalámbricos SDN que permiten experimentos de alta fidelidad que replican
entornos reales de red. Mininet-WiFi aumenta el famoso emulador Mininet con estaciones
inalámbricas virtuales y puntos de acceso mientras conserva las capacidades SDN
originales y la arquitectura ligera del software de virtualización.
Se concluye que la emulación de red es una técnica ampliamente utilizada para evaluar los
protocolos de rendimiento, prueba y depuración, así como para respaldar múltiples
problemas de investigación relacionados con la red. La emulación permite ejecutar código
real en redes realistas y condiciones informáticas. En apoyo de la investigación sobre
arquitecturas de redes definidas por software (SDN), el emulador Mininet permite
experimentos enriquecidos y ciclos rápidos de creación de prototipos, que son
especialmente interesantes para fines de enseñanza, investigación y reproducibilidad en
el ámbito académico.
Mininet-Wifi es un simulador que nos permite realizar proyectos relacionados a redes y
poder hacer cambiar parámetro de la red como el canal, la movilidad el tráfico la
asociación y des asociación de APs y estaciones, etc. Las dificultades que se presentaron
en la realización de pruebas del programa se han podido solucionar, algunas de ellas, con
la poca información al inicio del proyecto, problemas de instalación o partición del disco,
des configuración de elementos instalados, problema de bloqueo de comando, ejecución
como root, algunos de los cuales se solucionaban reiniciando la máquina virtual.
BIBLIOGRAFÍA:
[1] “ The User Manual Mininet-WiFi” [En línea]. Disponible http://sdncentral.ir/wp-
content/uploads/2017/07/mininet-wifi-draft-manual.pdf [Accedido: 03- Ago- 2018].
[2] Esteve Christian. “Mininet-WiFi”. Git Hub [En línea]. https://github.com/intrig-unicamp/mininet-
wifi Disponible [Accedido: 03- Ago- 2018].
[3] “Introduction to Mininet”. Git Hub [En línea].
https://github.com/mininet/mininet/wiki/Introduction-to-Mininet Disponible [Accedido: 03- Ago-
2018].
[4] Fontes Ramon “Mininet-WiFi: SDN emulator supports WiFi networks”. Brian Link Letter [En
línea].http://www.brianlinkletter.com/mininet-wifi-software-defined-network-emulator-supports-
wifi-networks/ Disponible [Accedido: 03- Ago- 2018].
[5] Andr´e Panisson. Modelos de movilidad: Mininet-wifi
https://github.com/intrigunicamp/mininet-wifi/blob/master/mininet/mobility.py, 21 de Julio de
2016.
[6]Ramon Fontes. Modelos de propagaci´on: Mininet-wifi
https://github.com/intrigunicamp/mininet-wifi/blob/master/examples/wifipropagationmodel.py, 21
de Julio de 2016.