Redes Ad-hoc
Las redes Ad-hoc son redes improvisadas que se utilizan para crear conexiones entre dispositivos móviles o dispositivos que se encuentren en el mismo lugar y no conectados al internet. Estas conexiones tambien son llamadas MANET “Mobile ad hoc networks”, estas redes normalmente se crean utilizando canales inalámbricos y no están centralizadas, es decir todos los dispositivos de la red se encuentran en las mismas condiciones.
La simulación
La simulación fue hecha en Javascript utilizando el canvas de HTML5 para dibujar los diferentes componentes de la simulación.
Contexto
Contexto
El supuesto escenario de la simulación es un campo de batalla donde, un grupo de soldados, tienen que llegar hasta una zona objetivo dentro del área de control enemigo. Cada soldado tiene que mantenerse comunicado con los soldados amigos, para avisar en caso de que un enemigo se acerque y poder entrar en modo sigilo. Cada soldado tiene una cantidad limitada de recursos como podrían ser alimento y agua, pero el más importante para nuestra simulación es que para transmitir información por medio de la red Ad-hoc tiene una batería que se consume cada vez que se manda un mensaje en la red y entre a mayor distancia tenga que mandarse el mensaje.
El escuadrón de soldados tiene una formación que deben seguir para poder comunicarse entre ellos, esta formación es una clásica formación tipo "V" donde el soldado que se encuentra en el centro, es el líder y es el que dice a cada uno de los otros soldados donde deben posicionarse por lo cual la comunicación es muy importante.
[imagen obtenida de:"http://proceedings.esri.com/library/userconf/proc00/professional/papers/pap707/p7073.gif"]
El escuadrón de soldados tiene una formación que deben seguir para poder comunicarse entre ellos, esta formación es una clásica formación tipo "V" donde el soldado que se encuentra en el centro, es el líder y es el que dice a cada uno de los otros soldados donde deben posicionarse por lo cual la comunicación es muy importante.
[imagen obtenida de:"http://proceedings.esri.com/library/userconf/proc00/professional/papers/pap707/p7073.gif"]
Los soldados aliados
los soldados son representados con cuadrados verdes cuando están vivos, estos siempre aparecen en el lado izquierdo de la pantalla, aparecen de forma aleatoria pero siempre en el área que les toca para iniciar.
Muerte
Los soldados que mueren se tornan de color gris, las razones por las cuales un soldado puede morir son las siguientes:
La forma de defensa de estos soldados es escondiéndose, para esto existe el modo sigiloso, cuando un soldado divisa a un enemigo, este inunda la red Ad-hoc con mensajes de alerta a los demás, con lo cual todos los soldados entran en modo sigiloso por un corto periodo de tiempo.
las características de este modo son:
Recursos y batería
Cada soldado tiene una cantidad limitada de recursos y batería, todos empiezan con un 100% de cada uno. Los recursos se gastan únicamente al avanzar en el campo y estos dependen solamente de la cantidad de distancia que ha recorrido el soldado.
La cantidad de batería disminuye a razón lineal y depende de la cantidad de mensajes que se manden y por cada mensaje de el radio en que sean transmitidos estos al medio, recordando que los mensajes se transmiten inundando el medio.
El medidor que corresponde a la batería es el medido azul y el que corresponde a los recursos es el medidor verde.
Radio de transmisión
Cada uno de los soldados cuenta con un radio de transmisión diferente, este se puede apreciar puesto que es un circulo gris que rodea a cada soldado.
Enviando un mensaje
Cada vez que un soldado envía un mensaje, se calcula la distancia que existe entre este y los demás soldados y si estos se encuentran en el área que marca el radio del mensaje, el mensaje es recibido guardándose en una memoria buffer que cada soldado revisara después. Cada que se envía un mensaje se produce una animación donde un circulo azul crece hasta abarcar el mismo radio que el radio de transmisión.
los soldados son representados con cuadrados verdes cuando están vivos, estos siempre aparecen en el lado izquierdo de la pantalla, aparecen de forma aleatoria pero siempre en el área que les toca para iniciar.Muerte
Los soldados que mueren se tornan de color gris, las razones por las cuales un soldado puede morir son las siguientes:
- Es alcanzado por un enemigo.
- Se terminaron sus recursos.
- Se termino la batería para transmitir mensajes.
La forma de defensa de estos soldados es escondiéndose, para esto existe el modo sigiloso, cuando un soldado divisa a un enemigo, este inunda la red Ad-hoc con mensajes de alerta a los demás, con lo cual todos los soldados entran en modo sigiloso por un corto periodo de tiempo.
las características de este modo son:
- El soldado se esconde por lo cual aunque el enemigo pase por su posición, no puede ser alcanzado y asesinado por el mismo.
- Este modo acaba únicamente cuando ya no hay un enemigo cerca, pero si los enemigos se mueven muy rápido y los aliados no comunican que aun existe un enemigo en la zona, un aliado aun así puede ser alcanzable por el enemigo.
- Los soldados cambian a color transparente.
Recursos y batería
Cada soldado tiene una cantidad limitada de recursos y batería, todos empiezan con un 100% de cada uno. Los recursos se gastan únicamente al avanzar en el campo y estos dependen solamente de la cantidad de distancia que ha recorrido el soldado.
La cantidad de batería disminuye a razón lineal y depende de la cantidad de mensajes que se manden y por cada mensaje de el radio en que sean transmitidos estos al medio, recordando que los mensajes se transmiten inundando el medio.
El medidor que corresponde a la batería es el medido azul y el que corresponde a los recursos es el medidor verde.
Radio de transmisión
Cada uno de los soldados cuenta con un radio de transmisión diferente, este se puede apreciar puesto que es un circulo gris que rodea a cada soldado.
Enviando un mensaje
Cada vez que un soldado envía un mensaje, se calcula la distancia que existe entre este y los demás soldados y si estos se encuentran en el área que marca el radio del mensaje, el mensaje es recibido guardándose en una memoria buffer que cada soldado revisara después. Cada que se envía un mensaje se produce una animación donde un circulo azul crece hasta abarcar el mismo radio que el radio de transmisión.
Los enemigos
Los enemigos son simples cuadrados rojos que patrullan la zona buscando soldados aliados, estos representan un obstáculo que los aliados deben evitar. Puesto que como ya se dijo, si un soldado aliado es alcanzado por un enemigo, este morirá.Aparición con distribución exponencial
En un principio solo aparecen una cantidad de soldados determinada, pero mientras avanza la simulación mas refuerzos llegaran a la zona, el tiempo que falta hasta que aparezca un nuevo enemigo se muestra en la parte inferior durante la simulación.
Zona objetivo
El objetivo de los soldados es llegar a la meta, una vez que todos los soldados se encuentran dentro del recuadro que representa la meta, la simulación termina de manera que los soldados logran su objetivo. Si en lugar de eso todos los soldados mueren, se puede decir que no lograron su objetivo y es una misión fallida.
Movimiento del escuadrón
El escuadrón de soldados aliados se mueve tratando de simular una formación de tipo "V" esta es muy famosa por que es la que utilizan algunos tipos de aves cuando migran a lugares mas cálidos. La razón por la que elegí esta es por que me parece que en un campo abierto sería una formación muy común para tanques que es donde se podrían utilizar mas este tipo de redes Ad-hoc.
Algoritmo
Se mueven eligiendo uno de ellos como líder, este líder es el que el que les pone objetivos para dirigirse y ellos solo se dirigen a los puntos que el líder les ordena. El líder sin embargo siempre se dirige al área objetivo con lo cual es muy mantener a los demás soldados del escuadrón en movimiento, puesto que solo les pone como objetivos puntos delante de el.
Protocolo de conexión
Los soldados tienen un protocolo, para establecer una conexión entre ellos mismos, este protocolo es algo simple y absurdo pero sirve para demostrar como principios de comunicación entre personas, son utilizados para crear algoritmos complicados para establecer conexiones en redes de computadoras.
En esta punto se muestran los pasos que debe seguir cada cliente para establecer conexiones, en realidad todos los clientes (soldados) estan escuchando conexiones todo el tiempo, pero cuando aun no han establecido conexión con alguien de la red, intentan establecer conexiones:
Cliente que desea establecer conexión
Cliente que escuchando conexiones
Adaptarse a la perdida de paquetes
Cada cliente tiene un contador de la cantidad de paquetes que se pierden tratando de iniciar una conexión, si la cantidad de intentos es incrementa, también incrementa el radio de transmisión esto con el fin de hacer mas probable de encontrar un aliado y establecer una conexión dado a la formación en la que el escuadrón se mueve.
TTL
Cada que un cliente recibe un paquete sea o no para el, este reenvía el paquete a todos sus vecinos, esto con el fin de que el paquete inunde la red y en cierto momento sea accesible para cada nodo. Cada paquete tiene un valor TTL que es un contador de cuantas veces ha sido reenviado un paquete, esto con el fin de que un paquete no quede flotando en la red por una cantidad infinita de tiempo.
En este ejemplo de arriba el TTL tiene un valor de tres y como se observa el mensaje el paquete es descartado una vez que el contador es reducido a cero.
Conexión Ad-hoc utilizada para informar de enemigos en la zona
El fin de esta conexión entre los soldados es que sean capaces de alertar a todos los demás soldados cuando un enemigo se acerca, esto con el fin de que estos sean capaces de entrar a modo sigiloso y esconderse de los enemigos.
Una vez que el enemigo ha sido detectado se inunda la red con mensajes de alerta y una vez que el enemigo se ha ido, se notifica esto para que vuelvan a modo normal.
Conclusiones
Una de las cosas más importantes de las que me dí cuenta es como el TTL afecta demasiado el rendimiento de una red, esto puede afectar en gran medida el consumo de batería puesto que por cada que se reenvía un mensaje innecesario se gasta una cantidad de batería, esto multiplicado por la cantidad de mensajes que se mandan en una red puede ser un tener un gran costo no elegír bien un valor optimo TTL.
La siguiente gráfica muestra el número total de mensajes enviados y retransmitidos en por el simulador según el número elegido como TTL.
Código
Link a la simulación
Por ultimo aquí se deja un link a la simulación
https://dl.dropboxusercontent.com/u/20770926/tarea7/ad-hoc.html
Zona objetivo
El objetivo de los soldados es llegar a la meta, una vez que todos los soldados se encuentran dentro del recuadro que representa la meta, la simulación termina de manera que los soldados logran su objetivo. Si en lugar de eso todos los soldados mueren, se puede decir que no lograron su objetivo y es una misión fallida.Movimiento del escuadrón
El escuadrón de soldados aliados se mueve tratando de simular una formación de tipo "V" esta es muy famosa por que es la que utilizan algunos tipos de aves cuando migran a lugares mas cálidos. La razón por la que elegí esta es por que me parece que en un campo abierto sería una formación muy común para tanques que es donde se podrían utilizar mas este tipo de redes Ad-hoc.
Algoritmo
Se mueven eligiendo uno de ellos como líder, este líder es el que el que les pone objetivos para dirigirse y ellos solo se dirigen a los puntos que el líder les ordena. El líder sin embargo siempre se dirige al área objetivo con lo cual es muy mantener a los demás soldados del escuadrón en movimiento, puesto que solo les pone como objetivos puntos delante de el.
Protocolo de conexión
Los soldados tienen un protocolo, para establecer una conexión entre ellos mismos, este protocolo es algo simple y absurdo pero sirve para demostrar como principios de comunicación entre personas, son utilizados para crear algoritmos complicados para establecer conexiones en redes de computadoras.
En esta punto se muestran los pasos que debe seguir cada cliente para establecer conexiones, en realidad todos los clientes (soldados) estan escuchando conexiones todo el tiempo, pero cuando aun no han establecido conexión con alguien de la red, intentan establecer conexiones:
Cliente que desea establecer conexión
- "anybody there?!!"
- "tratando de iniciar conexion o que ace?"
- "conectado entonces :) % agregar el id a lista de conexiones"
Cliente que escuchando conexiones
- "ola k ace?"
- "sip"
Ejemplo:
Esta es una de las redes simuladas donde dos clientes tratan de conectarse, como se puede ver muchos de los paquetes se reenvían, esto se debe a que se reenvían todos paquetes para que puedan ser accesibles por todos los nodos de la red. A pesar de esto como se puede observar fue posible realizar la conexión. Vale la pena recalcar que algunos valores tienen destinatario la dirección -1 la cual no es un error si no es una dirección Broadcast para mandar el mensaje a todos en la red.
Adaptarse a la perdida de paquetes
Cada cliente tiene un contador de la cantidad de paquetes que se pierden tratando de iniciar una conexión, si la cantidad de intentos es incrementa, también incrementa el radio de transmisión esto con el fin de hacer mas probable de encontrar un aliado y establecer una conexión dado a la formación en la que el escuadrón se mueve.
TTL
Cada que un cliente recibe un paquete sea o no para el, este reenvía el paquete a todos sus vecinos, esto con el fin de que el paquete inunde la red y en cierto momento sea accesible para cada nodo. Cada paquete tiene un valor TTL que es un contador de cuantas veces ha sido reenviado un paquete, esto con el fin de que un paquete no quede flotando en la red por una cantidad infinita de tiempo.
Conexión Ad-hoc utilizada para informar de enemigos en la zona
El fin de esta conexión entre los soldados es que sean capaces de alertar a todos los demás soldados cuando un enemigo se acerca, esto con el fin de que estos sean capaces de entrar a modo sigiloso y esconderse de los enemigos.
Una vez que el enemigo ha sido detectado se inunda la red con mensajes de alerta y una vez que el enemigo se ha ido, se notifica esto para que vuelvan a modo normal.
Conclusiones
Una de las cosas más importantes de las que me dí cuenta es como el TTL afecta demasiado el rendimiento de una red, esto puede afectar en gran medida el consumo de batería puesto que por cada que se reenvía un mensaje innecesario se gasta una cantidad de batería, esto multiplicado por la cantidad de mensajes que se mandan en una red puede ser un tener un gran costo no elegír bien un valor optimo TTL.
La siguiente gráfica muestra el número total de mensajes enviados y retransmitidos en por el simulador según el número elegido como TTL.
Código
Link a la simulación
Por ultimo aquí se deja un link a la simulación
https://dl.dropboxusercontent.com/u/20770926/tarea7/ad-hoc.html
Referencias:
Mercado, A. and Berríos Figueroa, R. (n.p.) Redes inalámbricas ad hoc. [e-book] p.1-6. http://facultad.bayamon.inter.edu/cgonzalezr/ELEN4618/Adhoc.pdf [Accessed: 20th may 2013].












Bien, 10 pts.
ResponderBorrar