Evaluación de Tecnología SDN
Evaluación de Tecnología SDN
Evaluación de Tecnología SDN
F acultad de Informática
TESINA DE LICENCIATURA
T itu lo : Evaluación de Tecnología SDN
A u to re s: Marcelo Barreto
D irecto r: Lic. Paula Venosa, Lic. Andres Barbieri
C o d ire cto r: -
A se so r p ro fe s io n a l: -
C arrera: Licenciatura en Sistemas
Resumen
Las redes de computadoras actuales son complejas y difíciles de administrar, y están compuestas de una amplia
variedad de equipamiento. Los routers y switches ejecutan software de control complejo y distribuido que generalmente
es propietario y cerrado, encargado de implementar protocolos de red que requieren años de estandarización y pruebas
de interoperabilidad.
Para que estas puedan operar los administradores de red deben configurar cada uno de los dispositivos utilizando
interfaces de configuración, que varían según el vendedor del dispositivo e incluso entre productos del mismo vendedor.
Como consecuencia la innovación en el ámbito de las redes ha sido lenta, y ha aumentado la complejidad de su
operación.
El objetivo del presente trabajo es realizar un análisis de las características y potencial de la tecnología SDN, aplicada
a la administración y mantenimiento de redes de datos. Y realizar un prototipo funcional de una interfaz de usuario, capaz
de mostrar la topología de una red y permitir realizar cambios en su funcionamiento de forma centralizada. Finalizando
con la resolución de algunos problemas típicos en las redes a través del uso de esta tecnología.
M ARCELO BARRETO
FACULTAD DE INFORMÁTICA
DIRECTORES
Lie. Paula Venosa
Lie. Andres Barbieri
AGRADECIMIENTOS
v
ÍNDICE G E N E R A L
I INTRODUCCIÓN 1
1 O R G A N I Z A C I Ó N DEL TA B A JO 3
1 .1 M otivación.......................................................................... 3
1.2 Objetivo ............................................................................. 3
1.3 Estructura del T ra b a jo ...................................................... 4
II M A RC O TEÓRICO 5
2 A R Q U I T E C T U R A T R A D I C I O N A L DE L A S R E D E S 7
2.1 Evolución y funcionamiento............................................. 7
2.2 Limitaciones de la arquitectura....................................... 10
2.3 Conclusión.......................................................................... 12
3 SOFTWARE DEFINED NETWORKS 13
3.1 Hacia el concepto de S D N ................................................ 13
3.2 Arquitectura S D N .............................................................. 14
3.2.1 Dispositivos S D N ................................................... 16
3.2.2 Controlador........................................................... 19
3.2.3 Capa de Aplicación................................................ 21
4 LA ESPECIFICACIÓ N OPENFLOW 23
4.1 Introducción....................................................................... 23
4.2 La tabla de f l u jo s .............................................................. 25
4.3 Protocolo de Com unicación............................................. 30
4.3.1 Mensajes Sim étrico s............................................. 30
4.3.2 Mensajes Asimétricos .......................................... 31
4.3.3 Mensajes Controlador-Dispositivo..................... 32
III D E S A R R O L LO DEL T R A B A JO 33
5 HERRAM IENTAS 37
5.1 Creación e instanciación de am bientes........................... 37
5.1.1 Vagrant.................................................................... 37
5.1.2 A n sib le............................. 38
5.1.3 VirtualBox.............................................................. 38
5.2 Implementación de la interfaz de u su a rio ..................... 39
5.2.1 A n g u la rJS .............................................................. 39
5.2.2 Bootstrap................................................................. 39
5.2.3 D 3 js.......................................................................... 39
5.3 Implementación de la capa de aplicación S D N ............ 39
5.3.1 N etw o rk X .............................................................. 40
5.3.2 T o rn a d o ................................................................. 40
5.4 Implementación de la capa de control S D N .................. 40
5.4.1 Introducción............................................................ 40
5.5 Implementación de la capa de datosS D N ...................... 46
5.5.1 Open vS w itch ......................................................... 46
vii
viii ÍNDICE GENERAL
5.5.2 M ininet..................................................................... 46
5.5.3 M in ie d it.................................................................. 47
6 PROBLEM AS PROPUESTOS 49
6.1 Introducción........................................................................ 49
6.2 Topología de la r e d ............................................................ 49
6.2.1 Motivación............................................................... 49
6.2.2 Requerimientos...................................................... 50
6.3 Políticas de acceso ............................................................ 51
6.3.1 Motivación............................................................... 51
6.3.2 Requerimientos...................................................... 52
7 DESARROLLO Y SOLUCIONES PROPUESTAS 53
7.1 Arquitectura del producto desarrollado........................ 53
7.2 Solución al problema de topología de r e d ..................... 54
7.2.1 Soluciones tradicionales....................................... 34
7.2.2 Solución desarrolladaa través de S D N ............. 55
7.3 Solución al problema de política de a c c e s o .................. 60
7.3.1 Soluciones tradicionales....................................... 60
7.3.2 Solución desarrolladaa través de SDN 62
IV C O N C L U S I O N E S Y T R A B A JO FUTURO 65
8 C O N C L U S I O N E S Y T R A B A JO FUTURO 67
8.1 Conclusiones........................................................................ 67
8.2 Trabajo F u tu ro ........................................................................ 68
V APÉNDICES 71
A SINTAXIS NETKAT 73
A.i Propiedades mátemáticas de N e tK a t.............................. 73
a .2 Sintaxis de N e t K a t ............................................................ 73
A . 2 . 1 T ip o s ......................................................................... 75
A . 2 . 2 P re d ic a d o ................................................................ 76
a .2.3 Po lítica...................................................................... 77
B IB L IO G R A F ÍA 79
Í N D I C E DE F I G U R A S
IX
Parte I
INTRODUCCIÓN
O R G A N I Z A C I Ó N DEL TABAJO
MOTIVACIÓN
OBJETIVO
3
O R G A N I Z A C I Ó N DEL T A B A J O
E S T R U C T U R A DEL T R A B A JO
MARCO TEÓRICO
A R Q U I T E C T U R A T R A D I C I O N A L DE L A S R E D E S
7
A R Q U I T E C T U R A T R A D I C I O N A L DE L A S R E D E S
L I M I T A C I O N E S DE L A A R Q U I T E C T U R A
CONCLUSIÓN
H A C I A E L C O N C E P T O DE S D N
13
SOFTWARE DEFINED NETWORKS
A R Q U I T E C T U R A SD N
Terminai de Administración
S otith B o u n d A P I
Interfaz de C om u n ic ac ió n
(Ej: N E T -C O N F , O p en flo w )
______ i ______
Piano de Datos Plano de Datos
Capa de Datos
Dispositivos SD N
Función de Procesamiento
15)-
Las memorias CAM utilizadas para implementar esta funcionali
dad, son útiles cuando los índices son precisos y fijos como el caso de
las direcciones MAC de 48 bits.
Tablas de Flujos
Controlador
Capa de Aplicación
INTRODUCCIÓN
23
24 LA E SP E C IF IC A C IÓ N OPENFLOW
C A M P O S DE CO IN CID EN CIA C O N TA D O R E S A C C IO N E S
CA M P O S DE CO IN CID EN CIA C O N TA D O R E S A C C IO N E S
_______________________ - ».______________ __ ____ ___-............. ................... >
Campos de Coincidencia
Contadores
Acciones
REENVÍO
DESCARTE
MODIFICACIÓN
P R O T O C O L O DE C O M U N I C A C I Ó N
Mensajes Asimétricos
Mensajes Controlador-Dispositivo
Características
Configuración
Modificación de Estado
Lectura de Estado
Envió de Paquete
Barrera
D E S A R R O L L O DE L T R A B A J O
HERRAMIENTAS
C R E A C I Ó N E I N S T A N C I A C I Ó N DE A M B I E N T E S
Vagrant
37
HERRAMIENTAS
Ansible
VirtualBox
I M P L E M E N T A C I Ó N DE L A I N T E R F A Z DE U S U A R I O
AngularJS
Bootstrap
D3js
I M P L E M E N T A C I Ó N DE L A C A P A DE A P L I C A C I Ó N S D N
NetworkX
Tornado
I M P L E M E N T A C I Ó N DE L A C A P A DE C O N T R O L S D N
Introducción
Nox
Fox
Frenetic
Composición Secuencial
Composición Paralela
(port := 65532 )
+
(filter ethDst = 00:00:00:00:00:02 ; port := pipeC'all"))
Operadores de comparación
1. Una que define el flujo de los paquetes que tienen como direc
ción MAC origen 00:00:00:00:00:01.
actions=output:2
actions=output:2
Operadores Lógicos
2. Otra que define el flujo de los paquetes que tienen como direc
ción mac origen 00:00:00:00:00:01.
actions=output:2
actions=output:2
I M P L E M E N T A C I Ó N DE L A C A P A D E D A T O S S D N
Open vSwitch
Mininet
Miniedit
Miniedit [28] es una interfaz para Mininet que permite diseñar una
topología de red de forma gráfica y generar el código necesario para
ejecutarla en mininet. Esta herramienta fue utilizada para generar las
topologías de ejemplo utilizadas en el trabajo.
biblioteca
FAC. DE INFORMÁTICA
U N I P.
PROBLEM AS PROPUESTOS
INTRODUCCIÓN
T O P O L O G Í A DE L A RED
Motivación
49
PROBLEMAS PROPUESTOS
Requerimientos
P O L Í T I C A S DE A C C E S O
Motivación
Requerimientos
[email protected]:cheloba rreto/tesis-frontend.git |
[email protected]:chelobarreto/tesis-laboratorio.git I
A R Q U I T E C T U R A DEL PRODUCTO D E S A R R O L L A D O
53
DESARROLLO Y SOLUCIONES PROPUESTAS
S O L U C I Ó N A L P R O B L E M A D E T O P O L O G Í A DE R E D
Soluciones tradicionales
dpid: 1
A 1 1 1 1
B 1 2 1 2
C 2 1 2 1
D 2 2 2 2
E 2 3 2 3
F 3 1 3 1
G 3 2 3 2
H 3 3 3 3
Table 7.1: Generación de Paquetes
7 - 2 S O L U C I Ó N A L P R O B L E M A DE T O P O L O G Í A DE R E D 59
Las columnas LLDP DPID y LLDP PORT especifican los datos que
contendrá el paquete LLDP y las columnas SWITCH Y PUERTO in
dican en qué dispositivo y número de puerto se inyectará el paquete.
OpenFiow Frontend
T o pology *0000000000001
P olicy
^ j^ 0 0 0 0 0 0 0 0 0 0 0 0 2
S O L U C I Ó N A L P R O B L E M A DE P O L Í T I C A DE A C C E S O
Soluciones tradicionales
74-
Dispositivo 3
Dispositivo 1
En el Dispositivo 2:
" Permitir la utilización del lenguaje de alto nivel "N etK at" para
la definición de la política y brindar una interfaz de usuario con
la capacidad de obtener la traducción necesaria entre la política
de alto nivel y las instrucciones OpenFlow de bajo nivel que la
implementan. Y permitiendo la instalación de nuevas políticas en
la red. "
port := 65532
73 S O L U C I Ó N A L P R O B L E M A DE P O L Í T I C A DE A C C E S O
CONCLUSIONES
67
C O N C L U S I O N E S Y T R A B A J O FUTURO
T R A B A JO FUTURO
P R O P I E D A D E S M Á T E M A T I C A S DE N E T K A T
Sean:
• id : Identidad
• drop : Descarte
• f = n : Comparación
• a or b : Disyunción
• a and b : Conjunción
• not a : Negación
• filter a : Filtro
• f := n : Modificación
• p + q : Composición paralela
• p ; q : Composición secuencial
73
SINTAXIS NETKAT
S I N T A X I S DE N E T K A T
Tipos
Predicado
Política
do wnloads/sdn-resources/onf-specifications/openflow/
op en flow-spec-vl.1 .0 .pdf.
openflow-switch-vl.5.0 .noipr.pdf.
com/docs/.
79
8o B I B L I OG R A F Í A
[11] Oracle, V irtu alB ox D ocum entation. https ://www. virtual box.
org/wiki/Documentation.
Donación......................
.. BIBLIOTECA
FAC. DE INFORMÁTICA
F echat.Q ABR?T P 1 U.NL.P.
inv.P 0 4 6 0 3
B I B L I OG R A F Í A 8l
open vs wi tc h.org/en/latest/.