JAIIO2008.pdf

Anuncio
Análisis y optimización de un algoritmo de
encaminamiento para redes inalámbricas de sensores
inteligentes.
Enrique Giandoménico1, Roberto Martínez1, Javier Belmonte1, Rosa Corti1, Estela
D’Agostino1
1
Facultad de Cs. Exactas, Ingeniería y Agrimensura (FCEIA), Universidad Nacional de
Rosario (UNR)
Av. Pellegrini 250
2000 Rosario , Argentina
{giandome, romamar, belmonte, rcorti,estelad} @fceia.unr.edu.ar
Resumen. Las redes inalámbricas de sensores inteligentes (RISI) son un tipo de
redes Ad_Hoc. Nacieron gracias al avance extraordinario de la nanotecnología
que permitió lograr costos adecuados, tamaño reducido, bajo consumo de
potencia y procesamiento limitado. Estas redes carecen de infraestructura y
están sometidas a fuertes restricciones de energía y de ancho de banda. Están
compuestas por nodos sensores que colectan información del entorno y
colaboran entre sí para transmitirla hasta la/las estaciones base (sink). En este
trabajo se analiza y simula un algoritmo de encaminamiento tolerante a fallos
en sus nodos y se proponen modificaciones para optimizar sus prestaciones.
Palabras Clave: redes Ad-Hoc, redes sensores inalámbricas, encaminamiento,
simulación
1
Introducción
Las redes inalámbricas de sensores inteligentes (RISI) son un tipo de redes Ad_Hoc.
Están compuestas de nodos, llamados nodos sensores, que pueden ser fijos o móviles,
y que constituyen una red autoconfigurable sin la ayuda de ninguna infraestructura
externa [1] Los nodos colaboran entre si para diseminar la información[2].
Estas redes se usan en aplicaciones muy variadas, entre las que podemos nombrar,
supervisión ambiental, seguimiento de objetivos o alerta de situaciones críticas.
Un algoritmo de encaminamiento determina el camino de un mensaje desde una fuente a un destino. Esta ruta debe responder a un objetivo planeado, como ser máximo
tiempo de vida de la red, mínima tardanza en la entrega del mensaje, , mínima sobrecarga de la red, etc. Toda técnica de encaminamiento propuesta para trabajar en una
red RISI debe ser eficiente en cuanto al gasto de energía, ya que generalmente los nodos sensores están alimentados a baterías y habitualmente se encuentran en lugares
donde es difícil su reposición [3] [4]. La energía es utilizada por los nodos en tres
funciones principales: sensado, procesamiento y comunicación. Se ha establecido que
la transmisión consume la mayor parte de la energía disponible, así que se intenta minimizar la tarea de diseminación realizando todo el procesamiento local posible [5].
En este sentido se han desarrollado técnicas de agregación de datos que permiten un
procesamiento distribuido en la red.
La eficiencia y aplicabilidad de estas técnicas, dependen del problema a abordar, por
lo que deben ser cuidadosamente elegidas y posiblemente adaptadas, teniendo
siempre en cuenta el dominio de trabajo [6]. Por lo tanto, en la definición de un
algoritmo de encaminamiento existen muchas condiciones que es necesario tener en
cuenta. Entre ellas se puede mencionar: distribución de los nodos, heterogeneidad de
los mismos, tolerancia a fallas, escalabilidad de la red, topologías cambiantes, medio
de transmisión, conectividad, área de cobertura, agregación de datos y calidad de
servicio, como se detalla en [2].
Un algoritmo de encaminamiento multisalto para dichas redes, que selecciona como
ruta óptima, la de mínima cantidad de saltos, fue desarrollado por el Grupo de Trabajo
de Redes Inalámbricas de Sensores Inteligentes (GRISI), perteneciente a la
FCEIA/UNR. [7] [8]. En este algoritmo, se contempla que los nodos están sujetos a
fallos por lo que la topología de la red es cambiante. Cuando esto ocurre, los nodos
remanentes adaptan su comportamiento, encontrando rutas alternativas al Sink.
Un nodo sensor está habitualmente constituido de 4 componentes básicos: [9]
• Módulo de sensado y adecuación de
señal
• Modulo de potencia
• Módulo de procesamiento de datos
• Módulo de transmisión y recepción
Los procesos de simulación, resultan una herramienta de calidad para el análisis y
optimización de los algoritmos de encaminamientos. A partir de un simulador [10]
desarrollado por el GRISI, se analizan el algoritmo propuesto y se proponen
alternativas de mejoramiento.
El artículo está organizado de la siguiente forma: la sección 2 describe el algoritmo de
análisis, en la sección 3 se desarrolla el proceso de simulación a que es sometido el
algoritmo. En base a los resultados obtenidos, en la sección 4 se proponen
modificaciones y en la sección 5 se exponen las conclusiones y líneas futuras de
trabajo.
2
Algoritmo propuesto
El objetivo es lograr que un nodo cualquiera de la red pueda comunicar determinada
información, que él posee, a un nodo especial perteneciente a la misma red llamado
nodo sink. Contará para ello con la colaboración de los otros nodos que integran la
red.
La eficiencia del algoritmo puede calcularse utilizando diversas métricas, como ser,
cantidad de mensajes enviados, energía consumida, o tiempo promedio de demora en
la llegada de los mensajes.
La red donde se aplicara el algoritmo tiene las siguientes características:
1. Red jerárquica de dos niveles.
2. Solo existirá un nodo (llamado Nodo Sink) al cual deberán llegar los mensajes que
los otros nodos emitan.
3. Existirán además un número finito de nodos (Nodos) los cuales serán homogéneos
en hardware y energía inicial.
4. Los nodos podrán dejar de funcionar, permanente o transitoriamente, sin que ello
afecte al buen desempeño de la red.
5. Cada nodo se comunica con aquellos que geográficamente estén posicionados dentro de un círculo con centro en dicho nodo y radio igual al alcance del nodo.
Cada nodo tendrá registrado cual es el vecino, dentro de su área de acción, al que debe enviarle los mensajes para que estos lleguen al nodo Sink. Dicho dato se conocerá
como RutaAlSink Luego se explicará como cada nodo obtiene dicha información.
Cuando un nodo desea, entonces, enviar un mensaje al Sink lo emite indicando que el
nodo destino es RutaAlSink y almacenará dicho mensaje en una cola de mensajes
esperando respuesta (CMER)
Todos los nodos en el radio de acción del emisor recibirán el mensaje enviado y solo
aquel que se identifique con el numero indicado como nodo destino reaccionará. Su
reacción consiste en retrasmitir, a su vez, el mensaje indicando como nodo destino el
que él tiene como RutaAlSink y almacenará en su propia CMER el mensaje retransmitido.
Así sucederá repetidamente hasta que el mensaje original llegue al nodo SINK.
El nodo sink tiene un comportamiento diferente al resto y en caso de recibir un mensaje, simplemente lo devolverá calificándolo como tipo Respuesta. Cada nodo, al recibir el mensaje tipo Respuesta, elimina de su CMER el elemento coincidente y retransmite hacia quien corresponda un nuevo mensaje tipo Respuesta
Terminado este ciclo todas las ‘colas de mensajes esperando respuesta’ se vacían y el
nodo, que recibió el mensaje tipo R, correspondiente a su D inicial, tiene la confirmación que el nodo Sink lo ha recibido pues este es el único nodo que puede generar un
mensaje tipo Respuesta.
Si transcurrido un tiempo prudencial, desde su emisión, un mensaje permanece en la
cola CMER es porque en la red existe algún problema.
El tiempo de expiración (Tex), fijado en forma paramétrica, es el lapso durante el
cual un mensaje puede existir en las CMER de un nodo sin que se considere existen
inconvenientes. Superado este tiempo se deberá intentar solucionar dichos inconvenientes
Se establecen las siguientes pautas para cada nodo integrante de la red:
1. Periódicamente revisará su CMER en búsqueda de mensajes expirados.
2. Si existen, enviará a todos los nodos que le escuchan un mensaje tipo V a los efectos de conocer cual es su estado.
3. Todo nodo que recibe un mensaje tipo V contesta con un mensaje tipo B, si y solo
si, considera que su RAS se encuentra despejada. Como solo es posible tomar decisiones una vez arribados todos los mensajes tipo B, el nodo que emite un mensaje
tipo V inicia un periodo de espera.
4. A medida que llegan los mensajes tipo B, el nodo receptor realiza dos tareas:
i.Si el nodo que es su actual RAS ha respondido con un mensaje tipo B, establece
una marca “RAS ha contestado”.
ii.De entre los otros nodos que han enviado mensajes tipo B identifica aquel que
tiene el mínimo nivel, reteniendo su ID y su nivel.
5. Terminado el periodo de espera después de emitir el mensaje tipo V el nodo analiza la situación y actúa de la siguiente manera:
i.Si esta presente la marca “RAS ha contestado”, no es necesario hacer nada.
ii.Si la marca no está presente, se adopta como nueva RAS el ID identificado en el
punto b del ítem anterior y se fija como nivel del nodo al nivel identificado más
1. Además, se recorre la CMER y se retransmiten todos los mensajes que allí se
encuentran al nuevo nodo identificado como RAS, y se deja indicado en la cola
que dichos mensajes han sido enviados al nuevo nodo en un nuevo tiempo. También se debe avisar, a todos los nodos que esperan respuesta de los mensajes que
estaban en la CMER y fueron retransmitidos, un mensaje tipo T para que ellos a
su vez actualicen los tiempos de sus propias CMER.
En la Fig. 2 se muestra un esquema de las actividades del nodo descriptas.
Td-v
Tv-d
Si no está “RutaAlSink ha
- Revisa su CMER
contestado”:
- Envía mensajes tipo V
- Procesa respuestas tipo B - Retransm. mensajes
expirados
- Actualiza CMER
Envía mensaje tipo T
Rinicia ciclo
Fig. 2. Actividades de un nodo a lo largo del tiempo
Utilizando el simulador referido oportunamente, se realizan las pruebas que se desarrollan en las siguientes secciones.
3
Simulación del algoritmo
El proceso de simulación se desarrolló definiendo los siguientes parámetros:
Tex: Tiempo de Expiración. Si un mensaje no recibe respuesta antes de este tiempo se
lo considera expirado y por lo tanto se asume que existen problemas en la red.
Td-v: Tiempo entre ciclo D y V. Es el tiempo que el nodo espera, luego de enviados
los mensajes tipo V, para asegurar la llegada de todos los mensajes tipo B que le
hayan sido enviados antes de iniciar el análisis de la situación.
Tv-d: Tiempo entre ciclo V y D. Es el tiempo que el nodo espera, luego de realizado
el análisis de la situación para iniciar un nuevo análisis de la CMER en búsqueda de
mensajes expirados.
Tip: Tiempo Demora Inicio Proceso. Para representar el hecho que cuando un nodo
emite un mensaje a todos los que lo escuchan, los nodos receptores iniciaran el procesamiento del mismo asincrónicamente, se ha establecido que cada nodo, antes de
procesar un mensaje recibido, espere un tiempo que, al azar, se establece entre un mínimo de 0 y un máximo de Tip.
Te: Tiempo entre eventos.
Mob: Máxima Ocupación de un Buffer: Como la cadencia de llegada de mensajes a
un nodo es diferente de la cadencia de proceso de los mismos, se requiere de la existencia de un buffer que independice ambos procesos. Como coexisten mensajes de datos (D y R) y de control (V, B, T) cada nodo dispondrá de dos buffer. Uno menos
prioritario para almacenar los mensajes de datos y el otro, más prioritario para los
mensajes de control. La variable Mob representa el máximo de mensajes de datos almacenados en un momento determinado entre la totalidad de los nodos.
Moc: Representa el máximo de mensajes de datos almacenados en una cola tipo D, en
un momento determinado, entre la totalidad de los nodos.
Ns: numera secuencialmente las distintas simulaciones realizadas.
Se modeló una red de 25 nodos, con una topología tipo malla. Se generó una simulación de 999 mensajes (salvo un nodo todos emiten 40 mensajes) distribuidos en forma
aleatoria, en cuanto al nodo que lo emite, pero todos distanciados en el tiempo en un
valor fijo.
3.1
Simulaciones Primer Caso (sin nodos fuera de servicio)
En esta primera simulación se anularon los ciclos D y V de forma tal que no se emitieron mensajes tipo V, B, T. Es decir, el algoritmo no chequea la posibilidad de inconvenientes en la red que impidan a un mensaje alcanzar al nodo sink. Por lo tanto
todos los mensajes reciben su respuesta. La cantidad total de mensajes emitidos fue de
5914. Esto es debido a que la comunicación es multisalto y no directa al sink. .
Se realizaron a continuación distintos procesos variando la frecuencia con la que se
producen los eventos.
En el primer caso transcurren 60 milisegundos entre cada evento (Te) y se procesan
1000 eventos distribuidos a razón de 40 eventos por nodo. Se realizaron tres corridas
cuyos resultados se muestran en la Tabla 1. En las tres pruebas, la cantidad de mensajes emitidos fue de 5914, el total de mensajes recibidos de 6913 y los mensajes arribados al nodo sink fue de 999. El parámetro T-96% indica el tiempo requerido para el
arribo del 96 % de los mensajes, en forma análoga, pero para el 100 % lo indica el parámetro T-100%
Tabla 1 . Resultados obtenidos del simulador
Ns
1
2
3
Te
[ms]
60
300
600
Tip
[ms]
20
20
20
T-96%
[ms]
50
50
50
T-100%
[ms]
100
50
50
Mob
Moc
2
1
1
2
1
1
El tiempo entre mensajes no afecta significativamente la demora promedio de llegada
al nodo sink y la utilización máxima, de los buffers y colas, tipo D, si la red no llega a
saturarse. el primer caso se acerca a dicha situación y los valores comienzan a aumentar.
Modificando el parámetro Te, aproximadamente el 60% de los mensajes llega con un
tiempo de respuesta entre 0 y 15 ms, el 97% con tiempo de respuesta entre 15 y 31 y
solo para el caso con 60 ms entre eventos hay unos pocos mensajes que tienen un
tiempo de respuesta mayor a 60 ms.
Los valores obtenidos para tiempos entre eventos superiores a 300 ms no varían significativamente pero a medida que nos acercamos a la saturación de la red, por una alta
tasa de mensajes procesados, los valores se reducen. Es decir, los mensajes llegan con
más demora y es necesario admitir un tiempo de respuesta mayor para que se produzca la llegada de todos los mensajes.
3.2
Simulaciones Segundo Caso (con nodos fuera de servicio)
Para analizar el comportamiento de la red habilitando la posibilidad que los nodos
puedan quedar fuera de servicio se trabajó con la misma simulación definida anteriormente pero con estas modificaciones
a) Los nodos 1, 9, 16 y 4 saldrán fuera de servicio luego de que la red haya
generado aproximadamente 150, 300, 450 y 600 mensajes respectivamente.
b) A partir del momento que un nodo queda fuera de servicio deja de emitir
mensajes. Por lo tanto ahora la cantidad total de mensajes emitidos serán 898
pues el nodo 1 solo emite 12, el 4 solo 22, el 9 solo 3 y el 16 solo 21
Se realizaron dos grupos de corridas del simulador, cada uno con un valor diferente en
el tiempo entre eventos (300 ms y 600 ms) En cada grupo se realizaron cinco corridas
variando los parámetros significativos de la simulación según lo indicado en la Tabla
2.
La demora promedio de los mensajes para alcanzar al nodo SINK, así como la cantidad de mensajes duplicados que arriban al mismo es creciente a medida que aumentan los valores de los parámetros y decreciente a medida que crece el tiempo entre
eventos.
Tabla 2. Resultados obtenidos de la simulación para el Caso II
Ns
Td-v
[ms]
Te = 300 ms
1
1000
2
2000
3
2000
Te =600 ms
4
1000
5
2000
6
2000
Tv-d
[ms]
Tex
[ms]
T-100%
[ms]
Msj.arribados
al sink
Mensajes
emitidos
Mensajes
recibidos
Mob
1500
2000
8500
2000
3700
10000
12300
16400
50050
904
903
908
7000
6925
7085
7866
7782
7917
5
6
7
1500
2000
8500
2000
3700
10000
9500
11800
45650
903
908
906
6962
7055
7017
7831
7915
7875
3
5
5
El total de mensajes emitidos y recibidos es poco sensible a la variación de los parámetros y frente a los 5.914 mensajes que eran necesarios, mientras todos los nodos se
mantenían activos, el promedio aproximado de 7.000 indica una sobrecarga de 1086
mensajes. Como fueron 4 los nodos que se sacaron fuera de servicio se podrían estimar en 270 mensajes la sobrecarga por cada nodo que deja de funcionar.
4
4.1
Modificaciones al algoritmo
Eliminación de los mensajes tipo T
Observando el comportamiento de la red es evidente que la funcionalidad de los mensajes tipo T, que intentan actualizar el registro del tiempo que tienen los mensajes tipo
D es muy baja. En general cada nodo revisa su cola antes que llegue el mensaje tipo
T. Se realizan nuevamente las simulaciones, pero ahora eliminando la generación de
mensajes tipo T. La tabla 3 muestra las diferencias obtenidas. Los valores mostrados
son las diferencias obtenidas que resultan despreciables.
Tabla 3. Diferencias encontradas entre el algoritmo en donde los nodos emiten mensajes tipo T y aquel en donde no lo hacen.
Ns
T-100%
[ms]
Te = 300 ms
1
-0,024
2
0,220
3
0,127
Te = 600 ms
4
-0,242
5
0,4700
6
0,049
4.2
Msj.arribados
al sink
Mensajes
emitidos
Mensajes
recibidos
Mob
0,001
0,003
0,006
-0,007
0,002
0,003
-0,006
0,002
0,001
-0,4
-0,167
0,429
-0,002
-0,004
0,001
-0,005
-0,017
-0,008
-0,004
-0,014
-0,008
-0,333
-0,400
0,500
El SINK es quien asume la responsabilidad de detectar inconvenientes.
El algoritmo planteado hasta ahora busca rutas alternativas, cuando las RAS establecidas inicialmente, no están disponibles. Para ello implementa el concepto de tiempo
de expiración de mensajes. Cuando existan mensajes expirados en la cola CMER el
nodo intenta encontrar una RAS alternativa. Una forma distinta de dar solución a este
problema es hacer que el nodo Sink restablezca la estructura de la red periódicamente
realizando el mismo proceso que al inicio. Esta forma de trabajo implica un control
centralizado desde la estación base.
Si como resultado de dicho proceso algún nodo cambia su RAS se reenvían todos los
mensajes que se encuentren en su cola CMER según su nueva ruta. El proceso implementado en el primer algoritmo es más complejo en sí mismo pero tiene la ventaja
que solo se dispara cuando efectivamente hay inconvenientes en la red. Este segundo
algoritmo dispara el proceso con determinada frecuencia independientemente de si la
red presenta inconvenientes o no. Por lo tanto cuanto mayor sea la frecuencia de inconvenientes en la red más ventajas tendrá el segundo algoritmo. Como la reestructuración es un proceso de ajustes sucesivos, es conveniente una vez iniciada la misma,
esperar cierto tiempo para que el proceso se estabilice y recién entonces cada nodo
verifica si su RAS ha cambiado y, en ese caso, retransmite todos los mensajes que
aún permanecen en su cola CMER. La Fig. 2 muestra la secuencia de sucesos propuestos.
TRE
TRM
NODO SINK
Lanza proceso para
establecer la RutaAlSink
de cada nodo
CADA NODO
Si cambió su RutaAlSink,
retransmite los mensajes
que están en su CMER
Rinicia ciclo
Fig. 2. Secuencia de sucesos propuestos.
La Tabla 4, muestra los resultados obtenidos al simular la emisión de la misma secuencia de mensajes del caso anterior, y sobre la misma configuración de red pero
ahora utilizando este nuevo algoritmo.
Se fijaron como valores de prueba:
TRE = Td-v + Tv-d + Tex ; TRM = TRE / 3
Tabla 4. Resultados de la simulación del algoritmo B
Ns
Td-v
[ms]
Te = 300 ms
1
2000
2
2000
3
2000
Te = 600 ms
4
2000
5
2000
6
2000
5
Tv-d
[ms]
Tex
[ms]
T-100%
[ms]
Ms. arribados
al sink
Mensajes
emitidos
Mensajes
recibidos
Mob
4500
8500
12500
6000
10000
14000
13250
31950
33100
898
899
901
8186
7583
7403
8830
8313
8167
6
10
20
4500
8500
12500
6000
10000
14000
14250
101500
38700
898
901
901
9328
8621
7996
9804
9190
8692
6
11
15
Conclusiones y trabajos futuros
Con el algoritmo B, el tiempo requerido para la llegada del 96% de los mensajes al
nodo Sink aumenta con el aumento de TRE. Producido un inconveniente en la red
cuanto más se demore en detectarlo y corregirlo mayor será el tiempo insumido por
los mensajes en arribar al nodo Sink.
Lo mismo puede decirse acerca de la demora promedio de los mensajes en arribar al
nodo Sink. En todos los casos llegan al nodo Sink los 898 mensajes emitidos, solo varía, y muy poco, la cantidad de mensajes duplicados que llegan al Sink.
La cantidad total de mensajes emitidos, considerando los que fueron necesarios para
rearmar la estructura, fue de entre 8.000 y 9.000 frente a los aproximadamente 7.000
que se requerían para el algoritmo B. Cuando la frecuencia con que se emiten los
mensajes de datos disminuye se reduce el impacto de la variación de TRE. Esto se explica pues, al ser mayor la frecuencia de emisión de mensajes, cada vez que el algoritmo implementa nuevas RutaAlSink se encuentra con que más mensajes son los que
se han visto demorados. Estos mensajes se retransmiten pero cuanto más sean, mayor
será la sobrecarga generada sobre la estructura de la red.
El algoritmo A no solo genera menor cantidad de mensajes de control sino que además obtiene una mejor recepción de mensajes en el tiempo. Si bien en ambos casos
llegan al Sink la totalidad de los mensajes de datos emitidos, pues ningún nodo queda
aislado como consecuencia de la salida de servicio de algunos de ellos, en el algoritmo A llegan más rápidamente. Es importante aclarar que este resultado solo es valido
para la estructura de red estudiada y las condiciones de salida de servicio de los nodos indicada. Variaciones en estos valores podrán producir variaciones en los valores
determinados.
Considerando que la energía disponible en cada nodo no es renovable y que la misma
disminuye con la emisión y recepción de cada mensaje, la salida fuera de servicio de
los nodos es inevitable. Bajo esas condiciones, tener en cuenta solamente la cantidad
de mensajes arribados al nodo SINK, para evaluar la performance de un algoritmo es
una simplificación demasiado grande..
Se deberá entonces encontrar otras métricas que representen en mejor medida las
prestaciones de la red, y en función de ellas analizar el comportamiento del algoritmo
propuesto y nuevas modificaciones que lo perfeccionen.
Referencias
1. Karl H.,Willig A. Protocols and Architectures for Wireless Sensor Networks.
John Wiley
& Sons. ISBN 0-470-09510-5, 2005.
2. Al-Karaki J. N., Kamal A. E. Routing techniques in wireless sensor networks: a survey.
IEEE Wireless Communications, 2004. http://www.ee.iastate.edu/~kamal/Docs/kk04.pdf
3. Kravets R., Schwan K., Calvert K. Power-Aware Communication for Mobile Computers,
Proc. MoMUC ’99, 1999.
4. Li L., Halpern J.: Minimum-energy mobile wireless networks revisited, IEEE International
Conference on Communications ICC’01, Helsinki, Finland, 2001.
5. Krishnamachari B., Estrin D., Wicker S. Modelling Data-Centric Routing in Wireless Sensor
Networks. Proc. IEEE Infocom 2002, June 2002.
6. Solis I. and Obraczka K. In-network aggregation trade-offs for data collection in wireless
sensor networks. International Journal of Sensor Networks 2006, Vol. 1, No.3/4 pp. 200 –
212, 2006
7. D´Agostino E. , Giandoménico E., Corti R., Martinez R.: Ruteo en redes inalámbricas de
sensores inteligentes, Universidad Nacional de Rosario, Reporte técnico, RT-ID-06/03,
2007. http://www.fceia.unr.edu.ar/secyt/rt/2006/rtid06_03.pdf
8. Estela D’Agostino, Enrique Giandoménico, Rosa Corti , Roberto Martínez y Javier Belmonte. Algoritmo de encaminamiento para redes inalámbricas de sensores inteligentes. 36°
JAIIO-AST Simposio Argentino de Tecnología, Agosto 2007.
9. Akyildiz.I.F , Su W., Sankarasubramaniam Y., Cayirci E.: A survey on sensor networks,
IEEE Communications Magazine, vol. 40, pp 102- 114, ISSN: 0163-6804, 2002.
10.Simulador para algoritmo de encaminamiento para redes inalámbricas de sensores inteligentes. http://www.dsi.fceia.unr.edu.ar/downloads/sensores/Simulador.zip
Descargar