Está en la página 1de 5

Implementación del controlador SDN usando OpenDaylight:

experimentos

Alexandru Eftimie 1 , Eugen Borcoci 1,


1 Departamento de Telecomunicaciones, Universidad POLITEHNICA de Bucarest, Bucarest,
Rumania Contacto autor e-mail: alexandru.eftimie@gmail.com, eugen.borcoci@elcom.pub.ro

Resumen - Software Defined Networking (SDN) es ment para se realizará con una red simulada en Mininet [2], con una
añadir flexibilidad a las opciones de implementación del plan complejidad reducida. Se discutirán aspectos sobre
de control, lo que permite elegir entre los puntos del eje de configuración, modo de acceso, estadísticas de lectura e
diseño de implementación: centralizado a distribuido, micro-
flujo a flujo agregado, reactivo a proactivo, Virtual a físico, y
interfaces disponibles.
totalmente consistente a eventualmente consistente. Cabe Otra razón por la que se eligió este controlador es la
destacar que el problema de comparar los controladores SDN interfaz Representational State Transfer (REST) que ofrece
es extremadamente difícil, principalmente porque es un a todas las demás entidades que se supone que interactúan
problema multifacético. Además, el análisis comparativo con él. Este controlador, por su ubicación, pero también
normalmente ayuda a 'seleccionar' un controlador para por la función de agregar una serie de equipos en el área de
cumplir con un determinado o un conjunto de requisitos. Este
acceso, necesita soporte para la automatización. La interfaz
documento tiene como objetivo presentar la implementación
de un controlador de código abierto OpenDaylight en un REST es una potente herramienta para implementar la
entorno pequeño. Los experimentos descritos pueden ayudar a automatización de la nube en la periferia de la red. Por
los implementadores a desarrollar sistemas orientados a SDN. ejemplo, cambiar el umbral de un sensor se puede hacer
Se destacarán los pros y los contras con respecto a la automáticamente a través de esta automatización y una
implementación y funcionalidad. sola llamada al servidor REST a través de HTTPs
resolverá el problema. Así, el tiempo de configuración y
Keywords: Opendaylight; Redes definidas por software; los recursos humanos necesarios se reducirán
OpenFlow. considerablemente.
Las principales características a seguir son la
estabilidad, el pequeño número de dependencias, la
I.INTRODUCCIÓN seguridad y especialmente la seguridad de las
comunicaciones, el consumo de recursos y el impacto del
número de equipos que se gestionan en los recursos del
Trasladar la mayoría de los recursos computacionales a la controlador. Estas son características clave que dicho
periferia de la red es más bien una descentralización del diseño controlador debe cumplir para llevar la potencia
centralizado actual. Esto se traduce en el hecho de que, aunque informática a la periferia de la red [3].
la potencia informática se lleva al borde de la red, todavía se
necesita una entidad para garantizar la gestión de un conjunto A.Tootoonchian et al., fueron de los primeros en
agregado de equipos. Este artículo tiene como objetivo ilustrar proporcionar el análisis comparativo de controladores [4]:
un controlador SDN que puede gestionar un gran número de "Sobre el rendimiento del controlador en redes definidas
equipos en la periferia de la red. Esta entidad también debe por software." Cubrieron un número limitado de
colocarse al final de la red y tiene la función de agregar un controladores (NOX-MT, Beacon y Maestro) y se
conjunto de equipos de acceso, coordinarlos y ser un punto de centraron solo en el rendimiento del controlador. Estos
comunicación con el resto de la red, especialmente con la controladores ya han sido reemplazados por otros
nube. controladores como POX, Ryu, FloodLight y
OpenDaylight [4].
El controlador propuesto en este documento para la
evaluación es Opendaylight [1] - esta es una herramienta Shalimov et al., realizaron el "estudio avanzado de los
apoyada y desarrollada por muchas organizaciones a nivel controladores SDN/OpenFlow" en [5]. Los autores afirman
mundial y que puede ser el candidato ideal para este papel. hacer un análisis comparativo imparcial de la efectividad
Seguiremos el camino de su aplicación e identificaremos de los controladores SDN ampliamente utilizados: NOX,
las dificultades, así como las limitaciones que puedan POX, Beacon, Floodlight, MuL, Maestro y Ryu. En este
surgir y que harían engorrosa la aplicación a gran escala. trabajo, los autores definen un término paraguas -
Las pruebas del controlador efectividad del controlador
— como un colección de eficienciaíndices,
tal como

978-1-7281-5611-8/20/$31.00 ©2020 IEEE 477

Uso autorizado con licencia limitado a: Universidad Peruana de Ciencias Aplicadas (UPC). Descargado el 09 de noviembre de 2022 a las 23:06:15 UTC desde IEEE Xplore. Se
aplican restricciones.
rendimiento, escalabilidad, fiabilidad y seguridad. Las 478
conclusiones proporcionadas por los autores incluyen [5]:
x Había varias posibles vulnerabilidades de
OpenDaylight Controller expone las API abiertas del
seguridad de los controladores probados;
norte que utilizan las aplicaciones. Estas aplicaciones
x La mayoría de los controladores eran capaces utilizan el controlador para recopilar información de red,
de hacer frente a una carga de trabajo media; ejecutar algoritmos para realizar análisis y, a continuación,
utilizar OpenDaylight Controller para crear nuevas reglas
x El rendimiento máximo fue demostrado por el
en toda la red. [6] [7]
controlador Beacon;
OpenDaylight Controller se implementa
La Tabla 1 resume la comparación de los controladores
exclusivamente en software y se almacena en su propia
de código abierto considerando diferentes casos de uso. máquina virtual Java (JVM). Esto significa que puede
implementarse en hardware y en cualquier plataforma de
sistema operativo que soporte Java. El controlador utiliza
estas herramientas:
x Maven para la automatización de edificios
x OSGi para carga dinámica de paquetes y
embalaje de archivos JAR
x Interfaces JAVA para escuchar eventos,
especificaciones.
x REST API para entidades de servidor como
gestor de topología, rastreador de host,
Tabla 1 Comparación de controladores OpenSource [3] planificador de flujo y enrutamiento estático.

B. Mininet
II.HERRAMIENTAS: LUZ DEL DÍA Y MININET
Mininet es un emulador de red [2]que crea un
Esta sección resumirá algunos aspectos de
red de hosts virtuales, switches, controladores y
OpenDaylight y Mininet. conexiones. Los hosts de Mininet ejecutan software de red
Un. OpenDaylight Linux estándar, y sus switches admiten OpenFlow para un
enrutamiento personalizado altamente flexible y una red
Organizado por la Fundación Linux, OpenDaylight
definida por software.
Project (ODL) [1] es un proyecto SDN de código abierto
que tiene como objetivo mejorar la red definida por Mininet ofrece un "banco de pruebas" virtual y un entorno
software (SDN) proporcionando un marco liderado por la de desarrollo para SDN. Mininet permite el desarrollo de
comunidad y apoyado por la industria para el controlador SDN en cualquier computadora portátil o computadora, y
OpenDaylight, que ha sido renombrado como los diseños de SDN pueden moverse sin problemas entre
OpenDaylight Platform. Mininet (lo que permite un desarrollo barato y optimizado)
y el hardware en tiempo real que se ejecuta en línea en
Debido a que la plataforma OpenDaylight es
vivo. Mininet permite lo siguiente:
multiprotocolo y modular, los usuarios pueden crear un
controlador SDN para satisfacer sus necesidades Creación rápida de prototipos de SDN;
específicas. Este enfoque modular y multiprotocolo da a
Probar la topología compleja, sin necesidad de
los administradores de TI la oportunidad de elegir un solo
conectar una red física;
protocolo o seleccionar varios protocolos para resolver
problemas complejos a medida que crecen. La plataforma Varios desarrolladores que compiten trabajando
incluye soporte para todas las plataformas SDN, independientemente en la misma topología;
incluyendo OpenFlow, Open vSwitch Database (OVSDB),
Network Configuration Protocol (NETCONF) y Border
Gateway Protocol (BGP). III.APLICACIÓN
El protocolo OpenFlow, considerado el primer estándar El propósito de este experimento es configurar y
SDN, define el protocolo de comunicación abierta que observar el correcto funcionamiento de OpenDaylight, que
permite al controlador SDN trabajar con el plano de tiene el rol de controlador para una red emulada usando
reenvío y realizar cambios en el comportamiento de la red. Mininet. Se ha seguido la evaluación del controlador
Esto da a las empresas la capacidad de adaptarse mejor a OpenDaylight en la interconexión con otras plataformas;
sus necesidades cambiantes y de tener un mayor control en el trabajo anterior [8] se probó la interoperabilidad con
sobre sus redes. Openstack. Para este experimento utilizaremos máquinas
virtuales; el procedimiento se puede probar en varios
sistemas operativos.
En este experimento se han utilizado dos máquinas
virtuales: una de ellas ejecutará Mininet donde el emulado

Uso autorizado con licencia limitado a: Universidad Peruana de Ciencias Aplicadas (UPC). Descargado el 09 de noviembre de 2022 a las 23:06:15 UTC desde IEEE Xplore. Se
aplican restricciones
La topología de red se encuentra, y la segunda máquina #install OpenJDK 11
ejecutará el controlador OpenDaylight. $ sudo apt-get actualización
Las dos máquinas virtuales deben tener conectividad $ sudo apt-get install default-jre-headless
entre sí y con el sistema que las aloja, para tener acceso
SSH a ellas y poder ejecutar el cliente X11. También se #desinstalar OpenJDK 11
necesita conexión a Internet. Para lograr esto, ambas sudo apt remove default-jre-headless
máquinas virtuales tendrán dos tarjetas de red, una Buscar en la lista de miembros
configurada como NAT (para el acceso fuera de la red) y
otra configurada como "red de solo host". #Add Universe Software Repositorio

A. Configuración del controlador SDN sudo add-apt-repository universe

Para la implementación del controlador OpenDaylight


SDN, utilizamos la versión oficial de Ubuntu Server de A continuación, debe instalar OpenDaylight en el
www.ubuntu.com [8]. La versión elegida es Ubuntu Server servidor de Ubuntu. Para ello debe descargar el software
18.04.2 LTS. El primer paso es crear una máquina virtual en el sitio web oficial https://www.opendaylight.org/ El
con al menos 2 GB de RAM (el mínimo requerido para archivo obtenido de la descarga es un * . tar que tiene que
ejecutar OpenDaylight). ser descomprimido y ejecutado más tarde.
Los esquemas de direccionamiento para las dos OpenDaylight está empaquetado en un
máquinas virtuales son los siguientes: contenedor karaf. Karaf [6] es una tecnología de
contenedores que permite a los desarrolladores poner todo
el software necesario en una sola carpeta de distribución.
Configuración de red direccionamiento IPv4 Para ejecutar OpenDaylight, ejecute el comando
NAT 10.2.0.15/32 karaf en la carpeta distribution-karaf-0.4.0-Beryllium.
"red de solo host" 192.168.56.0/24 odl-alex@odl-alex:~$ cd distribution-
Tabla 2 Esquema de direccionamiento IP karaf-0.4.0-Beryllium
odl-alex@odl-alex:~$ ./bin/karaf
Una vez que nos conectamos al servidor a través de
SSH recibimos la siguiente pantalla de inicio:

iniciar sesión como: odl-alex


b) Dependencias
Contraseña de odl-alex@192.168.56.104:
OpenDaylight está empaquetado en un contenedor
Bienvenido a Ubuntu 18.04.2 LTS
(GNU/Linux 4.15.0-55-generic x86_64)
karaf. Karaf es un entorno de ejecución modular de código
abierto.
Información del sistema a partir del
mar Jul 30 09:23:28 UTC 2019 Hemos instalado las siguientes funciones:
Carga del sistema: 0.07 Odl-restconf - permite el acceso a la interfaz
Procesos: 94
RESTCONF
Uso de / 49.4% de 9.78GB
odl-l2switch-switch: Proporciona una funcionalidad
Usuarios registrados en: 1
similar al switch
Uso de memoria: 56%
odl-mdsal-apidocs: Permite el acceso al Yang
Dirección IP para enp0s3: 10.0.2.15 API
Uso de intercambio: 0% odl-dlux-all: la interfaz gráfica de OpenDaylight
Dirección IP para enp0s8: 192.168.56.104

B. Mininet
La configuración de Mininet se realizará utilizando una
a) Java máquina virtual; en la base de esta máquina virtual tiene como
sistema operativo un Ununtu Server. Los servicios que
El controlador OpenDaylight es un programa Java necesitará para este experimento son SSH y un cliente de
y por lo tanto Java debe estar instalado en este sistema. software de X Server.
Después de varias pruebas se ha notado que la versión 11
de Java no es compatible, la versión adecuada para este Un servidor X es un programa del sistema X Window que
experimento es 8. se ejecuta en máquinas locales (es decir, equipos utilizados
directamente por los usuarios) y gestiona todo el acceso a
las tarjetas gráficas, visualización
479
Uso autorizado con licencia limitado a: Universidad Peruana de Ciencias Aplicaas (UPC). Descargado el 09 de noviembre de 2022 a las 23:06:15 UTC desde IEEE Xplore. Se
aplican restriccione
las pantallas y los dispositivos de entrada (normalmente un
teclado y un ratón) de esos ordenadores [9].
X Window System, a menudo conocido como X, Gráfico III-1 Estadísticas por nodo
es un sistema completo, multiplataforma, libre de cliente-
servidor para administrar interfaces gráficas (interfaces
gráficas de usuario) en computadoras individuales y redes
de computadoras. El modelo cliente-servidor es una Esta interfaz también ofrece una interfaz de
arquitectura (es decir, diseño de red) que divide el trabajo usuario YANG. Yang es una estructura de modelado de
entre dos aplicaciones separadas, pero relacionadas, datos [10]. Los operadores suelen estar familiarizados con
llamadas clientes y servidores. otros tipos de estructura de modelado de datos basada en
SNMP, SMI o MIB. Yang proporciona funcionalidad a los
La máquina virtual Mininet está disponible en
http://mininet.org/downloadload. He elegido la versión switches SDN.
mininet-2.1.0-130919-ubuntu-13.04-server-amd64-ovf.zip. Esta interfaz ofrecida por OpenDaylight,
Este archivo es un archivo ZIP comprimido que contiene OpenDaylight Yang UI, es un cliente REST, con un
dos archivos, por lo que después de descargarlo debe carácter gráfico, para construir y enviar solicitudes REST
descomprimirse y guardarse. Estos archivos (* .ovf y al controlador OpenDaylight. Podemos usar Yang UI para
* .vmdk) se importan a VirtualBox, las tarjetas de red se obtener información del almacén de datos o para construir
configurarán como se describe al principio del capítulo y se comandos REST para cambiar la información en el
iniciará la máquina virtual. Las credenciales son userid = almacén de datos - cambiar las configuraciones de red.
mininet y password = mininet. Para obtener información topológica utilizaremos un método GET
En la ventana del terminal, que ahora ejecuta una en
sesión SSH conectada a la máquina virtual, iniciamos http://192.168.56.109:8181/restconf/operational/opendayl
Xming: inventario:
mininet @ mininet-vm: ~ $ xterm -sb &
Tenemos todas las herramientas que necesita para IV.CONCLUSIÓN
ejecutar Mininet y evaluar cómo el controlador SDN ve la Se ha cumplido el propósito de este experimento de
red. Se pueden usar dos métodos para crear una topología integrar un controlador SDN para la gestión de red
en Mininet: simulada utilizando Mininet. Este informe de investigación
descripción de la topología mediante un código escrito tenía como objetivo encontrar una alternativa al
en python; controlador SDN-NFV. En un sistema con recursos
limitados, puede instalar y configurar un controlador SDN
uso de una topología incorporada; con un mínimo de funciones requeridas. Agregar nuevas
Crearemos una topología simple, como sigue: características traería nuevas dependencias que podrían
plantear problemas.
una topología lineal con 3 interruptores;
La estabilidad de este controlador, el consumo de
cada interruptor tendrá un host conectado; recursos y las principales limitaciones se evaluaron
El controlador OpenDaylight estará disponible en IP mediante la monitorización de los recursos de la máquina
192.168.56.104:6633 donde se alojaba toda la configuración.
OpenFlow 1.3 se utilizará La principal ventaja de este controlador es el bajo
consumo de recursos del controlador Opendaylight.
La infraestructura del sistema deseada se realizará
Una gran ventaja de esta implementación es la
ejecutando lo siguiente:
presencia de la interfaz REST. Esto es globalmente
aceptado e implementado y es una herramienta muy fácil
mininet@mininet-vm:~$ sudo mn --topo linear,3 --mac - de usar para comunicarse con la red a través del
-controller=remote,ip=192.168.56.109,port=6633 -- controlador. Aunque en el experimento presentado solo
switch ovs,protocols=OpenFlow13 utilizamos métodos GET, existe la posibilidad de
modificar la red a través de POST. En comparación con
otros controladores, la interfaz REST puede ser un
Se puede acceder al controlador OpenDaylight a través de diferenciador importante, la integración a través de esta
la interfaz gráfica Web: interfaz puede traer automatización de la red a través de
http:///192.168.56.104:8181/index.html. Las credenciales Internet. Una posible implementación sería colocar este
por defecto son username: admin, password: admin. controlador en el área de borde de la red. El concepto de
Desde esta interfaz podemos ver la topología gráfica computación de niebla
creada y tener información sobre los nodos presentes
(interfaz gráfica -> Nodos) como se muestra en la figura
III.

480

Uso autorizado con licencia limitado a: Universidad Peruana de Ciencias Aplicadas (UPC). Downloaded on November 09,2022 at 23:06:15 UTC from IEEE Xplore. Restrictions
apply.
becomes easy to implement and manage through such an Bibliography
interface.
From the point of view of the limitations, one of the [1] OpenDaylight Association, "Opendaylight," [Online].
problems encountered is the incompatibility of OpenDaylight Available: https://www.opendaylight.org/. [Accessed Jan
with Java 11, although we used the latest version of software. 2020].
This could be a differentiator compared to other SDN
controllers for large-scale deployment. I should mention that I [2] Mininet Team, "Mininet," [Online]. Available:
did not find any way to configure the controller to accept this http://mininet.org/. [Accessed Feb 2020].
version. Such dependencies can be brought by other additional [3] S. Rao, "The New Stack," [Online]. Available:
modules of the controller that require the presence of specific https://thenewstack.io/sdn-series-part-eight-comparison-of-
services on the equipment of the horse on which it is installed. open-source-sdn-controllers/. [Accessed Feb 2020].
[4] A. Tootoonchian, S. Gorbunov, Y. Ganjali, M. Casado and
Another obstacle encountered is the server's inability to
R. Sherwood, "Usenix," [Online]. Available:
configure both interfaces via DHCP. Using a virtual https://www.usenix.org/conference/hot-ice12/workshop-
environment this problem may not exist in a real program/presentation/tootoonchian. [Accessed Feb 2020].
implementation, given that the DHCP server is the
VirtualBox server. However, solving this problem is [5] A. Shalimov, D. Zuikov, D. Zimarina, V. Pashkov and R.
simply editing the / etc / network / interfaces file. Smeliansky, "Association for Computing Machinery,"
[En línea]. Disponible:
Given the demanding network security requirements, https://dl.acm.org/doi/abs/10.1145/2556610.2556621.
the REST interface used is working over HTTP. This [Consultado en febrero de 2020].
equates to great vulnerability. For large-scale use the
[6] Opendaylight community, "ODL Cloud and NFV,"
connection to port 443 - HTTPs is necessary. [Online]. Available: https://www.opendaylight.org/use-
x As future work a detailed analysis of the cases-and-users/by-function/cloud-and-nfv. [Accessed 15
limitations discovered and an in-extenso testing of December 2019].
certain functions crucial for a good functioning in [7] Opendaylight community, "Platform Overview," [Online].
a real system will be considered: a customized Available: https://www.opendaylight.org/what-we-do/odl-
topology will be considered looking for two platform-overview. [Accessed 15 December 2019].
aspects: number of equipments and the network
structure. Topologies like the ones used in the [8] Ubuntu Community, "Ubuntu," [Online]. Available:
access area will be used for tests, taking in https://ubuntu.com/. [Accessed Jan 2020].
consideration: the equipment arrangement, the [9] B. Linkletter, "Brian Linkletter," [Online]. Available:
number of connections, redundancy. https://www.brianlinkletter.com/using-the-opendaylight-
x Performance evaluation of this controller remains sdn-controller-with-the-mininet-network-emulator/.
an open problem and it will be studied it the [Accessed Jan 2020].
future. In the presented setup this evaluation [10] RFC community, "Request for Commnents," [Online].
cannot be extrapolated for real life use cases since Available: https://tools.ietf.org/html/rfc6020. [Accessed Jan
test network was linear and not hierarchical, with 2020].
many interconnections.
x Also, the REST server included in the controller
must be evaluated for scaled networks - its
performance regarding the response to many
concurrent requests or a long sequence of
requests. Considering that some of the operations
will block the thread until a response will be
generated there should be a queuing mechanism
or a request / response mechanism to avoid the
overwhelming of the controller.

481
Authorized licensed use limited to: Universidad Peruana de Ciencias Aplicadas (UPC). Downloaded on November 09,2022 at 23:06:15 UTC from IEEE Xplore. Restrictions apply.

También podría gustarte