Escolar Documentos
Profissional Documentos
Cultura Documentos
QUITO – 19 DE MAYO
2016
DEDICATORIA
ii
AGRADECIMIENTO
A mis ingenieros,
A mis amigos que nunca me dejaron sola
en los momentos más difíciles.
A mi tutor Ing. Mauro Rosas
por ser un guía y amigo
durante todo este proceso.
iii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
iv
CERTIFICACIÓN DEL TUTOR
Yo, Mauro Leonardo Rosas Lara en calidad de tutor del trabajo de titulación Diseño y
Simulación de una Red Definida por Software (SDN), elaborado por la estudiante
Nataly Estefanía España Tarapuéz de la Carrera de Ingeniería Informática, Facultad de
Ingeniería, Ciencias Físicas y Matemática de la Universidad Central del Ecuador,
considero que el mismo reúne los requisitos y méritos necesarios en el campo
metodológico y en el campo epistemológico, para ser sometido a la evaluación por parte
del jurado examinador que se designe, por lo que APRUEBO, a fin de que el trabajo
investigativo sea habilitado para continuar con el proceso de titulación determinado por
la Universidad Central del Ecuador.
v
vi
vii
CONTENIDO
pág.
viii
2.8.2 Linear (lineal) ................................................................................................. 15
2.8.3 Tree (árbol)...................................................................................................... 16
2.8.4 Custom (personalizado) .................................................................................. 16
2.9 Controladores SDN................................................................................................. 17
2.9.1 OpenIRIS (Java) ............................................................................................. 17
2.9.2 Floodlight (Java) ............................................................................................. 18
2.9.3 POX (Phyton) .................................................................................................. 19
3. METODOLOGÍA EXPERIMENTAL ................................................................. 20
4. SIMULACIÓN DE LA RED DEFINIDA POR SOFTWARE ........................... 21
4.1 Entorno de simulación en software ....................................................................... 21
4.1.1 Selección y preparación del Software de simulación Mininet ...................... 21
4.1.2 Selección y preparación del controlador OpenIRIS ...................................... 25
4.2 Escenarios de simulación ....................................................................................... 27
4.3 Topología empleada en la simulación ................................................................... 29
4.4 Ejecución de los Controladores SDN .................................................................... 32
5. EVALUACIÓN DE LAS SDN............................................................................... 37
5.1 Tabulación de resultados en la simulación de la SDN ......................................... 37
5.2 Evaluación de Resultados en la simulación de la red definida por software
(SDN)........................................................................................................................ 39
6. DISCUSIÓN ............................................................................................................ 40
7. CONCLUSIONES .................................................................................................. 41
8. RECOMENDACIONES ........................................................................................ 42
BIBLIOGRAFÍA .......................................................................................................... 43
ANEXOS ....................................................................................................................... 47
ANEXO A ........................................................................................................................ 1
Instalación de los controladores .................................................................................... 1
ANEXO B ........................................................................................................................ 5
Conexión SSH hacia Mininet y los controladores ....................................................... 5
ANEXO C ........................................................................................................................ 7
Propiedades y ejecución de los controladores .............................................................. 7
ANEXO D ...................................................................................................................... 10
ix
Código y ejecución de las topologías ........................................................................... 10
ANEXO E ...................................................................................................................... 14
Resultados de la ejecución de los controladores ........................................................ 14
x
LISTA DE FIGURAS
pág.
xii
LISTA DE TABLAS
pág.
xiii
RESUMEN
xiv
ABSTRACT
xv
INTRODUCCIÓN
Las redes de computadoras son de suma importancia ya que son un conjunto de equipos
de comunicación conectados por medio de cables, señales, ondas o cualquier otro
método de transporte de datos, que comparten información, recursos, servicios, etc. que
permiten la comunicación de todas las personas desde distintos lugares.
En el presente proyecto se busca investigar y evidenciar como las redes definidas por
software (SDN) aportan en la mejora del flujo de datos. Se compara un controlador
respecto de otros controladores en base a módulos similares programados por defecto,
los cuales permiten el flujo de paquetes en la red.
1
1. ANTECEDENTES
El modelo de red tradicional, sobre el cual se han desarrollado todos los servicios que
ésta ofrece y, además donde se basan los nuevos servicios digitales actualmente,
considera a la red como un conjunto de elementos independientes, relacionados entre sí
y que transfieren datos entre ellos (Principia technologica, 2014). El problema surge al
tratar de hablar de red como un todo, hay que entender que son elementos individuales,
con conexiones y diferentes características.
Una red definida por software (SDN) es una tecnología que aborda la creación de redes
donde el control se desprende del hardware. La administración se enfoca en una
aplicación de software llamada controlador, donde se ejecutan una serie de reglas
programadas (Principia technologica, 2014).
2
La necesidad de permitir la transmisión de información de una forma ágil y contar con
elementos cuya infraestructura sea lo suficientemente idónea para la administración de
los datos de una forma eficiente sugiere la importancia de una solución SDN.
1.3 Hipótesis
Es factible diseñar y simular una Red Definida por Software con un controlador SDN
que permita que los switches y los hosts realicen los procesos generados por dicho
controlador.
3
1.4 Objetivos
Diseñar y simular redes definidas por software (SDN) con un controlador SDN,
solución basada en hardware y software.
4
1.6 Delimitación del Proyecto
5
2. MARCO TEÓRICO
Las Redes Definidas por Software o SDN comprenden una tecnología en la cual el
plano de datos se separa del plano de control y se emplean controladores basados en
software, los cuales son los responsables de gestionar el flujo de datos entre el
controlador y los conmutadores (switch). Los switch delegan su inteligencia al
controlador y pasan a ser simples unidades de conmutación de tráfico. El controlador
será quien estará abierto a la implementación de las nuevas funcionalidades o procesos.
En las SDN la manera estándar de emplearlas es con un solo controlador que administra
la actuación de los switch en una red. Así se percibe que toda la red es una sola unidad,
ya que el controlador precisa la conducta de la red como un todo (LÓPEZ, 2012).
6
La capa de infraestructura hace relación a los dispositivos de red como por ejemplo
routers y switches, estos a su vez pueden ser físicos (hardware) y/o virtuales (software).
El Controlador es el software instalado en un servidor que admite controlar de una
forma lógica y centralizada a la red. Las aplicaciones en las SDN como por ejemplo:
Aplicaciones de voz, video, servicios de red. OpenFlow es el protocolo empleado para
comunicación entre el controlador (plano de control) y el switch (plano de datos).
Las SDN permiten a los operadores de red configurar, administrar, proteger y optimizar
los recursos de manera flexible.
8
Figura 2. Comparativa de la arquitectura de una red tradicional y una SDN
(SEETHARAMAN, 2011)
9
2.4 Diferencias entre la red tradicional y SDN
10
2.5 Protocolo OpenFlow
OpenFlow está relacionado con la conexión remota entre el controlador SDN y los
switches como se muestra en la Figura 4, usando dispositivos como Ethernet, routers y
puntos de acceso inalámbrico donde se puede tener acceso a las tablas de flujo y a las
reglas, que muestran el direccionamiento del tráfico de paquetes.
11
Openflow 1.0 Openflow 1.1 Openflow 1.2 Openflow 1.3 Openflow 1.4
* Diciembre, 2009
* Febrero 28, 2011 * Diciembre, 2011 * Abril 25, 2013 * Agosto, 2013
* Acciones: envia al
puerto, reescribe los * Multinivel y
* Soporte básico * Expande el soporte * IANA puerto TCP
encabezados de etiquetado de MPLS
IPV6 IPV6 6653
L2-L4, set/strip y VLAN
etiqueta VLAN
* Eventos de
* Máscaras de * Paquetes de * Encriptación de
* Puertos virtuales monitoreo y estado
subred mensajes información
del controlador
* Tráfico en el puerto * Conexión a más de * Estadísticas de los
* Grupo de puertos
de salida 1 controlador flujos
* Módulo de fallo * Módulo de fallo de
* Tunnel-ID meta data
difícil de implementar conexión incluido
Los mensajes OpenFlow son los que permiten transmitir acciones e información desde
el controlador hacia el o los dispositivos de red. Se dividen en: mensajes del controlador
al conmutador (switch), mensajes asincrónicos y mensajes simétricos
(AZODOLMOLKY, 2013).
2.6.1 Switch-controlador
Son iniciados por el controlador y se utilizan para administrar o gestionar el estado del
switch, puede o no requerir una respuesta del switch. Hay diferentes tipos de estos
mensajes:
2.6.2 Asíncrono
2.6.3 Simétrico
13
Hello: son intercambiados entre el switch y el controlador al iniciarse la
conexión.
Echo (request/reply): es enviado por el switch o el controlador y se usa para
comprobar la comunicación entre ellos, además de ser usado para medir la
latencia o el ancho de banda o para verificar que un dispositivo esté activo.
Vendor: proveen una manera estándar para que los switches OpenFlow
ofrezcan funcionalidades adicionales. Está pensado para futuras revisiones de
OpenFlow.
Dentro de las diferentes herramientas de simulación como: Kiva, Packet Tracer, NS2,
OMNet++ y muchos otros compatibles con el estándar OpenFlow se encuentra Mininet.
Esta plataforma es escalable para la emulación de redes definidas por software mediante
el uso de virtualización permitiendo la creación e interacción de diferentes topologías de
red. Ejecuta un conjunto de hosts, switches, routers, links y controladores sobre un
simple kernel Linux (NADEAU & GRAY, 2013). Dado que es un proyecto Open
Source, está en constante evolución, permitiendo además que cualquier usuario pueda
modificar el código con total libertad.
MiniNet crea una red virtual realista, corriendo kernel real, el switch y el código de
aplicación, en una sola máquina (máquina virtual, nube o nativo), en segundos, con un
solo comando: $ sudo mn (MiniNet, 2014)
En el cual, n es el número de switches, y cada switch tiene un único host conectado a él.
En la Figura 6 se muestra esta topología.
15
2.8.3 Tree (árbol)
Se pueden implementar topologías tan complejas como se desee, para esto se crea
topologías customizadas a través de un script en lenguaje phyton.
16
2.9 Controladores SDN
Entre los controladores de código abierto tenemos: Beacon, POX, Floodlight, OpenIRIS
y muchos más, siendo la única diferencia entre ellos el lenguaje de programación
empleado para definir las reglas y políticas y la plataforma en la que trabajen, pues la
funcionalidad es la misma ya que todos pueden transmitir y recibir paquetes OpenFlow
para comunicarse con los dispositivos SDN. Se puede decir que los controladores son el
auténtico cerebro de las redes SDN y que los elementos o equipos de la capa física tan
solo aceptan órdenes de estos.
OpenIRIS es la versión libre de controlador OpenFlow IRIS, que presenta una interfaz
que es totalmente compatible con Floodlight. Además, proporciona alta escalabilidad a
nivel de operador y disponibilidad de un control centralizado.
17
Finalmente OpenIRIS ofrece un interfaz web donde se pueden visualizar los
componentes de la red, las conexiones y el resto de parámetros que la definen como se
muestra en la Figura 8.
Controlador SDN basado en OpenFlow, diseñado para trabajar con una gran cantidad de
switches, routers, máquinas virtuales y puntos de acceso. Utiliza el lenguaje de
programación Java para definir las reglas de control y tiene un sistema de módulos que
lo hace extensible, fácil de configurar y de alto rendimiento. Presenta una interfaz web
donde se puede visualizar la topología empleada y cada uno de sus elementos (switch,
hosts, conexiones) como se muestra en la Figura 9.
18
2.9.3 POX (Phyton)
POX es el controlador más antiguo, por así decirlo, por lo que no presenta una interfaz
web.
19
3. METODOLOGÍA EXPERIMENTAL
Por lo mencionado anteriormente se desea obtener una visión más clara de este
concepto ayudándonos de una revisión bibliográfica, mediante libros, investigaciones
anteriores, artículos, donde se deposita toda la información necesaria para el desarrollo
del proyecto.
20
4. SIMULACIÓN DE LA RED DEFINIDA POR SOFTWARE
Con el fin de simular las redes definidas por software se necesita de dos elementos
básicos, un simulador de redes y un controlador SDN. En este proyecto se ha decidido
utilizar el software de simulación Mininet y el controlador SDN OpenIRIS, los cuales
han sido escogidos por características como tipo de licencia, plataformas que soporta,
lenguaje de programación, uso investigativo, entre otras como se puede observar en las
Tablas 3 y 4.
21
PACKET
KIVA NS2 OMNet++ MININET NCTUns
TRACER
INTERFAZ GRÁFICA si si si (baja) si si si
no existe
COMPATIBILIDAD no si no si si
información
22
En primer lugar, se ha descargado la máquina virtual de Mininet de la página oficial
https://github.com/mininet/mininet/wiki/Mininet-VM-Images, la misma que se iniciará
utilizando el motor de máquinas virtuales VirtualBox y se procederá a realizar las
configuraciones correspondientes.
Se ha añadido en VirtualBox una interfaz de red del tipo “solo-anfitrión” como se puede
ver en la Figura 10, que nos sirve para establecer la conexión remota por ssh hacia la
máquina virtual.
Una interfaz de red viene ya añadida que se conectará a la red NAT y que sirve
netamente para la conexión a Internet. Una vez hechas las configuraciones de las
interfaces y que la máquina arranque se solicitará hacer login, tanto el nombre de
usuario como la contraseña son “mininet”.
Usuario: mininet
Contraseña: mininet
23
Siempre que la máquina inicie se debe comprobar si las interfaces de red están
configuradas de manera correcta y que dispongan de una dirección IP como se muestra
en la Figura 11.
24
Cabe recalcar que si no se especifica el controlador, Mininet utiliza el controlador que
tiene incorporado por defecto. El parámetro que permite seleccionar un controlador
distinto es –controller, usando la siguiente sintaxis:
Algunos de los comandos que podemos ejecutar desde la consola de Mininet son:
Para que se pueda ejecutar comandos con permisos de root se debe teclear dichos
comandos anteponiendo sudo. Una vez que se cierre Mininet se recomienda limpiar la
topología de la red previa, ejecutando:
$ sudo mn –c
25
OpenIRIS CALF. FLOODLIGHT CALF. BEACON CALF. NOX CALF. POX CALF.
De igual manera, para los controladores POX y Floodlight que se han utilizado para
comparar con el controlador OpenIRIS, se ha realizado el procedimiento de descarga e
instalación, mismo que se lo puede encontrar en el Anexo A.
27
Figura 16. Escenario de simulación
28
Para el Escenario 2 se ha realizado las conexiones como se muestra en las Figuras 17 y
18.
Las mismas conexiones se han realizado para el Escenario 3 pero con la IP asignada en
la Tabla 5 para conectarse a los controladores. Sin embargo para el Escenario 1 se ha
utilizado la misma sesión de la Figura 17 para conectarse tanto a Mininet como a los
controladores (ver Anexo B).
4.3 Topología empleada en la simulación
29
Se ha utilizado una topología personalizada (custom), ya que se requiere incluir
parámetros de red en el código evitando repetir el proceso cada vez que se necesite crear
la topología. Adicionalmente, se ha incorporado en la programación el llamado de los
tres controladores. En la Figura 19 se muestra la topología a usar.
30
A continuación se presenta el código del archivo topocustom1.py generado para el
Escenario 1.
ESCENARIO 1 (topocustom1.py):
net = Mininet(controller=None)
#AGREGAR CONTROLADORES
net.addController('c0', controller=RemoteController, ip='127.0.0.1', port=6633)
#Controlador POX
net.addController('c1', controller=RemoteController, ip='127.0.0.1', port=6643)
#Controlador IRIS
net.addController('c2', controller=RemoteController, ip='127.0.0.1', port=6653)
#Controlador Floodlight
#AGREGAR SWITCHS
s1 = net.addSwitch('s1')
s2 = net.addSwitch('s2')
s3 = net.addSwitch('s3')
#AGREGAR HOSTS
h1 = net.addHost('h1')
h2 = net.addHost('h2')
h3 = net.addHost('h3')
h4 = net.addHost('h4')
#AGREGAR ENLACES
net.addLink(s1, s2)
net.addLink(s1, s3)
net.addLink(h1, s2)
net.addLink(h2, s2)
net.addLink(h3, s3)
net.addLink(h4, s3)
31
La topología para el Escenario 1 (topocustom1) se ejecuta como se muestra en la Figura
21.
De igual manera, se ha generado el mismo código para los otros escenarios (Ver anexo
D), pero diferenciando el direccionamiento IP mostrado en la Tabla 5.
32
Se ha editado el archivo de propiedades con el comando nano, asignando diferentes
puertos de los que están por defecto, como se muestra en la Figura 23, para evitar que
otro servicio esté ocupando el mismo puerto.
34
Para visualizar la red de una manera más amigable y gráfica se puede levantar la
interfaz web de los controladores, donde se presentan los dispositivos (switches, hosts)
con sus respectivas conexiones como se puede ver en la Figura 27. También se puede
ver cómo queda la topología empleada en la Figura 28.
35
Dependiendo del escenario donde se esté trabajando se asigna la IP correspondiente
especificada en la Tabla 5 y un puerto para levantar la interfaz web de cada controlador,
en este proyecto se ha asignado los siguientes puertos presentados en la Tabla 6.
36
5. EVALUACIÓN DE LAS SDN
Escenario 1:
PRIMERA CONEXIÓN
HOST HOST
CONTROLADOR CONEXIÓN ESTABLECIDA
ORIGEN DESTINO
(ms) (ms)
H1 H4 61.80 8.66
FLOODLIGHT
H1 H2 9.79 2.81
H1 H4 71.10 0.05
OPENIRIS
H1 H2 24.50 2.23
H1 H4 40.20 43.90
POX
H1 H2 7.35 5.73
Tabla 7. Comparación de tiempos de respuesta máximos (Rendimiento 1)
CONEXIÓN
PRIMERA CONEXIÓN
HOST HOST ESTABLECIDA
CONTROLADOR (ms)
ORIGEN DESTINO (ms)
MIN AVG MAX MIN AVG MAX
H1 H4 0.000 6.268 61.839 0.049 1.129 8.661
FLOODLIGHT
H1 H2 0.044 1.064 9.797 0.000 0.408 2.810
H1 H4 0.069 7.235 71.180 0.053 0.091 0.189
OPENIRIS
H1 H2 0.053 3.178 24.571 0.053 0.368 2.239
H1 H4 0.039 4.441 40.213 0.058 4.740 43.960
POX
H1 H2 0.054 1.043 7.354 0.000 0.824 5.733
Tabla 8. Comparación de tiempos de respuesta (Latencia 1)
37
Escenario 2:
PRIMERA CONEXIÓN
HOST HOST
CONTROLADOR CONEXIÓN ESTABLECIDA
ORIGEN DESTINO
(ms) (ms)
H1 H4 73.70 16.90
FLOODLIGHT
H1 H2 13.90 6.72
H1 H4 77.40 9.87
OPENIRIS
H1 H2 24.00 5.44
H1 H4 85.90 35.30
POX
H1 H2 71.30 42.10
Tabla 9. Comparación de tiempos de respuesta máximos (Rendimiento 2)
CONEXIÓN
PRIMERA CONEXIÓN
HOST HOST ESTABLECIDA
CONTROLADOR (ms)
ORIGEN DESTINO (ms)
MIN AVG MAX MIN AVG MAX
H1 H4 0.049 7.486 73.705 0.064 1.851 16.975
FLOODLIGHT
H1 H2 0.038 1.468 13.903 0.056 0.757 6.723
H1 H4 0.059 7.847 77.422 0.055 1.139 9.871
OPENIRIS
H1 H2 0.053 2.497 24.051 0.045 0.629 5.444
H1 H4 0.071 8.845 85.945 0.040 3.689 35.343
POX
H1 H2 0.048 7.304 71.389 0.050 4.353 42.173
Tabla 10. Comparación de tiempos de respuesta (Latencia 2)
Escenario 3:
PRIMERA CONEXIÓN
HOST HOST
CONTROLADOR CONEXIÓN ESTABLECIDA
ORIGEN DESTINO
(ms) (ms)
H1 H4 305.00 208.00
FLOODLIGHT
H1 H2 127.00 88.33
H1 H4 258.00 124.00
OPENIRIS
H1 H2 166.00 52.20
H1 H4 1948.00 860.00
POX
H1 H2 166.00 75.10
Tabla 11. Comparación de tiempos de respuesta máximos (Rendimiento 3)
38
CONEXIÓN
PRIMERA CONEXIÓN
HOST HOST ESTABLECIDA
CONTROLADOR (ms)
ORIGEN DESTINO (ms)
MIN AVG MAX MIN AVG MAX
H1 H4 0.055 30.652 305.569 0.060 20.938 208.251
FLOODLIGHT
H1 H2 0.050 12.822 127.270 0.048 8.944 88.380
H1 H4 0.045 25.930 258.333 0.064 12.625 124.997
OPENIRIS
H1 H2 0.042 16.682 166.173 0.055 5.304 52.215
H1 H4 0.065 291.989 1.948.109 0.061 86.216 860.043
POX
H1 H2 0.061 16.802 166.089 0.054 7.711 75.190
Tabla 12. Comparación de respuesta (latencia) en Escenario 3
Tomando en cuenta las tablas anteriores (7-12), se puede ver en la Tabla 13 los mejores
tiempos promedios (mínimos) de cada controlador y en la Tabla 14 los mínimos
tiempos de los máximos tiempos de respuesta de cada controlador en cada escenario,
evidenciando que el controlador OpenIRIS tiene la mejor latencia y rendimiento.
PRIMERA CONEXIÓN
ESCENARIOS CONEXIÓN CONTROLADOR ESTABLECIDA CONTROLADOR
(ms) (ms)
1 1.043 POX 0.091 OPENIRIS
2 1.468 FLOODLIGHT 0.629 OPENIRIS
3 12.822 FLOODLIGHT 5.304 OPENIRIS
Tabla 13. Mejores tiempos promedios de Latencia
PRIMERA CONEXIÓN
ESCENARIOS CONEXIÓN CONTROLADOR ESTABLECIDA CONTROLADOR
(ms) (ms)
1 7.35 POX 0.053 OPENIRIS
2 13.9 FLOODLIGHT 5.44 OPENIRIS
3 127 FLOODLIGHT 52.2 OPENIRIS
Tabla 14. Máximos tiempos de respuesta de los controladores
39
6. DISCUSIÓN
Para verificar que la simulación de red es factible, se planteó tres escenarios diferentes
donde se observa el comportamiento de la red en función de los tráficos existentes,
como se puede evidenciar en las tablas obtenidas (7-12), cuando se realiza las pruebas
de conectividad de h1 a h2 se obtienen menores tiempos de respuesta ya que solo se
establece la comunicación de un switch con el controlador, por ende el flujo de paquetes
pasa a través de ese único switch (switch 2). En cambio, cuando se realiza las pruebas
de conectividad de h1 a h4 los tiempos de respuesta en la primera conexión son más
altos debido a que esta vez interactúan los tres switches con el controlador, es decir, el
flujo de paquetes pasa por cada switch y éste se tiene que comunicar a su vez con el
controlador hasta aprender la ruta y llegar al host destino. Una vez establecida la
conexión, los dispositivos ya se conocen entre sí, por lo que ya no se necesita de una
comunicación constante del controlador con los switch puesto que ya se almacenaron
las reglas del flujo relacionadas a dichos dispositivos. El rendimiento de cada
controlador se ha evaluado en función de los tiempos máximos de respuesta con el fin
de evaluar el comportamiento de cada controlador en cada uno de los escenarios
establecidos. En las tablas 13 y 14 se puede observar que para la primera conexión se ha
obtenido menores tiempos de respuesta para los controladores POX y Floodlight,
mientras que cuando la conexión está establecida los tiempos de respuesta son mejores
para OpenIRIS, por lo tanto se evidencia que OpenIRIS tiene mejor rendimiento y
latencia cuando la conexión ya está establecida. Se trabajó con diferentes escenarios
para poder validar el controlador, dentro de la virtualización y también cuando se
encuentra en un servidor o computador físico, los resultados obtenidos en las tablas 8
son tiempos bajos puesto que se trabaja en una red totalmente virtual, en cambio las
tablas 10 y 12 nos dan a conocer tiempos de respuesta que se pueden dar dentro de una
topología de red real. Con esta validación se comprobó que no necesariamente el
controlador debe estar dentro de una misma red, podemos tener un controlador incluso
fuera de la misma (escenario 3), por lo tanto es factible crear una SDN puesto que no
importa el ambiente sea virtual o físico siempre se lleva a cabo los procesos.
40
7. CONCLUSIONES
41
8. RECOMENDACIONES
Otra recomendación es que se debería ejecutar los controladores con diferentes módulos
para que no existan errores, por ejemplo, la duplicación de paquetes que se puede
apreciar en el anexo E.
42
BIBLIOGRAFÍA
43
8. MALDONADO, D. A. (Mayo de 2014). Diseño e implementación de una
aplicación de red bajo la arquitectura SDN. Obtenido de PONTIFICIA
UNIVERSIDAD JAVERIANA:
http://repository.javeriana.edu.co/bitstream/10554/12745/1/MaldonadoHidalgoD
iegoArmando2014.pdf
11. NADEAU, T. D., & GRAY, K. (2013). Software Defined Networks SDN. United
States of America: Published by O´Reilly.
44
16. Redclara. (s.f.). Indico. Obtenido de
http://eventos.redclara.net/indico/getFile.py/access?contribId=0&resId=0&mater
ialId=slides&confId=197
19. SAVU, D., & STANCU, S. (14 de Febrero de 2014). Software Defined
Networking technology details and openlab research overview. Obtenido de
http://openlab.web.cern.ch/sites/openlab.web.cern.ch/files/presentations/0%5B1
%5D.pdf
45
23. VÁSQUEZ, J. M. (10 de Julio de 2011). Diseño y Desarrollo de una Aplicación
Para el Estudio Comparativo de Topologías de Red. Obtenido de e-Archivo
Universidad Carlos III de Madrid: http://e-
archivo.uc3m.es/bitstream/handle/10016/12615/PFC-Jose-Miguel-Vazquez-
Viejo.pdf?sequence=1
46
ANEXOS
47
ANEXO A
POX:
Para descargar el controlador POX se puede ingresar a la página web oficial (Figura
A1): https://github.com/noxrepo/pox/tree/eel o con el comando:
$ wget https://github.com/noxrepo/pox/archive/eel.zip
$ unzip eel.zip
1
Al ser descomprimido se crea la carpeta pox-eel en la cual se encuentra el archivo para
ser ejecutado el controlador. Ingresar a la carpeta con el comando: $ cd pox-eel/
FLOODLIGHT:
$ wget https://github.com/floodlight/floodlight/archive/v1.2.zip
2
Descomprimir el proyecto con el comando:
$ unzip v1.2.zip
3
Para compilar el proyecto java de Floodligth se debe usar el programa ant, se lo
descarga previamente y basta con ingresar a la carpeta del proyecto y ejecutar el
comando:
$ ant
4
ANEXO B
Para el Escenario 1: se abre dos terminales con la misma sesión como se muestra en la
figura B1, la una se conecta al controlador y la otra se conecta a Mininet.
Figura B1. Conexión SSH hacia Mininet y controlador (dos veces la misma)
6
ANEXO C
Floodlight:
7
Al finalizar los cambios, ya se puede ejecutar el controlador como se muestra en la
siguiente Figura.
POX:
9
ANEXO D
#AGREGAR CONTROLADORES
net.addController('c0', controller=RemoteController, ip='192.168.88.100', port=6633)
#Controlador POX
net.addController('c1', controller=RemoteController, ip='192.168.88.100', port=6643)
#Controlador IRIS
net.addController('c2', controller=RemoteController, ip='192.168.88.100', port=6653)
#Controlador Floodlight
#AGREGAR SWITCHS
s1 = net.addSwitch('s1')
s2 = net.addSwitch('s2')
s3 = net.addSwitch('s3')
#AGREGAR HOSTS
h1 = net.addHost('h1')
h2 = net.addHost('h2')
h3 = net.addHost('h3')
h4 = net.addHost('h4')
#AGREGAR ENLACES
net.addLink(s1, s2)
net.addLink(s1, s3)
net.addLink(h1, s2)
net.addLink(h2, s2)
net.addLink(h3, s3)
net.addLink(h4, s3)
10
Cambio de direccionamiento IP y ejecución de la topología para el Escenario 2.
11
TOPOLOGÍA 3 - ESCENARIO 3 (topocustom3.py):
net = Mininet(controller=None)
#AGREGAR CONTROLADORES
net.addController('c0', controller=RemoteController, ip='190.155.208.131', port=6633)
#Controlador POX
net.addController('c1', controller=RemoteController, ip='190.155.208.131', port=6643)
#Controlador IRIS
net.addController('c2', controller=RemoteController, ip='190.155.208.131', port=6653)
#Controlador Floodlight
#AGREGAR SWITCHS
s1 = net.addSwitch('s1')
s2 = net.addSwitch('s2')
s3 = net.addSwitch('s3')
#AGREGAR HOSTS
h1 = net.addHost('h1')
h2 = net.addHost('h2')
h3 = net.addHost('h3')
h4 = net.addHost('h4')
#AGREGAR ENLACES
net.addLink(s1, s2)
net.addLink(s1, s3)
#net.addLink(s2, s3)
net.addLink(h1, s2)
net.addLink(h2, s2)
net.addLink(h3, s3)
net.addLink(h4, s3)
12
Cambio de direccionamiento IP y ejecución de la topología para el Escenario 3.
13
ANEXO E
ESCENARIO 1:
14
Resultados de la ejecución del controlador OpenIRIS.
15
Resultados de la ejecución del controlador POX.
16
ESCENARIO 2:
17
Resultados de la ejecución del controlador Floodlight.
18
Resultados de la ejecución del controlador OpenIRIS.
19
ESCENARIO 3:
20
Resultados de la ejecución del controlador Floodlight.
21
Resultados de la ejecución del controlador POX.
22