martes, 26 de febrero de 2013

Puntos extra: Network Simulator NS2

MODELADO DE LATENCIA Y ENTREGA DE PAQUETES EN SISTEMAS DE CONTROL DE RED USANDO EL SIMULADOR DE RED NS2

1. Introducción:
Los sistemas de control de red (NCS - Network Control Systems) implementan un mecanismo de control de lazo cerrado a través de una red. Recientemente se le está prestando atención a los sistemas de control de red inalámbricos (WNCS - Wireless Network Control Systems). Los WNCS son flexibles y robustos por lo tanto son apropiadas para diversas aplicaciones. Estas redes permiten que sistemas de control sean usados de manera remota como por ejemplo llevar a cabo una tele-cirugía.

La estructura distribuida básica de una WNCS es la siguiente:


el estado de la planta es captado por los sensores y mandado al controlador a través de la red inalámbrica. El controlador compara el estado con un modelo de referencia y calcula las señales de control adecuadas. Después la señal de control es enviada al actuador a través de la red inalámbrica para ser implementada en la planta. 

2. Problemas de diseño de red para los Sistemas de Control de Red (NCS).

Una red debe cumplir las siguientes limitaciones:
  • Paquetes frecuentes pequeños 
  • Retardo de paquetes limitado (entre menor el retardo mejor el desempeño).
  • Entrega de paquetes de calidad.
Los retardos y la falla al entregar paquetes pueden degradar el desempeño del NCS, por ello son los dos aspectos más importantes a tratar en el diseño de red para los NCS.

3. El modelo para la simulación
Se ha escogido un tanque de agua simple como la planta de menare que el retardo del controlador puede ser ignorado. El peso actual del agua es enviado al controlador. El controlador envía el flujo de entrada controlado al tanque, el cual está inicialmente vacío. El flujo de entrada es arreglado de acuerdo a la diferencia del peso del tanque y el peso deseado.

El modelo mencionado se muestra aquí : 


4. Resultados

Cuando usamos el NS2 para un modelo como este, la simulación nos arroja los siguientes archivos, para el propósito de análisis.


  • Archivo de rastreo: información detallada del paquete.
  • Archivo Nam: para ejecutar animaciones de la WNCS
  • Archivo de salida Plant: tiempo contra peso del agua.
Para información más extensa sobre este tema, puedes leer este documento PDF


Referencia:
http://link.springer.com/article/10.1007%2Fs11633-005-0187-x?LI=true

TAREA 4: CALIDAD DE SERVICIO

En mi entrada de laboratorio mencioné que iba a medir la calidad de servicio para la página http://www.seriales.us/ .

Por medio de la terminal podemos hacer ping a una página y al mismo tiempo recibir un archivo .dat para recibir los datos.

ping -c n -direccion- >> - nombre del archivo.DAT -  

donde n es la cantidad de pings que voy a recibir -direccion-  es el nombre de la página a la que le haremos ping, y nombre del archivo  es cómo quieres llamar al archivo .dat donde recibirás los datos.

El resultado es el siguiente: 



LATENCIA
En los resultados que nos lanzó este comando, podemos ver el retardo de cada paquete:


La variable time que vemos aquí es el tiempo que tomó cada paquete en llegar, o sea el Retardo/Latencia.

ACTIVIDAD 4: CALIDAD DE SERVICIO

Qué el QoS (Quality of Service) ?
Es la medida de la calidad de transmisión y disponibilidad de servicio de una red.

Cómo se mide?
Los factores que determinan la calidad de transmisión de una red son los siguientes:

1. Pérdida de paquetes
Es una medida relativa del número de paquetes que no fueron recibidos comparada con el número total de paquetes que fueron enviados. Este factor generalmente está en función de qué tanta disponibilidad 
tenga la red. Si la red tiene alta disponibilidad entonces la pérdida en momentos sin congestión será prácticamente cero.

2. Latencia/Retardo
El tiempo que tarda a un paquete enviado en llegar del punto de partida al punto final.

3. Jitter
Es la diferencia entre los retardos de los paquetes. Por decir si un paquete tardó en llegar 100 ms al punto de destino, y otro paquete tardó 125 ms en llegar, el Jitter (la variación entre retardos/latencia será de 25 ms).

4. Entrega fuera de orden
Cuando una colección de paquetes relacionados es ruteada por una red, los paquetes pueden tomar diferentes rutas y así resultar cada una con un diferente retraso. El resultado de esto es que los paquetes llegan en un orden diferente al que fueron enviados. En este caso se requieren protocolos especiales para re-ordenar los paquetes.

5. Errores
Algunas veces los archivos están corruptos debido a errores de bits causados por el ruido e interferencia, especialmente en comunicaciones inalámbricas y en cables grandes de cobre. Si el receptor detecta esto, debe pedir que la información sea re-transmitida.

Streaming de Video 
En mi caso, para la tarea de clase de esta materia, voy a medir la calidad del streaming de video para la página donde veo algunas series. Para las necesidades de este caso en la página de cisco (link en las referencias) nos hacen las siguientes recomendaciones:

  • Pérdida: no debería ser mayor a 5 %
  • Latencia/Retardo: no debe ser más de 4-5 segundos
  • Jitter: no hay requerimientos específicos.
  • Requerimientos de ancho de banda garantizados dependen del formato de codificación y la taza del stream de video.

Referencias

ACTIVIDAD 4: SOBRE LOS PROYECTOS DEL GRUPO

En la última clase de cómputo ubicuo cada equipo presentó un estudio de campo de sus respectivos proyectos; la tarea de esta semana consiste en dar nuestra opinión sobre lo que se mostró.

ALARMA INTELIGENTE PARA AUTOS
(Equipo 1)

La idea que este equipo sugiere es hacer uso del celular para controlar la alarma del automóvil, o para dar notificaciones de cualquier evento en el mismo. En su estudio de campo hicieron uso de encuestas a los usuarios para conocer las necesidades actuales de los mismos, y para ver que les parecía esta idea del celular.

La mayoría respondió de manera positiva, y en mi opinión también es una excelente idea incluir el celular a los eventos del automóvil, y es que es muy fácil que uno pierda las llaves, o que tengamos el mal hábito de dejarlas donde sea, y aveces no lo recordamos. En cambio, el celular siempre lo traemos con nosotros, y ahora que las redes sociales o incluso el trabajo siempre lo traemos en el dispositivo móvil es raro que nos despeguemos de él.

Además, pienso que es muy cómodo recibir en tu celular una notificación de si le ha pasado algo a tu auto, ya que si la recibieras en tu correo o en una computadora, tendrías que esperar hasta estar sentado y conectado para darte cuenta si algo ocurrió, en cambio con el celular la respuesta sería inmediata.

A manera de sugerencia, pienso en que podrían ser incluidos los RFID (los usaremos en nuestro proyecto). Estos no tienen que pasar necesariamente cerca de un lector, por ejemplo, en la puerta , si no que el carro podría detectar el celular a unos metros de distancia y automáticamente quitar seguros. O incluso ya cuando el auto detecte que el celular está adentro, encenderse solo. Pienso que esto sería seguro porque el RFID es único, y solo encendería con el celular del dueño. (A menos que te roben el celular, entonces ya valió tu carro también jaja)

SEGURIDAD EN LA COMPUTADORA
(Equipo 2)

Este equipo está enfocado en el bloqueo de la computadora. De las ideas que expusieron , se me hizo muy interesante aquella de que una película se pause cuando te distraes. Me gusta porque acostumbro ver series, y a veces me distrae una llamada al teléfono o alguna otra cosa y sería muy útil que se pausara sola la película al moverme de mi lugar o algo por el estilo.

En cuanto a la seguridad, hablan de autobloqueo, y tienen la idea de detección de rostro. Me gusta la idea pues sería una llave única. Ellos sugieren que la persona tendría que hacer gestos ante la cámara, para asegurarse de que no están poniendo solo una foto frente a la computadora, suena genial.

Pienso que también el usuario podría tomarse fotos en varios ángulos: de frente y volteando hacia los lados, para también asegurarse que no se trata de una foto. O simplemente detectar el rostro y después saludar con la mano o con la voz, para un tipo de doble llave.

Las encuestas realizadas por este equipo dieron como resultado que a los usuarios si les interesa un autobloqueo al retirarse de la computadora.

LOCALIZADOR
(Equipo 4)

La idea es un localizador GPS para rastrear algo del usuario, que de hecho el equipo deja el tema muy abierto puesto que incluso pregunta al usuario qué le gustaría rastrear (pertenencias, personas, mascotas, automóvil) . Al parecer los 2 asuntos más deseados serían personas y mascotas. Según las encuestas que este equipo realizó, lo más cómo para el usuario, sería que este localizador fuera una pulsera (en el caso de las mascotas un collar).

En mi opinión, si lo que se fuera a tratar específicamente fuera localizar personas, lo ideal si sería una pulsera, y se podrían aprovechar otras propiedades con la misma, por ejemplo, que la pulsera estuviera monitoreando el pulso del niño, pues me imagino que si , por ejemplo, el niño anda jugando en la plaza y de repente llega alguien desconocido y lo carga para llevarselo, el pulso del niño cambiaría mucho (incluso en comparación del pulso a cuando andaba corriendo). Esta podría ser la señal para enviar un evento al celular. Mi sugerencia es esta porque en las encuestas está la opción de un botón de pánico, pero creo que el niño asustado y sujetado por una persona, no tendría ni chance de presionar un botón.

GALERÍA INTELIGENTE
(Equipo 5)

Ellos buscan atraer a gente joven a las galerías de arte, y por ello quieren usar tecnología en las mismas. Los resultados de las encuestas que realizó este equipo mostraron que los usuarios concuerdan en que una galería inteligente atraería más gente que normalmente no se interesa en esto , que mejorará la calidad de las obras, o incluso brindaría seguridad a las mismas. También se mencionó que se podrían incluir pantallas táctiles para que el usuario tenga interacción con las obras.

La idea de la banda eléctrica NO me gusta. Si la idea es atraer gente nueva, esto no las atraería para nada pienso yo. Porque si de por sí algunas personas considerarían esto aburrido, pienso que se les haría más aburrido el hecho de no tendrían ni que moverse , solo permanecer parados todo lo que dura la exposición, tal vez hasta se duerman parados.

Tal vez una buena idea sería detectar los rostros de la gente, para saber cuando ponen cara de aburridos o de rechazo, y saber qué obras si les están gustando, y cuáles no. O incluso poner las obras en forma digital , así si se detecta una cara aburrida, se cambie la imagen actual por algo diferente.

Los dinosaurios suenan bien:


CAMA INTELIGENTE
(Equipo 6)

Lo que propone este equipo es interesante pues a todos nos sería útil. Proponen un sistema para ayudarnos a despertar a la hora que necesitamos. Primero hablaban de una cama con sensores, pero gracias a el estudio de campo, determinaron que la gente no estaría cómoda con eso, y que mejor preferirían que todo fuera mientras su dispositivo móvil.  Me gusta la idea de una alarma que vaya aumentando gradualmente, y no que empiece a sonar perturbadora desde el inicio.

En lo personal a mi si me gustaría una cama con sensores, para que sepa que aún no me he levantado, porque mis alarmas las dejos sonar muchas veces, o me levanto a apagarla pero me vuelvo a acostar. También sería una buena idea que tu cama de alguna forma te tumbara al suelo, o te rocíe agua si no te has levantado después de algún tiempo.

CASA INTELIGENTE
(Equipo 7)

En la encuesta realizada por este equipo, se deja ver que la implementación de algo así sería costosa, y por ello los resultados de la mismo muestran que los usuarios si quisieran una casa inteligente pero a precios accesibles. Estoy de acuedo con los usuarios en esto , y en que el enfoque debe estar en cerrar los ductos automáticamente si no lo hicimos antes de salir.

Una de las respuestas de la gente es querer una llave inteligente para todas las puertas de tu casa, pienso que el celular podría cumplir la función de esta llave maestra, por la misma razón que mencioné para otro de los proyectos: siempre lo traes contigo. Además si el celular también tiene tecnología para desbloquearse solo con el dueño, no habría ningún riesgo si el celular llega a ser robado.

Otra sugerencia podría ser que, en caso de que algún ladrón lograra entrar a la casa todas las puertas y ventanas se bloquearan, y la casa llamara automáticamente a la policía, y en caso de ser necesario, se soltara un gas inofensivo solo para dormir al ladrón.

LLAVE INTELIGENTE PARA AUTO
(Equipo 8)


En la encuesta que realizó este equipo los usuarios respondieron que lo ideal sería que la llave inteligente fuera el smartphone puesto que ya están acostumbrados a la usabilidad de este. Los resultados también arrojaron lo que mencioné en otros de los proyectos: la duda de que si el celular fuera robado , también correría el riesgo tu auto.

Para esto, sería una área de oportunidad el desarrollar una aplicación para el móvil donde se asegure que el celular se desbloquee solo con el dueño, así se aseguraría que el carro solo encendiera con el celular cuando esté en manos del mismo dueño y no con nadie más.


GARAGE INTELIGENTE
(Equipo 9)

Sugieren que el garage se abra mediante alguna de varias opciones en el auto: el móvil, las llaves o un código QR que lea una cámara colocada en el garage. Esta última no la considero atractiva porque de todas formas tendrías que acercarte hasta la entrada de tu garage para que la cámara pueda ver tu código, sería lo mismo que tener que esperar hasta llegar y clickear un control.

Las encuestas lanzaron que el usuario preferiría usar el smartphone, y yo opino lo mismo. Si tu celular está conectado a una red 3G y tienes wifi en tu casa, podrías programar tu garage para abrirse cuando estás a media cuadra de distancia o algo por el estilo, y no tener que esperar a estar mero enfrente del garage.

jueves, 21 de febrero de 2013

STRING MATCHING

For this homework we had to implement two algorithms for matching strings. These are Boyer-Moore algorithm and Knuth-Morris-Pratt algorithm. You can find a good and brief explanation along with C pseudocode of Boyer-Moore here, and here for Knuth-Morris-Prat.



Here's my implementation of the Boyer algorithm . It is unfinished.


////
You can run it by passing the TEXT and the PATTERN as arguments to the command prompt, it tells you if there is a match:


martes, 19 de febrero de 2013

ACTIVIDAD 3: COBERTURA DE REDES WIFI

Para la actividad 3 de este laboratorio tuvimos la tarea de monitorear las redes wifi que estuvieran alrededor de un punto escogido, donde la mayoría lo hicimos alrededor de nuestras casas. El objetivo aquí es saber con que potencia nos llega cada señal para poder pintarlas en google maps.

Monitorear las redes
Primero para poder ver que redes me llegaban y con qué potencia, usé el programa wavemon:

Para instalarlo y correrlo en ubuntu es simple:


La primer pantalla que vemos es la siguiente, con la información de la red que estás usando actualmente:


Para escanear las redes que llegan a tu computadora presionas F3, y te lanza la siguiente pantalla:


Donde nos está mostrando el nombre de cada red, seguido de su dirección MAC, después la intensidad de la señal , entre otros datos.



Pintar señales en Google Maps
Elegí 5 de las redes para pintarlas en un mapa, mostrando aproximadamente la intensidad de cada una de ellas. El código que estoy usando no fue hecho por mi, fue hecho por la Doctora Elisa Schaeffer y yo solo lo he modificado ajustándolo a lo que necesito.


El git del código es este: https://gist.github.com/Esteban-Sifuentes/ae42abf3f8b4689894f0

Referencias
http://www.linuxhispano.net/2012/09/24/wavemon-monitorizando-la-calidad-de-las-redes-wifi-con-ubuntu/

TAREA 3: ATAQUE ARP SPOOFING

Para esta ocasión teníamos la tarea de realizar un tipo de ataque a redes wifi. Mi elección fue el ARP Spoofing. Este ataque nos permite leer paquetes de datos, modificar o hasta detener el tráfico en una red LAN.

Para ello utilice el programa Ettercap.

En ubuntu el comando para instalarlo es el siguiente:


Para iniciarlo es así:


Con este programa el ataque es bastante simple. Seleccionas la opción Sniff > Unified Sniffing, y le pasas la interface de red mediante la que se va a realizar el ataque :


Despues de que nos lanza cierta información , escanearemos hosts dentro de nuestra red con la opcion Hosts > Scan Hosts


Para ver la lista de host disponibles para el ataque, elegimos Hosts > Hosts List, de donde podremos añadir nuestros objetivos eligiendo el host que queremos atacar y clickeando en ADD TO TARGET ...



Y para realizar el ataque a los hosts elegidos, simplemente elegimos: Mitm > Air poisoning y despues Start > Start Sniffing


Y listo, con eso es suficiente recibas los paquetes que están siendo transmitidos en los hosts dados.


Referencias:
http://es.wikipedia.org/wiki/ARP_Spoofing
Tutorial de Ettercap