• No results found

3.3 A Representational approach to modelling Firewire

3.3.2 NS-2 Firewire implementation

3.3.2.1 Tcl code

Como se ha indicado, por gestión de comportamiento basado en el sistema gestor, se entiende por aquellas arquitecturas de gestión en las que las decisiones sobre las modificaciones del comportamiento de los recursos de red se toman en dicho gestor central, mientras que los dispositivos de la red no evalúan condiciones ni toman decisiones, sino que se limitan a aplicar las directrices del gestor. Esto se corresponde con arquitecturas de gestión centralizadas, frente a otras arquitecturas donde la toma de decisiones se realiza de forma más distribuida.

El modelo organizacional que domina actualmente la gestión de red es el modelo centralizado, que encuentra su máximo exponente en Internet en el protocolo de gestión SNMP. En este modelo, los cambios de comportamiento son instrumentados desde el gestor central, bien de forma manual por los administradores de la red, bien de forma automática por el gestor central ante cambios en el entorno. Existen en el mercado varias aplicaciones de gestión de red de propósito general que no están destinadas a gestionar los equipos de ningún fabricante concreto, sino que permiten gestionar todo aquello que los equipos permitan mediante SNMP.

Estas son algunas de las características habituales de este tipo de comportamiento basado en el gestor:

• Grado de automatización bajo: en muchos casos este comportamiento es completamente manual, guiado por los administradores, y en otros casos el grado de automatización suele ser muy reducido.

• Complejidad de las automatizaciones baja: salvo algunas excepciones, suele ser un comportamiento bastante sencillo en lo relativo a las acciones principalmente, que además no tienen por qué afectar directamente a los objetos gestionados de la red. Así, en muchas ocasiones, este comportamiento puede limitarse a dar un aviso visual en el caso de que no se cumplan una serie de restricciones, o a utilizar otros servicios de red (SMTP, notificaciones SNMP, SMS, etc.).

• Implementación costosa: Por lo general las automatizaciones exigen desarrollos específicos, sobre el sistema gestor, no se utilizan lenguajes de definición del comportamiento. En muchos casos estará cableado en la herramienta gestora, es decir, forma parte de su código. Por tanto, podemos considerar que las políticas son implícitas, al no estar expresadas de forma explícita. En algunos casos estas herramientas permiten configurar ciertas opciones de este comportamiento mediante interfaces gráficas o mediante la edición de numerosos ficheros de configuración. En cualquier caso, este comportamiento está predefinido y expresado en un lenguaje ad-hoc, que no permite su modificación dinámica de forma remota.

Entre las funcionalidades típicas que implementan este tipo de plataformas de gestión de red se encuentran:

- Programación de monitorización periódica de variables de gestión

- Ejecución automática de scripts o generación de notificaciones ante ciertas condiciones de las variables de gestión

- Facilidades para el tratamiento conjunto de múltiples elementos de red - Facilidades para la integración con otros sistemas: bases de datos externas,

sistemas de gestión de servicios o de negocios, otras aplicaciones de gestión de red, etc.

- Gestión de diferentes perfiles y permisos de usuarios de gestión de red: operadores, administradores, superusuarios, etc.

3.1.3.1 Sistemas Expertos

Muchas de las limitaciones expuestas sobre la programación de comportamiento en el sistema gestor, se mejoran considerablemente en arquitecturas centralizadas mediante el uso de “sistemas expertos”, que se han ido incorporando a los gestores de red.

Definición

En [Kingston87] se ofrece la siguiente definición de un sistema experto:

“Un sistema experto puede ser definido como un sistema informático que realiza una tarea que realizaría un humano experto en un determinado campo del conocimiento. Hay que tener en cuenta los siguientes requisitos:

- Debe ser una herramienta basada en el conocimiento, es decir, el conocimiento debe estar explícitamente programado en el sistema - Debe haber cierta “inteligencia”, o búsqueda controlada, en el

método de inferencia utilizado

Los sistemas expertos pueden hacer uso bien de evidencia estadística, o del conocimiento de un humano experto, pero requieren de alguna de estas fuentes de información para conseguir sus objetivos.”

Por lo tanto, un sistema experto hay que programarlo para que pueda realizar correctamente el trabajo dinámico que haría un operador humano con conocimiento experto sobre la red, tomando las decisiones apropiadas en función de los datos y la información disponible.

En [Venkatasubramanian00] se mencionan los siguientes tipos de sistemas expertos: programas lógicos, basados en reglas, redes semánticas, basados en marcos (frame-based en inglés), basados en objetos, scripts, listas, y árboles de decisión. En dicho artículo se comenta sobre los más utilizados:

1. Reglas – Las reglas tienen la forma IF-THEN indicando una relación de antecedente-consecuente.

2. Objetos – Los objetos surgen del paradigma de la programación orientada a objetos. Sus principales características son la representación de relaciones, la herencia, y los enlaces en tiempo de ejecución (late binding en inglés). 3. Agentes: Los agentes se utilizan en computación distribuida. La diferencia

con otros tipos de programación es que los agentes son preactivos y sus procedimientos son independientes de las aplicaciones sobre las que operan 4. Sistemas híbridos: se utilizan para soslayar las desventajas de utilizar un

único tipo de representación, combinando más de un modelo. Normalmente se combinan reglas y objetos

En [Brown95] se indica que la mayoría de los sistemas expertos utilizados en la práctica están basados en reglas. Estos sistemas incluyen una base de datos conocimiento que consiste en un conjunto de reglas que representan el conocimiento de los expertos en determinados dominios de conocimiento. Estas reglas pueden estar representadas mediante

una combinación de operaciones matemáticas, lógicas, y heurísticas. Las reglas evaluarán una condición, y ejecutarán diferentes acciones en función del resultado obtenido. Estas reglas se llaman reglas de producción. Otros elementos del un sistema que se mencionan son:

- Motor de inferencia:

 Métodos generales de resolución de problemas o búsqudas  Analiza y procesa las reglas

 Determina el orden de ejecución de las reglas

- Bases de datos externas: contienen datos sobre el dominio de conocimiento en el que se está operando

- Interfaz de usuario: amigable, con conocimiento de cómo presentar la información y con las preferencias del usuario

La Fig. 3.1, obtenida de [Petrovic00], presenta la arquitectura genérica de un sistema experto basado en reglas.

Figura 3.1. Arquitectura básica de un sistema experto

Aplicación a la gestión de red

En [Kingston87] se mencionan entre otras las siguientes aplicaciones de un sistema experto:

- Diagnóstico: inferir problemas en un sistema a partir de lo observado

- Interpretación: inferir descripciones de situaciones a partir de datos obtenidos mediante sensores

- Predicción: inferir posibles consecuencias en determinadas situaciones - Diseño: configurar objetos bajo ciertas restricciones

- Planificación: diseñar acciones

- Monitorización: comparar observaciones para anticipar vulnerabilidades - Reparación: ejecutar un plan para administrar un remedio preestablecido

El Network Working Group del IETF indicó en su día que la resolución de problemas de red es un área interesante para el desarrollo de aplicaciones de inteligencia artificial y sistemas expertos [Johnson92]. Más recientemente, el Network Working Group cita entre las áreas de interés y recomendaciones sobre la investigación y evolución de Internet que se necesita más investigación para mejorar el grado de automatización conseguido por los sistemas de gestión de red, lo que puede requerir de la aplicación de la inteligencia artificial y los sistemas expertos a la resolución de problemas de gestión de red [Atkinson04]

Según [Pivetal06] los sistemas expertos pueden ser una herramienta apropiada para la gestión de red, por las siguientes características:

• Conocimiento del dominio de gestión:

Para configurar y operar sobre los dispositivos de red se requiere de conocimiento detallado. Para poder identificar las causas de un problema, y poder aportar una solución, es vital disponer del conocimiento de personal experto sobre la red. Este conocimiento puede ser capturado en los sistemas expertos por medio de reglas. • Centralización:

La centralización favorece que un mismo sistema experto pueda servir para gobernar una red, de forma que se puedan implementar fácilmente las decisiones sobre los elementos gestionados, uno a uno.

• Basado en eventos:

La gestión de dispositivos de red suele basarse en la recepción de eventos, lo que quiere decir que por ejemplo, la llegada de un mensaje de alarma puede servir como evento disparador de las reglas expertas de diagnóstico y resolución

• Funcionamiento ininterrumpido y en tiempo real:

Un sistema experto permite una automatización de las tareas de gestión de red que puede estar funcionando las 24 horas del día. Puesto que son tareas realizadas por computadores, el tiempo de respuesta es mucho menor que el tiempo de respuesta de los operadores humanos.

Una base de conocimiento experto bien programada, junto con conocimiento añadido de fuentes externas (bases de datos de inventario o de información de negocio), puede convertirse en una herramienta muy potente para lograr una gestión de red eficiente. El sistema puede llegar a realizar gran parte de las actividades humanas, con unos tiempos de respuesta muy inferiores. Para la programación de la base de conocimiento experto será necesario contar con el apoyo de personal experto en la gestión de la red, capaz de identificar problemas y de aportar soluciones a los mismos.

Ejemplos comerciales de este tipo de sistemas expertos son: TeMIP Expert de HP [HPTemip], Netcool/Impact de IBM [IBMImpact], cuyas características se detallan más adelante. Ambos están basados en una arquitectura de gestión centralizada, en la que la red se gobierna desde un sistema central, actúan ante la recepción de eventos de la red, cuando se cumplen las condiciones de las reglas programadas.