viernes, 24 de mayo de 2013

Laboratorio - Simulación 3D adhoc

Esta entrada es sobre una simulación de una red Ad Hoc, pero esta vez en 3D, con alguna superficie, si requieren ver mi entrada sobre simulación de una red Ad Hoc, entren al siguiente enlace: Reporte: Ad Hoc

Me base en varios programas de varios compañeros y algunas documentaciones para realizar esta entrada:

Introducción

Las simulaciones que realice, fueron realizadas para simular una red sensóra Ad Hoc, donde tienen como fondo 3D, los nodos son sensores, los cuales realizan una acción cada que tienen contacto con el terreno simulado en 3D

Herramientas

Algunas herramientas que utilice para realizar las diferentes simulaciones, fueron las siguientes:
  • Blender 2.6
  • Matplotlib 1.2.1 
  • Python 2.7

Instale Matplotlib para python, si quieren obtener mas información, entren al siguiente enlace: Matplotlib.org

Encontraran las opciones donde podrán descargar matplotlib, algunas paginas con documentación y ejemplos.

Simulación 

Como lo comente antes, realice varias simulaciones, primero realice una simulación en Blender, después varias pruebas con Matplotlib, pero tuve algunos problemas, enseguida una pequeña explicación de cada uno:

Simulación Blender

En esta simulación, genere lluvia, genere unos nodos estáticos, y solo mostraba un mensaje cuando el agua "tocaba" al nodo.

Primero genere el entorno en 3D con los nodos generados estáticos, quedo así:

Aquí una muestra que los nodos estaban colocados en la posición donde cae el "agua" y no se encuentran en otra posición, quedo así:

En esta imagen ya con la animación iniciada, se obtuvo lo siguiente:

Aquí un vídeo de la simulación:

Simulación en Matplotlib

En las siguientes simulaciones, solo cree entornos en 3D, con nodos estáticos, y los nodos se conectaban unos con otros.

En estas simulaciones falto implementar al 100% la red con sensores, ya que era la primera vez que utilizaba este lenguaje y fue algo complicado, batalle y quedaron en algo muy básico.

Simulación 1:

En la primera simulación, solo genere los nodos estáticos, y no era una red de sensores, quedo así:

Código uno:


Simulación 2:

En esta segunda simulación simule un escenario en 3D en donde consistía el "mar" no salio perfecto, pero volví a colocar nodos, simulando la red con sensores, pero también tuve problemas, aun así quedo algo básico:

Aquí la muestra que se genero en 3D y se tiene una vista desde arriba:

Código dos:


Simulación 3: 

 En esta ultima simulación volví a colocar nodos, y ahora si logre colocar una red de nodos con algo de sensores, se unían dos nodos con un evento de por medio.

Otra imagen desde con otro punto vista:

Coloque los nodos sensores, y los nodos se conectaban por medio de un evento, las lineas cambiaban de color cuando se conectaban unos con otros.

Código tres:


Comentarios

Las simulaciones en matplotlib batalle, ya que como lo había mencionado antes, era la primera vez en que realizaba pruebas con esa herramienta, falto crear las redes de sensores, me quede a la mitad del trabajo, y crear la animación como lo hice en Blender.

Falto implementar la comunicación con rangos ajustables y TTL

Referencias

martes, 21 de mayo de 2013

Reporte - Ad hoc

Para esta semana se pidió que realizáramos una simulación de una red Ad Hoc.

Me base en otros programas de mis compañeros, para realizar la tarea.

Introducción 

El programa consiste en simular una red MANET, con llegada y salida de nodos, tiene consigo un modelo de movilidad (En este caso se lleva a cabo una movilidad en grupo, que en este caso se utilizo "Random Waypoint"), nodos con capacidad de batería, envió de mensajes y cada nodo reduce su batería según su radio de transmisión.

Simulación

Primero tenemos los nodos generados en la ventana:

Los nodos cuentan con la "pila":

pila = 700

Después tenemos al nodo "enemigo" y es el nodo al que siguen todos los demás, de color negro:

Desaparecen los nodos cuando se acaba su pila, y vuelven a aparecer en otro color
Se muestra cuando los nodos mueren, en la ventana vuelven a aparecer.
Falto implementar el envió de mensajes y reducir su batería según su radio de transmisión.

Código


Un vídeo de la simulación a continuación:

Vídeo

Los nodos se movilizan buscando al "enemigo", después a cada nodo se le acaba la pila, y después vuelven a re-aperecer con un color random.

Referencias

lunes, 20 de mayo de 2013

Laboratorio - Reporte: Redes Adhoc

Tema: CarNet - A Scalable Ad Hoc Wireless Network System
Autores: Robert Morris, John Jannotti, Frans Kaashoek, Jinyang Li and Douglas Decouto

Introducción 

CarNet es una aplicación para sistemas de redes móviles con una red AdHoc a gran escala y no se necesita una infraestructura de red para en-rutar los mensajes.

Esta aplicación apoya la conectividad por medio de IP, así como aplicaciones para la monitorización cooperativa de congestión, el seguimiento de EET, y en descubrir los puntos cercanos de interés.

Mencionaban que estaban diseñando una arquitectura de red escalable y dinámica denominada Grid, y que sería más fácil de implementar que muchas aplicaciones ya existentes.

Deseaban diferentes tipos de dinamismos para el proyecto, primero: introducir un nuevo nodo a la red y que no debería requerir la intervención humana, toda la configuración debe de ser de forma automática; segundo: la red no debe depender de una infraestructura; tercero, los nodos deben ser capaces de moverse; cuarto: debe ser fácil para que las aplicaciones interactuen entre si y quinto: los protocolos subyacentes deberían proporcionar API's y utilizar algoritmos.

Los objetivos principales de esta investigación son similares a los de los sistemas de redes móviles AdHoc (MANET).

En el documento se muestra como quisieron construir un sistema que pudiera escalar a cientos de miles de nodos, sin escalas con tecnología de red ya existentes y sin depender de técnicas jerárquicas estáticas.

Para probar la red que se estaba diseñando e implementando, escogieron la aplicación CarNet porque su despliegue va en incremento.

En este trabajo se describe el diseño general provisional y cuadricular en los sistemas de organización del CarNet.

2.- Arquitectura

En esta parte, se explica que la funcionalidad de la escalabilidad funciona de manera de reenvío geográfico, el nodo de origen anota cada paquete en conjunto con la ubicación a donde tiene que llegar el cual es su destino.

En cada nodo, se realiza una decisión puramente local para reenviar el paquete al nodo vecino que está geográficamente más cercano al destino.
El reenvío no implica ninguna información global de ayuda a la escala del enrutamiento geográfico.

2.1.- Servicio de Ubicación de Red (GLS)

La expedición geográfica requiere el envío de nodos para descubrir los lugares de destino, es decir, la red debe proporcionar una base de datos con los mapas de cada nodo con su ID permanente en conjunto con su ubicación geográfica.

La base de datos no debería depender de cualquier infraestructura porque podría dificultar el despliegue de escalabilidad, al contrario, debe ser distribuido por todos los nodos..

Todos los nodos en el sistema están coordinados con un algoritmo distribuido "f(i)"que mapea cada nodo identificado a una lista de ubicaciones físicas, con sus latitudes y longitudes.

Las ubicaciones producidas por "f(i)" actúan como servidores de localización de nodos, sin embargo si el nodo "i" se mueve, utiliza el reenvío geográfico para enviar actualizaciones con las ubicaciones especificadas por "f(i)", los nodos cercanos a esos lugares recuerdan la posición del nodo "i".

En la siguiente figura 1 se muestra un mensaje sobre el encabezado de GLS en un rango de tamaños, y la figura 2 indica los paquetes de datos entregados con éxito.
Figura 1:

Figura 2:


Esas figuras fueron obtenidas por medio de simulaciones que implicaban una buena cantidad de movilidad en los nodos.

2.2 Gestión de Densidad  

Aquí explican que el reenvío geográfico puede fallar cuando la red no es suficientemente densa, por lo que los paquetes encuentran agujeros en la topología, es decir, un paquete puede llegar a un nodo donde no tiene vecinos en su radio y que están cerca de su destino.

Por otro lado, una red de radio también puede ser demasiado densa.  Las radios que se encuentran dentro
del alcance del radio de cada nodo con otro, debe compartir el espectro limitado, y a medida que aumenta la densidad de los nodos, el ancho de banda disponible para cada nodo disminuye.

Tomando en cuenta el radio de los agujeros en la distribución de nodos utilizan técnicas como Karp y Bose.

La idea básica es que los nodos estén de acuerdo en las conexiones necesarias para enviar los paquetes alrededor de los perímetros del agujero hasta que avancen o regresen al punto de partida.

La idea es variar la potencia de transmisión con la idea de mantener un número con  una constante aproximada al rango de nodos del radio, esto ayuda a mantener la red conectada a densidades bajas.
También se obtiene un ahorro de energía similar a la del enrutamiento.

3.- Aplicaciones

En el documento explican que construyeron un sistema con una cuadrícula alrededor para explorar cómo la rejilla interactua con las aplicaciones, el hardware y con sus tensiones de despliegue a gran escala.

En el CarNet cada Coche tendrá un nodo y que consiste en un equipo Linux, con radio IEEE 802.11, un receptor GPS y pantallas para el conductor y pasajero.

3.1.- Localización de Recursos

La localización de recursos era un propósito general para aplicación proporcionada por la red movil.
En GLS se pueden utilizar recursos sin alteraciones para localizar las inmediaciones.

En la idea simplemente consistía en asociar un nombre estándar a un recurso, como "\impresora", "\cache-web" o para el punto de acceso "\Internet ".

Ya con los nombres, se les aplicaba un algoritmo hash para obtener una identificación y a continuación, participaban en el protocolo de GLS, se tomaba en cuenta que GLS es robusto por los múltiples nodos que utilizan un mismo ID, y por ultimo el resultado final era el deseado, al realizar una búsqueda de ubicación, los nodos veían al recurso más cercano a ellos.

3.2 Conectividad IP

La conectividad IP era un punto importante en CarNet, a cada nodo se le asignaba una dirección IP, una máscara de subred y la dirección IP de su router por defecto.
Los nodos inalámbricos participaban en el protocolo utilizando un hash de la dirección IP como su ID.

Para enviar un paquete a través de Internet, el nodo determinaba la localización de la puerta de entrada y reenviaba el paquete IP.

3.3.- CarNet Specific

Además de los servicios directos como la ubicación de los recursos y la conectividad IP, se esperaba que las propiedades de una red inalámbrica en la que los nodos conocen sus propios lugares pueden inspirar a otras aplicaciones parecidas.

3.4.- Privacidad

El uso del enrutamiento geográfico presenta un problema para los usuarios preocupados por la privacidad de su ubicación y movimientos.

Si se utilizaba GLS, cualquier nodo puede localizar a un nodo cuyo ID sea reconocido.

Creemos que ambas técnicas podrían impedir que este hecho de privacidad se convierta en un tema de preocupación para la mayoría de usuarios.

Los nodos pueden cambiar las direcciones IP en poco tiempo, muchos nodos pueden compartir un grupo de direcciones IP, con lo que el seguimiento de los individuos se dificulta.

Un punto en contra es que si cambia periódicamente la dirección IP protege a un usuario de un seguimiento por parte de terceros, pero no se impide a los nodos contactados por el usuario.

Para solucionar este problema, los usuarios pueden considerar el uso de un proxy para algunas conexiones sensibles.

4.- Trabajos relacionados

En los trabajos relacionados, existen pocos ejemplos de sistemas implementados con redes Ad Hoc, por mencionar algunos son: la Metricom Ricochet y Nokia.

Hay alguno algoritmos existentes sobre redes AdHoc, como: DSR, AODV, DSDV, y TORA.

Conclusión

Los autores esperaban que el despliegue de CarNet sacará a la luz nuevos problemas y nuevas soluciones.

El sistema maneja a un gran número de nodos a grandes escalas mediante el reenvío geográfico.

El problema de la variación en su densidad de cada nodo se volverá a requerir algoritmos adaptativos para gestionar el espectro radioeléctrico y los niveles de potencia.

CarNet facilitará la creación de nuevas aplicaciones adaptadas a las redes geográficamente conscientes.

Critica

En el documento resaltaban de manera muy importante el sistema debería de ser dinámico y así evitar contratiempos, puede que sea una técnica buena, pero no es 100% confiable, aun así en los tiempos modernos hacer un sistema manual ya no es rentable .

Ya que este documento fue editado hace mas de 5 o 6 años, utilizan herramientas como IP; maquinas Linux y todo eso podría ser utilizado de manera mas eficaz con herramientas actualizadas y así tener un resultado mas optimo.

En este caso podría utilizarse otro tipo de algoritmos para que sean mas eficientes con proyectos dedicados a redes AdHoc.

Referencia

martes, 14 de mayo de 2013

Laboratorio - Investigación: Sistemas Satelitales

En esta entrada, se muestra una pequeña investigación sobre sistemas satelitales y en donde se aplica, mecanismos para interceptar la comunicación de dichos sistemas y como protegerlos.

1.- Introducción 

Un satélite artificial es una nave espacial enviada en un vehículo de lanzamiento o un tipo de cohete que envía la carga hacia el espacio y puede realizar diferentes actividades.

Los satélites artificiales pueden orbitar alrededor de lunas u objetos naturales del espacio como planetas. Tras su vida útil, los satélites artificiales pueden quedar orbitando como basura espacial.



Tipos de satélites:

  • Órbita baja terrestre (LEO): a una altitud de 0 a 2000 km
  • Órbita media terrestre (MEO): con una altitud entre 2000 km
  • Órbita alta terrestre (HEO): con una altitud por encima de la órbita de 35 786 km.

2.- Aplicaciones: 

Los sistemas satélites pueden ser útiles para muchos cosas, hoy en día existen muchos satélites con diferentes usos, los cuales pueden ser los siguientes:

  • Astronómicos 
  • Anti-satélites
  • Comunicación  
  • Espías
  • Meteorológicos
*Astronómicos:

Un observatorio espacial, también conocido como telescopio espacial, es un satélite artificial o sonda espacial que se utiliza para la observación de planetas, estrellas, galaxias y otros cuerpos celestes de forma similar a un telescopio en tierra.

 Se han lanzado una cantidad importante de telescopios espaciales a órbita desde que Cosmos 215, considerado el primer observatorio espacial.

*Anti-satélites:

Un arma anti-satélite es un arma espacial diseñada para incapacitar o destruir satélites con fines estratégicos militares.

Actualmente, los Estados Unidos, Rusia y la República Popular de China son los únicos que se conoce que han desarrollado este tipo de armamento.

*Comunicación:

Los satélites artificiales de comunicaciones son un medio muy apto para emitir señales de radio en zonas amplias o poco desarrolladas, ya que pueden utilizarse como enormes antenas suspendidas del cielo.

Se suelen utilizar frecuencias elevadas en el rango de los GHz; además, la elevada direccionalidad de antenas utilizadas permite "alumbrar" zonas especificas de la Tierra.

*Espías:

Un satélite espía es un satélite artificial de observación terrestre o de comunicaciones destinado a uso militar o para inteligencia.

Algunos satelites espías:
  • Estados Unidos
    • Lacrosse/Onyx
    • Misty/Zirconic
    • Samos
    • Quasar
    • Vela suárez
    • Vortex/Chalet
  • Unión Soviética
    • Cosmos
    • Almaz
    • Yantar
    • Zenit
  • Alemania
    • SAR-Lupe 1-5
    • Francia, España, Italia y Bélgica
    • Helios 
  • Reino Unido
    • Zircon
  • India
    • Satélite Experimental de Tecnología
  • Israel
    • Ofeq

*Meteorológicos:

Un satélite meteorológico es un tipo de satélite artificial que se utiliza principalmente para supervisar el tiempo atmosférico y el clima de la Tierra.

Sin embargo, ven más que las nubes, las luces de la ciudad, fuegos, contaminación, auroras, tormentas de arena y polvo, corrientes del océano, etc., son otras informaciones sobre el medio ambiente recogidas por los satélites.

Tipos:

Existe dos tipos básicos de satélites meteorológicos por su órbita: los geoestacionarios y los polares.

3. Proteger comunicaciones satelitales

Algunos métodos para combatir las amenazas en sistemas satelitales pueden ser: evasión y alteración de comunicación.

*Evasión:

Se evita cualquier interrupción en la operación del satélite.
Este método parece simple, pero requiere una coordinación mayor, y en general  los satélites siguen su órbita según sea la misión que vayan a realizar.
Este método puede causar un alto grado de vulnerabilidad.
La habilidad para alterar el curso del satélite en una situación peligrosa desviaría fallas en seguridad.

*Alteración de comunicaciones:

Es simple y es empleado este método como solución para evadir intersecciones, además previene la detección del satélite. Requiere de un transmisor adaptable capaz de transmitir señales de alta resistencia para no darle oportunidad a sistemas que intercepten sus transmisiones.


4. Mecanismos para interceptar comunicaciones:

En las comunicaciones satelitales se da por dar mal uso en los enlaces del satelite con la tierra.

Cuando realiza su rotación normal, una pequeña señal es generada en el satélite cuando se encuentra en su orbita. El transmisor manda la señal a la antena, y este a la ves, proyecta la señal a otro receptor en la estación que se encuentra en la tierra.

Lo preocupante en este proceso, es que se encuentra un mal uso de la comunicación, algunos mensajes enviados por estos enlaces son de suma importancia. Las dos formas principales para la interrupción o intercepción de estos mensajes son:  Acción preventiva, Malversacion e intercepción de señales.

*Acción Preventiva:

Estas medidas son empleadas en tiempos con hostilidades abiertas y con el objetivo de eliminar los recursos de los enemigos.
Aunque esto puede ser combatido usando secuencia de modulos en una tasa de transmisión de datos, es una buena forma para prevenir que cualquier señal sea recibida en un host determinado.

*Malversación:

Este método puede ser considerables al "wire-tapping", permitiendo al agresor obtener información sobre su blanco y usarlo de manera ventajosa.
Si se utiliza este método, el resultado de estos esfuerzos es que la fuerza hostil gana control del satélite, su información y capacidades.

*Intercepción de Señales:

Este método es la intercepción de señal a nivel de tierra y depende mucho de la transmisión de señal desde el satélite objetivo en órbita. Después de la transmisión de la señal, una fuerza hostil puede emplease en la estación de la tierra o dentro del rango de la comunicación.
Este método es una forma efectiva para recolectar inteligencia y ganar ventaja en contra del enemigo.


5.- Conclusión:

Los sistemas satelitales, son demasiado importantes para la vida diaria, si llegaran a ser utilizadas de manera no apropiada, habría un declive de redes de comunicaciones, problemas son sistemas de gobierno, etc.
Para esto, los países deben de tener un muy buen sistema de seguridad para cada uno de sus sistemas satelitales, ya que sin ellos o con alguna falla que se presente, seria un gran problema para la población en general.

Referencias:

Reporte - Geolocalización

Para esta semana, se pidió una simulación de Geolocalización, donde utilizare el método de triangulación.
Me base en trabajos de mis compañeros y realice lo siguiente:

En el código, utilice Python en conjunto con Pygame para dibujar los círculos, después, doy las coordenadas a utilizar y dan la localización de los transmisores y el receptor, ya colocados, se mandan las señales y el receptor solo conoce la señal que mandan los transmisores.

Simulación: 

Primero, tenemos los transmisores, los cuales son 3, y un receptor.

Los transmisores de color verde y el receptor de negro.

Después la señal la manda el primer transmisor, el cual manda la señal y llega con el receptor.

Enseguida, el segundo transmisor manda la señal y también llega al receptor.

Por ultimo, el tercer receptor hace el mismo trabajo, manda la señal y llega al receptor

Y queda de la siguiente manera:

Aquí esta el código:

Código: 


Aquí un vídeo de la simulación final:

Vídeo: 

El vídeo muestro lo anteriormente explicado, donde mandan las señales hacia el receptor.

Referencias: 

lunes, 6 de mayo de 2013