Introducción

 

¿Qué es KivaNS? | Historia | Financiación | Personas | Publicaciones

¿Qué es KivaNS?

KivaNS (Kiva Network Simulator) es una aplicación gratuita y de códio abierto basada en Java para especificar esquemas de redes de datos y simular el encaminamiento de paquetes a través de esas redes. En contraste con la mayoría de simuladores gratuitos para redes que están pensados para evaluar parámetros de carga, rendimiento, etc., KivaNS está orientado principalmente a simular el comportamiento del protocolo IP, y especialmente el tratamiento de los datagramas y el encaminamiento de los mismos por una red. Para ello KivaNS también considera el funcionamiento de protocolos auxiliares como ARP e ICMP, y emula el funcionamiento básico de tecnologías de enlace como Ethernet.

El objetivo principal del entorno es ayudar a diseñar y comprender el funcionamiento de redes de datos, y en especial el encaminamiento de paquetes en la arquitectura TCP/IP, sin necesidad de una infraestructura real y de herramientas de análisis de tráfico. KivaNS también es capaz de simular distintos tipos de errores en el funcionamiento de las redes, como la pérdida de paquetes o fallos en tablas de encaminamiento.

KivaNS se compone de dos partes, enteramente implementadas con Java. La primera es una API (Application Programming Interface) que ofrece un motor de simulación de redes a otras aplicaciones, y la segunda es una completa interfaz gráfica que hace uso del API de simulación. Dado que todo el entorno esta realizado con Java, funciona en múltiples sistemas operativos, como pueden ser GNU/Linux o Microsoft Windows.


Partes de KivaNS

El API está formado por cuatro bloques: una gestión de eventos discretos, los objetos que representan las redes de datos, los objetos que representan los equipos (finales o de interconexión), y una pila de comunicaciones. Este API es modular y extensible, de forma que se puedan incorporar fácilmente nuevos tipos de redes y de equipos.


Bloques que componen el API

En la versión actual, la interfaz de usuario está implementada con un conjunto de clases que se deben descargar y ejecutar en el equipo del usuario. Esta interfaz permite especificar las topologías de redes de datos mediante un editor gráfico, configurar mediante diálogos el direccionamiento y encaminamiento en los equipos de la red, y acceder a las características que ofrece el API de simulación de una forma sencilla, sin necesidad de programar.

Kiva
Interfaz gráfico de KivaNS

El nombre "Kiva" viene de las antiguas tribus indias de América. Las kivas eran los lugares de culto de estas tribus en las que, guiadas por los chamanes, comunicaban con los espíritus mediante cánticos y ofrendas.

Historia

  • Versión 1.0. Primera versión pública, con la interfaz gráfica compilada y los fuentes del API de simulación disponibles. El API de esta versión permite simular el nivel de enlace ethernet, el nivel de red IP con su direccionamiento, ARP, y los mensajes ICMP más importanes. La interfaz gráfica permite representar más equipos y redes que los simulados, como son redes en anillo o lineas punto a punto.
  • Versión 1.1. Con esta versión también están disponibles los fuentes del enterono gráfico, además de propio entorno y de los fuentes del API. Además de corregir algunos fallos, se han incluido diversas mejoras:
    • Simulación de conmutadores ethernet, que reenvian las tramas sólo a su destino. Para ello un conmutador mantiene una tabla caché de direcciones MAC. Aunque aún no implementa Spaning-Tree, si se ha definido una cabecera para intercambiar cierta información entre conmutadores.
    • Mejora de la simulación del broadcast IP. Se permiten envios broadcast y broadcast a subredes.
    • Representación gráfica y configuración del conmutador ethernet. Conexiones directas entre el conmutador y los equipos PC, routers u otros conmutadores.
    • En el panel de información de conexión de un equipo se muestra las interfaces.
    • Se ha mejorado sustancialmente la lista de eventos de la traza de una simulación, mostrando más información (interfaces de entrada y salida) y un desplazamiento más práctico. Además se puede exportar la traza a un archivo CVS.
    • En la lista de eventos de la traza se han colocado opciones de filtrado, que son extensibles mediante programación.
    • En el entorno gráfico se puede espeficicar como destino una dirección IP no existente o una de broadcast.

Financiación

Parte de este proyecto ha sido financiado por la Convocatoria de Proyectos de Innovación Tecnológico-Educativa de 2006 del Vicerrectorado de Tecnología e Innovación Educativa de la Universidad de Alicante.

Personas

En el desarrollo de KivaNS han trabajado Teresa L. Fabuel, Antonio F. Zaragoza, José María Díaz, Oscar Ferrer y Francisco A. Candelas.

Publicaciones relacionadas

 

© Aurova 2010