Proyecto FDD2011-02: Tutorial para la simulación de algoritmos de ruteo en redes alámbricas e inalámbricas utilizando ns-3

Presentación del proyecto:

Hoy en día, las tecnologías de información y comunicación (y sobre todo aquellas relacionadas con la Internet) están teniendo un impacto visible en nuestra vida cotidiana, y en el quehacer profesional en los más diversos campos de aplicación. Desde el punto de vista académico, este impacto ha provocado que muchas carreras tecnológicas incluyan en sus mallas curriculares asignaturas (sean obligatorias o electivas) ligadas a tópicos de computación y a las redes de computadoras. En el primero de los casos es regularmente sencillo (o factible) llevar la teoría a la práctica. La disponibilidad de computadoras en los centros de estudio es amplia, por lo que la formación práctica de alumnos y profesionales en tópicos como utilización de software de ofimática, diseño y construcción de software, sistemas operativos, bases de datos, y otros, es común y forma parte integral y obligatoria de las asignaturas. Para el segundo de los casos mencionados, la historia es un poco distinta.

Las asignaturas de redes de computadores se basan por lo general en la explicación de estándares y protocolos de comunicación, utilizando como referencia el modelo de referencia OSI. Este modelo agrupa en siete capas las distintas normas y protocolos utilizados en las redes de computadoras, partiendo con la identificación de los estándares de nivel físico (capa 1) como normas eléctricas, equipos, cableado, y otros, y terminando con los protocolos utilizados a nivel de aplicaciones (capa 7). En algunos tópicos de las asignaturas, si bien no es siempre posible, es factible generar algunos talleres. Por ejemplo, en la explicación de la primera capa, se puede siempre complementar con un taller de armado de cableado o un taller de interconexión de dispositivos (si se cuenta con el hardware necesario). En otras capas, la utilización de software sniffer (analizadores de paquetes) es también posible.

Uno de los tópicos fundamentales está en lo que se refiere a la interconexión de varias redes, y a los mecanismos de ruteo utilizados. Ésto es, la explicación de no sólo qué tipos de topologías pueden existir y cuáles son las características de los distintos tipos de redes, sino también el conocimiento de las estrategias que permiten hacer llegar un paquete de datos desde un computador a otro que no están necesariamente conectados el uno al lado del otro. Tal como funciona en Internet, en varios casos, los datos deben pasar por varios equipos intermedios, los que ejecutan (en muchos casos) algoritmos distribuidos que permiten esta comunicación (saber por dónde debe pasar un mensaje para ir de una parte a otra, considerando condiciones del canal, congestión, y otros, y con una visión muchas veces reducida de la topología global).

Lamentablemente, llevar esta teoría a la práctica es en muchas ocaciones poco factible, pues implica la adquisición de una gran cantidad y capacidad de equipamiento. Si bien la Universidad cuenta con redes de computadoras, no se puede hacer mucho si no se puede intervenir (además, la mayor parte de las unidades no cuentan con equipamiento mínimo). En este sentido, mucho del aprendizaje de los tópicos prácticos de redes (por ejemplo: los mencionados problemas de ruteo), el análisis de múltiples configuraciones y el desarrollo de nuevas estrategias que pudiesen concebirse producto de la curiosidad de un alumno o profesor, o con motivos de investigación, requieren muchas veces de herramientas informáticas que permitan simular el comportamiento de sistemas reales. Para el caso de las redes de computadoras, una de estas herramientas de simulación es el software ns-3.

ns-3 es un simulador de redes a eventos discretos, que fue concebido principalmente para uso educacional. Es un software libre diseñado bajo la licencia GNU GPLV2, y está publicamente disponible para investigación, desarrollo y uso. (http://www.nsnam.org/)

En nuestra Universidad, el desarrollo y la investigación en redes de computadoras es bastante pequeño, y existe un desconocimiento casi generalizado de este tipo de herramientas de simulación para redes. Sin embargo, en Internet existe una amplia comunidad de desarrollo y muchas Universidades prestigiosas a nivel mundial utilizan esta herramienta. Se ha generado una gran cantidad de documentación (por supuesto, la mayor parte en inglés). Este proyecto tiene como principal meta la concepción de un documento (tutorial), integrando teoría y ejemplos de aplicación, que permita dar al lector una comprensión rápida y práctica de la utilización del simulador ns-3, de forma de evitarle una búsqueda demasiado extensa, y que le permita abordar rapidamente los problemas asignados en las asignaturas (y proyectos en general) de una forma distinta y mucho más completa a la teórica convensional, ya que permitirá la visualización y el análisis rápido de factores difíciles de resolver en el cuaderno a gran escala (es decir, cuando se integran grandes redes con grandes tasas de transferencia).

Si bien ns-3 permite la simulación de modelos de estándares de diferentes capas, el documento a generar se centrará (y por motivos de simplificación de la búsqueda y para asegurar su calidad) en la expilcación de diversos protocolos de ruteo para redes alámbricas e inalámbricas (por ser uno de los tópicos con menos posibilidad de ejercitación práctica, y uno de los más complejos de desarrollar y analizar en el cuaderno). Se tomará como referencia los programas aplicados en las asignaturas dictadas para la carrera de Ingeniería Civil en Automatización: Redes de Computadores (ramo de malla) y Redes Inalámbricas Industriales (ramo electivo). Esto es sin pérdida de generalidad, ya que los ramos de redes de computadoras son similares en las diferentes carreras y facultades.

Se espera que este documento sea una guía amigable y útil que pueda ser compartida a la comunidad universitaria relacionada con la materia. Por supuesto, la experiencia generada será útil para la indagación futura en otros aspectos y capas protocolares de los modelos de redes.

Resultados obtenidos:

En el desarrollo de este proyecto se estudió y documentó la utilización del simulador ns-3, partiendo de los tópicos más elementales, arquitectura general, instalación, y otros. Se realizaron variados ejemplos para comprender su lógica de uso, los modelos implementados en la simulación de redes de diferente tipo y con diferentes protocolos de comunicación, traduciéndose en la generación de un documento tutorial que permite al lector la comprensión sencilla de su utilización. Como parte de este tutorial, se explica paso a paso algunos ejemplos básicos ya incorporados en la herramienta, y se guía al lector en el desarrollo de un protocolo de comunicación sencillo desde su concepción. Junto con el documento tutorial, como resultado de este trabajo se guió un trabajo de título de Ingeniero de Ejecución en Computación e Informática de nuestra casa de estudio, en el que se utilizó la herramienta ns-3 para la implementación y estudio de algoritmos de posicionamiento con redes inalámbricas multi-salto. Los desarrollos realizados servirán como base para el entrenamiento y otros estudiantes de pre y post-grado, la realización de nuevos trabajos de título y grado, y la realización de proyectos de investigación.

Tutorial

Sitio oficial del simulador ns-3

http://www.nsnam.org/

Last modified: Mar-15-2016