DESARROLLO DE UNA HERRAMIENTA PARA ANÁLISIS DE REDES F. D. Trujillo Aguilera, A. Díaz Estrella, E. Casilari y F. Sandoval Dpto. Tecnología Electrónica, E.T.S.I. Telecomunicación Universidad de Málaga, Campus de Teatinos, s/n, 29071 Málaga Correo electrónico: [email protected] futuro, de elementos de red completamente nuevos, los cuales se estén investigando en la actualidad. ABSTRACT Nowadays, it is necessary to dispose of powerful simulation tools with the aim of knowing the feasible network problems before implementing physically the simulated network. With this objective in mind, we present in this paper a graphic tool based on Visual C++ in order to perform a network node. This simulation tool is very powerful, flexible and easily expandable. Moreover, thanks to the graphic interface, the user obtains a better comprehension of the several performed simulations and of the problems can appear. 1. 2. INTEGRACIÓN DE FUNCIONES Es notorio que el primer elemento a integrar dentro de este simulador va a ser un potente generador de tráfico con un amplio rango de fuentes de tráfico a utilizar, las cuales den soporte a las tres componentes fundamentales de la comunicación (vídeo, voz y datos). Según esto, nos encontraremos con fuentes on-off (a ráfagas), fuentes MMPP (tráfico de voz), diversos modelos de tráfico de vídeo, tráfico ethernet (tráfico de datos), tráfico tipo poisson, tráfico fractal, etc. A continuación, y una vez generado el tráfico para la simulación, se debe garantizar una QoS para cada una de las conexiones establecidas, por lo que se precisa del desarrollo e integración de una serie de funciones de gestión y control de tráfico que prevengan posibles congestiones [2]. El primer control con el que se encuentra una conexión es el control de conexión (CAC, Connection Admission Control) [2], cuya función es determinar si dicha conexión se acepta o se rechaza. Para ello debe comprobar si la red dispone de los recursos necesarios y suficientes, de uno a otro extremo, para ofrecer la QoS demandada de forma satisfactoria y que, además, no se deteriore la QoS de las conexiones previamente establecidas. Si así no fuera, se rechazará la llamada. Una vez que el CAC ha decidido aceptar una conexión, se ha de monitorizar y vigilar el tráfico de dicha conexión con el objeto de comprobar si este tráfico está conforme con los parámetros negociados por el usuario al comienzo de la conexión y, de esta forma, proteger a la red de una excesiva ocupación de recursos por parte de un usuario. Este hecho, producido de una forma intencionada o involuntaria, origina un empeoramiento de la QoS de otros usuarios, ya que se puede ocasionar la saturación y desbordamiento de las colas utilizadas por dicha conexión, causando la degradación de otras conexiones que comparten las mismas colas. Para realizar esta función, se establece la necesidad de un control de vigilancia (UPC, Usage Parameter Control) [2]. Coexistiendo con el control de vigilancia se encuentra la conformación de tráfico [2], cuya finalidad es la de intentar regular cada conexión a fin de modelar el flujo de tráfico de dicha conexión para modificar su comportamiento y ajustarlo cuando sea necesario (fuente ilegal) a un patrón más estricto, retardando para ello las células que se consideren oportunas. Como quiera que todas las fuentes conectadas a un nodo se multiplexarán en una cola de salida hacia el enlace MTA, será necesario controlar en todo momento el estado de dicha cola de salida para evitar, en la medida de lo posible, desbordamientos que afecten negativamente a los usuarios; es decir, habrá que minimizar la pérdida de células de información, y para ello el bloque de estimación de pérdidas, a partir de la observación del estado de dicha cola, actuará sobre algunos de los controles precedentes al objeto de conseguir dicho objetivo. INTRODUCCIÓN Debido a la gran demanda que existe en la actualidad de servicios multimedia de telecomunicación (voz, vídeo y datos), el usuario necesitaría disponer, en principio, de un gran número de redes de comunicación que sirvan de soporte a dichos servicios. Considerando este problema, surge la idea de emplear una única infraestructura que integre todos estos servicios y que, además, sea lo suficientemente flexible y rápida para poder albergar los venideros. De esta forma nació la Red Digital de Servicios Integrados de Banda Ancha (RDSI-BA), asentada sobre el Modo de Transferencia Asíncrono (MTA) [1], aprobado por la ITU-TS, con el fin de satisfacer las demandas de velocidades elevadas, ofrecer una determinada calidad en el servicio solicitado (QoS, Quality of Service) y permitir un aprovechamiento máximo de los recursos disponibles en la red mediante la multiplexación estadística. Todas estas características tan provechosas del MTA tienen como contrapartida la dificultad en la implementación de los elementos encargados del control de los recursos de la red. Con el objeto de facilitar dicha tarea, es aconsejable utilizar técnicas de simulación. En este artículo se presenta una herramienta de simulación que sirva de campo de pruebas para los estudios que se realicen en torno a una red MTA. Como característica principal de la herramienta destaca su carácter gráfico, que permite ilustrar el funcionamiento que presenta este tipo de redes además de conseguir que sea de un fácil manejo para el usuario. Por simplificación se centra en un solo nodo de la red, aunque es posible su futura expansión si así se requiriera. El simulador desarrollado se concentra en los elementos de red encargados de la gestión adecuada de los recursos y del control de tráfico, ya que son las cuestiones que mayor número de dificultades ofrecen en la actualidad. Por lo tanto, en esta herramienta se integran todas las funciones necesarias para desempeñar la funcionalidad de un nodo de red (generador de tráfico, control de conexión, control de vigilancia, encaminamiento, conformación de tráfico, estimación de pérdidas, renegociación dinámica, etc.). Una característica muy importante de la herramienta desarrollada es la posibilidad de expansión que presenta debido a su modularidad; por lo que es posible la introducción, en un 1 URSI 2002 de cada simulación las variables y los modelos con los que se pretende realizar dicha simulación. Asimismo, se definen los interfaces de interacción entre los distintos controles y se dota al simulador de un manual de usuario donde se explica detalladamente todo lo concerniente a dicho simulador. De este modo, la relación entre los distintos módulos que configuran el simulador es la que se presenta en la figura 2. Una vez que dichas células han alcanzado la cola de salida del nodo, se procederá a su encaminamiento hacia el nodo de destino, y para ello habrá que elegir la ruta que mejor garantice la QoS y optimice el uso de la red, por lo que se deberá tener información precisa del estado de cada uno de los enlaces y nodos intermedios entre el origen y el destino. Según todo lo descrito anteriormente, un esquema del modelo de nodo de red que servirá como escenario de simulación es el que se muestra en la figura 1. Uusario Fuentes Entorno gráfico Multiplexor Cola de salida . . . CAC Conf. Gener. CAC Conf. Enlace ATM UPC UPC Cola Estim. Simulador SMS Figura 2. Relación entre módulos 4. CONCLUSIONES. FUTURAS LÍNEAS DE TRABAJO Estimación pérdidas La conclusión esencial de este trabajo es el desarrollo de una herramienta de simulación potente, versátil, modular, bien estructurada, documentada y fácilmente ampliable con la que se pretende disponer de una mayor facilidad y comodidad a la hora de realizar estudios sobre comportamientos en redes ante variabilidad de tráfico y diversas contingencias (intencionadas o no) que pudieran acaecer en los distintos controles de tráfico. No obstante, se debe señalar que aunque el trabajo se ha extendido a la realización de un solo nodo de red, se pretende ampliar a varios nodos con objeto de tener una red en la que poder realizar una mayor variedad de simulaciones en cantidad y calidad. Del mismo modo, pensando en investigaciones futuras, es posible agregar nuevos controles de tráfico y nuevos algoritmos en los controles de tráfico ya desarrollados. Por último, se contempla la posibilidad de expandir el modelo realizado a tráfico IP, permaneciendo en las capas inferiores la tecnología MTA ya implementada. Figura 1. Modelo de nodo 3. SIMULADOR DE NODO Todos los controles definidos en el apartado anterior, así como los que puedan desarrollarse en un futuro, van a estar soportados por un simulador de libre distribución, el cual nos proporciona las funciones mínimas y necesarias para llevar a cabo el desarrollo de la herramienta que se propone. Dicho simulador corresponde a las siglas SMS (Simulation Modeling Support for Discrete Event Simulation) [3] [4] y ha sido escrito en lenguaje C++. Como se ha citado, la idea que se persigue es la de poder verificar mediante simulación los estudios realizados sobre controles de tráfico. De esta forma, y gracias a la simulación, se evita la construcción de un prototipo real, con la dificultad que esto supone, amén de tener una idea bastante cercana a la realidad de las necesidades a la hora de implementar físicamente un nodo. La ventaja que ofrece la técnica de la simulación es la de poder construir un modelo simplificado de la realidad, consiguiéndose una evidente simplificación. Asimismo, se consigue una mayor rapidez y el hecho de poder centrar el estudio en la parte que más nos interese. Eso sí, habrá que ser comedido en la simplificación, ya que se puede llegar a un alejamiento de la realidad, con la consiguiente pérdida de validez en los resultados obtenidos. Se dota a la herramienta de simulación de un interfaz con carácter gráfico que hará las veces de módulo de comunicación con el usuario del programa y que logra un uso más sencillo de dicho simulador y ofrece al usuario un entorno amigable y de fácil manejo. La realización de la herramienta en cuestión se lleva a cabo sobre Windows de Microsoft, debido a su carácter gráfico para poder visualizar y comprender mejor el modelo de red a simular. El lenguaje de programación sobre el que se monta la aplicación es Visual C++ [5] puesto que soporta lenguaje orientado a objetos. En la herramienta realizada se incluyen un gran número de algoritmos ya desarrollados para cada uno de los controles anteriormente expuestos, por lo que es indispensable disponer de un fichero de configuración donde el usuario defina al comienzo 5. AGRADECIMIENTOS Este proyecto ha sido parcialmente financiado por la Comisión Interministerial de Ciencia y Tecnología (CICYT), proyecto núm. TEL99-0755. 6. REFERENCIAS [1] ITU-TS, Recommendation I.371-Traffic control and congestion control in B-ISDN, Génova, 1996. [2] Prycker, M., Asynchronous transfer mode. Solution for broadband ISDN, 3ª ed., Prentice Hall International, Estados Unidos, 1995. [3] Bolier D. y Eliens, A., “Simulation Modeling Support for Discrete Event Simulation in C++”, Department of Mathematics and Computer Sciencie, Vrije Universiteit, Amsterdam (Holanda), octubre 1995. [4] Fishman, G., Conceptos y métodos en la simulación digital de eventos discretos. Limusa, México, 1978. [5] Gregory, K., Microsoft Visual C++ 6. Prentice Hall, España, 1999. 2 URSI 2002