Taller Redes SDN
Taller Redes SDN
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Objetivo General
Realizar el montaje de VoIP y Video con SDN sobre una central de llamadas basadas en Asterisk,
aplicando calidad de servicio (QoS) y seguridad a los mismos, además de analizar su estructura,
funcionamiento y relación con la nube.
Objetivos Específicos
● Montar una central de llamadas Asterisk aplicando SDN, implementando un servidor de VoIP
y uno de Video.
● Analizar a nivel estructural y capas la central de llamadas.
● Analizar el funcionamiento y relación con la nube de la central de llamadas.
● Aplicar una técnica de calidad de servicio (QoS) y de seguridad a cada servidor.
● Utilizar herramientas de software especializadas para la realización y análisis de las
simulaciones, tales como Mininet y OpenDayLight.
INTRODUCCIÓN
Durante las últimas dos décadas ha habido un enorme crecimiento en la cantidad y tamaño de las
redes. Muchas de ellas gracias al impulso de las TIC en donde un aspecto importante, que queda
demostrado en el conjunto de herramientas, es que el propio fundamento de la reglamentación de las
TIC ha seguido evolucionando a la par que las tecnologías emergentes. La liberalización de los
mercados TIC ha estimulado una acumulación de innovaciones interactivas en materia de productos,
servicios y tecnologías, en la que se ha producido una convergencia general o una difuminación de las
distinciones entre plataformas, productos y servicios en un mundo IP o centrado en las redes. Estos
adelantos exigen alguna forma de respuesta reglamentaria para promoverlos o frenarlos. El carácter
evolutivo de la regulación queda de manifiesto en el objetivo en movimiento de la reglamentación de
la Unión Europea (UE). Se ha procedido a sucesivas actualizaciones entre 1987 y 1998 y, más
recientemente, en 2002, y un número cada vez mayor de países está adoptando dicho marco a medida
que accede a la UE o empieza a ser candidato a miembro de la misma. El marco regulador de la UE
también se está extendiendo fuera de Europa y está ejerciendo influencia en los marcos que otros
países están adoptando.
Este documento busca analizar el soporte de voz y video con SDN sobre una central de llamadas
como Asterisk, su estructura y capas, funcionamiento y relación con la nube, además de aplicar
calidad de servicio y seguridad a los mismos.
Puede usar Asterisk para crear aplicaciones de comunicaciones, como sistemas telefónicos
comerciales (también conocidos como IP PBX), distribuidores de llamadas, pasarelas VoIP y
puentes de conferencia. Asterisk incluye componentes de bajo y alto nivel que simplifican
significativamente el proceso de creación de estas aplicaciones complejas.
El proyecto Asterisk comenzó en 1999 cuando Mark Spencer lanzó el código inicial bajo la
licencia de código abierto GPL. Desde entonces, ha sido mejorado y probado por una
comunidad global de miles de personas. Asterisk se mantiene gracias a los esfuerzos
combinados de Digium y la comunidad de Asterisk. Hoy en día, hay más de un millón de
sistemas de comunicaciones en uso basados en Asterisk en más de 170 países. Asterisk es
utilizado por casi toda la lista de clientes de Fortune 1000. La mayoría de las veces
implementado por integradores y desarrolladores de sistemas, Asterisk puede convertirse en la
base de un sistema de teléfono comercial completo, o se utiliza para mejorar o ampliar un
sistema existente, o para cerrar una brecha entre sistemas.
Para lograr estos objetivos empresariales, las SDN convergen la administración de los
servicios de red y aplicaciones en plataformas de coordinación centralizadas y ampliables que
pueden automatizar el aprovisionamiento y la configuración de toda la infraestructura.
Políticas de TI centralizadas comunes unifican grupos y flujos de trabajo de TI dispares. El
resultado es una infraestructura moderna que puede distribuir nuevas aplicaciones y servicios
en minutos, en vez de días o semanas como antes.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
En el pasado, las conversaciones mediante VoIP solían ser de baja calidad, esto se vio
superado por la tecnología actual y la proliferación de conexiones de banda ancha, hasta tal
punto llegó la expansión de la telefonía ip que existe la posibilidad de que usted sin saberlo ya
haya utilizado un servicio VoIP, por ejemplo, las operadoras de telefonía convencional,
utilizan los servicios del VoIP para transmitir llamadas de larga distancia y de esta forma
reducir costos.
2. Montar un servidor VoIP bajo SDN con una interfaz ‘Openflow’ y un controlador
‘OpenDayLight’
a. Aplicar calidad de servicio (QoS) a dicho servidor usando una de varias técnicas
como Marcado, Algoritmos contra congestión, encolamiento, etc.
b. Aplicar Seguridad a dicho servidor usando listas extendidas, listas con direcciones
MAC, IPsec, claves públicas o privadas ,etc.
DESARROLLO
Para el desarrollo de ambos ejercicios, se tuvo en cuenta la herramienta para emulación de redes bajo
SDN, el cual se encarga de emular redes bajo una Interfaz OpenFlow y bajo la aplicación de
protocolos y controladores basados en OpenDayLight.
Este punto fue desarrollado en una máquina Virtual de Linux, Distro Ubuntu 14.04 “Trusty Tahr”,
montado en el gestor de VMs Oracle VM VIrtualBox.
NOTA: En VirtualBox, se debe tener configurada la opción para poder manejar 3 controladores de
red, ya que de aquí solicitamos la dirección IP por cada una para así emular un host en la Máquina
Virtual. Teniendo en cuenta que los controladores se manejan bajo un adaptador NAT.
Para nuestro caso, una vez instaladas las herramientas para la emulación de la red, se desarrolla un
script en Código que contiene la inicialización de la red en Python (ver Anexos - Red.py).
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Lo primero que se debe hacer es inicializar el software del controlador de OpendayLight, para eso, en
una terminal de Linux, se ejecuta:
$ sudo ./UbicacionODL/distribution-karaf-.../bin/karaf
para inicializar el controlador y una interfaz web que se encarga de visualizar la topología y el tráfico
de red Bajo ODL.
Esto nos permite crear de una vez la red virtualizada, con un controlador en OpenDayLight y
configurando el switch de conexión bajo una Interfaz OpenFlow.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
NOTA: En caso de que no se visualicen los hosts, se escribe el comando en una terminal.
$ sudo mn -c
para borrar cualquier configuración previa de red generada desde mininet, después se vuelve a correr
el script y desde la terminal de mininet, escribir:
mininet>pingall
Con esto nos aseguramos de que la topología se haya generado correctamente, además de visualizar la
topología en OpenDayLight.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Topología generada desde la herrramienta MiniEdit.py (viene por defecto en la instalación de mininet)
Para este caso: inicializamos los hosts bajo el siguiente comando, en mininet:
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Desde la terminal del Host h2, hacemos el envío de transmision de video al Host h1, para ello usamos
los siguientes comandos:
Host h1:
Host h2:
Recibe la transmisión de h1
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Se visualiza el video:
Finalizada la transmisión del Video, desde la interfaz web de ODL, se hace la visualización del tráfico
de la red (También se puede hacer en wireshark, pero para este caso debemos mirar el flujo que pasa
directamente bajo el controlador)
Como tal, no se observan pérdidas ni errores durante los datos transmitidos, por tanto se tiene una
configuración deseada para QoS.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
De ahí se puede observar el tráfico desde la capa de transporte asegurada bajo TLS
También, se pueden configurar tablas de firewall, conocidas como “iptables”. El servicio que se
encarga de manejar las Iptables viene por defecto en linux. se agrega una regla de firewall por cada
dirección ip asignada por los hosts.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Lo primero que se debe hacer es inicializar el software del controlador de OpendayLight, para eso, en
una terminal de Linux, se ejecuta:
$ sudo ./bin/karaf
para inicializar el controlador y una interfaz web que se encarga de visualizar la topología y el tráfico
de red Bajo ODL.
En una nueva ventana de terminal se corre el siguiente comando para borrar cualquier configuración
previa de red generada desde mininet
$ sudo mn -c
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Seguidamente se inicializa la red a trabajar con mininet, el cual me añade el controlador, 2 hosts, 2
switches y sus respectivos enlaces
$ sudo mn
Y se puede comprobar su conexión realizando un ping entre de un host a otro, con el comando:
mininet> h1 ping -c 1 h2
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
mininet> pingall
Se configura el controlador de ODL en la ventana de terminal donde se inicializó Open Day, con el
comando:
opendaylight-user@root>feature:install odl-restconf-all
odl-openflowplugin-all odl-l2switch-all odl-mdsal-all
odl-yangtools-common odl-dlux-all
Una vez configurado el controlador de ODL, se abre el navegador Firefox y se escribe en la barra de
dirección: http://localhost:8181/index.html, para loguearse en la herramienta, mediante usuario y
clave
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Ya iniciando sesión, la herramienta nos muestra una interfaz que permite ver la topología a cargar, sus
nodos e información correspondiente a la red.
En la terminal usada para inicializar Open Day, se puede observar las librerías que son cargadas para
que la herramienta funcione
Se ejecuta el script a usar desde la terminal que se utilizó para inicializar la red bajo el comando
(desde la ruta mininet/custom):
Además de inicializar los 2 hosts bajo el siguiente comando:
Esto nos permite crear de una vez la red virtualizada, con un controlador en OpenDayLight y
configurando el switch de conexión bajo una Interfaz OpenFlow, la cual se puede comprobar desde la
ventana del navegador Firefox.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Se puede ver las características de cada nodo en la pestaña Nodes, donde la información es presentada
en forma de tabla.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Mediante el uso de las terminales abiertas para cada host, se puede comprobar
mediante un ping la conexión entre ambas.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Host 1:
ping 10.0.4.15
Host 2:
ping 10.0.3.15
Para poder ver desde la terminal los equipos que forman parte de nuestra red e información detallada
sobre los mismos, se escribe el comando:
mininet> dump
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Se instala la herramienta de prueba de rendimiento SIPp en la máquina virtual de Mininet y el host h1,
con el comando
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
NOTA: Si no se encuentra abierto los terminales para los hosts se debe ejecutar los comandos
Después se experimenta con la herramienta SIP, escribiendo en la terminal de host h1 y el host h2 el
comando
tcpdump -w sip_experiment.pcap
Host h1:
Host h2:
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
Seguidamente se instala mediante comandos la herramienta Wireshark, el cual es un analizador de
protocolos utilizado para realizar análisis y solucionar problemas en redes de comunicaciones, para
desarrollo de software y protocolos, y como una herramienta didáctica.
Video y VoIp con SDN aplicando calidad de servicio (QoS) y seguridad - Universidad Distrital Francisco José de Caldas -
Ingeniería de Sistemas
Teleinformática 2 - Presentado a: Octavio Salcedo Parra
Presentado por: Angie Suárez, Tatiana Velandia y Joan Paz
#!/usr/bin/python
from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController,
OVSKernelSwitch
from mininet.cli import CLI
from mininet.link import Intf
from mininet.log import setLogLevel, info
def myNetwork():
# RED
net = Mininet(topo=None,build=False, switch=OVSKernelSwitch)
info( '** Agregar controlador **\n' )
net.addController(name='c0',controller=RemoteController,
ip='10.0.2.15', port=6633)
info( '** Agregar conmutador **\n')
s1 = net.addSwitch('s1')
Intf( 'eth1', node=s1 )
Intf( 'eth2', node=s1 )
net.start()
h1.cmdPrint('dhclient '+h1.defaultIntf().name)
h2.cmdPrint('dhclient '+h2.defaultIntf().name)
CLI(net)
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
myNetwork()