Plan de Trabajo

Contexto

Para la realización del proyecto Teldatsi durante el periodo octubre 2009 - octubre 2010 hemos propuesto el siguiente plan de trabajo:

Implementación de protocolos de routing

Esta parte será llevada a cabo por Alexandru Ionut Grama y consta de las siguientes partes

Tareas Estado Comentarios adicionales
Octubre 2009 Hacer un sistema de ficheros y kernel Completado No funciona el kernel con NFS
Instalar las utilidades lo más reducidas posibles Completado Sistema Ficheros + Quagga stripped = 6,5 Mb
Implementar IPSEC En Proceso
Noviembre 2009 Rip v2 No empezado
BGP No empezado
OSPF No empezado
Reparar el bootloader del router con linux No empezado
Pruebas IPSEC No empezado
Diciembre 2009 Pruebas IPSEC No empezado
Pruebas Rip v2, BGP y OSPF No empezado
Enero 2010 L2TD/IPSEC No empezado
Febrero 2010 Pruebas L2TD/IPSEC No empezado Las pruebas las hago en esta época ya que hay exámenes
Marzo 2010 NAT, iptables y netfilter(estático,dinámico y puertos No empezado
Abril 2010 Pruebas NAT No empezado
SNMP (administración) No empezado
Mayo 2010 BRS No empezado
Multicast (PIM) No empezado
NTP (sincronización de tiempos No empezado
Junio 2010 Pruebas BRS y NTP No empezado
Pruebas Multicast No empezado
Julio 2010 PPPoE No empezado
ATM, NHRP y PPPoA No empezado Tarjetas ATM necesarias
Agosto 2010 Vacaciones
Septiembre 2010 Pruebas ATM No empezado
Redactar informe calidad y TFC No empezado
Octubre 2010 Redactar informe calidad y TFC No empezado

Porting de lenguajes de Scripting

Esta parte será llevada a cabo por Christian Van de Walle Coello y consta de las siguientes partes

Tareas Estado Comentarios adicionales
Octubre 2009 Hacer un sistema de ficheros y kernel Completado No funciona el kernel con NFS
Estudiar la viabilidad de los lenguajes de Scripting Completado
→TCL Completado Ocupa 800KB, funciona bastante bien, tiene sockets
→Python Completado Estudiado PyMite, descartado por ahora
Perl Completado Funciona correctamente, pero no he conseguido que tenga sockets
→Ruby Completado Ocupa 2,6MB, funciona bien y tiene sockets
→Lua Completado Ocupa 800+150KB, funciona bien, tiene sockets
Noviembre 2009 PHP Completado Ocupa 1,8MB, funciona bien y tiene sockets
→JSP Completado Descartado, necesita máquina virtual de 32MB
→JavaScript Completado 600KB, funciona bien, sin sockets
ASP Completado Descartado, no es posible
→AngelScript Completado Descartado, es una biblioteca para compilar scripts
→Squirrel Completado 267KB, es como el LUA pero sin sockets
Diciembre 2009 Evaluar los lenguajes viables (pruebas de CPU, memoria…)No Empezado
→Elegir el lenguaje con mayor rendimiento No Empezado
Enero 2010 Estudiar a fondo el sistema de menú actual No Empezado
Diseñar la nueva estructura de menús en el nuevo lenguajeNo Empezado
Febrero 2010 Desarrollar el nuevo sistema de menús No Empezado
Marzo 2010 Desarrollar el nuevo sistema de menús No Empezado
Abril 2010 Evaluar el nuevo sistema y comparar con el actual No Empezado
Mayo 2010 Incorporar un servidor http al router No Empezado
Diseñar web compatible y basada en el nuevo menú No Empezado
Junio 2010 Desarrollar la web No Empezado
Julio 2010 Desarrollar la web No Empezado
Agosto 2010 Vacaciones
Septiembre 2010 Redactar informe calidad y TFC No Empezado
Octubre 2010 Redactar informe calidad y TFC No Empezado



El objetivo último de este proyecto es conseguir portar un Lenguaje de Scripting que sea lo suficientemente potente como para poder implementar todos los scripts de configuración del router con él, de forma cómoda y fiable, y sin tener que hacer uso de herramientas externas (exceptuando Quagga y otras herramientas que se consideren imprescindibles).

Para poder realizar esta tarea, será necesario primero familiarizarse con el router X60 de Teldat y leer toda la documentación sobre el mismo, tanto la suministrada por Teldat como la recabada por los compañeros del año anterior. Se repetirán los pasos documentados del año anterior para aprender el manejo de las herramientas de desarrollo utilizadas, tales como Busybox y Buildroot. El primer objetivo será conseguir toda la funcionalidad alcanzada el año pasado y tener las herramientas necesarias para poder desarrollar aplicaciones para el router.

Tras esto, se procederá a hacer el estudio de los diferentes Lenguajes de Scripting. Lo primero será hacer una selección amplia de los lenguajes sobre los que se va a trabajar para así ir descartando aquellos que no cumplan los criterios marcados. La idea es ir aplicando una serie de filtros o criterios para ir reduciendo el número de lenguajes hasta obtener uno o varios sobre los cuales desarrollar los scripts de configuración.

Los criteros que se aplicarán son los siguientes (en este orden):

  • Viabilidad: Se estudiará si el porting del lenguaje es viable, es decir, si cumple con los requisitos de memoria y espacio en disco del router y se puede implementar el intérprete en el S.O. del router.
  • Sockets: Como se ha dicho anteriormente, se espera que el lenguaje elegido no necesite ninguna herramienta extena como sucede con el sistema actual, que hace uso de Netcat para comunicarse con Quagga. Es necesario que el lenguaje permita implementar sockets.
  • Facilidad para implementar un servidor HTTP: Este criterio no será determinante para descartar o no un lenguaje, pero es un punto muy interesante, tal y como se explicará más adelante.
  • (por definir)

Una vez se disponga de un conjunto de lenguajes que se consideren portables, se realizará un estudio comparativo de todos ellos, con pruebas de rendimiento en el uso de la CPU, memoria, entrada/salida, etc, y se elegirá el que mejor se adapte a las necesidades del proyecto.

A continuación se rediseñará la aplicación de menús para adaptarla al lenguaje elegido, para ello, se estudiará a fondo el sistema actual y se diseñará otro equivalente, desarrollado por completo en el nuevo lenguaje. Sin embargo, no se ha planteado un nuevo sistema de menús por consola, sino que esté orientado a un interfaz web, por ser ésto más interesante de cara a su desarrollo. Esto plantea otras dificultades adicionales como poder incorporar un servidor HTTP al router, por esta razón sería muy interesante poder desarrollar el servidor en el mismo lenguaje de scripting.

 
proyectos/teldatsi/plan.txt · Última modificación: 2012/10/08 17:58 (editor externo)
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki