Nessi es una suite de herramientas de
simulación de red, dedicado a los aspectos de seguridad de red. Consta
de tres componentes distintos: la interfaz gráfica de usuario, el motor
de simulación y la base de datos de resultados. Cada uno de estos
módulos pueden ejecutarse en máquinas separadas, dependiendo de los
requisitos de hardware.
Interfaz gráfica del usuario.

La
interfaz gráfica de Nessi permite al usuario crear y editar topologías
de red, adjuntar información en tiempo de ejecución y programar la
ejecución en el motor de simulación. Por otra parte, las simulaciones
terminadas, pueden ser recuperados desde el servidor de base de datos
junto con los correspondientes resultados de la
simulación, para su
visualización en la interfaz gráfica de usuario.
Motor de
simulación.
La simulación real se lleva a cabo en la máquina con hardware dedicado
exclusivamente a este fin, el motor de simulación. Una vez que una
sesión se ejecutar por parte de la interfaz gráfica de usuario el
servidor de simulación: analiza los parámetros de la sesión (tipos de
eventos para iniciar sesión, numero de ejecuciones etc), crea un entorno
de simulación correspondiente, establece la conexión de base de datos y
los horarios de la
simulación para funcionar tan pronto como se
disponga de los recursos de procesamiento necesarios.
Utiliza un modelo ejecución paralela. Las simulaciones de redes a gran
escala son muy costosos en términos de tiempo de procesamiento y en
consumo de memoria. Por lo tanto, Nessi ha sido diseñado para realizar
simulación distribuida, lo que permite la subdivisión de tareas en
diferentes equipos y procesos en un modelo paralelo ejecución.
Simulación de eventos discretos . Nessi es una
herramienta de simulación
basada en eventos discretos, que permite planificar y programar
eventos, tales como fallas en la red, ataques, etc.
Servidor base de datos con los resultados de la simulaciones.
Se utiliza una base de datos distribuida donde se almacena el tráfico
generado durante una sesión. Para cada sesión, los agentes registran los
datos de detección y tráfico, y la envían a la base de datos que genera
un escenario simulado. Los tipos de datos que se registran son
especificados por el usuario en los parámetros de la sesión. El modelo
de red se guarda en un archivo XML, que se almacena y se anota con un
número de versión, basada en su código hash, con el fin de enlazar una
red única para cada sesión. Además, los eventos de ataque relacionados
pueden ser almacenados en la base de datos para fines de evaluación.
Esta herramienta ofrece un rico conjunto de protocolos básicos e
implementaciones de unidades de detección; sin embargo, las necesidades
especiales de los distintos campos de aplicación (redes inalámbricas,
redes de sensores, MPLS, etc.) requiere un API de plugins para permitir
al usuario adaptar Nessi a sus necesidades y agregar la funcionalidad
que no está previsto por Nessi. Por lo tanto, la API de extensión Nessi
permite la creación de:
- Nuevos tipos de dispositivos con propiedades definidas por el usuario
- Nuevos protocolos que definen el comportamiento de la red en tiempo de ejecución.
- Las definiciones de aplicación, lo que permite un comportamiento
dinámico, unido a un dispositivo o enlace, programadas para su ejecución
en la simulación.