Post on 20-Sep-2018
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.
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.