Busca monografías, tesis y trabajos de investigación

Buscar en Internet 

       Revistas   Cursos   Biografías

rss feeds RSS / /

Plataforma factible para routers

Resumen: Un router interconecta redes de computadoras y las plataformas para ellos no han sido, tradicionalmente, sistemas abiertos. Debido a esto una gran parte del trabajo que realizan los investigadores de redes es a través de simulaciones y se desconoce cuánta aplicación práctica pueda tener. A su vez, la compra de un router profesional es muchas veces imposible por parte de usuarios de redes, por lo que una solución factible es utilizar las computadoras para que hagan las veces de routers, pero las plataformas para ello no son sencillas de implementar. En este artículo se introduce XORP como una plataforma viable para el desarrollo de routers.

Publicación enviada por Lic. Maykell Sánchez Romero




 


RESUMEN 
Un router interconecta redes de computadoras y las plataformas para ellos no han sido, tradicionalmente, sistemas abiertos. Debido a esto una gran parte del trabajo que realizan los investigadores de redes es a través de simulaciones y se desconoce cuánta aplicación práctica pueda tener. A su vez, la compra de un router profesional es muchas veces imposible por parte de usuarios de redes, por lo que una solución factible es utilizar las computadoras para que hagan las veces de routers, pero las plataformas para ello no son sencillas de implementar. En este artículo se introduce XORP como una plataforma viable para el desarrollo de routers. Se explica su arquitectura y características principales.

Palabras claves: investigación redes, plataforma, XORP, router,

Factible platform for routers

ABSTRACT
A router interconnects computer’s networks and platforms that have not been open system, for them. For this reason, network researchers develop a great part of their work with simulations and it is unknown the real practical application that can have their works. In the other hand, routers users can’t buy a professional router, so a usual solution is to use personal computers as routers, but the required platforms are not easy for implementing. This article introduces XORP as a viable platform for router’s development. The XORP’s architecture and basic characteristics are explained.

Keywords: network research, platform, XORP, router.

INTRODUCCIÓN
Un router es un dispositivo de hardware y software para la interconexión de redes de computadoras, que opera en el nivel 3 (nivel de red) del modelo OSI. Las plataformas para routers no han sido tradicionalmente sistemas abiertos; no abiertos en el sentido de fuente abierta y en el sentido de brindar sus APIs (interfaz de programa de aplicación, por sus siglas en inglés) para que los implementadores se comuniquen con los dispositivos y programas. Esto afecta directamente a diferentes tipos de usuarios.

Los investigadores en redes de computadoras frecuentemente realizan experimentos para medir el tráfico en las redes y monitorear el ruteo de los mensajes; pero es un tanto difícil para esas personas realizar experimentos para obtener resultados significantes. Debido a la no disponibilidad de plataformas para routers, una gran parte del trabajo lo realizan a través de simulaciones que arrojan resultados teóricos que se desconoce cuán alejados puedan estar de la práctica real. 

Los usuarios de redes de computadoras (universidades, empresas, etc.) demandan frecuentemente de las funcionalidades de un router, pero los precios actuales del mercado para los routers profesionales hacen muchas veces injustificable la adquisición de uno. Por otra parte, existen equipos más baratos, pero con un limitado número de funcionalidades y no diseñados para configuraciones no triviales, que los hacen prácticamente obsoletos en poco tiempo. Una solución posible es tener computadoras con software específicos que hagan las veces de routers.

Estos grupos de usuarios diferentes podrían resolver gran parte de sus problemas si contaran con una plataforma abierta que les permitiera realizar investigaciones y experimentos en entornos de producción. De la misma forma la plataforma les permitiría acceder a las funcionalidades que brinda un router sin tener específicamente el hardware profesional, sino a través de la adaptación de la plataforma a una computadora que daría el soporte hardware, en lo que se conoce como PCB-router (personal computer based router). Otras posibles soluciones son abordadas en [3].

Discusión
XORP es una plataforma que tiene como objetivos brindar un entorno de investigación y producción de fuente abierta (open source), integrada, flexible, extensible y donde se puedan desarrollar protocolos experimentales con riesgos mínimos a servicios ya estables, y surge para dar respuestas a las necesidades de la comunidad de investigadores de redes, con repercusión positiva sobre la comunidad de usuarios de routers.

Los cuatro desafíos mayores que tiene XORP son:
1. Soportar todos los requisitos de los routers reales, incluyendo los protocolos de enrutamiento y los diferentes tipos de interfaces.
2. Ser extensible, desde los protocolos de enrutamiento hasta los detalles del empaquetado. Las APIs del router deben ser abiertas y fáciles de usar.
3. Mantener un buen rendimiento, éste es un objetivo clave en un router. También debe ser escalable el tamaño de la tabla de rutas y el número de puertos.
4. Ser robusto, el router no debe colapsar o perder paquetes. Alcanzar la robusticidad se hace más difícil debido a la extensibilidad, pues las extensiones pueden ser inherentemente experimentales.

Arquitectura de XORP
Para alcanzar estos cuatro objetivos se dividió XORP en dos subsistemas.

Subsistema de alto nivel
El primer subsistema, llamado subsistema de alto nivel o de nivel de usuario, contiene los protocolos de enrutamientos así como la información y los procesos de soporte a los enrutamientos. Para ello, este subsistema se desarrolló sobre una arquitectura multiprocesos, con un proceso por cada protocolo de enrutamiento más los procesos concernientes a la administración, configuración y coordinación. Para permitir que sea extensible se diseñó un mecanismo de comunicación inter-procesos llamado XORP Resource Locator (XRL).

Los procesos compartidos del subsistema de nivel de usuario son la característica más novedosa de XORP. Cuatro procesos son particularmente importantes: el proceso de administración de enrutamiento (router manager), el buscador (finder), el de información base de enrutamiento (routing information base, en lo adelante RIB) y la máquina abstracta de caminos a seguir (FEA, forwarding engine abstraction).

El router manager se encarga de la completa administración del router, monitoreando toda la información de configuración, iniciando protocolos de enrutamiento y otros procesos en la medida en que vayan siendo requeridos por la configuración, y reiniciando procesos que fallen, cuando sea necesario.

El finder guarda la información necesaria para dar respuestas IPC (Inter-Process Comunication, por sus siglas en inglés) a pedidos de aplicaciones. Su trabajo comienza cuando una aplicación desea hacer un pedido IPC y consulta al finder para que le indique cómo hacerlo. Una vez que ha obtenido la respuesta, la aplicación podría almacenar la infomación de contacto en una caché para en próximas operaciones no utilizar el finder. El finder también puede instruir a las aplicaciones para que actualicen su información de contacto y mantiene trazas referente a los pedidos y respuestas IPC.

El RIB recibe rutas a partir de procesos de enrutamiento y decide cuáles rutas deben ser propagadas por otros caminos a seguir o redistribuidas a otros procesos de enrutamiento. Los caminos a seguir son administrados por FEA, que abstrae de los detalles de cómo el encaminado es implementado en el router. 
FEA abstrae al RIB de la implementación del encaminado en el router, que podría estar basada en Click, en un Kernel Unix o utilizando otros métodos. FEA administra las interfaces de red y tablas de caminos en el router y provee información a los procesos del router sobre las propiedades de las interfaces y sus eventos. Si el router es distribuido, de forma que algunas instancias de FEA no estén sobre el mismo dispositivo físico, FEA será la encargada del control de la comunicación con las otras instancias.

Subsistema de bajo nivel
El segundo subsistema, llamado subsistema de bajo nivel, administra herramientas para el enrutamiento, es ejecutado en el Kernel de los sistemas operativos y provee acceso al alto nivel a través de interfaces. Para ello utiliza una herramienta modular y extensible para el procesamiento de paquetes llamada Click[6]. También son soportadas otras herramientas como FreeBSD con extensiones AltQ, y Scout [3].

Alcanzando los objetivos
Para alcanzar los cuatro objetivos o desafíos propuestos también se ha trazado una estrategia para cada uno, que a continuación se explica.

Soportando los requisitos de los routers reales
Para ser exitosos los routers deben tener brindar soporte a protocolos ampliamente utilizados. Algunos de ellos soportados por XORP son: BGP4+, OSPF, RIPv2/RIPng, Integrated IS-IS, PIM-SM/SSM, IGMPv3/MLD, PPP.
El objetivo es que XORP los soporte tanto para IPv4 e IPv6. También se propone implementar interfaces de administración como SNMP y HTTP [9].

Alcanzando la extensibilidad
Contar con interfaces abiertas es imprescindible para alcanzar la extensibilidad, las interfaces deben existir en cualquier punto donde una extensión pudiese ser añadida, y deben ser además fáciles de usar. La arquitectura multiprocesos de XORP le permite ser extensible. XORP tiene varias interfaces inter-procesos construidas desde el comienzo mismo de la plataforma para permitir su extensión. Todo este mecanismo de extensión está debidamente acoplado y soportado por el XRL[3]. Una solución genérica y extensible a la política de enrutamiento se expone en [7].

Rendimiento
Para alcanzar un buen rendimiento se han definido diferentes prioridades para las diferentes partes de XORP. En el nivel de usuario se ha priorizado la extensibilidad y la robusticidad sobre el rendimiento. Ocurre al contrario en el subsistema de bajo nivel, donde se ha priorizado el rendimiento, pues en este subsistema se llevan a cabo algoritmos sobre cada uno de los paquetes y brinda las funcionalidades a las capas superiores, pero no es manipulada directamente por usuarios (aplicaciones o personas), por lo que su prioridad es el mejor rendimiento del sistema.

Robusticidad
Los procesos de enrutamiento y coordinación en XORP ocurren a nivel de usuario. Estos procesos se protegen unos de otros y tienen recursos y restricciones de acuerdo a preferencias administradas. De esta forma, cuando un proceso se detiene no influye sobre el comportamiento del kernel o de otros procesos. En este caso el RIB puede eliminar sus rutas y informar que el proceso ha colapsado para que sea reiniciado por el router manager.

La propia arquitectura de XORP maximiza la seguridad, pues el hecho de que FEA abstraiga de la implementación subyacente de protocolos y que sean accedidos sólo a través de XRL impide que una vulnerabilidad descubierta sea escalada fácilmente a todo el router. XORP cuenta con protección de memoria, y centraliza toda la información de configuración en el router manager de manera que los procesos no tienen acceder al sistema de ficheros para cargar ni salvar su configuración [8].También se cuenta con la seguridad provista por los sistemas subyacentes, como Click.

CONCLUSIONES
Lejos de ser una plataforma que haya alcanzado un estado cerrado de manera que responda a todas las interrogantes y requisitos de un router, XORP se mantiene abierta y perfectamente extensible para permitir la investigación y experimentación sobre redes.

Más cercana a la factibilidad académica e investigativa XORP plantea, tras el paradigma de software libre, la posibilidad de estandarizar las plataformas de ruteo para sus proveedores, sin la pérdida de rendimiento. Los usuarios de redes y los investigadores tienen una gran parte de sus problemas resueltos y quienes escriben aplicaciones para redes podrían fundar un nuevo tipo de aplicaciones específicas para routers. Los investigadores que trabajen sobre nuevos dispositivos de enrutamiento podrían utilizar software sobre XORP para probar sus dispositivos en redes reales.

REFERENCIAS
Las referencias dentro del texto se harán por orden numérico ascendente consignándose así en el acápite referencias, en el mismo orden que aparecieron en el texto.
1. XORP PROJECT: “XORP User Manual Version 1.4”: disponible en: http://www.xorp.org. 
2. XORP PROJECT: ”XORP Design Overview Version 1.4”:, International Computer Science Institute, Berkeley, USA 2007, disponible en: http://www.xorp.org. 
3. HANDELY, M.; HODSON, O.; KOHLER, E.: “XORP: An Open Platform for Network Research”, ICSI Center for Internet Research, Berkeley, California, disponible en: http://www.xorp.org.
4. XORP PROJECT: “An Introduction to Writing XORP Process Version 1.4”, 2007, disponible en: http://www.unejemplo.com. 
5. http://nsnam.isi.edu/nsnam/index.php/User_Information 
6. E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek.: “The Click modular router”, ACM Trans. on Computer Systems, Aug. 2000.
7. A. Bitreau, M. Handley: “Decoupling Policy for Protocols: Implementation Issues in Extensible IP Router Software”, University College London. 
8. M.Handley, E. Kohler, A. Ghosh, O. Hodson, P. Radoslavov: “Designing extensible IP Router Software”
9. M. Handley: “Proposal to Develop an Extensible Open Router Platform”, Nov. 2000. 

AUTOR
Maykell Sánchez Romero (maykell@uci.cu): Licenciado en Ciencias de la Computación en la Universidad de La Habana, es Profesor Instructor y labora en la Universidad de las Ciencias Informáticas.

AUTOR
Lic.Maykell Sánchez Romero(1)
maykell@uci.cu 

Datos del autor
(1)Universidad de las Ciencias Informáticas. Licenciado en Ciencias de la Computación 
Actualmente imparte temas docentes relacionados con la Programación Orientada a Objetos, Estructuras de Datos y Algoritmos, Técnicas de Compilación. Tiene tareas de investigación y producción al frente de equipos desarrollo de Sistemas de Información Hospitalarios.



Valora este artículo 5   4   3   2   1

Comparte  Enviar a facebook Facebook   Enviar a menéame Menéame   Digg   Añadir a del.icio.us Delicious   Enviar a Technorati Technorati   Enviar a Twitter Twitter
Artículos Destacados