jefferson eliÉcer gaviria aranzalez juan...

80
SISTEMA PARA CONFIGURAR UNA RED EIGRP DE ROUTERS GNS3 VIRTUALIZADOS, DESDE UNA APLICACIÓN ANDROID JEFFERSON ELIÉCER GAVIRIA ARANZALEZ JUAN DAVID GRISALES GARZÓN UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍAS INGENIERÍA DE SISTEMAS BOGOTÁ JUNIO DE 2016

Upload: lamdat

Post on 20-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

SISTEMA PARA CONFIGURAR UNA RED EIGRP DE ROUTERS GNS3

VIRTUALIZADOS, DESDE UNA APLICACIÓN ANDROID

JEFFERSON ELIÉCER GAVIRIA ARANZALEZ

JUAN DAVID GRISALES GARZÓN

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍAS

INGENIERÍA DE SISTEMAS

BOGOTÁ

JUNIO DE 2016

SISTEMA PARA CONFIGURAR UNA RED EIGRP DE ROUTERS GNS3

VIRTUALIZADOS, DESDE UNA APLICACIÓN ANDROID

JEFFERSON ELIECER GAVIRIA ARANZALEZ

JUAN DAVID GRISALES GARZÓN

Proyecto de Grado en Calidad de Monografía para Obtener el Título de Ingenieros de Sistemas

Tutor

Ing. Luis Felipe Wanumen Silva

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍAS

INGENIERÍA DE SISTEMAS

BOGOTÁ D.C

JUNIO DE 2016

Tabla de Contenido

Introducción ................................................................................................................................................ 16

1. Título ....................................................................................................................................................... 18

1.1 Tema ...................................................................................................................................................... 18

1.2 Planteamiento del problema .................................................................................................................. 18

1.2.1 Descripción del problema. .................................................................................................................. 18

1.2.2 Formulación del problema. ................................................................................................................. 20

1.3 Objetivos ............................................................................................................................................... 20

1.3.1 Objetivo General. .............................................................................................................................. 20

1.3.2 Objetivos Específicos. ........................................................................................................................ 20

1.4 Alcances y limitaciones ......................................................................................................................... 20

1.4.1 Alcances. ............................................................................................................................................ 20

1.4.2 Delimitaciones. ................................................................................................................................... 21

1.4.2.1 Temática. ......................................................................................................................................... 21

1.4.2.2 Tecnológica. .................................................................................................................................... 21

1.4.2.3 Geográfica. ...................................................................................................................................... 22

1.4.2.4 Temporal. ........................................................................................................................................ 22

1.5 Justificación ........................................................................................................................................... 22

1.6 Marco de referencia ............................................................................................................................... 24

1.6.1 Marco Histórico. ................................................................................................................................. 24

1.6.2 Evaluación de Plataformas Virtuales para Networking. ..................................................................... 24

1.6.3 Proyecto XEN de la Universidad de Cambridge. ............................................................................... 26

1.6.4 Virtualización de la Universidad. ....................................................................................................... 27

1.7 Marco Teórico ....................................................................................................................................... 28

1.7.1 Virtualización. .................................................................................................................................... 28

1.7.1.1 Gns3. ............................................................................................................................................... 28

1.7.2 Mecanismos de conexión. .................................................................................................................. 29

1.7.3. Servicios Web.................................................................................................................................... 30

1.7.3.1. Características de los Servicios Web. ............................................................................................. 31

1.7.4 RPCs y RMI. ...................................................................................................................................... 32

1.8. Marco Metodológico ............................................................................................................................ 33

1.8.1 Justificación del uso de la metodología RUP ..................................................................................... 33

1.9 Factibilidad ............................................................................................................................................ 35

1.9.1 Factibilidad técnica............................................................................................................................. 35

1.9.2 Factibilidad Operativa. ....................................................................................................................... 37

1.9.3 Factibilidad Legal. .............................................................................................................................. 37

1.9.4 Factibilidad Económica. ..................................................................................................................... 37

1.10 Cronograma ......................................................................................................................................... 39

2 Modelado del Negocio ............................................................................................................................. 40

2.1 Identificación de Actores del Entorno del Negocio .............................................................................. 40

2.2 Descripción de los Procesos del Negocio .............................................................................................. 40

2.2.1 Verificación de Enrutamiento............................................................................................................. 41

2.2.2 Resumen de Interfaces ........................................................................................................................ 41

2.2.3 Información de Router vecino ............................................................................................................ 41

2.2.3 Activar ruta estática ............................................................................................................................ 42

2.2.3 Desactivar ruta estática ....................................................................................................................... 42

2.2.3 Instalar Eigrp ...................................................................................................................................... 43

2.2.3 Desinstalar Eigrp ................................................................................................................................ 43

2.3 Diagrama el Dominio ............................................................................................................................ 44

3 Requerimientos ......................................................................................................................................... 44

3.1 Requisitos funcionales ........................................................................................................................... 45

3.2 Requisitos no funcionales ...................................................................................................................... 46

3.4 Definición de casos de uso .................................................................................................................... 47

3.4.1 Lista de Actores. ................................................................................................................................. 47

3.4.2 Lista de Casos de Uso. ....................................................................................................................... 48

3.5 Depuración de Casos de Uso ................................................................................................................. 49

3.6 Modelo de Casos de Uso ....................................................................................................................... 50

3.7 Documentación de Casos de Uso .......................................................................................................... 50

4. Análisis .................................................................................................................................................... 53

4.1 Métodos de Acceso para configurar routers ......................................................................................... 53

4.1.1 Métodos de acceso analizados ............................................................................................................ 56

4.2. Modelo de desarrollo planteado ........................................................................................................... 57

4.3 Definición de Clases .............................................................................................................................. 57

4.3.1 Capa de presentación .......................................................................................................................... 57

4.3.2 Capa lógica ......................................................................................................................................... 62

4.3.3 Capa de persistencia ........................................................................................................................... 63

5. Diseño de la aplicación............................................................................................................................ 64

5.1 Diagrama de Clases ............................................................................................................................... 67

5.2 Diagramas de Secuencia ........................................................................................................................ 69

5.2.1 Autenticación de Usuario ................................................................................................................... 69

5.2.2 Instalación de Eigrp ............................................................................................................................ 70

5.2.3 Monitoreo de los dispositivos ............................................................................................................. 71

5.3 Diagramas de Colaboración .................................................................................................................. 72

5.3.1 Validación de Usuario ........................................................................................................................ 72

5.3.2 Instalar o Desinstalar Eigrp ................................................................................................................ 73

5.3.3 Monitoreo de los dispositivos ............................................................................................................. 74

6. Implementación ....................................................................................................................................... 76

6.1 Método de autenticación implementado ................................................................................................ 76

6.2 Diagrama de paquetes ........................................................................................................................... 77

6.3 Base de datos ......................................................................................................................................... 78

6.4 Diagrama de Despliegue ....................................................................................................................... 78

6.5 Diagrama de Componentes ................................................................................................................... 79

7 Pruebas ..................................................................................................................................................... 80

7.1 Pruebas de Usabilidad ........................................................................................................................... 80

7.2 Probar el Diseño de la red ..................................................................................................................... 80

7.3 Operaciones de Configuración .............................................................................................................. 82

7.4 Agregar Eigrp a la Plataforma 3600 ...................................................................................................... 82

7.5 Agregar Eigrp a la Plataforma 2600 ...................................................................................................... 82

7.6 Estado de la Tabla de Enrutamiento en Plataforma 3600 ...................................................................... 83

8. Análisis resultados y rendimiento de la aplicación ................................................................................. 84

9 Conclusiones ............................................................................................................................................ 85

Lista de Tablas

Tabla 1. Factibilidad Técnica Equipo de Desarrollo ................................................................................... 35

Tabla 2. Factibilidad Técnica - Software .................................................................................................... 36

Tabla 3. Factibilidad Técnica - Equipo Móvil Pruebas ............................................................................... 36

Tabla 4. Factibilidad Operativa – Recurso Humano ................................................................................... 37

Tabla 5. Factibilidad Económica ................................................................................................................. 38

Tabla 6. Actores del Sistema ....................................................................................................................... 40

Tabla 7. Verificación de Enrutamiento ....................................................................................................... 41

Tabla 8. Resumen de Interfaces .................................................................................................................. 41

Tabla 9. Router vecino ................................................................................................................................ 42

Tabla 10. Activar ruta estática ..................................................................................................................... 42

Tabla 11. Desactivar ruta estática ................................................................................................................ 42

Tabla 12. Instalar Eigrp ............................................................................................................................... 43

Tabla 13. Desinstalar Eigrp ......................................................................................................................... 43

Tabla 14. Verificar tabla de Enrutamiento .................................................................................................. 45

Tabla 15. Activar ruta estática ..................................................................................................................... 45

Tabla 16. Eliminar configuración Eigrp ...................................................................................................... 46

Tabla 17. Flexibilidad.................................................................................................................................. 46

Tabla 18. Usabilidad.................................................................................................................................... 47

Tabla 19. Tiempos de Respuesta ................................................................................................................. 47

Tabla 20. Usabilidad.................................................................................................................................... 47

Tabla 21. Lista de Actores ........................................................................................................................... 48

Tabla 22. Lista de casos de uso ................................................................................................................... 48

Tabla 23. Elegir Plataforma CISCO y operación ........................................................................................ 50

Tabla 24. Enviar datos ................................................................................................................................. 51

Tabla 25. Reenviar datos a Framework ....................................................................................................... 52

Tabla 26. Conectar Framework ................................................................................................................... 52

Tabla 27. Ejecutar operación en dispositivo................................................................................................ 53

Tabla 28. Clase Autenticación ..................................................................................................................... 57

Tabla 29. Clase Configuracion_Eigrp ......................................................................................................... 58

Tabla 30. Clase Monitoreo .......................................................................................................................... 58

Tabla 31. Formulario de autenticación capa de Presentación ..................................................................... 58

Tabla 32. Formulario de configuraciones capa de Presentación ................................................................. 59

Tabla 33. Consulta sobre dispositivo vecino en la capa de Presentación .................................................... 60

Tabla 34. Consulta de resumen de interfaces en capa de Presentación ....................................................... 61

Tabla 35. Consulta de tabla de enrutamiento en capa de Presentación ....................................................... 61

Tabla 36. Clase Usuario .............................................................................................................................. 62

Tabla 37. Clase Eigrp .................................................................................................................................. 62

Tabla 38. Topología de routers virtualizados .............................................................................................. 62

Tabla 39. Clase UsuarioDAO ...................................................................................................................... 63

Tabla 40. Clase ConexionDAO ................................................................................................................... 63

Tabla 41. Comunicación JDBC nativa capa de Persistencia ....................................................................... 63

Tabla 42. Mensaje de retroalimentación ante autenticación fallida ............................................................ 64

Tabla 43. Restricción lógica al pulsar el botón enviar ................................................................................ 65

Tabla 44. Imagen de respuesta ante una petición del usuario ..................................................................... 65

Tabla 45. Formulario de configuraciones EIGRP ....................................................................................... 66

Tabla 46. Formulario de consultas o monitoreo .......................................................................................... 66

Tabla 47. Intento de autenticación de usuario ............................................................................................. 76

Tabla 48. Formulario desplegado como respuesta a autenticación exitosa ................................................. 76

Tabla 49. Base de datos ............................................................................................................................... 78

15

Lista de Figuras

Figura 1. Diagrama del Dominio ................................................................................................................. 44

Figura 2. Caso de Uso Definir Operación ................................................................................................... 49

Figura 3. Caso de Uso Conectar Framework............................................................................................... 49

Figura 4. Caso de Uso Ejecutar Operación ................................................................................................. 49

Figura 5. Modelo de Casos de Uso .............................................................................................................. 50

Figura 6. Router CISCO .............................................................................................................................. 54

Figura 7. SDM CCNA Cisco Certified Network Associate Study Guide ................................................... 55

Figura 8. Encriptación de líneas vty ............................................................................................................ 56

Figura 9. Diagrama de Clases Aplicación Móvil ........................................................................................ 67

Figura 10. Diagrama de Clases Aplicación Servidor .................................................................................. 68

Figura 11. Diagrama de Secuencia Autenticación de Usuario .................................................................... 69

Figura 12. Diagrama de Secuencia Instalación de Eigrp ............................................................................. 70

Figura 13. Diagrama de Secuencia Monitoreo de los dispositivos .............................................................. 71

Figura 14. Diagrama de Colaboración Validación de Usuario .................................................................... 72

Figura 15. Diagrama de Colaboración Instalar o desinstalar Eigrp ............................................................. 73

Figura 16. Diagrama de Colaboración Monitoreo de los dispositivos ........................................................ 74

Figura 17. Diagrama de paquetes ................................................................................................................ 77

Figura 18. Entidad de Autenticación ........................................................................................................... 78

Figura 19. Diagrama de despliegue ............................................................................................................. 78

Figura 20. Diagrama de Componentes ........................................................................................................ 79

Figura 21. Topología GNS3 ........................................................................................................................ 81

Figura 22. Conectividad entre redes Remotas ............................................................................................. 81

Figura 23. Despliegue de la aplicación web ................................................................................................ 81

Figura 24. Instalación Eigrp en Router 3600............................................................................................... 82

Figura 25. Instalación Eigrp en Router 2600............................................................................................... 83

Figura 26. Show ip route en la plataforma 2600 ......................................................................................... 83

16

Introducción

El auge de las comunicaciones móviles ha permitido obtener acelerados avances para construir

herramientas que facilitan la interacción entre personas y dispositivos tecnológicos.

La motivación del proyecto es contribuir al crecimiento de aplicaciones móviles, como

herramientas que facilitan la administración de enrutadores de red CISCO. La decisión de elegir

la tecnología CISCO, se justifica en la excelente calidad de los dispositivos, el reconocimiento

mundial logrado por ser una alternativa eficiente para soluciones en la industria de redes, además

del amplio soporte difundido en libros y en internet para configurar los dispositivos.

El propósito del proyecto es gestionar la configuración del protocolo EIGRP en una red CISCO, a

partir de una aplicación Android mediante la tecnología inalámbrica WIFI. Entre los diferentes

protocolos de enrutamiento se selecciona EIGRP por mezclar las mejores características de los

protocolos tradicionales de estado de enlace y vector distancia. EIGRP es un protocolo robusto,

que activa automáticamente rutas alternativas en caso que falle la ruta principal, envía

actualizaciones parciales y no periódicas para optimizar el uso de ancho de banda y CPU y

reducir el tiempo de convergencia de la red. Otro motivo para elegir EIGRP es que al ser un

protocolo propietario de CISCO requiere hardware específico y no genera conflictos al integrar

dispositivos de tecnologías distintas como sucede con protocolos libres. Adicionalmente, permite

balanceo de carga entre enlaces de diferente coste, de manera que los enlaces más lentos no se

saturan. EIGRP se integra fácilmente con otras tecnologías como VLSM, con el fin de mantener

las tablas de enrutamiento resumidas y reducir el gasto de recursos de hardware en los

enrutadores.

Otra de las razones para seleccionar éste protocolo de enrutamiento, es que tiene soporte para

varios protocolos de la capa de red del modelo OSI, como IPX y AppletTalk. El algoritmo DUAL

17

implementado por EIGRP, garantiza una red libre de bucles, almacena las mejores rutas y solo

envía actualizaciones cuando la información sobre los enlaces ha sido modificada, esto se logra

por medio de actualizaciones multicast que mejoran notoriamente el rendimiento si se comparan

con las actualizaciones periódicas que manejan otros protocolos como RIP.

18

1. Título

Sistema para configurar una red EIGRP de routers GNS3 virtualizados, a partir de una

aplicación Android.

1.1 Tema

De acuerdo a (Britos D,Vargas L & Arias S, 2013, p1) en las carreras de ingeniería, las

asignaturas relacionadas con redes de computadores buscan que el alumno alcance competencias

de diseño, implementación y administración de redes. Esto requiere abundante practica

interrelacionada con la teoría. Virtualizar dispositivos de networking y administrarlos de forma

automática por medio de software; permite reducir costos, disponer de nuevos equipos, y evitar

fallas de configuración. Lo que conlleva a mejorar la calidad de la enseñanza y así obtener mayor

satisfacción de los estudiantes.

1.2 Planteamiento del problema

1.2.1 Descripción del problema.

Actualmente, las instituciones de educación superior, enfrentan dificultades para realizar

prácticas de laboratorio que requieren enrutadores. No se dispone de suficientes equipos, para

hacer configuraciones individuales y que cada estudiante pueda apropiar mejor los

conocimientos. Adicionalmente, no es posible trabajar sino exclusivamente en el laboratorio,

donde generalmente la disponibilidad es de pocas horas. Existe gran demanda para adquirir salas

de laboratorio, porque distintos programas académicos utilizan los mismos equipos. Sin los

equipos, no es posible reproducir las prácticas en casa.

Según (García J, Candelas A & Baquero A, 2014, p 2) la problemática de esta situación es que

los estudiantes deben finalizar las prácticas durante las clases presenciales y, por tanto, no tienen

19

posibilidad de realizar pruebas o experimentar las situaciones propuestas desde otra ubicación y a

su propio ritmo.

Los dispositivos de redes son generalmente costosos y el software de simulación carece de

muchas opciones de configuración. De acuerdo a (García J, Candelas A & Baquero A) Algunas

veces los estudiantes utilizan varias aplicaciones libres para simular el comportamiento de los

equipos de red y enrutamiento TCP/IP. Generalmente estos simuladores online están basados en

lenguajes de programación y usualmente no son de uso intuitivo y fácil para cualquier estudiante.

Además, el tráfico generado por estas redes virtuales no es real y la calidad de la información

depende del nivel de la programación.

Otras dificultades, como el alto consumo eléctrico, previene a las instituciones de adquirir

nuevos dispositivos, así como también las limitaciones de espacio. Se trata de equipos que deben

ser ubicados en armarios especiales, los cuales ocupan un espacio considerable y necesitan otros

elementos para funcionar, como sistemas de refrigeración, lo que implica gastos adicionales.

Instituciones como la Universidad Distrital de Colombia, se encuentran restringidas para

asignar dispositivos a estudiantes en clases prácticas; porque la escasez de equipos no permite

satisfacer la demanda, lo que genera dificultades para el desarrollo y prueba de prácticas de

laboratorio. A los estudiantes no les es posible trabajar simultáneamente y generalmente los

grupos de estudio desarrollan las prácticas, uno a continuación de otro. Esto conlleva a tiempos

de retardo e inactividad, con la consecuente insatisfacción de los estudiantes. Estas dificultades se

acentúan más, en instituciones de mayor cobertura académica.

Los docentes encargados de dirigir las cátedras en laboratorio, deben trabajar con los equipos

disponibles y se ven limitados a enseñar únicamente los temas que las plataformas existentes

permiten.

20

1.2.2 Formulación del problema.

¿Cómo se puede optimizar la configuración de una red de routers EIGRP virtualizados en

GNS3, mediante una aplicación Android?

1.3 Objetivos

1.3.1 Objetivo General.

Construir un sistema Web que permita configurar routers EIGRP virtualizados en GNS3

desde una aplicación Android.

1.3.2 Objetivos Específicos.

Analizar métodos de acceso a los routers GNS3 para su configuración.

Elaborar un módulo de software para configurar el protocolo EIGRP en una red con dos

routers GNS3 virtualizados.

Realizar el diseño de la aplicación Web y de la aplicación Android

Implementar un sistema de autenticación de usuarios para acceder a las operaciones de

configuración de los routers GNS3 virtualizados.

Realizar las pruebas de usabilidad y rendimiento de la aplicación.

1.4 Alcances y limitaciones

1.4.1 Alcances.

• A nivel de investigación se analizara la viabilidad de construir un aplicativo móvil que

permita la administración del protocolo de enrutamiento EIGRP desde la plataforma

Android.

21

• El prototipo se desarrollará con una configuración y secuencias de comandos

predeterminada para un estado inicial de los routers, con miras a llevarlos a un estado

final luego de la ejecución del software.

• El prototipo permitirá interpretar las solicitudes hechas por el usuario desde la aplicación

Android y enviarlas a los routers virtualizados, por medio de una aplicación web.

• El prototipo permitirá ejecutar órdenes desde un dispositivo Android, para configurar el

protocolo EIGRP en los routers GNS3.

• El prototipo permitirá configurar interfaces y enrutamiento en los dispositivos

virtualizados.

• La aplicación Android tendrá un sistema de autenticación de usuarios, para el acceso a las

funciones de configuración.

1.4.2 Delimitaciones.

1.4.2.1 Temática.

• Activación de EIGRP.

• Configuración de Interfaces Fastethernet.

• Configuración de componentes EIGRP.

1.4.2.2 Tecnológica.

• Se requiere que la aplicación funcione en dispositivos móviles con sistema

operativo Android, superior a la versión 4.0.

• El prototipo solo funcionara con la tecnología inalámbrica WI-FI.

• El protocolo EIGRP solo funciona bajo switches de fabricante Cisco.

• El prototipo se desarrollará en un ambiente controlado.

22

• Los dispositivos físicos activos serán implementados en GNS3.

• El sistema Web funcionará en una intranet WIFI local.

• El sistema es vulnerable cuando el sistema web presente fallos.

1.4.2.3 Geográfica.

El prototipo no se desarrolla para ambientes corporativos ni en instalaciones

empresariales reales. Los routers son virtualizados en GNS3.

1.4.2.4 Temporal.

El tiempo de desarrollo del prototipo está comprendido entre los meses de Agosto de 2015 y

Marzo de 2016, a ocho meses.

1.5 Justificación

El desarrollo de un sistema para configuración de equipos virtualizados, facilita la

disponibilidad y asignación de nuevos dispositivos a estudiantes en las clases prácticas. De este

modo es posible satisfacer el número de dispositivos requeridos para cubrir la demanda de

estudiantes. Varias instituciones académicas han efectuado procesos de virtualización, un caso de

éxito (Cloud Monterrey Asesores, 2013, p 1) Dada la necesidad de optimizar su estructura de

cómputo, la UADEC (Universidad Distrital Autónoma del Estado de Coahuila) empezó a buscar

un modelo que la facilitara y en este proceso contactó a Microsoft, que les introdujo a

NComputing. La primera prueba piloto se realizó en la facultad de Derecho, en noviembre de

2011. La prueba tuvo un impacto inmediato. Así han logrado la optimización de la electricidad y

la gente está muy contenta porque la energía eléctrica se va a provechar mejor.

Los estudiantes pueden trabajar simultáneamente con equipos virtualizados, los grupos de estudio

no necesitan desarrollar las prácticas uno a continuación de otro. Esto supera los tiempos de

23

inactividad para algunas personas en el desarrollo de las clases. También permite que todos los

estudiantes puedan interactuar con los dispositivos, puedan afianzar los conocimientos a través de

la práctica y reduce el consumo energético. Como puntualiza (Martín J, 2012, p 6) muchas

organizaciones descubrirán que la virtualización ofrece muchas ventajas que le ayudaran a

aumentar la agilidad, reducir costes y la complejidad de gestión de los datos contenidos en sus

sistemas informáticos.

Los docentes encargados de dirigir las cátedras en laboratorio, no están limitados a trabajar

únicamente con equipos disponibles en las salas, pueden efectuar prácticas sobre otras

plataformas, mejorando la dinámica de las clases. Adicionalmente se evita el ruido de

ventiladores, y mejora la dinámica de la clase.

El sistema puede ayudar a los estudiantes, a aclarar la sintaxis de los comandos, automatizar

las operaciones y poder ejecutar las órdenes de configuración desde dispositivos móviles. La

configuración de los dispositivos de redes es más flexible, debido a que no se requiere tener

conocimientos profundos sobre el orden y la sintaxis de los comandos; el proceso no está sujeto a

errores, puesto que ya no es manual sino automático, y es visualizado más fácilmente a través de

una interfaz gráfica.

El sistema puede facilitar la ejecución de laboratorios de redes, que integren dispositivos de

Networking reales o virtuales, con servicios como HTTP, TFTP y TELNET, ejecutados sobre

plataformas Windows o Linux. Esto conlleva a realizar prácticas académicas más aproximadas a

las de entornos laborales, donde la virtualización también es aplicada.

Según (Martín J, 2012 p 19) el valor de virtualizar reside en las siguientes ventajas; unificar

equipos virtuales en un equipo físico, instalar, mover y eliminar recursos de forma rápida,

24

sencilla y centralizada. El crecimiento fácil y rápido aumentando el número de máquinas

virtuales, varios equipos repartiendo la carga de trabajo y asegurando el servicio, el fallo de una

máquina virtual no afecta el resto de máquinas en el servidor físico. Menos equipos físicos,

menos espacio ocupado, menos gastos de electricidad y refrigeración. Se puede variar la

arquitectura o la asignación de recursos muy rápidamente.

1.6 Marco de referencia

Según (Vázquez C, 2009, p 4) los dispositivos móviles constituyen cada vez más una realidad

que ofrece al usuario, en un mismo y reducido aparato, funciones de comunicación y

procesamiento de datos que van mucho más allá de las simples llamadas telefónicas o la

ejecución de aplicaciones básicas. Actualmente no es fácil encontrar herramientas que nos sirvan

para la configuración de dispositivos de Networking desde dispositivos móviles, el mercado

ofrece aplicaciones móviles para la administración remota de servidores costosas o para un

número limitado de dispositivos móviles como es el caso de LogMeIn (Camargo H, Arrieta C &

Pulido F, 2010 p 78) una suit de servicios de software, que provee acceso remoto a computadores

sobre internet.

1.6.1 Marco Histórico.

1.6.2 Evaluación de Plataformas Virtuales para Networking.

Con el fin de evaluar herramientas de virtualización de libre distribución, inicialmente se

comprueba que dichas herramientas dispongan de la funcionalidad para crear escenarios de red

virtuales. Las plataformas de virtualización son una gran alternativa para la implementación de

escenarios de experimentación de redes IP. Según (Martínez S, 2008, p 4) algunas de las

ventajas de esta tecnología son: mayor rapidez y fiabilidad, reducción de costes de espacio y

25

consumo de potencia necesarios, reducción de costes de hardware y licencias de software gracias

al aumento de la eficiencia y la flexibilidad en el uso de los recursos, administración de toda la

infraestructura de manera centralizada y simplificada, los procesos de clonación y copia son

mucho más sencillos y rápidos, mayor facilidad para la creación de entornos de pruebas que

permiten poner en marcha nuevas aplicaciones sin afectar a las máquinas de producción y

reducción de los tiempos de parada del servicio.

Como expone (Barrios L, 2009, p 3) la virtualización de redes habilita la movilidad de

aplicaciones y datos, no solo a través de los servidores sino también en las redes y en los

datacenters. También permite que los recursos de red estén disponibles como segmentos

virtuales, con dispositivos o porciones de recursos como el repositorio de almacenamiento que es

accedido como se necesite, indepediente de su ubicación física o conexión física de la red.

Según (García E, López J & Pascual F, 2010 p 1) Los sistemas virtualizados en el que los

usuarios finales son capaces de utilizar un único sistema real que comparte sus recursos a través

de particiones virtuales representan un importante avance dentro de las tecnologías de la

información. Las ventajas que aporta esta tecnología han hecho que la gestión de los recursos

virtualizados se convierta en una opción cada vez más usada en los sistemas de información.

Frente a estas alternativas, y como un método de innovación se propone usar las plataformas

de virtualización que permiten evaluar las prestaciones y servicios en red y los resultados

obtenidos son muy aproximados a los derivados en un escenario real, ya que se trata de una

aplicación existente y no solamente un modelo simulado. Además permite realizar dichos

ensayos antes de su despliegue en producción, con lo cual se reduciría el riesgo de falla en las

mismas, el costo de inversión así como el costo de la experimentación.

26

Los investigadores siguen buscando y estableciendo mejores soluciones, además aún existen

varios desafíos por enfrentar, como el despliegue automático de escenarios virtuales (Fuertes W,

Galán F & Fernández D, 2008, p 1).

La Virtualización es la forma de particionamiento lógico de un equipo físico en múltiples

máquinas virtuales, para compartir recursos de hardware, como CPU, memoria y dispositivos de

entrada y salida (Humphreys, J & Grieser T, 2006, p 1)

De acuerdo a (Ortega J, Fernández J, 2010, p1) Las asignaturas de redes y servicios

distribuidos han adquirido un papel destacado en los nuevos títulos de grado en Informática.

Habitualmente, las actividades prácticas de diseño y configuración de redes requieren de costosas

infraestructuras de laboratorio, con recursos compartidos que limitan el número de alumnos que

pueden simultanear su manejo. No obstante, las nuevas posibilidades que ofrece la virtualización

permiten explorar alternativas realistas con routers y switches virtuales que se pueden manejar en

entornos de laboratorio con poca infraestructura.

La virtualización está siendo usada para diversas aplicaciones en las que se incluyen:

consolidación de servidores para utilizar los recursos desaprovechados, balanceo de carga,

entornos de pruebas, validación de software y emulación de servicios de redes. Las principales

ventajas de la virtualización son: Ahorro de costos de inversión, simplificación de la gestión dada

la administración centralizada de todas las VMs, portabilidad entre servidores físicos, facilidad de

técnicas de recuperación de desastres.

1.6.3 Proyecto XEN de la Universidad de Cambridge.

XEN es una herramienta de virtualización que se ejecuta por debajo del sistema operativo y

actúa como hypervisor del mismo. Es decir, si el sistema operativo actúa como supervisor de los

programas que se ejecutan sobre él, XEN supervisa al supervisor y por lo tanto está en una capa

27

inferior.XEN llama también a las máquinas virtuales dominios. La Universidad de Cambridge

creó un proyecto de investigación cuyo resultado fue, en el año 2003, la liberación de la primera

versión de XEN. El proyecto estaba liderado por IanPratt, quien más tarde creó un empresa de

soporte, mantenimiento y capacitación sobre XEN en Enero de 2005.La empresa es Xensource

Inc., y en la actualidad sigue con XEN (junto con otras empresas y la comunidad de desarrollo), y

también se dedica a programar aplicaciones adicionales (no libres) para facilitar el uso,

instalación y mantenimiento de XEN.XEN tiene licencia GPL, es código abierto y tanto

Xensource como otras empresas importantes como IBM, Sun, HP, Intel, AMD, RedHat, Novell

están involucradas en el mantenimiento y desarrollo de XEN. XEN funciona en arquitecturas x86

de 32 y 64 bits (Mifsud E, 2012, p 3)

1.6.4 Virtualización de la Universidad.

Esta investigación fue realizada en el año 2012, en México. Develó las líneas centrales de una

gran reforma en curso en los sistemas universitarios en la región en cuanto a la innovación que

permiten las tecnologías; el cómo se inserta ésta en los contextos socioeconómicos globales, es

parte de las dinámicas que surgen al interior de los sistemas universitarios y de los propios

cambios en las tecnologías e industrias culturales; y cuáles son sus múltiples impactos y

dimensiones. El cambio tecnológico es parte de la conformación del modelo emergente de la

enseñanza basado en este caso a partir de la incorporación de tecnologías que promueve la

virtualización de la educación (Silvio J, 2000, p 145)

Estas tecnologías digitales cambian las estructuras de costos (Daniel, 1998),viabilizan nuevas

modalidades de cobertura, promueven nuevas modalidades de aprendizaje, transforman la

centralidad del aula, (Bates, T, 2001, p 1) cambian los parámetros de la evaluación, crean un

nuevo rol de los docentes (Areitio, 2009), y pueden sentar las bases del nacimiento de una

28

educación global que parece estar en alta correspondencia con las necesidades de la economía

global del conocimiento, con una formación y actualización rápida de los conocimientos y

competencias.

1.7 Marco Teórico

1.7.1 Virtualización.

El principal objetivo a la hora de preparar contenidos para laboratorios de redes mediante

virtualizaciónes, es buscar un entorno de trabajo con las siguientes características:

Facilidad de configuración: buscar un entorno gráfico que permita a los estudiantes el diseño y

gestión de topologías de red compuestas por ordenadores finales (PCs) y equipos de

interconexión (routers y switches).

Entornos de trabajo realistas: para desarrollarlas competencias demandadas por el sector

empresarial en materia de diseño y administración de redes, los estudiantes deben manejar

equipos reales, preferiblemente a través de emuladores y simuladores de marcas de fuerte

implantación en el mercado. Si es posible, se priorizan herramientas de código abierto.

Posibilidad de integración en el Campus Virtual, para que los estudiantes puedan flexibilizar

su aprendizaje haciendo hincapié en sesiones no presenciales y para que los profesores puedan

corregir las actividades fuera de línea, en otro momento.

1.7.1.1 Gns3.

El simulador gráfico de red GNS3, es un software que permite implementar laboratorios de

redes virtualizados emulando IOS de diferentes plataformas de CISCO. A diferencia de los

simuladores comunes, GNS3 puede conectarse a las tarjetas de red reales del equipo donde se

29

ejecuta. Esto permite hacer pruebas de píng y traceroute, desde la línea de comandos del sistema

operativo y tomar tramas el tráfico en tiempo real, utilizando sniffers como wireshark.

1.7.2 Mecanismos de conexión.

TELNET(Tele Network - Tele Red): Sistema que permite conectarse a un host o servidor en

donde el ordenador cliente hace de terminal virtual del ordenador servidor. En otras palabras,

Telnet es un protocolo que permite acceder mediante una red a otra máquina y manejarla,

siempre en modo terminal (no hay gráficos). Se dejó de usar casi por completo por tener

problemas de seguridad (no encriptaba la información) y comenzó a popularizarse el SSH.

Se refiere a la conexión remota a un ordenador, esto es posible en Internet gracias al TELNET

Protocol. Es habitual usar la expresión "hacer un TELNET", con ello estamos expresando que

vamos a realizar una conexión en modo terminal remoto con una máquina en la que estamos

autorizados. Sin embargo, muchas máquinas permiten que les hagamos un TELNET como

invitados para que podamos acceder a la información pública de la que disponen, y para lo cual

no necesitamos autorización.

CORBA: Es una tecnología que oculta la programación a bajo nivel de aplicaciones

distribuidas, de tal forma que el programador no se tiene que ocupar de tratar con sockets, flujos

de datos, paquetes, sesiones etc. CORBA oculta todos estos detalles de bajo nivel. No obstante

CORBA también brinda al programador una tecnología orientada a objetos, las funciones y los

datos se agrupan en objetos, estos objetos pueden estar en diferentes máquinas, pero el

programador accederá a ellos a través de funciones normales dentro de su programa.

SSL: son las siglas en inglés de Secure Socket Layer (en español capa de conexión segura).

Es un protocolo criptográfico (un conjunto de reglas a seguir relacionadas a seguridad, aplicando

30

criptografía) empleado para realizar conexiones seguras entre un cliente (como lo es un

navegador de Internet) y un servidor (como lo son las computadoras con páginas web).

Socket TCP: Los sockets (zócalos, referido a los enchufes de conexión de cables) son

mecanismos de comunicación entre programas a través de una red TCP/IP. De hecho, al

establecer una conexión vía Internet estamos utilizando sockets: los sockets realizan la interface

entre la aplicación y el protocolo TCP/IP.

Dichos mecanismos pueden tener lugar dentro de la misma máquina o a través de una red. Se

usan en forma cliente-servidor: cuando un cliente y un servidor establecen una conexión, lo hacen

a través de un socket. Java proporciona para esto las clases ServerSocket y Socket. Los sockets

tienen asociado un puerto. En general, las conexiones vía internet pueden establecer un puerto

particular (por ejemplo, en http://www.rockar.com.ar:80/index.html el puerto es el 80). Esto casi

nunca se especifica porque ya hay definidos puertos por defecto para distintos protocolos: 20 para

ftp-data, 21 para ftp, 79 para finger, etc. Algunos servers pueden definir otros puertos, e inclusive

pueden utilizarse puertos disponibles para establecer conexiones especiales.

El protocolo de comunicaciones con streams es un protocolo orientado a conexión, ya que

para establecer una comunicación utilizando el protocolo TCP, hay que establecer en primer

lugar una conexión entre un par de sockets. Mientras uno de los sockets atiende peticiones de

conexión, el otro solicita una conexión. Una vez que los dos sockets estén conectados, se pueden

utilizar para transmitir datos en ambas direcciones.

1.7.3. Servicios Web.

Un Web Service es un tipo de aplicación Web, que es, típicamente una aplicación

desarrollada sobre http(Hyper Text Transport Protocol). Es una aplicación distribuida cuyos

31

componentes pueden ser desplegados y ejecutados sobre distintos dispositivos. Un Web Service

puede consistir en varios componentes de código.

Un Web Service puede ser consumido en PCs, handlets, y otros dispositivos. El manejo de los

lenguajes es transparente. Un Servicio Web escrito en Java, basado en SOAP, puede tener un

consumidor Perl o Ruby. Y clientes java pueden consumir los Servicios escritos en otros

lenguajes. Debe haber un intermediario que maneje las diferencias entre tipos de datos del

servicio y el lenguaje que lo consume. La tecnología XML, que soporta intercambio de

documentos estructurados y procesamiento, actúa como el intermediario. "Por ejemplo, en un

típico Web Service basado en SOAP, un cliente transparente envía un documento SOAP como

una solicitud a un Web Service, que transparentemente retorna otro documento SOAP como una

respuesta. En un servicio estilo REST, un cliente puede enviar una solicitud estándar HTTP a un

Web Service y recibir un apropiado documento XML como respuesta (Martin, K. 2013, p 2)

1.7.3.1. Características de los Servicios Web.

Varias características distinguen los Web Services de otras tecnologías distribuidas. Aquí hay

tres:

Infraestructura Abierta

Los Web Service son desplegados utilizando protocolos estándar de la industria, tal como

HTTP y XML, que son bien comprendidos.

Proporcionan formato de datos, seguridad y bajos costos de interoperabilidad entre

servicios.

32

Transparencia del Lenguaje

Los Web Services y sus clientes pueden interoperar incluso si están escritos en diferentes

lenguajes de programación. Lenguajes tal como C, C++, C#, Java, Perl, Ruby, y otros,

proporcionan librerías, utilidades, e incluso frameworks que soportan Web Service.

Diseño Modular

Nuevos Web Services pueden ser generados a través de la integración de servicios

existentes. Los beneficios de los Web Services son claros. Sistemas de software

moderno son escritos en una variedad de lenguajes, comúnmente en crecimiento. Esta

variedad de sistemas puede continuar alojado en una variedad de plataformas. Grandes y

pequeñas instituciones tienen sistemas de software cuya funcionalidad es útil y quizás una

misión crítica; pocas de estas instituciones tendrán recursos humanos o financieros, para

reescribir sus sistemas.

1.7.4 RPCs y RMI.

Remote Procedurell Call (RPC), es una vieja tecnología que Sun desarrolló, hace lo mismo

que RMI. RPC es independiente del lenguaje y del procesador; RMI es independiente del

procesador y naturalmente está limitado a programas escritos en Java. Para obtener la

portabilidad a través de la plataforma que proporciona Java, los RPCs tienen mayor sobrecarga

que RMI. Los RPCs tienen que convertir argumentos entre arquitecturas de forma que cada

computador pueda utilizar sus tipos de datos nativos. Por ejemplo, los enteros tienen que ser

convertidos a implementaciones big-endian y little-endian. Además, los RPC pueden enviar solo

tipos de datos primitivos, mientras que RMI puede enviar objetos. Sun no soporta RPCs en Java,

aunque hay algunas implementaciones de terceros. RMI es la solución más simple para la

33

comunicación entre programas Java en diferentes hosts. Sin embargo, si es necesario conectar

programas escritos en diferentes lenguajes, se debe optar por CORBA.

Invocar métodos remotos en objetos locales trae muchos problemas de seguridad. Java

proporciona la única suited para resolver estos problemas. Las actividades que un objeto remoto

puede realizar son limitadas de la misma forma que un Applet es limitado. Un objeto

SecurityManager verifica que todas las operaciones estén permitidas (Harold, R, 2000, p 520)

1.8. Marco Metodológico

Para desarrollar el proyecto se va a implementar la metodología RUP, Proceso Unificado

Racional. Es una metodología cuyo fin es entregar un producto de software. Se estructura todos

los procesos y se mide la eficiencia de la organización.

Es un proceso de desarrollo de software el cual utiliza el lenguaje unificado de modelado

UML, constituye la metodología estándar más utilizada para el análisis, implementación y

documentación de sistemas orientados a objetos.

1.8.1 Justificación del uso de la metodología RUP.

Se elige RUP como la metodología adecuada a utilizar en el proyecto, porque se va a

implementar una arquitectura de software basada en vistas de clases, diagramas de secuencia,

colaboración y casos de uso, y RUP es el modelo más difundido para describir estas vistas. Otra

motivo que justifica el uso de RUP es el máximo provecho que se logra al utilizar UML como

herramienta de modelado para llevar a cabo el proyecto.

La decisión de seguir un lineamiento iterativo e incremental en la elaboración del proyecto, a fin

de obtener avances con cada iteración, hasta llegar a la implementación final de la aplicación,

sugiere a RUP como la metodología adecuada. A los argumentos expuestos se adiciona el hecho

34

que ésta metodología permite definir de forma secuencial y ordenada las tareas a realizar, permite

obtener progresos desde las primeras fases de su desarrollo y facilita la reutilización de código.

Finalmente, hay que resaltar la experiencia obtenida acerca de la metodología por parte de los

integrantes del proyecto, como resultado de haber participado en el desarrollo de proyectos de

software ejecutados en entornos laborales, lo que permite tener un conocimiento extenso sobre el

funcionamiento de la metodología.

Actividades a realizar por Fase

Inicio.

- Reconocimiento de los principales actores del sistema

- Identificación de los requisitos funcionales y no funcionales

- Elaboración de los casos de uso.

Elaboración.

- Construcción del modelo del dominio de la aplicación móvil

- Construcción del modelo del dominio de la aplicación Servidor

- Documentación de los casos de uso del sistema.

Construcción.

- Construcción del diagrama de clases de la aplicación móvil

- Construcción del diagrama de clases de la aplicación servidor

- Construcción de los diagramas de secuencia

- Construcción de los diagramas de colaboración.

35

Transición.

- Construcción de diagramas de paquetes de la aplicación móvil

- Construcción de diagrama de paquetes de la aplicación servidor

- Efectuar pruebas de usabilidad de la aplicación

- Efectuar pruebas de rendimiento de la aplicación.

1.9 Factibilidad

1.9.1 Factibilidad técnica.

La especificación de software y hardware que se manejara dentro del proyecto está definida

por las herramientas descriptas en las tablas de la 1 a la 3.

Tabla 1. Factibilidad Técnica Equipo de Desarrollo

COMPUTADOR DE DESARROLLO

Procesador Intel Corei 5 2,4 Ghz

Unidad Quemadora de DVD

4 GB de memoria Ram

Mouse Teclado

Disco Duro de 512 GB

Monitor

Tarjeta de Red Inalámbrica

Adaptador de Red Intel® PRO/100 Network Connection

36

Tabla 2. Factibilidad Técnica - Software

SOFTWARE

Windows 7

Plataforma o sistema operativo

MySQL

Sistema manejador de base de datos

Glassfish

Servidor de Aplicaciones

Netbeans 6.9.1

Entorno Integrado de desarrollo

JAVA EE

Especificación del lenguaje de programación

GNS3

Emulador de Red

Tabla 3. Factibilidad Técnica - Equipo Móvil Pruebas

EQUIPO MOVIL

Android 4.1

Motorola

Bluetooth

Ranura de expansión para tarjeta de memoria microSD (hasta 2

GB)

37

Soporta aplicaciones Java MIDP 2.0, CLCD 1.0

Pantalla Principal: QVGA 320 x 240, hasta 16,7 millones de

colores.

1.9.2 Factibilidad Operativa.

El proyecto es factible operativamente porque la plataforma tecnológica que se va a utilizar y

todas las actividades desarrolladas van a ser asumidas en su totalidad por los integrantes del

proyecto. En la tabla 4 se relacionan los recursos Humanos.

Para realizar el proyecto se cuenta con los siguientes Recursos Humanos (Ver tabla 4)

Tabla 4. Factibilidad Operativa – Recurso Humano

FUNCION EJECUTOR

Director Proyecto Luis Felipe Wanumen Silva

Analista de Sistemas Jefferson Gaviria Aranzalez

Desarrollador Juan David Grisales Garzón

1.9.3 Factibilidad Legal.

El equipo Servidor tiene licencia de Windows 7 y las herramientas de software como J2SE,

J2ME, GLASSFISH, Netbeans y MySQL son open source y se encuentran licenciadas para fines

educativos o académicos.

1.9.4 Factibilidad Económica.

A continuación se presenta una tabla en la que se muestran los diferentes gastos que se tienen

en cuenta en el proyecto, y se entrega un presupuesto total para la elaboración del mismo:

38

Tabla 5. Factibilidad Económica

Recurso Descripción Cantidad Costo Unitario Costo Total

Equipo de Desarrollo 1 $ 1.000.000 $1.000.000

Papelería una resma de papel 2 $ 10.000 $20.000

Plan de datos Internet ilimitado

con COMCEL 1 $50.000 $50.000

Software Java $0 $0

Analista de Sistemas (Ejecutor) 512 $15000 ($/h) $7680000

Desarrollador de Software (Ejecutor) 512 $15000 ($/h) $7680000

Horas Tutor 160 $45.000 ($/h) $7200000

Total $23630000

Los recursos físicos y humanos se encuentran expresados en Horas Máquina y Horas

Hombre, respectivamente.

El Analista de Sistemas tendrá una intensidad de trabajo de 16 horas semanales, de lunes a

viernes durante 8 meses.

El desarrollador de Software tendrá una intensidad de trabajo de 16 horas semanales, de lunes

a viernes durante 8 meses.

El tutor del proyecto tendrá una intensidad de trabajo de 5 horas semanales, durante 8 meses.

Los cálculos totales se expresan según el formato; Horas Hombre/Máquina = Valor Hora*

horas diarias* días Mes* Meses Duración.

39

1.10 Cronograma

40

2 Modelado del Negocio

La finalidad del modelado del negocio es describir cada proceso del negocio especificando sus

datos, actividades, actores y reglas del negocio para comprender el ámbito de la aplicación que se

va a implementar.

La comunidad académica de educación superior, que trabaja con temas de networking, es un

sector objetivo para la configuración de dispositivos virtualizados.

2.1 Identificación de Actores del Entorno del Negocio

En el sistema de virtualización se identifican los siguientes actores; Administrador de Red,

Sistema Móvil, Sistema Web y Framework Networking.

Tabla 6. Actores del Sistema

Actor Descripción

Administrador de Red El Administrador de red es el encargado de

realizar las tareas de configuración en los routers

CISCO. Así como la verificación y control del

funcionamiento del protocolo Eigrp.

Sistema Móvil El sistema móvil interactúa con el administrador

de la red, a través de una interfaz GUI de

opciones de configuración.

Sistema Web El sistema Web tiene el servicio web, recibe

peticiones de autenticación y ejecución de

operaciones, en los dispositivos virtualizados.

Framework Networking Es un sistema para configurar equipos de

Networking, encargado de ejecutar las órdenes de

configuración emitidas por el administrador de la

red, verificar el curso de las mismas y retornar los

resultados de dichas operaciones.

2.2 Descripción de los Procesos del Negocio

El modelo del negocio puede ser la base para la especificación de los requerimientos funcionales

más importantes del sistema.

41

2.2.1 Verificación de Enrutamiento

El Sistema Móvil tendrá la opción de consulta Tabla de enrutamientoIpv4.

Tabla 7. Verificación de Enrutamiento

Proceso del Negocio Verificación de Enrutamiento

Descripción El administrador de red elige la plataforma a

consultar.

El administrador de la red elige la opción Tabla

de Enrutamiento Ipv4.

El sistema móvil envía la petición al servicio

web.

El servicio web envía la orden al Framework

Networking para conectar el dispositivo y

consultar la tabla de enrutamiento.

Prioridad Alta

2.2.2 Resumen de Interfaces

El Sistema Móvil tendrá la opción de consulta Resumen de Interfaces.

Tabla 8. Resumen de Interfaces

Proceso del Negocio Resumen de Interfaces

Descripción El administrador de red elige la plataforma a consultar.

El administrador de red elige la opción resumen de

interfaces.

El sistema móvil envía la petición al servicio web.

El servicio web envía la orden al Framework Networking,

para conectar el dispositivo y consultar las interfaces.

Prioridad Alta

2.2.3 Información de Router vecino

El Sistema Móvil tendrá la opción Información de Router vecino, para obtener datos del

dispositivo contiguo por medio del protocolo CDP.

42

Tabla 9. Router vecino

Proceso del Negocio Información de Router Vecino

Descripción El administrador de red elige la plataforma a consultar.

El administrador de red selecciona la opción información del vecino.

El sistema móvil envía la petición al servicio web.

El servicio web envía la orden al Framework Networking para conectar el dispositivo y obtener información de su vecino.

Prioridad Alta

2.2.3 Activar ruta estática

El Sistema Móvil tendrá una opción para activar la ruta estática que comunica las redes no

contiguas.

Tabla 10. Activar ruta estática

Proceso del Negocio Activar ruta estática

Descripción El administrador de red elige la opción activar ruta estática.

El sistema móvil envía la petición al servicio web.

El servicio web envía la orden al Framework Networking, para conectar el dispositivo e instalar la ruta estática.

Prioridad Alta

2.2.3 Desactivar ruta estática

El Sistema Móvil tendrá una opción para desactivar la ruta estática que comunica las redes no

contiguas.

Tabla 11. Desactivar ruta estática

Proceso del Negocio Desactivar ruta estática

Descripción El administrador de red elige la opción Desactivar ruta estática.

43

El sistema móvil envía la petición al servicio web.

El servicio web envía la orden al Framework Networking, para conectar el dispositivo y desinstalar la ruta estática.

Prioridad Alta

2.2.3 Instalar Eigrp

El Sistema Móvil tendrá una opción para instalar el protocolo de enrutamiento Eigrp.

Tabla 12. Instalar Eigrp

Proceso del Negocio Agregar Configuración Eigrp

Descripción El administrador de red elige la plataforma donde desea configurar Eigrp. Posteriormente ingresa un nombre para identificar el router y un número de sistema autónomo

El sistema móvil envía la petición al servicio web.

El servicio web envía la orden al Framework Networking. Para conectar el dispositivo y realizar la instalación.

Prioridad Alta

2.2.3 Desinstalar Eigrp

El Sistema móvil tendrá una opción para desinstalar el protocolo de enrutamiento Eigrp.

Tabla 13. Desinstalar Eigrp

Proceso del Negocio Eliminar Configuración Eigrp

Descripción El administrador de red elige la plataforma donde desea desinstalar Eigrp.

El sistema móvil envía la petición al servicio web.

El servicio web envía la orden al Framework Networking. Para conectar el dispositivo y realizar la desinstalación.

Prioridad Alta

44

2.3 Diagrama el Dominio

Figura 1. Diagrama del Dominio

La aplicación móvil consta de tres actividades; Autenticación, Configuración_Eigrp y Monitoreo.

Cada una con su respectiva definición de objetos xml. La primera interacción del servicio Eigrp

ocurre con la actividad Autenticación para lograr acceso a las opciones de configuración. El

servicio Eigrp en el proceso de autenticación se relaciona con un usuario, que a su vez invoca a la

clase UsuarioDAO y finalmente a ConexionDAO, para acceder a la base de datos. Toda la

funcionalidad de operaciones, la realiza la clase Eigrp, en el método operation, para conectar el

Framework y ejecutar los comandos.

3 Requerimientos

En esta etapa, se define cuáles son los procesos y procedimientos que se tienen en el escenario

para el cual se va a desarrollar la aplicación. Esto permite identificar los casos concretos que debe

automatizar el sistema, con el fin de aclarar el enfoque que quiere tener el cliente con el software.

Como en cualquier proceso de desarrollo de software, es necesario definir las especificaciones y

requerimientos con las que la aplicación debe contar.

45

El objetivo del análisis de requerimientos es determinar las condiciones o capacidades que debe

cumplir el sistema que se quiere diseñar, para satisfacer las necesidades de un grupo de usuarios.

Para lograr esto utilizaremos la definición de requerimientos. Un requerimiento se puede entender

como una descripción informal de las necesidades y deseos que tiene el usuario final respecto a

un producto de software.

3.1 Requisitos funcionales

Los requisitos funcionales son características requeridas del sistema, que expresan una capacidad

de acción del mismo; una funcionalidad, generalmente expresada en una declaración en forma

verbal.

Tabla 14. Verificar tabla de Enrutamiento

Nombre: Verificar Tabla de Enrutamiento Tipo: Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Media 1.0

Descripción

El sistema debe tener una opción para verificar las tablas de enrutamiento Ipv4 de los

dispositivos.

Nombre: Verificar Interfaces de los enrutadores Tipo: Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Media 1.0

Descripción

La aplicación debe permitir verificar el estado de las interfaces en los routers CISCO.

Nombre: Consultar Información del vecino Tipo: Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Alta 1.0

Descripción

Esta opción permite enviar la orden para consultar información como plataforma y

direcciones ip, sobre el router vecino. El router recibe y ejecuta la secuencia de

comandos correspondiente y obtiene la información.

Tabla 15. Activar ruta estática

Nombre: Activar ruta estática Tipo: Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Alta 1.0

46

Descripción

El Sistema debe permitir activar la ruta estática que comunica las redes remotas no

contiguas..

Nombre: Desactivar ruta estática Tipo: Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Alta 1.0

Descripción

El Sistema debe permitir desinstalar la ruta estática que comunica las rutas remotas no

contiguas.

Nombre: Agregar Configuración Eigrp. Tipo: Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Alta 1.0

Descripción

La aplicación Móvil permite elegir una plataforma de dispositivos CISCO, adicionar

opciones de configuración y ejecutar las órdenes de configuración EIGRP.

Tabla 16. Eliminar configuración Eigrp

Nombre: Eliminar Configuración Eigrp Tipo: Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Alta 1.0

Descripción

La aplicación Móvil permite elegir una plataforma de dispositivos CISCO y eliminar la

configuración Eigrp del dispositivo.

3.2 Requisitos no funcionales

A los requisitos no funcionales de la fase de Construcción, se adicionan los siguientes:

Calidad de Software

Tabla 17. Flexibilidad

Nombre Flexibilidad Tipo: No Funcional

Estado: Prioridad: Dificultad: Versión:

47

Implementado Alta Fácil 1.0

Descripción

El Sistema para la configuración de enrutadores debe permitir adicionar nuevas

funciones para routers, sin sufrir alteraciones severas en la implementación.

Tabla 18. Usabilidad

Nombre Usabilidad Tipo: No Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Fácil 1.0

Descripción

La aplicación para configuración de enrutadores debe ser amigable al usuario.

Desempeño

Tabla 19. Tiempos de Respuesta

Nombre Tiempos de Respuesta Tipo: No Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Fácil 1.0

Descripción

El proceso de instalación de EIGRP, debe suceder máximo 1 minuto después del envío

de la configuración a cada orden por parte del administrador de la red, desde el

dispositivo móvil.

Tabla 20. Usabilidad

Nombre Usabilidad Tipo: No Funcional

Estado: Prioridad: Dificultad: Versión:

Implementado Alta Fácil 1.0

Descripción

La aplicación Móvil debe ser amigable al usuario.

3.4 Definición de casos de uso

3.4.1 Lista de Actores.

El administrador de la red, interactúa con el dispositivo móvil a través de una interfaz gráfica,

con opciones de plataforma cisco y comandos para cada plataforma. El sistema móvil es el que

ejecuta el evento de enviar solicitudes al sistema web, según lo decidido por el administrador de

la red. Cuando el sistema web recibe las solicitudes, se comunica con el Framework Networking,

que finalmente ejecuta y despliega las operaciones en una interfaz gráfica.

48

Tabla 21. Lista de Actores

1. Administrador de red

2. Sistema móvil.

3. Sistema web.

4.Framework Networking

3.4.2 Lista de Casos de Uso.

El administrador de la red se encarga de seleccionar en la aplicación móvil, entre las plataformas

2600 y 3600. También elige la operación que desea ejecutar en esa plataforma. El sistema móvil

envía la solicitud de configuración al sistema web, el cual conecta el Framework Networking y le

envía los datos de plataforma y operación a ejecutar. Finalmente, el Framework conecta el

dispositivo de la plataforma indicada, ejecuta la operación y despliega el proceso en su interfaz

gráfica. Las operaciones que se pueden ejecutar en los dispositivos, son; Tabla de enrutamiento

Ipv4, Resumen de Interfaces, Información de Router Vecino, activar ruta estática, Desactivar ruta

estática, Agregar Configuración Eigrp y Eliminar Configuración Eigrp.

Tabla 22. Lista de casos de uso

Administrador

1. Elegir plataforma CISCO 2. Seleccionar operación

Sistema móvil

3. Enviar solicitudes de configuración

Sistema web

4. Conectar Framework Networking 5. Enviar comando y plataforma al

Framework

Framework de Configuración de Dispositivos

1 Conectar dispositivo

2 Ejecutar operación de configuración

- La lista de operaciones incluye:

- Tabla de enrutamiento Ipv4

- Resumen de Interfaces

- Información de Router Vecino

-Activar ruta estática

- Desactivar ruta estática

- Agregar configuración Eigrp

- Eliminar configuración Eigrp

49

3.5 Depuración de Casos de Uso

Definir Operación

Figura 2. Caso de Uso Definir Operación

El administrador de la red primero debe elegir plataforma y operación en la aplicación móvil,

para que posteriormente ésta envíe los datos.

Conectar Framework

Figura 3. Caso de Uso Conectar Framework

El sistema web sólo puede reenviar la operación al Framework Networking, hasta que reciba la

operación desde el sistema móvil.

Ejecutar Operación

Figura 4. Caso de Uso Ejecutar Operación

Para que el Framework Networking ejecute la operación en el dispositivo, el sistema web debe

conectar primero el Framework.

50

3.6 Modelo de Casos de Uso

Figura 5. Modelo de Casos de Uso

Inicialmente el administrador de la red elije plataforma y operación desde la aplicación móvil,

esto es prerrequisito para que los datos sean enviados del dispositivo móvil, hacia la aplicación

web. El sistema web una vez tiene los datos, realiza la conexión al Framework Networking y le

reenvía los datos, para que finalmente, él ejecute la operación en el dispositivo señalado.

3.7 Documentación de Casos de Uso

Tabla 23. Elegir Plataforma CISCO y operación

Elegir Plataforma CISCO

Caso de Uso: Elegir Plataforma CISCO

Actores: Administrador de la red

Descripción: Permite seleccionar entre la arquitectura CISCO 2600 y 3600

para la ejecución de tareas.

Casos de Uso

Asociados

Enviar operación y plataforma

Flujo Principal: El sistema móvil muestra un cuadro de selección con las

opciones CISCO 2600 y 3600 para elegir alguna.

51

Propósito Permite habilitar la plataforma en la que se ejecutarán las

operaciones de configuración del Sistema.

Precondiciones: Pasar el proceso de autenticación.

Prioridad: Alta

Post-Condición: Luego de Elegir la plataforma CISCO, el administrador de la red, selecciona del dispositivo móvil una de las siguientes opciones

Tabla de enrutamiento Ipv4

Resumen de Interfaces

Información de Router Vecino

Activar ruta estática

Desactivar ruta estática

Agregar configuración Eigrp

Eliminar configuración Eigrp

Complejidad: Fácil

Tabla 24. Enviar datos

Enviar plataforma y operación

Caso de Uso: Enviar datos

Actores: Sistema Móvil

Descripción: Permite enviar los datos de plataforma y operación, desde la

aplicación móvil hacia la aplicación web.

Casos de Uso

Asociados

Elegir plataforma y operación, reenviar operación a Framework

Flujo Principal: El Sistema móvil realiza la conexión al sistema web

Propósito Enviar los datos seleccionados desde la aplicación móvil.

Precondiciones: El Administrador de la red debe haber elegido la

plataforma del dispositivo.

Excepciones: E1. No es posible Abrir el Socket de conexión

Se presenta cuando no se puede establecerla conexión de

socket con el dispositivo remoto. El Sistema para configurar

dispositivos despliega el mensaje “No es posible establecer

Socket”.

E2. No se pueden Obtener Flujos de Entrada Salida

Se presenta cuando no se puede obtener objetos de lectura

escritura a partir del socket de Comunicación.

Prioridad: Alta

Post-Condición: Se debe reenviar la información al Framework Networking.

Complejidad: Difícil

52

Tabla 25. Reenviar datos a Framework

Reenviar datos al Framework

Caso de Uso: Reenviar datos al Framework

Actores: Sistema Web

Descripción: El sistema web reenvía los datos de plataforma y operación al

Framework Networking.

Casos de Uso

Asociados

Enviar operación y plataforma

Conectar Framework

Flujo Principal: El sistema web se conecta con el Framework Networking.

Propósito Lograr el envío de mensajes al Framework Networking

Precondiciones: La topología de redes debe encontrase activa

Excepciones: E1. No es posible efectuar la Invocación Remota de Métodos.

Se presenta cuando no es posible acceder al Framework. Se

despliega mensaje de no conexión.

Prioridad: Alta

Post-Condición: Ejecutar operación en el dispositivo.

Complejidad: Alta

Tabla 26. Conectar Framework

Conectar Framework

Caso de Uso: Conectar Framework

Actores: Sistema Web

Descripción: Permite al sistema web acceder al Framework de configuración.

Casos de Uso

Asociados

Ejecutar operación en dispositivo

Flujo Principal: El Sistema realiza la conexión al Framework vía Telnet.

Propósito Lograr conectividad con el Framework Networking

Precondiciones: El sistema web debe haber reenviado operaciones.

Excepciones: E1. No es posible Abrir el Socket de conexión

Se presenta cuando no se puede establecerla conexión de

socket con el dispositivo remoto. El sistema despliega el mensaje

“No es posible establecer Socket”.

E2. No se pueden Obtener Flujos de Entrada Salida

Se presenta cuando no se puede obtener objetos de lectura

escritura a partir del socket de Comunicación. El Sistema

despliega el mensaje “No es posible obtener flujos Input Output”

53

Prioridad: Alta

Post-Condición: Se debe desplegar la información sobre el estado de interfaces en la interfaz gráfica.

Complejidad: Alta

Tabla 27. Ejecutar operación en dispositivo

Ejecutar Operación en Dispositivo

Caso de Uso: Ejecutar Operación en dispositivo

Actores: Framework Networking

Descripción: Permite ejecutar en el dispositivo seleccionado la operación

indicada.

Casos de Uso

Asociados

Conectar Framework

Flujo Principal: Ejecución de comandos en el dispositivo CISCO.

Propósito Ejecutar la función seleccionada en el dispositivo

Precondiciones: Debe haber conectividad Ip con el dispositivo móvil

Excepciones: E1. No es posible efectuar conexión.

Se presenta cuando no se puede acceder al dispositivo.

Prioridad: Alta

Post-Condición: Despliegue del resultado de configuración en el Framework

Complejidad: Media

4. Análisis

4.1 Métodos de Acceso para configurar routers

El IOS que ejecutan los routers y los switches CISCO, permite configurar los dispositivos. Para

acceder a un dispositivo enrutador, se emplea la interfaz de línea de comandos del IOS. Cuando

se tiene eficiencia en éste modo, es posible el acceso para configurar hostnames, banners,

passwords y más.

El Cisco Internetwork Operation System es el kernel de los routers y los switches Cisco. El

kernel es la parte básica, indispensable, de un sistema operativo que localiza recursos y

administra cosas, tal como hardware de bajo nivel, interfaces y seguridad. El IOS es una

propiedad del kernel que localiza cosas, interfaces de hardware y seguridad. También

proporciona enrutamiento, conmutación, y características de telecomunicaciones. Las principales

funcionalidades del IOS Cisco son; llevar protocolos y funciones de red, conectar tráfico de alta

velocidad entre dispositivos, adicionar seguridad y control de acceso y uso no autorizado de la

54

red. Proporcionar escalabilidad para fácil crecimiento de la red y redundancia. Proporcionar

confiabilidad de la red, para el acceso a los recursos y conexiones.

Conectarse a un router Cisco

A menudo, la primera forma de conexión es la consola, el puerto de consola es generalmente un

RJ45. Una conexión localizada en la parte de atrás del router, generalmente no está fijado un

password por defecto. También es posible acceder a un router cisco por el puerto auxiliar, que

permite configurar comandos de modem. Otra manera de conectarse a un router cisco, es en

banda, a través del programa telnet. En banda significa configurar el router a través de la red.

Telnet es un programa de emulación de terminal. Se utiliza para conectarse a una interface activa

en el router, tal como ethernet o el puerto serial.

La siguiente ilustración muestra un router cisco modular, serie 2600. Muchas series 2600 todavía

son encontradas en producción.

Figura 6. CISCO 2600 Series Routers (2004). Recuperado de http://www.cisco.com

Acceso SDM Cisco

Secure Device Manager ayuda a configurar un router desde una interfaz http o https. Aunque

SDM es realmente una gran herramienta, es mejor utilizarlo para configuraciones avanzadas. Si

se desea configurar listas de acceso avanzadas, VPN con seguridad IP y protección de intrusos en

el router. Para utilizar SDM el router debe estar configurado primero. Inicialmente, hay que

habilitar un servidor https

Router(config)#ip http server Router(config)#ip http secure-server

Router(config)#ip http authentication local

Después crear una cuenta de usuario utilizando nivel de privilegio 15

Router(config)#username cisco privilege ?

Router(config)#username cisco privilege 15 password ?

Router(config)#username cisco privilege 15 password 0 cisco

Finalmente, configurar la consola ssh, y telnet para porporcionar autenticación en el nivel de acceso privilegiado.

55

Router(config)#line console 0 Router(config-line)#login local

Router(config)#line vty 0 1180 Router(config-line)#privilege level 15 Router(config-line)#login local Router(config-line)#transport input telnet Router(config-line)#transport input telnet ssh

Ahora es posible conectarse vía Https

Figura 7. Página de inicio de Cisco SDM Express (2007). Recuperado de http://www.cisco.com

No todas las IOS soportan SDM, la herramienta funciona en IOS 2691-advsecurityk9-mz.124-

11.T2.bin, c3640-ik9o3s-mz.124-10.bin y c7200-ik9s-mz.124-17.bin

Teniendo en cuenta que en el proyecto funciona una solución virtualizada, se descartan los

accesos a nivel de hardware; como consola y auxiliar. Se descarta asimismo el uso de SDM, por

ser inapropiado para el tipo de funciones básicas. Por lo tanto se elige el acceso en banda, a nivel

telnet.

La configuración de dispositivos de networking puede ser realizada utilizando protocolos de

acceso remoto. Los protocolos habilitados en dispositivos cisco, son ssh y telnet. El framework

de configuración utilizado en el proyecto funciona con el protocolo telnet. Ésta utilidad gestiona

el acceso a los dispositivos, por medio de terminales virtuales. Es posible habilitar hasta 5

terminales virtuales en cada dispositivo de red. La configuración se realiza con el comando line

vty 0 4, como se muestra a continuación.

56

Figura 8. Encriptación de líneas vty

No es posible utilizar ssh, puesto que no existen librerías java que utilicen éste protocolo.

4.1.1 Métodos de acceso analizados

MÉTODOS DE ACCESO A ROUTERS CISCO

Consola

- La consola usa una conexión serial de baja velocidad para conectar directamente un

equipo o un terminal al puerto de consola en el router.

- El puerto de consola provee acceso al router fuera de banda

- La consola debe ser asegurada con contraseña para evitar el acceso no autorizado al

dispositivo.

Tenet

- La sesión Telnet requiere tener el servicio activo en el dispositivo

- El dispositivo de red debe tener configurada por lo menos una interfaz activa con

una dirección de capa 3.

- EL IOS CISCO incluye un servidor Telnet que se activa cuando inicia el

dispositivo.

SSH

- SSH proporciona proporciona autenticación de contraseña y usa encriptación cuando

transporta datos de la sesión.

- La sesión SSH encripta todas las comunicaciones entre el cliente y el dispositivo IOS.

- La mayoría de las versiones más recientes de IOS contienen un servidor SSH

Auxiliar

- Es una conexión de marcado telefónico mediante un modem conectado al puerto

auxiliar del router.

- Este método no requiere ningún servicio de networking para configurarlo o activarlo

en el dispositivo,

- El puerto auxiliar puede usarse con una conexión directa a un equipo que ejecute un

programa de emulación de terminal.

57

Para realizar la configuración de los dispositivos GNS3 se utilizaron los métodos de acceso de

consola y telnet. Previamente se tuvo que configurar una dirección ip en los dispositivos. El

método de conexión por puerto auxiliar quedó descartado por tratarse de dispositivos

virtualizados GNS3. El método de conexión ssh no fue implementado porque no se encontraron

APIS de Java que pudieran establecer la conexión a los dispositivos por medio de este protocolo.

Se utilizó telnet.jar de apache, para realizar la conexión.

4.2. Modelo de desarrollo planteado

Se utiliza la arquitectura de capas para implementar el proyecto. Esta arquitectura se basa en tres

dimensiones principales: Persistencia correspondiente a la información, Presentación

correspondiente a la interacción con el usuario y Lógica correspondiente al comportamiento.

-Persistencia: Típicamente la información representa el dominio del problema y se almacena en

una base de datos.

-Presentación: la vista o presentación de la información corresponde a las interfaces que se le

presentan al usuario para el manejo de la información, donde por lo general pueden existir

múltiples vistas sobre un mismo modelo.

-Lógica: El control corresponde a la manipulación de la información a través de sus diversas

presentaciones.

Aunque existe cierta dependencia entre estas tres dimensiones, se considera que la manera de

presentar la información es independiente de la propia información y de cómo se controla ésta.

4.3 Definición de Clases

A continuación se describen las clases del sistema.

4.3.1 Capa de presentación

Se refiere a la presentación del programa frente al usuario, es importante lograr una presentación

fácil de usar y amigable. Esta capa incluye los formularios de la aplicación Android para

autenticarse al sistema de base de datos, enviar las operaciones de configuración eigrp y

consultar las configuraciones en los enrutadores.

Tabla 28. Clase Autenticación

Descripción Colaboradores Representación

Clase Principal de la aplicación

Android, se encarga de realizar la

autenticación de usuario en el

servicio web. Y desplegar la

Autenticación

58

interfaz de operaciones.

Tabla 29. Clase Configuracion_Eigrp

Descripción Colaboradores Representación

Tiene toda la funcionalidad de

plataformas y operaciones.

Configuracion-

Eigrp

Tabla 30. Clase Monitoreo

Descripción Colaboradores Representación

Se encarga de definir las

operaciones que puede realizar el

Servidor..

Monitoreo

La clase de Autenticación de la aplicación Móvil, incluye la lógica del formulario de

autenticación.

Tabla 31. Formulario de autenticación capa de Presentación

59

El administrador de la red ingresa su usuario y password y pulsa el botón ingresar de la interfaz

gráfica. Los datos son enviados al método validar_usuario del servicio web en la aplicación

servidor y si son correctos obtiene acceso al módulo de configuraciones eigrp.

Tabla 32. Formulario de configuraciones capa de Presentación

El formulario de configuraciones Eigrp permite ingresar el nombre que se le quiere asignar al

router de la topología que se va a conectar, así como el número de sistema autónomo eigrp para

realizar la configuración del protocolo en el dispositivo. También permite seleccionar la

plataforma del dispositivo que se quiere conectar; el router 2600 o 3600. También es posible

eliminar la configuración eigrp del dispositivo.

El formulario implementado en la clase Monitoreo de la capa de presentación, permite obtener

información sobre los enrutadores; tablas de enrutamiento, estado de interfaces e información del

dispositivo vecino, entre otras.

60

Tabla 33. Consulta sobre dispositivo vecino en la capa de Presentación

En este test, se obtiene la información sobre el router vecino del dispositivo Cisco 3600, como la

dirección ip y la plataforma. Esta información es consultada y se despliega en el formulario de la

aplicación móvil.

También es posible obtener el resumen del estado de interfaces de los routers. El nombre de las

interfaces, dirección ip y estado administrativo.

61

Tabla 34. Consulta de resumen de interfaces en capa de Presentación

Finalmente, es posible recuperar la información de la tabla de enrutamiento del dispositivo.

Tabla 35. Consulta de tabla de enrutamiento en capa de Presentación

62

4.3.2 Capa lógica

En esta capa es donde se encuentran los programas que son ejecutados, recibe las peticiones del

usuario y posteriormente envía las respuestas tras el proceso. La capa de presentación tiene

comunicación con la capa de lógica de negocio, ya que se tienen que comunicar para recibir las

solicitudes y presentar los resultados.

Tabla 36. Clase Usuario

Descripción Colaboradores Representación

Recibe los parámetros de

autenticación desde la aplicación

móvil.

UsuarioDAO

Tabla 37. Clase Eigrp

Descripción Colaboradores Representación

Es el servicio que tiene los

métodos validar_usuario para la

autenticación y operation para las

configuraciones en los dispositivos.

Eigrp

Aquí se encuentran las enumeraciones java CISCO2600 y CISCO3600 que permiten llegar a los

niveles de acceso de interfaz y enrutamiento de los dispositivos, iniciando desde el acceso

consola y pasando por los niveles de usuario, privilegiado y global.

Tabla 38. Topología de routers virtualizados

Las enumeraciones Java utilizan el api Telnet.jar con el fin de realizar conexión Telnet a los

routers CISCO 2600 y CISCO 3600, por medio de las direcciones ip correspondientes 200.0.0.2 y

10.0.0.1.

63

4.3.3 Capa de persistencia

Las clases de la capa de persistencia definen las entidades del sistema.

Tabla 39. Clase UsuarioDAO

Descripción Colaboradores Representación

Define la consulta de autenticación

en la base de datos.

UsuarioDAO

Tabla 40. Clase ConexionDAO

Descripción Colaboradores Representación

Realiza la conexión con la base de

datos y ejecuta la consulta.

ConexionDAO

La aplicación realiza conexión a la base de datos MySQL por medio de una conexión JDBC

nativa. Esto se implementa en la clase ConexionDAO de la persistencia.

JDBC es una especificación de un conjunto de clases y métodos que permiten a un programa Java

acceder a sistemas de bases de datos. Este método de conexión requiere utilizar un driver de

conexión, el driver utilizado para acceder a la base de datos del sistema es mysql-connector-

java-5.1.7-bin.jar

Tabla 41. Comunicación JDBC nativa capa de Persistencia

El test de ejecución fue realizado en los dispositivos móviles Motorola RAZR D1 con Sistema

operativo Android 4.0 y Samsung Galaxy S4 con Android 4.3.

64

5. Diseño de la aplicación

Para la aplicación se tuvieron en cuenta los siguientes principios generales del diseño

Visibilidad

Cuanto más visibles sean las funciones, más probabilidad hay que los usuarios las vean y usen.

Las funciones del programa son ilustradas por opciones de interface gráfica como combos de

selección, campos de texto, botones de opción, etiquetas y áreas de texto, así como mensajes

descriptivos.

Retroalimentación

Cada acción con el sistema debe tener una clara reacción. Se puede hacer con sonido, de forma

táctil, verbal, visualmente o combinadas.

Cada acción en el sistema de configuración eigrp utiliza las formas de retroalimentación visual y

táctil para lograr un diseño con adecuada retroalimentación. Se utiliza los cambios automáticos

de opciones de configuración. No es posible acceder a operaciones de configuración hasta que no

se obtenga una autenticación correcta. Si el usuario falla en el proceso de autenticación, la

aplicación cuenta con mensajes que indican al usuario la causa de la falla.

Tabla 42. Mensaje de retroalimentación ante autenticación fallida

65

Restricción

Es la limitación de la interacción del usuario en un momento determinado. En el diseño de la

aplicación se consideran restricciones de tipo lógicas; si se pulsa un botón se espera una reacción.

En la siguiente imagen el usuario consulta la tabla de enrutamiento del router cisco 3600

pulsando el botón Enviar. Mientras el usuario obtiene la respuesta de la consulta el botón Enviar

permanece resaltado.

Tabla 43. Restricción lógica al pulsar el botón enviar

La respuesta es desplegada en un elemento TextView del mismo formulario, como se muestra a

continuación

Tabla 44. Imagen de respuesta ante una petición del usuario

66

Consistencia

Consiste en diseñar usando operaciones y elementos similares. Se implementa este principio de

diseño en la aplicación, las operaciones consideradas tales como autenticación, configuración

eigrp y monitoreo de la aplicación, utilizan el mismo estilo gráfico y a nivel de controles. Se

pueden encontrar en todos los formularios, controles comunes, como campos de texto, botones de

envío y combos de selección. A continuación se muestran los formularios de monitoreo y

configuración, en los que es posible visualizar la consistencia en el diseño de la aplicación.

Tabla 45. Formulario de configuraciones EIGRP

Tabla 46. Formulario de consultas o monitoreo

67

5.1 Diagrama de Clases

La aplicación móvil está compuesta por la actividad Autenticación, se encarga de realizar la

verificación de usuario en el servidor. La clase Configuraciones_Eigrp tiene las opciones de

configuración u operaciones a ejecutar en el dispositivo de red. También tiene una lista

desplegable para seleccionar la plataforma de dispositivos. Finalmente, la clase Monitoreo

funciona para consultar información sobre los dispositivos CISCO, como las tablas de

enrutamiento y el estado de interfaces.

Figura 9. Diagrama de Clases Aplicación Móvil

68

La aplicación servidor tiene el servicio web, la clase Eigrp, con dos métodos; Validar_Usuario y

Operation. La primera interacción es del administrador de la red con la aplicación móvil, la cual

invoca el método validar_usuario del servicio web, donde se instancia la clase usuario, para

realizar la conexión a la base de datos por medio de las clases UsuarioDAO y ConexionDAO. Si

la autenticación es exitosa, se activa la clase Configuraciones_Eigrp en el dispositivo móvil, con

las diferentes opciones de configuración. La clase Monitoreo se comunica con el método

operation de la clase Eigrp, que recibe dos parámetros de tipo string; ip_scope y command.

Figura 10. Diagrama de Clases Aplicación Servidor

69

5.2 Diagramas de Secuencia

5.2.1 Autenticación de Usuario

Figura 11. Diagrama de Secuencia Autenticación de Usuario

El proceso de validación de usuario, inicia cuando el administrador de la red, ejecuta la

aplicación Eigrp.apk y despliega el sistema móvil. La primera operación que realiza el

administrador de la red en el sistema móvil, es diligenciar los datos de usuario y contraseña y al

pulsar un botón de la interfaz gráfica, llama al método onClick, que toma un argumento de tipo

View, para procesar el evento. El sistema móvil instancia un objeto de tipo SoapObject, para

lograr el acceso remoto al sistema web. El objeto SoapObject tiene dos argumentos; namespace y

método. Así consigue invocar el método validacion_Usuario del sistema web. Primero se

instancia un objeto de tipo usuario, con el método validar_User de la clase Usuario. Después, la

clase Usuario, instancia los objetos de persistencia ConexionDAO y UsuarioDAO y realiza la

verificación de usuario, por medio del método validar. Si el usuario existe, al sistema móvil es

retornado un valor entero positivo. Y a través del método startActivity es desplegada la actividad

Configuraciones_Eigrp con las opciones de configuración.

70

5.2.2 Instalación de Eigrp

Figura 12. Diagrama de Secuencia Instalación de Eigrp

El sistema móvil despliega la interfaz de opciones de configuración, a partir del método onCreate

de la actividad Configuraciones_Eigrp. Lo primero que el administrador de red hace es elegir la

plataforma del dispositivo en la que quiere ejecutar la instalación. Esto se logra por medio del

método onItemSelected, que toma los argumentos de tipo AdapterView y View. Los adaptadores

se utilizan para implementar listas desplegables. Al seleccionar la plataforma el administrador de

la red realiza el llamado de la función onCheckedChanged de la actividad

Configuraciones_Eigrp. El envío de la orden de ejecución hacia el servicio web, se consigue a

través del evento onClickView. para posteriormente hacer el llamado al método operation de la

clase Eigrp. La conexión del dispositivo de red, la realiza el Framework Networking, a través de

la llamada al método Input_Output; primero conecta la dirección ip que llega como primer

argumento string y después ejecuta la operación establecida en el segundo argumento. Después

que el Framework ejecuta la configuración, retorna el resultado de la operación al servicio web y

por último del servicio a la aplicación móvil y al administrador red.

71

5.2.3 Monitoreo de los dispositivos

Figura 13. Diagrama de Secuencia Monitoreo de los dispositivos

El sistema móvil despliega la interfaz de opciones de configuración, a partir del método onCreate

de la actividad Monitoreo. Lo primero que el administrador de red hace es elegir la plataforma

del dispositivo del que quiere recuperar información. Esto se logra por medio del método

onItemSelected, que toma los argumentos de tipo AdapterView y View. Los adaptadores se

utilizan para implementar listas desplegables. Al seleccionar la plataforma el administrador de la

red realiza el llamado de la función onCheckedChanged de la actividad Monitoreo. El envío de la

orden de ejecución hacia el servicio web, se consigue a través del evento onClickView. para

posteriormente hacer el llamado al método operation de la clase Monitoreo. La conexión del

dispositivo de red, la realiza el Framework Networking, a través de la llamada al método

Input_Output; primero conecta la dirección ip que llega como primer argumento string y después

ejecuta la operación establecida en el segundo argumento. Después que el Framework ejecuta la

configuración, retorna el resultado de la operación al servicio web y por último del servicio a la

aplicación móvil y al administrador red.

72

5.3 Diagramas de Colaboración

5.3.1 Validación de Usuario

Figura 14. Diagrama de Colaboración Validación de Usuario

Descripción

1 El Administrador de la Red invoca la actividad Autenticación del sistema móvil, por medio de

un botón que activa un evento de tipo View.

2 Un objeto de tipo SoapObject envuelve los datos de usuario y password en la clase

Autenticación.

3 Autenticación invoca el método validacion_Usuario del sistema web, el servicio web Eigrp.

Los parámetros de la llamada son dos valores string, que corresponden a usuario y password.

4 El servicio web Eigrp, invoca el método validar_User de la clase Usuario, sin argumentos.

5 La clase Usuario instancia un objeto de persistencia; ConexionDAO para acceder a la base de

datos.

6 La clase Usuario instancia el objeto de persistencia UsuarioDAO, para definir la consulta a la

base de datos.

7 UsuarioDAO invoca el método validar.

8 ConexionDAO invoca el método validar, con la consulta como parámetro string.

9 Si la consulta coincide con algún registro de la base de datos, devuelve un valor entero positivo,

el id del usuario. El valor entero es devuelto a la aplicación móvil.

73

10 Si es retornado un valor positivo, la actividad Configuraciones_Eigrp es desplegada al

administrador de la red, con las opciones para elegir plataforma e instalar o desinstalar este

protocolo.

5.3.2 Instalar o Desinstalar Eigrp

Figura 15. Diagrama de Colaboración Instalar o desinstalar Eigrp

Descripcióng

1 El sistema móvil a través del método onCreate, con el parámetro Bundle, despliega la actividad

Configuraciones_Eigrp, con las opciones de plataforma y comando.

2 El administrador de red, elige la plataforma con el método onItemSelected, que funciona como

una lista desplegable y utiliza adaptadores de vista, controles necesarios en éste tipo de objetos

para procesar eventos android.

3 Después de elegir la plataforma, se selecciona la operación a realizar. Para esto el administrador

de la red elije una opción, invocando el método onCheckedChanged, que tiene un argumento de

tipo RadioGroup y otro entero.

4 El envío de los datos hacia el sistema web, tiene lugar en el evento onClickView

5 En Configuraciones_Eigrp hay un objeto de tipo SoapObject para envolver los datos de

plataforma y comando, en valores string.

74

6 Los valores son enviados al método operation del servicio web Eigrp.

7 El sistema web conecta el Framework Networking, por medio de la clase Input_Output y los

valores string; dirección ip de alcance y comando de operación, como argumentos.

8 El Framework Networking, accede a sus clases empaquetadas Cisco2600 y ejecuta la

operación en el dispositivo seleccionado.

9 El Framework Networking, accede a sus clases empaquetadas Cisco3600 y ejecuta la

operación en el dispositivo seleccionado.

10 La clase Input_Output retorna al servicio Web un string con el resultado de la operación.

11 La clase Eigrp retorna el resultado a la aplicación móvil.

12. El administrador de red recibe el resultado de la operación.

5.3.3 Monitoreo de los dispositivos

Figura 16. Diagrama de Colaboración Monitoreo de los dispositivos

75

Descripción

1 El sistema móvil a través del método onCreate, con el parámetro Bundle, despliega la actividad

Monitoreo, con las opciones de plataforma y comando.

2 El administrador de red, elige la plataforma con el método onItemSelected, que funciona como

una lista desplegable y utiliza adaptadores de vista, controles necesarios en éste tipo de objetos,

para procesar eventos android.

3 Después de elegir la plataforma, se selecciona la operación a realizar. Para esto el administrador

de la red elije una opción, invocando el método onCheckedChanged, que tiene un argumento de

tipo RadioGroup y otro entero.

4 El envío de los datos hacia el sistema web, tiene lugar en el evento onClickView

5 En Monitoreo hay un objeto de tipo SoapObject para envolver los datos de plataforma y

comando, en valores string.

6 Los valores son enviados al método operation del servicio web Eigrp.

7 El sistema web conecta el Framework Networking, por medio de la clase Input_Output y los

valores string; dirección ip de alcance y comando de operación, como argumentos.

8 El Framework Networking, accede a sus clases empaquetadas Cisco2600 y ejecuta la

operación en el dispositivo seleccionado.

9 El Framework Networking, accede a sus clases empaquetadas Cisco3600 y ejecuta la

operación en el dispositivo seleccionado.

10 La clase Input_Output retorna al servicio Web un string con el resultado de la operación.

11 La clase Eigrp retorna el resultado a la aplicación móvil.

12. El administrador de red recibe el resultado de la operación.

76

6. Implementación

6.1 Método de autenticación implementado

La aplicación utiliza el algoritmo de cifrado MD5, MD5 procesa bloques uniformes de 512 bits a

la vez y entrega a la salida un bloque de 128 bits. El método validacion_Usuario del servicio web

recibe dos parámetros; usuario y contraseña, utiliza el objeto Usuario de la capa Lógica para

lograr conexión a los objetos ConexionDAO y UsuarioDAO de la persistencia y realizar una

consulta a la base de datos mysql, encriptando la contraseña por medio del algoritmo MD5. Si la

consulta recupera registros válidos, se retorna el permiso a la aplicación móvil para continuar con

el proceso de configuración, esto se puede visualizar con un cambio automático de actividad en la

aplicación Android.

El usuario inicialmente ingresa los datos en la aplicación móvil y pulsa el botón enviar.

Tabla 47. Intento de autenticación de usuario

Si el proceso de autenticación MD5 es correcto, la aplicación móvil automáticamente despliega la

interfaz gráfica que corresponde a la actividad de configuración eigrp.

Tabla 48. Formulario desplegado como respuesta a autenticación exitosa

77

6.2 Diagrama de paquetes

El proyecto integra dos aplicaciones que funcionan en conjunto; una aplicación servidor y una

aplicación móvil. La aplicación servidor está compuesta por tres paquetes de clases;

Presentacion, Logica y Persistencia. En la capa de presentación está el servicio Web, la clase

Eigrp, desde el cual un Framework de configuración gráfico es invocado. La aplicación móvil

consta de un único paquete; com.example.eigrp, con las clases Autenticación,

Configuraciones_Eigrp y Monitoreo.

Figura 17. Diagrama de paquetes

Descripción

1 La clase Autenticación de la aplicación móvil invoca el método validar_Usuario de la clase

Eigrp, con dos argumentos de tipo string; el usuario y el password.

2 Se realiza un llamado a la clase Usuario del paquete Logica.

78

3 La clase Usuario instancia a UsuarioDAO, una clase de persistencia para establecer consultas.

4 La clase Usuario instancia a ConexionDAO, una clase de persistencia para realizar la conexión

a la base de datos.

5 Después de la autenticación, la clase Configuraciones_Eigrp del sistema móvil invoca el

método operation, con dos argumentos string; la dirección ip de alcance y el comando.

6 La clase Monitoreo del sistema móvil invoca el método operation, con dos argumentos string;

la dirección ip de alcance y el comando.

7 La clase Eigrp realiza la conexión al Framework Networking, para ejecutar operaciones en los

dispositivos.

6.3 Base de datos

La aplicación tiene una base de datos Mysql, llamada proyecto, con una sola tabla; autenticación.

La tabla tiene tres campos; id de tipo entero, como clave primaria, user de tipo varchar(40) y

password de tipo varchar(40), para registrar los datos del administrador de la red.

Tabla 49. Base de datos

Figura 18. Entidad de Autenticación

6.4 Diagrama de Despliegue

Figura 19. Diagrama de despliegue

Se emplean dos routers GNS3; un 2600 alcanzado por la dirección ip 200.0.0.2 y un 3600 por la

dirección ip 10.0.0.1. El Servidor se conecta a los routers, a través de dos interfaces de red, una

79

cableada configurada con la dirección 10.0.0.5 y la inalámbrica 192.168.1.105. El dispositivo

móvil funciona en la red WIFI con la dirección 192.168.1.100.

6.5 Diagrama de Componentes

Figura 20. Diagrama de Componentes

Inicialmente la aplicación móvil invoca métodos de la aplicación servidor. La aplicación servidor

recibe las solicitudes y se comunica con el Framework de redes, con el objetivo de enviarle las

operaciones solicitadas desde la aplicación móvil. Finalmente el Framework de redes, conecta los

dispositivos de enrutamiento de la topología y ejecuta las operaciones solicitadas desde la

aplicación web, y las despliega paso a paso en su interfaz gráfica.

80

7 Pruebas

7.1 Pruebas de Usabilidad

Se realiza un estudio de usabilidad, lo que se pretende es que el software sea entendible, que

facilite el uso. Se define y realiza el siguiente test de usabilidad.

Hay elementos en la interfaz gráfica que ayuden a entender el software?

En la aplicación se encuentran etiquetas que describen la funcionalidad de los formularios de la

interfaz gráfica.

Hay algún elemento que identifique los autores del programa?

En el formulario de autenticación de la aplicación se encuentran nombres de autores del software

y símbolos que identifican los derechos de autor.

Existen elementos que permitan identificar donde se encuentra la información cuando se tienen

que utilizar botones del programador?

El software cuenta con botones que permiten trasladarse por las diferentes opciones de

configuración. Enlaces para avanzar y retroceder por las opciones de la aplicación.

Se ha sentido perdido dentro de la aplicación, si ha ocurrido recuerda en qué lugar?

La aplicación es clara y tiene la información precisa.

Le parece adecuada la forma en que se muestran las opciones de la aplicación?

La aplicación sigue una secuencia natural que inicia con la autenticación de usuario.

Tras un primer uso le queda claro cuál es el objetivo de la aplicación y que contenidos ofrece y

los puede enumerar.

La aplicación se encuentra dividida en módulos de autenticación, configuración y monitoreo.

Que es lo que más le llamo la atención positivamente o negativamente de la aplicación?

La aplicación permite ingresar configuraciones en los dispositivos con facilidad, también

permite recuperar información de los enrutadores.

Le parecen adecuados los tiempos de respuesta a las solicitudes hechas desde la aplicación?

Es recomendable mayor de velocidad en la respuesta de las operaciones.

7.2 Probar el Diseño de la red

Para verificar el diseño de red, se utiliza la herramienta ping. Si la red tiene conectividad hasta la

capa de red del modelo de referencia OSI, se encuentra respuesta de extremo a extremo en la

topología GNS3, la cual debe encontrarse activa, como requisito para efectuar las pruebas.

81

Figura 21. Topología GNS3

Desde R2 se prueba conectividad a la red lejana 10.0.0.0/8 , por medio de la herramienta ping.

Figura 22. Conectividad entre redes Remotas

Se debe desplegar la aplicación Web en Netbeans,. El Servicio Web queda en estado de escucha

para recibir las peticiones provenientes de la aplicación móvil. El puerto utilizado es 8080 y el

servidor utilizado es Glassfish.

Figura 23. Despliegue de la aplicación web

Es necesario instalar la aplicación móvil en un dispositivo con Android 4.0 o superior. El archivo

ejecutable Eigrp.apk, se comparte en google drive y se instala desde la aplicación drive, en el

dispositivo móvil. Una vez instalado, se ejecuta, desplegando una interfaz para la validación de

usuario, con campos de texto para usuario y password. También un botón Ingresar, para enviar el

mensaje de validación a la aplicación web.

82

No es posible enviar operaciones de configuración sin una validación de usuario exitosa. Para

garantizar la correcta validación de usuario, se utiliza una base de datos que almacena los

usuarios autorizados en una tabla Mysql, como se ilustra a continuación:

7.3 Operaciones de Configuración

Los datos ingresados deben corresponder con algún usuario registrado en la base de datos. Si la

validación es correcta, se activa un formulario con opciones para seleccionar plataforma de

dispositivo y operación. Cada opción corresponde a una salida desplegada en el Framework de

redes del diseño final. Cada opción a su vez se corresponde con una operación de configuración o

consulta sobre la plataforma elegida. Tabla de enrutamiento ipv4, corresponde a la operación

show ip route, show ip interface brief al resumen de interfaces. Se ejecuta toda la serie de

comandos que incluyen desde el acceso a consola hasta el comando final.

7.4 Agregar Eigrp a la Plataforma 3600

A continuación se realiza la instalación Eigrp en el router CISCO 3600

Figura 24. Instalación Eigrp en Router 3600

7.5 Agregar Eigrp a la Plataforma 2600

A continuación se realiza la instalación Eigrp en el router CISCO 2600.

83

Figura 25. Instalación Eigrp en Router 2600

7.6 Estado de la Tabla de Enrutamiento en Plataforma 3600

A continuación se consulta el estado de la tabla de enrutamiento en el router 2600 y se puede

verificar que el algoritmo Dual de Eigrp está en funcionamiento. El protocolo aprendió la red

remota 10.0.0.0/8 vía la interface fastethernet 1/0.

Figura 26. Show ip route en la plataforma 2600

84

8. Análisis resultados y rendimiento de la aplicación

Se ha realizado un proyecto que permite facilitar las operaciones cotidianas de configuración de

dispositivos de red para el administrador. Se logra demostrar que es posible utilizar dispositivos

móviles para facilitar las tareas de administración de red, que generalmente conllevan mucho

trabajo de sintaxis, precisión y un conocimiento profundo sobre el protocolo de enrutamiento

EIGRP. El diseño de la aplicación incluye elementos claves para el buen funcionamiento de la

misma; visibilidad, restricción, retroalimentación y consistencia. Se realizan pruebas de la

aplicación sobre los dispositivos móviles Motorola RAZR D1 con Android 4.0 y Samsung

Galaxy S4 con Android 4.3, obteniendo un rendimiento adecuado de la aplicación, desde la

autenticación del usuario hasta el módulo de monitoreo.

Un trabajo futuro sobre la aplicación debe incluir mejoras como implementar un API SSH de

Java en lugar de apache Telnet, por ser un protocolo seguro en el que la información se encuentra

cifrada. Otra mejora a futuro consiste en reducir los tiempos de respuesta desde el servicio web

hacia el dispositivo móvil.

85

9 Conclusiones

Los dispositivos GNS3 virtualizados deben ser accedidos vía telnet o ssh. Se deben asegurar

los niveles de consola, usuario y privilegiado de los enrutadores.

Si hay que elegir una opción en línea para acceder a los dispositivos, es mejor utilizar ssh y

no telnet, por ser un protocolo más seguro, que encripta la información.

La visibilidad en el diseño de la aplicación facilita el entendimiento de la misma por parte de

los usuarios.

Es importante que una aplicación cuente con retroalimentación de forma que ante cualquier

evento ejecutado por el usuario exista un retorno adecuado de información por parte de la

aplicación.

Las aplicaciones de software deben utilizar herramientas para restringir al usuario sobre las

operaciones que no se deben ejecutar en determinado momento del proceso. Para ello se

pueden inhabilitar los controles que se desean restringir dentro de la aplicación.

Es aconsejable que las aplicaciones de software mantengan un estilo similar para todas las

operaciones que ofrezcan, con esto la aplicación logra consistencia.

En el diseño de programación por capas facilita la reutilización de código. Permite modificar

alguna capa sin afectar la otra.

Las conexiones JDBC nativas a través de driver de conexión continúan siendo utilizadas para

lograr acceso a elementos de persistencia en aplicaciones desarrolladas por capas.

El algoritmo de encriptación MD5 es uno de los más seguros y puede ser utilizado con éxito

en sistemas de autenticación.

Las pruebas de usabilidad en una aplicación de software permiten encontrar fallas y virtudes

y por tanto son una herramienta que sirve para el continuo mejoramiento del software.

86

Referencias

Barrios L, (2009). Virtualización de redes como elemento clave para cloud computing, 3.

Britos D,Vargas L & Arias S, (2013). Tercera conferencia de directores de tecnología de

información, 1.

Camargo H, Arrieta C & Pulido F, (20 10). Implementación de LogMein para controlar de

manera remota un variador de velocidad Cuttler Hammer, 78.

Cloud Monterrey Asesores, (2013). Una implementación modelo de laboratorios de informática

en México y Centroamérica, gracias a la alianza de Microsoft y NComputing, 1.

Fuertes W, Galán F & Fernández D, (2008). Propuesta para el despliegue de escenarios de red

virtuales en entornos distribuidos.1.

García E, López J & Pascual F, (2010). Virtualización de Servidores. Una solución de futuro,1.

García J, Candelas A & Baquero A, (2014). Virtualización de redes de computadores con GNS3:

Evaluación de soluciones para el aprendizaje a distancia, 2.

Harold, R, Java Network Programming. USA, O’Reilly.

Humphreys, J & Grieser T. (2006) Mainstreaming Server Virtualization: The Intel Approch.

Analize the Future, 1.

Martín J, (2012) Virtualización y Cloud Computing en la PYME, 6.

Martin, K. (2013). Java Web Services up and Running. United States of America, O’ Reilly.

Martínez S, (2008). Evaluación de plataformas virtuales: Estudio comparativo, 4.

Mifsud E, (2012). Introducción a la virtualización con XEN, Observatorio tecnológico,

Disponible: http://recursostic.educacion.es/observatorio/web/es/software/servidores/1080-

introduccion-a-la-virtualizacion-con-xen

Ortega J, Fernández J, (2010). Laboratorios virtuales de redes: Sí, inténtelo en casa, 1.

Silvio J, (2000). La Virtualización de la Universidad. Caracas: Iesalc.

87

Vázquez C, (2009). Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma

Android de Google, 4.