PDF Full-Text

Anuncio
194
IEEE LATIN AMERICA TRANSACTIONS, VOL. 8, NO. 2, APRIL 2010
AINE: an IP Network Emulator
D . F. Piñas
Abstract— AINE is emulation software to build a laboratory
environment for real-time performance characterisation of
networks and systems, particularly satellite communication
systems. Although the AINE emulator was conceived with the
specific purpose of satellite networks emulation, it is a generic IP
emulation tool that can also emulate link layer algorithms. This
tool was developed due to the lack of COTS emulation tools
supporting the dynamic radio resource allocation schemes used
in DVB-RCS networks. The paper describes the main features
and development characteristics of the tool and presents results
for complex techniques assessed using the emulator.
Keywords— IP emulator, cross-layer, DVB-RCS networks.
L
I. INTRODUCCIÓN
AS NUEVAS aplicaciones y servicios de comunicaciones
que se despliegan hoy en día están utilizando cada vez
más el mismo protocolo, IP, en el nivel de red; sin importar el
tipo de comunicación: datos, voz o vídeo. Estos servicios y
aplicaciones, se desarrollan y prueban en redes fijas de alta
capacidad, con bajo retardo y muy pocos errores, pero se
despliegan también en redes inalámbricas, que presentan
errores por desvanecimiento de la señal radio e interferencias,
menor capacidad y mayores retardos de propagación en el
caso de los enlaces vía satélite.
La emulación es una técnica muy efectiva en costes para
reproducir de forma temprana, durante el desarrollo de los
servicios y las aplicaciones, los efectos en el nivel IP de los
problemas de los enlaces inalámbricos y así comprobar que las
aplicaciones y servicios en desarrollo se ejecutan de forma
óptima también en redes inalámbricas.
La simulación de redes es una técnica que permite observar
el comportamiento de una red de comunicaciones y los
servicios y aplicaciones que soporta bajo diferentes
condiciones en un entorno controlado [1]. Cuando la
simulación se ejecuta en tiempo real, utilizando equipos,
clientes y servidores reales, la técnica se denomina emulación
de red [2].
Las herramientas disponibles para realizar emulaciones de
redes IP se pueden clasificar en dos grupos [3]. Por una parte,
software libre y por ello completamente extensible, pero que
emula sólo funciones muy básicas, no está completamente
documentado y que la mayoría de las veces se distribuye con
licencias copyleft [4]. Por otra parte, productos propietarios
muy sofisticados, tanto hardware como software, pero
Los trabajos relacionados con el desarrollo de AINE para la evaluación de
las prestaciones de técnicas cross-layer han sido desarrollados bajo el contrato
ESA 19237/05/NL/AD bajo la responsabilidad de Indra Espacio y junto a la
Universitat Politècnica de Catalunya (UPC) y la Universitat Autònoma de
Barcelona (UAB).
D. F. Piñas, trabaja en Indra Espacio,S.A, Barcelona, España,
[email protected].
cerrados y limitados en cuanto a posibilidades de extensión y
redistribución, con un coste de licencia, pero mejor
documentados.
El emulador de redes IP AINE ha sido desarrollado por
Indra Espacio para dar respuesta a sus propias necesidades de
emulación de redes IP vía satélite con suficiente grado de
realismo, que no podían ser satisfechas con ninguna
herramienta de emulación disponible en el mercado, como
complemento y como parte de las actividades de Indra
Espacio en AmerHis [5], “Applications layer Quality of
Service for DVB-RCS systems” [6] (abreviado AppliQoS) e
“IP friendly cross-layer optimization of adaptive satellite
systems” [7] (abreviado xLayer), proyectos en los que era
necesario evaluar el funcionamiento de las aplicaciones de
Internet en redes vía satélite que usan el estándar DVB-RCS,
ya sean regenerativas o transparentes, incluyendo la
asignación dinámica de recursos radio (DAMA), los esquemas
DiffServ de calidad de servicio (QoS), DVB-S2 y técnicas de
adaptación
cross-layer.
Su
funcionalidad
ha
sido
significativamente realzada de forma independiente y en
paralelo a estos proyectos. Las siguientes secciones detallan
las características del emulador AINE, su utilización y los
resultados obtenidos en la evaluación de técnicas cross-layer.
II. ESTRUCTURA DE AINE
A. Características de AINE
AINE tiene las características siguientes:
• Soporte de DVB-RCS: como resultado de los
proyectos AppliQoS y xLayer, están disponibles
modelos de sistemas DVB-RCS listos para ser
utilizados. Destaca la capacidad de controlar las
políticas de asignación de recursos CRA / RBDC /
VBDC / FCA y de realizar medidas del
aprovechamiento de los recursos asignados para
cursar tráfico.
• Emulación de protocolos del nivel 2: aunque los
interfaces externos son IP sobre Ethernet, se
soporta la emulación explícita de protocolos de
nivel de enlace. El software modela la
encapsulación de los paquetes IP mediante
protocolos de redes DVB-RCS como MPE, ATM,
MPEG o GSE. El objetivo no es emular todos los
detalles de estos protocolos sino las cabeceras
añadidas y los efectos de la fragmentación o el
empaquetado.
• Modelado de enlaces: la biblioteca de emulación
incluye bloques para reproducir las deficiencias de
los enlaces de comunicación como el retardo de
propagación (determinista o aleatorio), ancho de
banda limitado y asimétrico, tasas de errores en
PIÑAS : TELECOM I+D05 - AINE: AN IP NETWORK EMULATOR
•
•
•
bits y de pérdidas de paquetes, priorización y
políticas de encolamiento para diferentes tipos de
tráfico, establecimiento de conexiones, etc.
Diseño modular y orientado a la emulación de
redes de paquetes genéricas: la herramienta ha sido
concebida como un emulador de redes de
conmutación de paquetes y ha sido aplicada a la
emulación en laboratorio de éstas, incluyendo el
modelado de los mecanismos de asignación de
recursos y de la variación de la carga de tráfico o
de la capacidad del sistema. Los modelos se
construyen conectando bloques elementales
disponibles en una librería, que modelan diferentes
efectos que se pueden aplicar a los paquetes, que
atraviesan la plataforma que ejecuta el software
AINE, en su paso de un interfaz Ethernet a otro. Se
pueden modelar redes diferentes utilizando
combinaciones de bloques interconectadas con
diferentes topologías y con diferentes parámetros
de configuración.
Extensible: la versión más avanzada de la
herramienta permite al usuario implementar nuevos
tipos de bloques si son necesarios para nuevos
escenarios de prueba, o para modelar protocolos y
sistemas nuevos en fase experimental.
Eficiencia: la librería de bloques de emulación está
programada en lenguaje C/C++, el modelo de red
se ejecuta sobre un sistema operativo basado en un
195
máquinas
diferentes.
Éstos
intercambiarían
paquetes IP por los interfaces LAN y todos se
podrían gestionar desde un único puesto de
monitorización y control (M&C) mediante una
LAN separada para gestión, conectada a los
interfaces Ethernet de control de cada plataforma
hardware, para evitar así interferencias con el
tráfico a inyectar al emulador
B. Elementos de AINE
Para simular o emular una red de comunicaciones primero
es preciso definir un modelo que imite las características
principales del sistema real. Las redes de comunicaciones de
paquetes se suelen modelar mediante un proceso estocástico
discreto [8]. El modelo de la red representa un flujo de
paquetes que se mueven a través de una serie de nodos que
pueden alterar las características del flujo de paquetes y
también la información de los paquetes, de un modo que imita
el funcionamiento de la red real. Además, el modelo debe
considerar el cálculo de estadísticas como la media, el
máximo, mínimo y la desviación típica en diferentes períodos
de tiempo de las magnitudes que interese medir, como los
tiempos de espera en cola, tamaños de colas, tasas de bytes y
paquetes por segundo en diferentes puntos del modelo, o el
tiempo de recorrido de un punto a otro del modelo.
El número de nodos y paquetes en el modelo debe limitarse
al mínimo necesario. Si el modelo es demasiado simple se
Figura 1. Concepto de emulación de red y arquitectura de AINE.
núcleo Linux 2.6 y la arquitectura de los bloques
ha sido pensada para maximizar las prestaciones.
El resultado global es una arquitectura muy
eficiente para manejar paquetes IP y para
comunicar los bloques de la librería entre si, que
permite la emulación de redes complejas.
• Arquitectura distribuida: en el caso de tener que
emular sistemas extremadamente complejos, cuyo
modelo no puede funcionar en tiempo real sobre
una única plataforma hardware, se puede dividir el
modelo en varios segmentos que se ejecutarían en
estarán perdiendo efectos importantes, pero si es demasiado
detallado y complejo se necesitará una gran capacidad de
cálculo y será difícil de manejar y comprender.
En AINE, el modelo de emulación de la red se construye
reuniendo una serie de bloques lógicos básicos y
especializados implementados en una biblioteca que
representan los nodos del modelo, que se define y utiliza
mediante tres herramientas complementarias. La biblioteca del
emulador también está dividida en tres partes:
• Captura y envío de tráfico: es la parte que gestiona
la transmisión de los paquetes IP entre la lógica del
196
emulador y los interfaces Ethernet de la plataforma
en la que se ejecuta.
• Librería de bloques: la implementación de los
diferentes bloques del emulador sigue un esquema
común. Los bloques procesan el tráfico de red
capturado, aplican el efecto correspondiente tras
recibir o enviar información adicional a otros
bloques para emular la red, actualizan las
estadísticas y reenvían el paquete al bloque
siguiente. La librería incluye bloques específicos
para redes vía satélite como los bloques agente y
controlador DAMA y otros bloques de uso común
para emular redes de paquetes como el bloque
cola-servidor.
• Gestor: esta parte maneja la ejecución de la
emulación y puede recibir comandos de arranque y
parada por parte del usuario. También permite
cambiar el nivel de las trazas que indican eventos
en los bloques durante la emulación y gestiona la
conexión entre el emulador y el interfaz gráfico
remoto de M&C (Client Manager). También
genera el informe XML al final de la emulación
con medidas estadísticas de los parámetros de
monitorización del modelo, que luego puede
convertirse a cualquier formato mediante un
procesador XSLT.
La primera herramienta complementaria, llamada Client
Manager, se utiliza para la M&C del modelo de emulación. Se
trata de un interfaz gráfico desarrollado en Java que permite
controlar la emulación de forma remota y recibir, visualizar y
almacenar en ficheros de texto los datos de monitorización
producidos durante la ejecución del emulador.
La segunda herramienta complementaria es un comando
generador de ejecutables, una herramienta que genera código
C/C++ y el makefile correspondiente, para producir un
modelo de emulación ejecutable a partir de un fichero XML
que especifica los bloques y la topología del modelo a generar.
La tercera herramienta complementaria es una aplicación
gráfica desarrollada en Java para diseñar los modelos de
emulación. Permite definir los bloques y la topología que
tendrá el modelo mediante la edición de un grafo dirigido en
el que los nodos son los bloques y las conexiones indican el
paso de paquetes de un bloque al siguiente. La herramienta
permite editar la configuración de cada bloque y genera el
fichero XML que describe el modelo y que utilizará el
generador de ejecutables para producir el modelo de
emulación.
El sistema operativo para ejecutar el software AINE puede
ser cualquiera que utilice un núcleo Linux reciente de la serie
2.6 y que esté configurado para operar el reloj de tiempo real
con un milisegundo de resolución.
Cada uno de los bloques de la librería del software AINE se
implementa como uno o más hilos, procesos ligeros, que
comparten información utilizando mecanismos de exclusión
mutua soportados por la librería NPTL, que cumple el
estándar POSIX.
Para capturar los paquetes IP de los interfaces Ethernet e
IEEE LATIN AMERICA TRANSACTIONS, VOL. 8, NO. 2, APRIL 2010
inyectarlos en el modelo de emulación se utiliza la librería
libpcap. Esta librería permite la utilización de los Berkeley
Packet Filters (BPF) para definir qué paquetes deben atravesar
la lógica del emulador (paquetes de tráfico) y cuales no deben
entrar al modelo (por ejemplo, sesiones seguras (SSH) de
M&C). La utilidad iptables permite evitar que los paquetes
que atraviesen el emulador sean enrutados también por el
núcleo Linux. Para enviar los paquetes de nuevo a la LAN
después de atravesar el emulador se utilizan sockets raw. Esto
permite utilizar el núcleo Linux para ejecutar el protocolo
ARP y obtener las direcciones MAC correspondientes a una
dirección IP de destino de un paquete a enviar. Todas las
librerías y herramientas utilizadas en el desarrollo de AINE
(e.g. el
compilador GNU de C/C++) se encuentran en las
distribuciones de GNU/Linux y son software libre. En la Fig.
1 se puede observar la arquitectura del emulador AINE.
III. UTILIZACIÓN DE AINE PARA EVALUAR TÉCNICAS CROSSLAYER
A. Escenario cross-layer
Los sistemas de comunicaciones vía satélite adaptativos
como el DVB-S2, pueden mantener la tasa de error de bit
(BER) constante y proporcionar la máxima capacidad
disponible de acuerdo a la relación señal a ruido (SNR)
medida por el receptor. El transmisor selecciona de forma
dinámica el esquema de modulación y codificación
(MODCOD) más apropiado, de acuerdo a la SNR reportada
por el receptor, para mantener la BER constante y transmitir a
la máxima tasa posible. Cuando las condiciones del canal son
buenas y la SNR reportada es elevada, el transmisor
selecciona un MODCOD eficiente capaz de proporcionar una
conexión de alta capacidad. Si la SNR se reduce debido a
cambios en las condiciones del canal (por ejemplo, debido a
un desvanecimiento por lluvia) el transmisor selecciona un
MODCOD más robusto que mantiene la tasa de error
constante aunque se reduce la capacidad de la conexión.
La introducción de la codificación y modulación adaptativa
(ACM) en los sistemas de comunicaciones inalámbricos y la
convergencia hacia IP genera nuevos retos en cuanto a la
gestión de los recursos radio para mantener la QoS y los
acuerdos de nivel de servicio (SLA).
El escenario de referencia utilizado para el estudio es una
red DVB-S2/RCS que proporciona acceso a Internet. En el
canal descendente (del hub a los terminales remotos) se utiliza
el estándar DVB-S2 mientras que en el enlace de retorno (de
los terminales al hub) se utiliza el estándar DVB-RCS.
AINE se utiliza para emular los efectos sobre el tráfico IP
de la red descrita, desde el momento en que el paquete IP
entra en el hardware del terminal RCST por su interfaz LAN,
hasta que abandona la red WAN (después de atravesar el hub),
y viceversa. Los equipos de usuario conectados al terminal y
los servidores en Internet (e.g. servidores web) no se emulan,
sino que se utilizan equipos, pilas de protocolos TCP/IP y
aplicaciones reales.
PIÑAS : TELECOM I+D05 - AINE: AN IP NETWORK EMULATOR
197
Figura 2. Interfaz gráfico para el diseño de un modelo AINE.
En el interior del modelo AINE, los paquetes IP se
encapsulan en paquetes de nivel 2 y se aplican los efectos de
la red emulada en dichos paquetes de forma independiente.
Luego se recuperan los paquetes IP de nuevo a partir de los
paquetes de nivel 2 emulados antes de abandonar la
plataforma en la que se ejecuta el modelo AINE.
El software AINE no implementa la capa física, sino que
modela sus efectos en el nivel de enlace de forma conveniente
aplicando retardos y pérdidas de paquetes o errores en bits en
los paquetes de nivel 2 emulados.
B. Encolamiento y calidad de servicio en el transmisor
DVB-S2
Suponiendo que para cada MODCOD hay dos tipos de
tráfico, de tiempo real, más prioritario y el resto, la aplicación
Figura 3. El retardo del tráfico de tiempo real (ms) se reduce al aplicar una política de servicio adaptativa.
198
IEEE LATIN AMERICA TRANSACTIONS, VOL. 8, NO. 2, APRIL 2010
de una política de servicio de prioridad estricta puede
estrangular los flujos que no son de tiempo real, y por otra
parte la asignación de unos pesos fijos a cada tipo de tráfico
no permite limitar el retardo del tráfico de tiempo real cuando
las condiciones del canal cambian y se reduce la capacidad
disponible. La idea básica de la política de servicio adaptativa
es limitar el aumento del retardo de los servicios de tiempo
real cuando las condiciones del canal empeoran, modificando
los pesos asignados a cada tipo de tráfico para limitar el ancho
de banda destinado a cursar tráfico que no es de tiempo real.
Luego, cuando se recuperan las condiciones normales, se
restablece la configuración original.
La Fig. 3 muestra medidas del tiempo de espera en cola en
milisegundos del tráfico de tiempo real en el modelo AINE de
un transmisor DVB-S2 para cada una de las cuatro zonas de
recepción establecidas en el modelo. La primera gráfica
muestra las medidas cuando la política de servicio no es
adaptativa y la de la derecha muestra la reducción del retardo
cuando los pesos de la política de servicio se adaptan para
limitar el retardo del tráfico de tiempo real.
En esta prueba, el tráfico total inyectado al modelo AINE
era constante y con una tasa de 17 Mbit/s y el aumento del
retardo observado se producía al emular la degradación del
canal debido a un desvanecimiento por lluvia, que provocaba
la utilización de MODCOD más robustos para cursar el tráfico
inyectado en el modelo.
IV. CONCLUSIONES
En este artículo hemos presentado el software AINE para la
emulación en tiempo real de redes y sistemas de
comunicaciones, especialmente de sistemas vía satélite, en un
entorno de laboratorio. La herramienta ha sido utilizada por
Indra Espacio en varios proyectos para emular redes DVBRCS y DVB-S2, y evaluar el impacto que nuevas técnicas y
algoritmos que podrían aplicarse a futuros estándares, tendrían
en las aplicaciones de Internet actuales. Aunque AINE se
concibió con el propósito específico de emular redes IP vía
satélite, es una herramienta que permite emular redes de
conmutación de paquetes genéricas y protocolos de nivel de
enlace. Los modelos se construyen conectando una serie de
bloques lógicos disdefine el camino que seguirán los paquetes
al atravesar el modelo y qué efectos se aplicarán. Además, la
herramienta es extenponibles en una librería hasta formar un
grafo dirigido que sible y permite al usuario definir nuevos
bloques para modelar nuevos efectos o algoritmos. Esta
aproximación proporciona una mayor flexibilidad para probar
nuevos protocolos que la utilización de cualquier otra
herramienta de emulación de redes disponible en el mercado.
El interfaz gráfico en Java permite definir y controlar el
modelo de forma remota a través de una red IP para recibir,
visualizar y almacenar los datos producidos durante la
emulación.
AGRADECIMIENTOS
El autor reconoce la contribución de C. Morlet a la versión
inglesa de este documento. Agradece a Luís Collantes (Indra,
España) el soporte para la presentación del artículo en el
congreso Telecom I+D 2009.
REFERENCIAS
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
Entrada en la Wikipedia sobre simulación de redes (Network
Simulation). Disponible en:
http://en.wikipedia.org/wiki/Network_simulation
Entrada en la Wikipedia sobre emulación de redes (Network
Emulation). Disponible en:
http://en.wikipedia.org/wiki/Network_emulation
Entrada antigua en la Wikipedia sobre emulación de redes en la que se
indicant
productos
propietarios.
Disponible
en:
http://en.wikipedia.org/w/index.php?title=Network_emulation&oldid=2
31540293
Entrada en la Wikipedia del término copyleft. Disponible en:
http://es.wikipedia.org/wiki/Copyleft
Información sobre el proyecto AmerHis. Disponible en la dirección:
http://telecom.esa.int/telecom/www/object/index.cfm?fobjectid=7923
Informe
final
del
proyecto
AppliQoS.
Disponible
en:
http://telecom.esa.int/telecom/www/object/idex.cfm?fobjectid=27802
Infome
final
del
proyecto
xLayer.
Disponible
en:
http://telecom.esa.int/telecom/www/object/idex.cfm?fobjectid=2770
R.E. Shannon, “Introduction to the art and sciencie of simulation,” in
Proc. Of the 30th conference on Winter simulation (WSC’98), 1989.
Disponible en:
http://www.informs-cs.org/wsc98papers/001.PDF
David Fernández Piñas nació en Barcelona, España, el
13 de noviembre de 1978. Se licenció en la Escuela
Técnica Superior de Ingeniería de Telecomunicación de
Barcelona, en la especialidad Comunicaciones, en 2001.
Ejerce profesionalmente en Indra Espacio en
Barcelona. Entre sus campos de interés está la simulación
y emulación de redes de comunicaciones basadas en
conmutación de paquetes, en particular vía satélite.
Descargar