Simulación y análisis de protocolos de capa MAC para redes inalámbricas de sensores
71
0
0
Texto completo
(2) CONTENIDO. LISTA DE FIGURAS. 4. 1. INTRODUCCIÓN. 1. 2. REDES DE SENSORES INALÁMBRICAS (WSN). 3. 2.1 Aplicaciones 2.1.1 Ejemplos de aplicaciones 2.1.2 Tipos de aplicaciones. 3 3 4. 2.2 Restricciones de los nodos sensores. 5. 2.3 Patrones de comunicación típicos en WSN. 8. 2.4 Factores que incrementan el consumo de energía en la capa MAC. 8. 3. PROTOCOLOS DE CONTROL DE ACCESO AL MEDIO PARA WSN. 10. 3.1 Tipos de protocolos de acceso al medio. 10. 3.2 Protocolos de capa MAC para WSN 3.2.1 S-MAC 3.2.1.1 Escucha adaptativa (“ Adaptive Listening”) 3.2.2 T-MAC 3.2.3 Preamble Sampling 3.2.4 B-MAC 3.2.5 SCP-MAC 3.2.6 DMAC 3.2.7 WiseMAC 3.2.8 CSMA-MPS 3.2.9 X-MAC 3.2.10 STEM 3.2.11 Rate –Est 3.2.12 LMAC 3.2.13 Z-MAC. 11 11 14 14 17 19 20 22 24 25 25 26 27 28 28. 4. PROPUESTA DE PROTOCOLO (LEMR). 31. 4.1 Problemas de los protocolos de bajo consumo de energía en redes de múltiples saltos. 31. 4.2 Elección de la estrategia de ahorro de energía. 33. 4.3 Disminución del retardo en redes de múltiples saltos. 35. 4.4 Estrategia de enrutamiento. 38. 4.5 LEMR – Descripción general del protocolo 4.5.1 Sincronización. 39 39.
(3) 4.5.2 Transmisión de paquetes 4.5.3 Enrutamiento. 5. SIMULACIÓN Y EVALUACIÓN. 42 44. 46. 5.1 Implementación del modelo de capa física. 46. 5.2 Implementación de S-MAC. 48. 5.3 Implementación de T-MAC. 49. 5.4 Implementación de LEMR. 50. 5.5 Escenarios de simulación. 50. 5.6 Resultados de las simulaciones 5.6.1 Comportamiento del retardo 5.6.2 Consumo de energía 5.6.3 Comportamiento de las colas 5.6.4 Variación del retardo 5.6.5 Observaciones generales. 51 51 55 57 60 61. 6. CONCLUSIONES. 63. REFERENCIAS. 65.
(4) LISTA DE FIGURAS FIGURA 1. PRINCIPALES COMPONENTES DE UN NODO SENSOR. 6. FIGURA 2. PERIODOS ACTIVOS E INACTIVOS EN S-MAC. 12. FIGURA 3. SINCRONIZACIÓN DE NODOS EN S-MAC. 12. FIGURA 4. ESQUEMA DE FUNCIONAMIENTO DE T-MAC. 16. FIGURA 5. MECANISMO DE ADICIÓN DE PREÁMBULOS. 18. FIGURA 6. EFECTO DE LA ADICIÓN DE PREÁMBULOS EN EL THROUGHPUT. 18. FIGURA 7. EFECTO DE LA ADICIÓN DE PREÁMBULOS EN EL RETARDO. 19. FIGURA 8. MÉTODO DE INICIO DE TRANSMISIONES SINCRONIZADO CON REVISIÓN DEL CANAL EMPLEADO POR SCP-MAC. 21. FIGURA 9. ADAPTIVE CHANNEL POLLING. 22. FIGURA 10. PROGRAMACIÓN ESCALONADA EMPLEADA POR DMAC. 23. FIGURA 11. ACUMULACIÓN DEL RETARDO EN UNA RED DE MÚLTIPLES SALTOS. 32. FIGURA 12. MUESTREO DEL CANAL DE UN NODO MICA2. 34. FIGURA 13. NODO A ADELANTADO UN TIEMPO ∆ CON RESPECTO AL NODO B. 36. FIGURA 14. SINCRONIZACIÓN DE NODOS EN UNA RED LINEAL DE TRES SALTOS. 38. FIGURA 15. TRANSMISIÓN DE UN PAQUETE EN LEMR. 41. FIGURA 16. TIEMPOS DE INICIO DE TRANSMISIÓN. 43. FIGURA 17. RED LINEAL CON UNA FUENTE Y UN SUMIDERO. 50. FIGURA 18. VARIACIÓN DEL RETARDO CON LA CANTIDAD DE SALTOS PARA 10 SEGUNDOS ENTRE LLEGADAS DE PAQUETES A LA FUENTE. 52. FIGURA 19. VARIACIÓN DEL RETARDO CON LA CANTIDAD DE SALTOS PARA 1 SEG. ENTRE LLEGADAS DE PAQUETES A LA FUENTE. 53. FIGURA 20. VARIACIÓN DEL RETARDO CON EL TRÁFICO, 10 SALTOS. 54. FIGURA 21. VARIACIÓN DEL RETARDO PROMEDIO EN LA TRANSMISIÓN DE RÁFAGA. 55. FIGURA 22. VARIACIÓN DE LA ENERGÍA PROMEDIO CONSUMIDA POR UN NODO EN UNA RED LINEAL DE DIEZ SALTOS. 55. FIGURA 23. CONSUMO DE ENERGÍA, ESCENARIO DE TRÁFICO PESADO. 56. FIGURA 24. CONSUMO DE ENERGÍA EN ESTADO “ IDLE”. 57. FIGURA 25. LONGITUD DE LA COLA EN EL NODO FUENTE. 58. FIGURA 26. LONGITUD PROMEDIO DE LA COLA EN LOS NODOS INTERMEDIOS. 58. FIGURA 27. LONGITUD DE LA COLA EN EL NODO FUENTE PARA, TRÁFICO DE RÁFAGA 59 FIGURA 28. LONGITUD DE COLA EN LOS NODOS INTERMEDIOS, TRÁFICO DE RÁFAGA. 60. FIGURA 29. VARIACIÓN DE “JITTER”. 60. FIGURA 30. VARIACIÓN DE “JITTER”, TRANSMISIÓN DE RÁFAGA. 61.
(5) 1. INTRODUCCIÓN Los avances recientes en áreas como microsistemas, comunicaciones inalámbricas y electrónica digital ha posibilitado el desarrollo de sensores inalámbricos de bajo costo y pequeño tamaño que cumplen funciones de detección de variables físicas, procesamiento de datos y comunicación [1]. Gracias a estos avances es posible crear redes de sensores inalámbricas (WSN – “wireless sensor networks”) consistentes en un gran número de pequeños nodos que recopilan información del medio o detectan eventos especiales y se comunican de manera inalámbrica con el objeto de transmitir los datos procesados a una estación base [2]. La idea de crear WSN capaces de interactuar con el mundo real ha impulsado el desarrollo de nuevos protocolos de comunicación capaces afrontar los retos que plantea este nuevo tipo de redes. Uno de los retos más visibles es la escasez de recursos disponibles en los nodos que conforman la red. Estos recursos escasos incluyen la capacidad de procesamiento, la memoria RAM y la energía disponible. De todos ellos el que mayor atención ha recibido es la energía disponible. Se espera que en las aplicaciones reales los nodos puedan operar con baterías, y ya que en muchas de estas aplicaciones proyectadas el reemplazo de baterías es complejo o imposible, el consumo de energía es determinante para el tiempo de vida de la red. Los protocolos que se han desarrollado desarrollados específicamente para WSN emplean diferentes estrategias para reducir el consumo de energía. Una estrategia de reducción de energía empleada por la mayoría de protocolos de capa M AC diseñados para WSN consiste en apagar el radio cuando no se está utilizando. El problema de esta estrategia radica en determinar el momento en que se debe encender de nuevo el radio para permitir la recepción de tramas dirigidos al nodo, o servir como salto intermedio para reenviar paquetes. Se han planteado varios protocolos que enfrentan de manera diferente este problema, como se muestra en capítulos posteriores. Usualmente la reducción de energía trae como costo directo la disminución del desempeño de la red, medido con parámetros como el retardo o el caudal. Las desmejoras en el desempeño, principalmente el incremento del retardo, limitan el campo de aplicación de los protocolos a redes en las cuales el tiempo de respuesta no sea importante, sin embargo no es difícil pensar en aplicaciones que requieran respuestas rápidas, como sistemas de vigilancia en los cuales se deban tomar medidas de acuerdo al estado reportado por los nodos. En este documento proponemos un protocolo (LEM R) que permite mejorar el desempeño de la red manteniendo un bajo consumo de energía. En el desarrollo de LEM R analizamos las estrategias empleadas por protocolos de capa MAC para reducir el consumo y su impacto en el desempeño de la red y planteamos una estrategia que utiliza la desincronización de los nodos para disminuir el retardo de los paquetes y adopta un eficiente esquema de ahorro de energía para reducir el consumo de los nodos y aumentar así la vida útil de la red.. 1.
(6) El protocolo LEM R propuesto en el presente documento aprovecha el conocimiento de lo patrones de tráfico para optimizar el desempeño de la red e integra las funciones de control de acceso al medio con el enrutamiento mejorando el desempeño de los nodos y reduciendo la complejidad de los protocolos y la memoria necesaria para su operación, la cual es escasa en los nodos sensores típicos. LEM R es un protocolo flexible que permite la auto-configuración de la red, eficiente energéticamente, requiere tan solo información local de sus vecinos y tiene un buen desempeño en redes de múltiples saltos. Durante el desarrollo del trabajo presentado en el presente documento se aprovechó la herramienta Qualnet 4.0 para implementar modelos, no solo del protocolo LEM R sino también de otros protocolos de capa MAC desarrollados para redes de sensores inalámbricas, como S-M AC y T-M AC, además de un modelo de capa física del radio CC2420. En el segundo capítulo del documento se presentan algunos aspectos generales de las redes de sensores inalámbricas relevantes para el trabajo realizado, incluyendo un vistazo a posibles aplicaciones, características de los nodos que se deben tener presentes, problemas de energía y los principales patrones de comunicación que se observan en WSN. En el tercer capítulo se realiza una revisión de los principales protocolos de capa MAC diseñados para redes de sensores inalámbricas, incluyendo los protocolos S-MAC y T-MAC cuyos modelos fueron implementados en Qualnet. El cuarto capítulo presenta nuestra propuesta de protocolo LEM R, incluyendo una descripción de los principales problemas abordados y las estrategias de solución planteadas. En el capitulo quinto se describen los modelos implementados en Qualnet 4.0 y se presentan en forma comparativa los resultados de las simulaciones realizadas. Por último en el sexto capitulo presentamos las principales conclusiones del trabajo realizado.. 2.
(7) 2. REDES DE SENSORES INALÁMBRICAS (WSN) 2.1 Aplicaciones Las redes de sensores inalámbricas (WSN) posibilitan una nueva forma de interacción entre los sistemas computacionales y el mundo físico. Características propias de las redes sensores como la posibilidad de percibir los fenómenos cerca al lugar en que ocurren, su distribución típicamente aleatoria y la coordinación de funciones entre los nodos a alentado a los investigadores a proponer aplicaciones en una amplia variedad de áreas como medicina, biología, construcción, vigilancia, aplicaciones militares y transporte entre otras [1].. 2.1.1 Ejemplos de aplicaciones Las expectativas generadas en torno a las posibles aplicaciones de las redes de sensores inalámbricas giran en torno a la simplificación y expansión en campos donde actualmente se emplean sensores convencionales y en la creación de áreas de aplicación completamente nuevas. A continuación se muestran algunos ejemplos de aplicaciones que se han propuesto para redes de sensores inalámbricas [1], [2], [3], [4]: -. Monitoreo ambiental: Dada la sensibilidad de algunos entornos a la presencia humana se ha propuesto emplear en el estudio de entornos naturales sensores no invasivos que no requieran de infraestructura cableada y sean fácilmente ocultables. La posibilidad de observar detalles específicos y simultáneamente cubrir un espacio amplio hacen a las WSN una alternativa importante para mapear la biodiversidad de un ecosistema. Las redes de sensores pueden emplearse también para monitorear y estudiar fenómenos que no admiten la presencia humana, como huracanes o incendios forestales.. -. Prevención y atención de desastres: La atención de desastres es una aplicación usualmente mencionada en la literatura. Como ejemplo tenemos el caso de un incendio forestal, como una red de sensores puede distribuirse aleatoria y densamente en un bosque, la información suministrada puede emplearse para trazar un mapa de temperaturas del área detectar el origen y los límites del fuego.. -. Agricultura de precisión: La agricultura es un ejemplo del empleo de WSN no sólo para la recolección y análisis de datos, sino también para la toma de decisiones, como la adición de fertilizantes o el empleo de un determinado tipo de insecticida, basadas en los datos recolectados por la red.. -. Cuidado de la salud: Las WSN pueden encontrar un campo de aplicación importante en el cuidado de la salud, las aplicaciones más naturales en este campo son el monitoreo de signos vitales y la detección de accidentes. Las WSN pueden emplearse para capturar los signos vitales de un paciente y transmitirlos en tiempo real a computadores del personal médico.. 3.
(8) -. Edificios inteligentes: Con las WSN en distribuidas en edificaciones se puede disponer de un monitoreo preciso en tiempo real de condiciones ambientales como temperatura, humedad, ventilación y otros parámetros físicos. Esta información se puede emplear para optimizar sistemas como la ventilación y la calefacción del edificio, aumentando el bienestar de los ocupantes y reduciendo el consumo de energía.. -. Monitoreo de estructuras: Las redes de sensores pueden emplearse en estructuras para detectar, localizar y estimar la extensión de daños y predecir el tiempo de vida de la estructura.. -. Vigilancia y mantenimiento de maquinaria: Una aplicación de interés industrial es el monitoreo y mantenimiento de maquinaria mediante la determinación de niveles de lubricación o vibración. El empleo de sensores inalámbricos en lugar de sensores cableados además de permitir el acceso a lugares difíciles puede representar un ahorro en infraestructura y mantenimiento del sistema de control.. -. Control de tráfico: Es común la aplicación de redes de sensores en el control de tráfico, sin embargo los costos de estas redes obligan a restringir su uso a unos pocos puntos críticos. El empleo de redes más económicas permitirá extender su uso a muchas intersecciones posibilitando a los operadores de tráfico formar un cuadro global del estado de la zona y realizar un control más preciso.. 2.1.2 Tipos de aplicaciones Varias de las aplicaciones propuestas tienen características comunes. En la mayoría de los casos es posible diferenciar los nodos sensores que detectan las variables del medio físico directamente (fuentes) de los que recopilan los datos detectados (sumideros). En [3] se describen las fuentes como los elementos de la red que proporcionan la información, esto es, un nodo sensor típico. Por otra parte los sumideros son los elementos que requieren la información, y pueden ser nodos sensores pertenecientes a la red o, como ocurre normalmente, equipos diferenciados del resto de la red como computadores que recopilan la información o “gateways” para comunicarse con otra red, por ejemplo, Internet. Las aplicaciones se pueden agrupar dependiendo del tipo de comunicación predominante, una clasificación posible que se presenta en [3] es la siguiente: -. Detección de Eventos: Cuando un nodo sensor detecta un evento (por ejemplo, el sobrepaso de un valor umbral) reporta la información pertinente al sumidero. En este tipo de aplicaciones la transmisión de información hacia el sumidero se presenta de manera ocasional y el instante de ocurrencia de un evento es aleatorio.. -. Mediciones periódicas: Los sensores pueden reportar información periódicamente al sumidero, el periodo entre reportes depende de la aplicación.. 4.
(9) -. Aproximación de funciones y detección de fronteras: El valor de una variable física puede requerirse como una función de la posición. Una WSN puede emplearse para determinar esta función empleando una cantidad limitada de muestras de cada nodo sensor. El mapeo obtenido debe estar disponible en el sumidero. La frecuencia con que se actualiza el mapeo depende de las características particulares de la aplicación. Un problema similar es la detección de áreas o puntos con un valor específico, por ejemplo la detección de isotermas en el área de un incendio.. -. Rastreo: Las WSN pueden emplearse para reportar la posición de un objetivo al sumidero y estimar su velocidad y dirección. Para lograrlo los nodos típicamente deben cooperar antes de reportar la información al sumidero.. Las posibles aplicaciones pueden incluir combinaciones de los tipos anteriormente descritos y otras formas de interacción. Los requerimientos de la red varían de acuerdo al tipo de aplicación, a la posibilidad de mantenimiento, al tiempo de vida esperado de la red, a las condiciones ambientales y a otros factores, lo que genera una variedad de soluciones y de características de operación.. 2.2 Restricciones de los nodos sensores Las utilidades que se esperan obtener de las WSN imponen estrictas restricciones a los nodos sensores. Para lograr la visión de ambientes inteligentes se requiere dotar a sistemas físicos complejos con instrumentos de volumen extremadamente pequeño y aplicaciones que emplean un número extremadamente alto de éstos instrumentos [5]. Para otro tipo de aplicaciones el tamaño no es tan importante pero sí se necesitan otras características particulares, entre las exigencias que pueden presentarse a los nodos sensores tenemos [1]: -. Consumo de potencia extremadamente bajo Operación en altas densidades volumétricas Bajos costos de producción Operación autónoma y desatendida Adaptabilidad al ambiente. De los factores anteriores el bajo consumo de potencia requiere atención especial. Dado que los nodos con frecuencia son inaccesibles, el tiempo de vida de la red depende de la duración de la fuente de energía. Además teniendo en cuenta las limitaciones de tamaño, y ya que en los dispositivos de almacenamiento de energía convencionales, como las baterías, la capacidad esta directamente relacionada con el tamaño, la energía se convierte en un recurso escaso. Un nodo sensor típico se encuentra conformado por cuatro componentes [2] como se ilustra en la figura 1 donde se identifica el bloque de comunicaciones, el modulo de sensores y conversores, la unidad de procesamiento con una memoria interna o externa, y la unidad de potencia.. 5.
(10) Además de los componentes principales ilustrados en la figura 1 es posible que se requieran componentes adicionales como sistemas de localización o generadores de potencia, dependiendo de las condiciones específicas de la red.. Figura 1. Principales componentes de un nodo sensor La unidad de sensores y convertidores constituye la interfaz con el mundo físico. Se encuentra típicamente compuesto por los sensores y una unidad de conversión analógicadigital que permite la alimentación al procesador de las señales generadas por los sensores. La unidad de procesamiento se encarga de colectar los datos de los sensores, procesarlos, decidir como y cuando transmitirlos, recibir datos de otros nodos, y en general ejecutar los programas del nodo. Es la unidad de procesamiento central del nodo. El bloque de comunicaciones es el encargado de recibir y transmitir los mensajes al canal inalámbrico. La mayoría de los nodos emplean radios aunque es posible emplear enlaces infrarrojos o laser. La unidad de potencia es un componente importante del nodo, usualmente se emplean pilas aunque su gran tamaño y su baja capacidad de almacenamiento se constituyen en una limitante importante de las redes. Como alternativa al uso de pilas convencionales se ha propuesto el uso de celdas de combustible, de turbinas miniaturizadas, y la obtención de energía del medio empleando celdas fotovoltaicas, o aprovechando la energía de vibraciones, el flujo de aire o líquidos, las variaciones de presión y las diferencias de temperatura, entre otros. En los últimos años se han desarrollado varias plataformas de “hardware” para nodos sensores inalámbricos que emplean diferentes tecnologías para su construcción, en la tabla I y en la tabla II se observan las principales características de algunos microcontroladores y radios que han sido empleados en el desarrollo de nodos sensores.. Tabla I. Características de microcontroladores empleados en nodos sensores AT90LS8535. CPU. 8 bit, 4MHz 19,2 mW Activo 5,7 mW “Idle”. 6.
(11) Memoria. ATmega128L. 8 kByte FLASH 512 Byte SRAM 512 Byte EEPROM 8 bit, 8MHz 15,5 mW Activo 7,5 mW “Idle” 128kByte FLASH 4 kByte SRAM 4 kByte EEPROM 16 bit, 8MHz 1,26mW Activo 165µW Modo Baja Potencia 60kByte+256Byte FLASH 2 kByte RAM 32 bit, 13-416MHz 31mW Activo 390µW “Sleep” 32 MBytes RAM 32 MBytes FLASH. CPU. Memoria. MSP430. CPU. Memoria PXA271. CPU. Memoria. Como se puede observar en la tabla I la memoria RAM disponible en la mayoría de los microprocesadores empleados es escasa, aunque en algunos nuevos nodos como los Imote2 que emplean el procesador PXA271 de Intel la memoria RAM disponible no es tan restringida. Aún cuando es de esperar que se desarrollen nodos con más capacidad, es aconsejable que el “software” haga uso eficiente de la memoria evitando sobrecostos por el empleo de nodos con más recursos de los necesarios. Tabla II. Características de radios empleados en nodos sensores TR1000. CC1000. CC2420. 916.5 MHz 115.2 kbps 2µW “Sleep” 12mW Rx 36mW Tx 300-1000MHz 76 kbps 100µW “Sleep” 36mW Rx 75mW Tx 2,4GHz 250 kbps 60µW “Sleep” 59mW Rx 91mW Tx. También podemos observar como el consumo de energía es altamente dependiente del modo de operación de los componentes. Observando la tabla II vemos que la potencia consumida durante la transmisión es del mismo orden de magnitud que la potencia consumida en la recepción de datos, como se indica en [6] esto ocurre como consecuencia de la baja potencia de los radios, que usualmente se encuentran diseñados para tener una corta distancia de transmisión (del orden de las decenas de metros). Por otra parte la potencia consumida por el radio cuando se encuentra encendido a la espera de datos (“idle”) normalmente es similar a la potencia consumida durante la recepción, por lo tanto. 7.
(12) para obtener ahorros importantes es aconsejable apagar completamente el radio (modo “sleep”) siempre que sea posible.. 2.3 Patrones de comunicación típicos en WSN Como se ha indicado en la sección 2.1.2 para una amplia cantidad de aplicaciones, principalmente de monitoreo, se pueden distinguir dos tipos de nodos: el primer tipo lo constituyen los nodos sensores típicos encargados de obtener la información del medio físico y transmitirla, o en ocasiones sólo retransmitir información recolectada por un vecino, y el segundo grupo esta formado por los nodos que recopilan la información o sumideros. Para estas redes se han identificado [7] tres patrones principales de comunicación: -. Broadcast: Este tipo de comunicación, también denominado “flooding” en [8], es generalmente empleado por el sumidero para transmitir información a todos los nodos que conforman la red, esta información que puede incluir actualizaciones del funcionamiento de la red y requerimientos a los nodos sensores entre otros. En principio la comunicación es iniciada por el sumidero y retransmitida a toda la red por los nodos sensores que la reciben.. -. Convergecast: En general los nodos deben reportar su información al sumidero periódicamente o por la ocurrencia de un evento, estos mensajes en general deberán pasar por varios saltos para poder llegar al sumidero. Una característica de este tráfico es que los nodos en la ruta hacia el sumidero más cercanos a éste deben manejar una mayor cantidad de tráfico que los nodos más alejados.. -. Local gossip: En una red densa los eventos que ocurren en el entorno generalmente son detectados por varios. En algunas aplicaciones la información obtenida por los nodos no se envía en forma cruda al sumidero sino que procesa mediante la comunicación local entre vecinos. De esta forma los nodos pueden corroborar la información o derivar información nueva, además de esta manera se disminuye la cantidad de datos transmitidos al sumidero.. 2.4 Factores que incrementan el consumo de energía en la capa MAC Como se ha visto el bajo consumo de energía es uno de los principales requerimientos de las redes de sensores. En la operación del radio se consume un porcentaje significativo del total de energía que gasta el nodo, es por eso que la mayor parte de las investigaciones en protocolos de control de acceso al medio (M AC) se han concentrado en el manejo adecuado de los radios para economizar energía, sacrificando la mayoría de las veces otros parámetros de desempeño como el retardo y el caudal.. 8.
(13) Los radios empleados en los nodos sensores pueden estar en uno de cuatro estados: transmitiendo, recibiendo, escuchando a la espera de datos (“idle”) o apagado (“sleep”). En términos generales [3] el consumo energético de la transmisión es alto, el de la recepción es del mismo orden de magnitud que de la transmisión, cuando se está en estado “idle” el consumo es similar al de la recepción y en estado “sleep” el consumo es varios órdenes de magnitud inferior que en los demás estados pero el nodo es incapaz de interactuar con el resto de la red. Es por esto que la mayoría de los protocolos de capa M AC ha adoptado como principal mecanismo de ahorro de energía mantener los radios apagados durante la mayor cantidad de tiempo posible. Se han identificado como las mayores fuentes de consumo de energía las siguientes [9]: -. Colisiones: Cuando ocurre una colisión y se corrompe el paquete se incurre en un consumo inútil de energía tanto en el transmisor como en el receptor, además se incrementa el retardo de los paquetes.. -. Overhearing: Por “overhearing” se entiende el que un nodo reciba paquetes destinados a otro nodo. La energía consumida por la recepción de estos paquetes no tiene utilidad y puede convertirse en un problema importante en redes densas donde existen muchos vecino dentro del rango de recepción de un nodo.. -. Overhead: Los encabezados y los paquetes de control consumen energía sin contener datos de interés. Por tanto es necesario utilizar la menor cantidad de encabezados posible, como también la mínima cantidad de paquetes de control.. -. Idle Listening: El “idle listening” ocurre cuando los nodos permanecen escuchando el canal con su radio encendido aún cuando no hay ningún paquete por recibir. En aplicaciones con poco tráfico, comunes en redes de sensores, los nodos permanecen escuchando inútilmente el canal la mayor parte del tiempo, consumiendo cantidades significativas de energía.. Como se verá en mayor detalle en el capítulo 4 de los problemas anteriormente citados el de “idle listening” representa el más grave en cuanto a consumo innecesario de energía. Este problema que se presenta en todas las redes inalámbricas se ve agudizado en las redes de sensores por el bajo tráfico que presentan.. 9.
(14) 3. PROTOCOLOS DE CONTROL DE ACCESO AL MEDIO PARA WSN La misión principal de los protocolos de control de acceso al medio (M AC) es regular la manera en que un conjunto de nodos accede un medio compartido de forma tal que se cumplan ciertos requerimientos de operación que dependen de la aplicación. Los protocolos de la capa MAC se encuentran directamente encima de la capa física y por lo tanto son fuertemente influenciados por sus propiedades. Dado que el radio consume una cantidad importante del total de energía requerida por el nodo es posible obtener grandes ahorros si los protocolos de capa M AC manejan correctamente el radio. Teniendo esto presente se han desarrollado múltiples protocolos de capa M AC específicamente para redes de sensores inalámbricas, principalmente orientados a la eficiencia en el consumo de energía. Estos protocolos típicamente logran reducir el consumo a costa del desmejoramiento de otros parámetros de funcionamiento como el retardo, el caudal y la equidad en el acceso al canal (“fairness”). Como se ha indicado anteriormente una de las principales estrategias empleadas para ahorrar energía consiste en apagar el radio la mayor cantidad de tiempo posible. Cada protocolo de capa M AC tiene su propia política para apagar y encender el radio, dependiendo de sus políticas de acceso al canal y del desempeño que se aspire lograr.. 3.1 Tipos de protocolos de acceso al medio Aunque existen muchos criterios bajo los cuales se pueden clasificar los protocolos de acceso al medio, un criterio frecuentemente empleado se basa en la cantidad de nodos que tienen la posibilidad de competir para transmitir a un receptor en un mismo instante [3]. Los protocolos pueden ser entonces del tipo basado en contienda o basados en programación (“scheduling”). La diferencia principal entre las dos clases de protocolos anteriores es que en los protocolos basados en contención cualquier nodo puede intentar transmitir paquetes en cualquier momento, mientras que en los protocolos basados en programación se asignan franjas o ranuras de tiempo a cada nodo, un nodo puede transmitir paquetes a otros nodos únicamente durante la franja (puede ser de tiempo o frecuencia) asignada a éste. Una ejemplo típico de los protocolos basados en contienda es CSM A (carrier sense multiple acces). En este tipo de protocolos el nodo primero escucha el canal y si encuentra que éste esta libre inicia la transmisión, si por el contrario el canal se encuentra ocupado el nodo retrasa la transmisión de acuerdo a un procedimiento que depende de las características particulares del protocolo. En general los algoritmos basados en CSM A son simples, flexibles y robustos [10], no tienen grandes exigencias de sincronización ni requieren información de la topología global de la red, y el ingreso o salida de nodos no exige muchas variaciones en la red. Sin embargo en este tipo de protocolos es posible que 10.
(15) se presenten colisiones cuando dos o más nodos en el rango del receptor transmiten al mismo tiempo. Aunque las colisiones con vecinos que se encuentran a un salto de distancia se reducen por la revisión del canal antes de la transmisión, este mecanismo no funciona para transmisores que se encuentre a más de un salto distancia, este problema, conocido como el problema de la terminal oculta, se puede aliviar con el intercambio de paquetes de control RTS (request to send) y CTS (clear to send), pero esto aumenta el problema del “overhead” mencionado en la sección 2.3. Entre los protocolos basados en programación un esquema típico es el TDM A (“time division multiple acces”) el cual divide el tiempo en “superframes” cada uno de los cuales es subdividido en ranuras. Cada una de las ranuras es asignada exclusivamente a un nodo el cual puede transmitir en esta ranura periódicamente cada “superframe”. TDMA puede resolver el problema de la terminal oculta sin emplear paquetes de control adicionales, y no permite colisiones. Una desventaja que tiene es la dificultad para establecer una programación, con frecuencia esta tarea requiere un nodo central. Por otra parte TDM A requiere la sincronización precisa de los nodos, con nodos económicos puede ser necesario sincronizar frecuentemente los relojes aumentando el intercambio de paquetes de control y por lo tanto el consumo de energía. Un problema adicional se presenta debido a que en las redes de sensores pueden ocurrir cambios frecuentes de topología debido a variaciones en el canal, en el ambiente físico o al agotamiento de las baterías, manejar esto cambios resulta complejo en TDMA, requiriendo probablemente una actualización de toda la red.. 3.2 Protocolos de capa MAC para WSN A continuación presentaremos algunos de los protocolos de capa M AC desarrollados específicamente para redes de sensores inalámbricas que con mayor frecuencia se encuentran referenciados en la literatura especializada.. 3.2.1 S-MAC El protocolo S-M AC (Sensor M AC) propuesto por W. Ye, J. Heidemann y D. Estrin [9] es uno de los más citados en la literatura. Este protocolo es esencialmente del tipo basado en contienda, aunque contiene también características de los protocolos basados en programación ya que limita las transmisiones a una ventana de tiempo específica. El objetivo principal de S-M AC es reducir el consumo de energía. El primer problema que ataca el protocolo es la reducción del tiempo de escucha inútil de los nodos (“idle listening”), para lo cual apaga periódicamente el radio. También se disminuye el problema del “overhearing” (descrito en la sección 2.3) permitiendo que los nodos duerman cuando saben que una comunicación entre vecinos se encuentra en curso. Para evitar las colisiones se emplea un mecanismo similar al empleado en el estándar 802.11 [11].. 11.
(16) Al plantear S-M AC se supone que en las redes de sensores los nodos permanecen inactivos por largos periodos de tiempo, dado que los eventos de interés se presentan con baja frecuencia. En S-M AC se supone además que las aplicaciones son tolerantes al retardo ya que, como se verá más adelante, el empleo del protocolo incrementa el retardo de los paquetes. El mecanismo principal de S-MAC se ilustra en la figura 2 y consiste en la división del tiempo en ciclos o “frames”, cada uno de los cuales se subdivide en un periodo activo (“listen”) y un periodo inactivo (“sleep”). Durante el periodo inactivo los nodos apagan su radio e inician un temporizador para reactivarse posteriormente.. Figura 1. Periodos activos e inactivos en S-M AC La duración del periodo activo normalmente es establecida de acuerdo a parámetros fijos como la duración de la ventana de contienda y el ancho de banda, la duración del periodo inactivo se debe ajustar a los requerimientos particulares de la aplicación, principalmente al tráfico esperado, al máximo retardo admisible, a la cantidad de paquetes que se pueden perder y al ahorro de energía necesario. La relación entre el periodo activo y la duración total del ciclo (“frame”) se denomina el “ciclo útil” y se ajusta modificando el tiempo inactivo de los nodos. Para que los nodos puedan comunicarse entre sí se debe realizar una sincronización entre nodos vecinos de tal forma que el periodo activo inicie simultáneamente. En una red de múltiples saltos no todos los nodos se deben sincronizar simultáneamente ya que es posible que dos nodos vecinos se sincronicen con nodos diferentes, un ejemplo se muestra en la figura 3 en la cual los nodos A y B pueden tener programaciones diferentes al sincronizarse con nodos diferentes, representados como C y D.. Figura 2. Sincronización de nodos en S-M AC. Nodos A y B se sincronizados con C y D respectivamente Para sincronizarse los nodos transmiten “broadcast” periódicamente con paquetes de sincronización (SYNC) a sus vecinos. El periodo de sincronización es el tiempo entre dos transmisiones sucesivas de un SYNC por parte de un mismo nodo. Antes de que un nodo inicie su ciclo de periodos activos e inactivos requiere elegir una programación e intercambiarla con sus vecinos.. 12.
(17) Cada nodo mantiene una tabla de programaciones que almacena las programaciones de todos sus vecinos conocidos. Para establecer su programación un nodo sigue los siguientes pasos: -. -. -. Inicialmente el nodo escucha por una cantidad de tiempo fija, la cual es por lo menos igual al periodo de sincronización. Si en este tiempo no escucha ninguna información de sincronización inmediatamente elige su propia programación y la sigue. Entre tanto el nodo trata de anunciar su programación transmitiendo un paquete SYNC. Si el nodo recibe un paquete SYNC de un vecino antes de elegir o transmitir su propia programación, sigue la programación del vecino ajustando la propia a la información contenida en el paquete SYNC. En el siguiente periodo activo el nodo intentará anunciar la programación adoptada. Existen dos casos posibles si el nodo recibe un paquete SYNC después de anunciar su programación. Si el nodo no tiene vecinos elimina su propia programación y adopta la contenida en el paquete SYNC recibido. Si el nodo ya tiene vecinos almacena la información de las dos programaciones para poder levantarse y transmitir también al vecino del cual acaba de recibir el SYNC.. En el periodo activo los nodos contienden por el medio. Con el objeto de que los nodos reciban paquetes de sincronización (SYNC) y de datos, el periodo activo se divide en dos subperiodos, el primera para paquetes SYNC y el segunda para paquetes de datos. Cada uno de estos subperiodos contiene su propia ventana de contienda durante la cual el transmisor compite por el acceso al canal. Si varios nodos desean transmitir tratarán de hacerlo al inicio del primer subperiodo del periodo activo si se desea transmitir un paquete de sincronización o al inicio del segundo subperiodo si se desea transmitir un paquete de datos. Para disminuir la probabilidad de una colisión S-M AC emplea un mecanismo similar al de 802.11 [11], incluyendo la revisión física y virtual de la portadora y el intercambio de paquetes RTS/CTS para prevenir el problema de la terminal oculta. Cada vez que se transmite un paquete, un campo en éste indica el tiempo restante para finalizar la transmisión. Cuando un nodo cualquiera recibe un paquete destinado a otro, verifica el tiempo para finalizar la transmisión y lo compara con el valor de su NAV (netwok allocation sensor), el cual es un contador descendente de tiempo. Si la duración de la transmisión es superior al tiempo indicado por el NAV, este último se actualiza con la duración recibida. Antes de iniciar una transmisión el nodo verifica el valor del NAV, si su valor es diferente de cero se determina que el medio esta ocupado. Este mecanismo se conoce como revisión o “sensado” virtual de la portadora. La revisión física de la portadora se realiza desde la capa física escuchando posibles comunicaciones en el canal, el medio se considera libre si tanto la revisión virtual como la física indican que se encuentra libre.. 13.
(18) Todos los transmisores eligen un tiempo aleatorio dentro de la ventana de contienda y realizan una revisión de la portadora antes de iniciar la transmisión. Si el nodo no gana el medio pasa a dormir y se despierta en el siguiente periodo activo propio o del receptor. Los paquetes “broadcast” se transmiten sin realizar el intercambio de RTS y CTS previo. Los paquetes “unicast” siguen la secuencia RTS/CTS/DATA/ACK entre el emisor y el receptor. Después del intercambio de RTS y CTS los dos nodos emplearán el tiempo que se encontraba programado como inactivo para realizar la transmisión del paquete.. 3.2.1.1 Escucha adaptativa (“Adaptive Listening”) Cuando ocurre un evento es deseable que los datos registrados puedan atravesar la red sin mucho retardo. Al emplear S-M AC, sin embargo, en cada salto aumenta el retardo promedio en una cantidad proporcional a la duración del ciclo o “frame”. Para aliviar este problema se introduce la técnica de “adaptive listening”. La idea básica consiste en que los nodos que se enteran de que existe una transmisión en proceso entre vecinos (después de escuchar un RTS o CTS destinado a otro nodo), se despiertan por un breve periodo de tiempo al final de dicha transmisión. Así si el nodo es el próximo salto de la transmisión en curso el receptor de la actual transmisión podrá retransmitírsela de inmediato. Sin embargo no todos los nodos en la ruta hacia el destino final de los datos pueden escuchar los paquetes de control de la transmisión previa. Por lo tanto si un transmisor inicia la transmisión de un RTS es posible que el receptor se encuentre dormido, especialmente si esta transmisión se inicia en un periodo adaptativo. Como el periodo adaptativo se inicia solo después de oír un paquete de control este mecanismo funciona únicamente para vecinos a dos saltos de distancia del transmisor. Además este mecanismo aumenta el consumo de energía ya que todos los nodos vecinos al emisor o al receptor se despertarán al finalizar la transmisión sean o no el siguiente salto, a mayor densidad de nodos en la red mayor será la cantidad de nodos que se despiertan innecesariamente aumentando el consumo total de energía.. 3.2.2 T-MAC Como se presentó en la sección 3.2.1 el protocolo S-M AC emplea un ciclo útil (relación entre el periodo activo y la duración total del ciclo) constante, que debe ser determinado por el desarrollador de la red antes de iniciar su operación de acuerdo a las condiciones de tráfico esperadas. Sin embargo el tráfico en una red de sensores no es constante, por ejemplo en aplicaciones de detección de eventos usualmente se presentan periodos de baja o nula actividad y periodos de tráfico alto. Esto representa un problema ya que el ciclo útil se debe ajustar para cumplir con los requisitos de operación cuando existe tráfico, lo que implica un consumo de energía innecesario cuando no hay tráfico presente en la red. Para. 14.
(19) solucionar este problema el protocolo T-M AC (Tiemout M AC) propuesto por van Dam y Langendoen [12] introduce un ciclo útil adaptativo. La técnica para reducir el consumo de energía es similar a la empleada en S-M AC [9], se divide el tiempo “frames”, cada uno de los cuales se compone de un periodo activo, en este periodo los nodos pueden comunicarse, y un periodo inactivo (“sleep”) durante el cual los radios permanecen apagados. Al igual que en S-M AC los nodos vecinos sincronizan el inicio de sus “frames”. Los mensajes que se desean enviar se mantienen en la cola hasta que el nodo se despierta y compite por el medio para transmitirlos. La idea de T-M AC es reducir el ciclo útil en los periodos de bajo tráfico transmitiendo todos los paquetes en ráfagas de longitud variable y durmiendo entre ráfagas. Para mantener un ciclo útil óptimo aún con tráfico variable la duración del tiempo activo se determina dinámicamente. La finalización del tiempo activo ocurre cuando no se escucha nada. La sincronización de vecinos se realiza de manera semejante a S-M AC. Inicialmente los nodos escuchan el medio por un tiempo fijo, si durante este tiempo no han recibido ningún paquete de sincronización programan independientemente el tiempo de inicio de sus “frames” y transmiten un paquete de sincronización con su programación. Si el nodo recibe alguna programación antes de transmitir la propia iniciará sus “frames” de acuerdo a la programación recibida y la transmitirá a sus vecinos. De esta manera todos los vecinos se sincronizarán con el tiempo de la primera programación enviada. Los nodos que se encuentran en las fronteras del vecindario pueden recibir paquetes de sincronización con programaciones diferentes, en este caso adoptarán ambas. Periódicamente los nodos transmiten sus paquetes de sincronización. Para garantizar que se conozcan las programaciones de todos los vecinos esporádicamente se escucha el canal por un tiempo por lo menos igual al periodo de envío de paquetes de sincronización. En la figura 4 se representa el esquema básico de funcionamiento de T-MAC, las flechas representan la llegada y salida de paquetes al nodo. El periodo activo se extiende desde el inicio del “frame” hasta un tiempo T A después de que el canal este libre. Los paquetes que llegan durante el periodo inactivo se concentran en ráfagas que se envían al iniciar el periodo activo. Todos los nodos se levantan periódicamente para comunicarse con sus vecinos y retornan a dormir hasta el inicio de un nuevo “frame”. En T-MAC los paquetes encolados durante el periodo inactivo son enviados en ráfagas al inicio del periodo activo utilizando el esquema de RTS (request to send), CTS (clear to send), DATA (datos) y ACK (acknowledgment). Para reducir las colisiones siempre que se desee enviar un RTS se espera un tiempo aleatorio elegido dentro de una ventana de contienda de duración fija.. 15.
(20) Figura 3. Esquema de funcionamiento de T-M AC, Las flechas representan la llegada y salida de paquetes El principal aporte de T-M AC es permitir que la duración del periodo activo se adapte al tráfico en la red. Para lograrlo un nodo se mantiene activo por un tiempo corto TA después de ocurrido un evento de activación. Así si los eventos de activación ocurren frecuentemente los nodos permanecerán activos por más tiempo. Los eventos de activación son: -. El disparo de un temporizador periódico, que indica el inicio de un “frame”. La recepción de cualquier dato en el radio La detección de comunicación en el canal El final de la transmisión de un paquete de datos o de ACK El conocimiento, a través de los paquetes RTS o CTS anteriormente recibidos, que la comunicación entre vecinos a terminado.. El resultado final es que el nodo se despertará y permanecerá activo hasta que no se detecte comunicación por un tiempo T A. Para determinar el tiempo T A se tiene en cuenta que un nodo debe permanecer activo por lo menos hasta recibir el CTS enviado por un vecino que se comunica con un tercero. El mínimo valor de T A está dado por la siguiente expresión: TA > C + R + T Donde: C, es la duración del intervalo de contienda. R, es la duración de un paquete RTS. T, es el intervalo de tiempo entre la recepción del RTS hasta que se inicia la transmisión del CTS. En general el tiempo T A es menor que el ciclo activo de S-M AC, el cual se debe ajustar para el máximo tráfico esperado en la red. Una consecuencia indeseable de la reducción en el periodo activo es el incremento en el retardo y la reducción del caudal. Por ejemplo si un nodo transmisor A desea transmitir al receptor B, pero pierde la contienda por el medio con un tercero C que no es vecino de B no. 16.
(21) iniciará la transmisión y por lo tanto su B retornará a dormir al no oír ninguna comunicación en el canal, cuando el nodo A intente transmitir B se encontrará dormido. Una medida propuesta para aliviar el problema arriba mencionado es el envío de un paquete de control denominado FRTS (“future request to send”) después de recibir un CTS [12]. Este FRTS le indicará al nodo destino que no puede iniciar la transmisión inmediatamente, pero lo hará cuando se termine la comunicación en curso. Este mecanismo sin embargo aumenta la cantidad de paquetes de control y por lo tanto el consumo de energía. Otra propuesta consiste en dar prioridad a la transmisión sobre la recepción cuando los paquetes en cola sobrepasen un valor máximo. Así cuando se tengan paquetes pendientes y se reciba un RTS en lugar de responderlo se transmitirá otro RTS para iniciar el envío propio, sin embargo si la comunicación no es unidireccional el anterior esquema incrementa la probabilidad de colisiones. En general el ciclo útil en T-M AC puede ser menor que en S-M AC, y por lo tanto su consumo de energía cuando no hay tráfico en la red es también menor. Esto es posible gracias a que mientras en S-M AC el ciclo útil debe ajustarse para la condición de mayor tráfico, en T-M AC el ciclo útil se ajusta a un valor mínimo y se adapta automáticamente a tráficos superiores.. 3.2.3 Preamble Sampling Uno de los primeros protocolos propuestos específicamente para redes inalámbricas de sensores fue publicado en el 2002 por El-Hoiydi [13] y sus ideas centrales han sido empleadas en el desarrollo de varios protocolos posteriores. En este protocolo se emplea el sistema clásico para el acceso al medio de Aloha combinado con la técnica de adición de preámbulos para reducir el consumo de energía. En el protocolo de “preamble sampling” se plantea la técnica de adición de preámbulos cuyo objetivo es permitir que los nodos receptores duerman el mayor tiempo posible cuando el canal esta libre. Cuando un nodo está dormido no puede enviar ni recibir paquetes pero, se encuentra listo para cambiar a un estado de transmisión o recepción en un tiempo corto (en [14] se reporta un tiempo de 2.1ms para despertar un nodo M ica2 que emplea un radio CC1000, para un nodo CC2430 los fabricantes reportan un tiempo de 525µs para que el nodo pase de bajo consumo de potencia a transmisión [15] ). La idea principal de este protocolo se ilustra en la figura 5. Al frente de cada paquete que transmitido se adiciona un preámbulo de duración T p. El receptor se levanta periódicamente cada tiempo T p y revisa la actividad del canal, si el canal está libre vuelve a dormir. Si al levantarse un nodo detecta el preámbulo permanece despierto hasta recibir el paquete. En [13] la adición de preámbulos se combina con Aloha para controlar el acceso al medio, cuando se recibe un paquete se transmite de vuelta un ACK.. 17.
(22) Figura 4. M ecanismo de adición de preámbulos El costo a pagar por la reducción de energía consumida es la disminución del caudal y el aumento en el retardo de los paquetes, en la figura 6 se compara el caudal en una red de 10 nodos transmitiendo paquetes de acuerdo a un proceso de Poisson con tasa g, se compara el desempeño del protocolo Aloha clásico, el Aloha incluyendo la técnica de preámbulos con longitudes de 5, 10 y 15 veces la longitud del paquete de datos y un proceso ideal en el cual un “genio” le indica a los nodos el instante exacto de despertarse, el retraso para los mismos casos se muestra en la figura 7.. Figura 5. Efecto de la adición de preámbulos en el throughput para diferentes tráficos Fuente [13]. 18.
(23) Figura 6. Efecto de la adición de preámbulos en el retardo para diferentes tráficos Fuente [13]. 3.2.4 B-MAC B-MAC [14] es un protocolo que busca mantener un consumo de energía bajo y una alta capacidad para adaptarse a los cambios en la red, a la vez que su implementación sea sencilla y ocupe poco espacio en la limitada memoria del nodo. B-M AC está diseñado para actuar conjuntamente con los protocolos de niveles superiores a la capa M AC para lo cual implementa funciones bidireccionales que permiten configurar algunos de sus principales parámetros de funcionamiento desde la capa de red. Los autores de B-M AC proponen un mecanismo para revisar el estado del canal (Clear Channel Assesment - CCA) que disminuye el efecto del ruido en el desempeño del protocolo. Un método comúnmente empleado para determinar si el canal se encuentra libre consiste en tomar una muestra de la potencia de la señal y compararla con un umbral mínimo, el cual tiene en cuenta la potencia estimada del ruido. Este método puede dar lugar a falsas conclusiones dado el carácter aleatorio de las señales de ruido, si el muestreo se realiza en un instante en el cual la potencia del ruido se encuentra en un pico se asumirá de manera errónea que el canal está ocupado, ocasionando que el nodo no intente acceder al mismo y por lo tanto disminuyendo innecesariamente la utilización del canal. El procedimiento propuesto para establecer el estado del canal determina de manera dinámica el valor del ruido y emplea varias muestras para disminuir las falsas lecturas de ocupación del canal. Para establecer el valor del ruido se obtiene la potencia en los momentos en que se espera que el canal se encuentre libre, como al acabar una transmisión, y se almacenan las potencias leídas en una cola de tamaño pequeño (se propone una cola de tamaño 10), la mediana de la cola es adicionada a una media móvil exponencialmente ponderada la cual es empleada como estimativo de la potencia de ruido. Cuando un nodo desea iniciar una transmisión se toman cinco muestras del canal, dado que durante la transmisión de datos la potencia nunca puede disminuir significativamente bajo. 19.
(24) el valor estimado del ruido si alguna de las muestras tiene un valor más bajo se considera que el canal está libre. El mecanismo de CCA puede ser deshabilitado desde la capa de red. En caso de que el canal se encuentre ocupado el protocolo no establece directamente el instante de reenvío, en su lugar se notifica a la capa de red que el paquete no pudo ser enviado para que ésta determine cuando intentar el reenvío, si la capa de red no determina cuando reenviarlo se establece por defecto un tiempo de backoff pequeño para este fin. Para reducir el consumo de energía se emplea una técnica similar a la descrita por ElHoiydi en [13] y expuesto en la sección 3.2.3. El nodo se levantan periódicamente para revisar si existe actividad en el canal, caso en el cual se mantiene activo por el tiempo requerido para recibir un paquete, después de la recepción el nodo retorna a dormir. A este mecanismo los autores denominan Low Power Listening (LPL). El mecanismo CCA evita que el nodo permanezca despierto debido a falsas señales de actividad en el medio. El principal aporte realizado por B-M AC al mecanismo de reducción de energía es permitir que el intervalo entre revisiones del canal y la duración del preámbulo se configuren desde la capa de red, permitiendo la optimización en el empleo de energía para las necesidades específicas del nodo.. 3.2.5 SCP-MAC Para reducir el consumo de energía es deseable que el tiempo empleado por los nodos escuchando el canal a la espera de datos se reduzca al mínimo. Los protocolos que emplean revisión periódica del canal y envían preámbulos para despertar a los vecinos antes de enviar datos, como B-MAC [14] o X-MAC [16], permiten que el tiempo empleado revisando el canal sea muy pequeño, apenas el necesario para detectar el preámbulo. Sin embargo el costo energético se traslada al transmisor por el consumo adicional de enviar largos preámbulos. En protocolos como “preamble sampling” [13], o B-M AC [14] la longitud del preámbulo esta determinada por el tiempo entre revisiones sucesivas del canal debido a que el instante en que se despertará el receptor es desconocido para el transmisor y por lo tanto para asegurar la comunicación con cualquier nodo el transmisor debe adicionar un preámbulo lo suficientemente largo para garantizar que cualquier nodo, independientemente del instante en que se despierte a revisar el canal, podrá escucharlo. Por otra parte en los protocolos como S-M AC [9] o T-MAC [12], en donde los nodos sincronizan el instante en que despiertan, la transmisión es más eficiente pero, el periodo activo es mucho mayor ya que debe ser suficiente para que el transmisor compita por el canal e inicie la transmisión del paquete, lo que origina un ciclo útil grande con la consecuente pérdida de energía, principalmente cuando el tráfico en la red es escaso o nulo.. 20.
(25) Teniendo en cuenta las ventajas y desventajas arriba descritas SCP-M AC [17] combina la sincronización de los nodos con la adición de preámbulos para obtener un consumo de energía mínimo al eliminar el problema de los largos preámbulos y reducir el periodo activo durante el cual los nodos escuchan el medio sin recibir paquetes. En SCP-M AC, al igual que en B-MAC y en preamble sampling, los nodos realizan una revisión periódica del canal, cuando un nodo desea transmitir envía un preámbulo para despertar a los vecinos. El principal aporte de SCP-M AC es que el inicio de las transmisiones se encuentra sincronizado con los periodos de revisión del canal como se muestra en la figura 8, por lo que sólo se necesita adicionar un corto preámbulo. Esto reduce la energía consumida por el transmisor, al reducir el tiempo de transmisión, y por el receptor y sus vecinos al disminuir el tiempo gastado escuchando el preámbulo.. Figura 7. M étodo de inicio de transmisiones sincronizado con revisión del canal empleado por SCP-M AC Para mantener la sincronización de los nodos se en [17] se propone transmitir paquetes de sincronización periódicamente o, si la tasa de transmisión de datos es suficientemente alta, adicionar la información necesaria para la sincronización en el encabezamiento de los paquetes transmitidos. La duración del preámbulo de SCP-M AC tiene en cuenta la diferencia máxima en el tiempo leído por los relojes y depende de la frecuencia de transmisión de paquetes con información de sincronización. El mínimo consumo de energía se obtendrá mediante un compromiso entre la duración del preámbulo y la transmisión paquetes para sincronizar los nodos. Adicional al esquema básico de SCP-M AC en [17] se proponen mejoras adicionales. Una mejora tendiente a reducir el retardo de los datos consiste en adicionar revisiones del canal con mayor frecuencia cuando se detecta el envío de ráfagas de datos. Así es posible transmitir varios paquetes en un solo ciclo, esta técnica es denominada por los autores de [17] “adaptive channel polling” y se ilustra en la figura 9 .. 21.
(26) Figura 8. Adaptive Channel Polling Fuente [17]. Cuando se emplea “adaptive channel polling” un nodo que recibe datos adiciona n nuevas revisiones del canal separadas solamente por el tiempo justo para transmitir un paquete, como se puede observar en la figura 9; si A está transmitiendo a B, tras recibir el primer paquete B programará n revisiones adicionales de alta frecuencia, durante estas nuevas revisiones A podrá transmitir rápidamente los paquetes que tenga en la cola para B. Si la duración de la ráfaga es superior al periodo normal de censados (el tiempo entre 1st Regular y 2nd Regular en la figura 9 ) A detendrá momentáneamente la transmisión de la ráfaga a B para permitir que B envíe al siguiente salto C y de esta manera tanto B como C programarán revisiones de alta frecuencia. Si la duración de la ráfaga es suficientemente alta eventualmente todos los nodos en la ruta operarán a alta frecuencia.. 3.2.6 DMAC El principal objetivo de la mayoría de protocolos de capa M AC para redes inalámbricas de sensores es la reducción de la energía consumida, y para lograrlo la medida más ampliamente empleada es apagar periódicamente los radios. Esta medida permite reducciones de energía importantes pero, como contrapartida aumenta el retardo ya que los paquetes que lleguen a la capa MAC deberán ser almacenados en la cola hasta que puedan ser transmitidos, lo que no ocurrirá hasta que el radio del receptor esté encendido. El problema se ve agravado cuando los paquetes deben pasar por varios saltos antes de llegar a su destino ya que en cada salto se puede generar un nuevo retardo. DM AC [18] es un protocolo propuesto para aliviar el problema de interrupción en la continuidad del envío de datos cuando estos deben atravesar varios saltos. La estrategia de DM AC consiste en adelantar el inicio del periodo activo en los nodos más lejanos al sumidero (hijos) con respecto a los nodos que se encuentran un salto más próximos (padres) formando una estructura escalonada como se muestra en la figura 10, de esta manera los nodos intermedios de una ruta tienen tiempo de recibir y reenviar los paquetes al siguiente salto sin tener que esperar un nuevo periodo.. 22.
(27) Inactivo. Rec Env .. Inactivo. Rec Env .. Inactivo. Rec Env . Rec Env . Rec Env .. Inactivo. Inactivo. Rec Env . Rec Env .. Rec Env . Rec Env .. Rec Env .. Inactivo. Inactivo. Inactivo. Inactivo. Inactivo. Figura 9. Programación escalonada empleada por DMAC Cada intervalo en DM AC se divide en un periodo de recibo, un periodo de envío y un periodo inactivo. Durante el primer periodo se reciben paquetes y se envían ACK. En el periodo de envío un nodo trata de transmitir los paquetes al siguiente salto y recibe los ACK. Durante el periodo inactivo se apaga el radio. La principal ventaja del protocolo es la eliminación de los retardos por encontrar nodos dormidos en la ruta de la fuente al sumidero sin aumentar el consumo de energía. Para permitir el envío de datos en ráfagas cuando un nodo requiere enviar paquetes adicionales adjunta en los datos una bandera (“more data”) indicando a los siguientes nodos de la ruta que deben adicionar un periodo activo para transmitir más datos, este periodo activo se adiciona después de esperar un tiempo suficiente para que el paquete recién enviado de dos saltos. Cuando más de un hijo desea enviar paquetes al mismo padre los que pierdan la contienda no necesitan espera al siguiente periodo gracias al mecanismo de predicción de datos (“data prediction”) que adiciona un periodo activo después de recibir un paquete, suponiendo que otro de sus hijos puede necesitar enviar otro paquete. En caso de perder el canal los nodos esperarán el tiempo necesario para transmitir dos saltos antes de volver a intentar el envió, con el fin de permitir que el paquete ganador de la contienda se transmita sin colisiones. También es posible que dos nodos vecinos tengan diferentes padres, en este caso el padre del nodo que pierde la contienda no adicionará periodos activos al no recibir ningún paquete y será necesario esperar hasta que vuelva a levantarse. Para solucionar este inconveniente se permite que los nodos envíen un paquete de control M TS (“M ore To Send”) indicando que se perdió la contienda, lo que obligará a todos los nodos en la ruta hasta el sumidero a levantarse con muy alta frecuencia hasta que el nodo que transmitió el MTS envíe otro paquete de control indicando que termino de transmitir los datos pendientes.. 23.
(28) Un problema importante de DM AC es que la estructura de la red debe conocerse por otros medios ya que no se especifica en el protocolo como identificar a los nodos padres e hijos. Además el protocolo solamente permite comunicación de tipo “convergecast” (en la dirección de los hijos a los padres), las comunicaciones entre nodos del mismo nivel o del padre a los hijos no es posible empleando exclusivamente DM AC ya que los tiempos de recibo y de transmisión no coinciden, esto hace que DM AC sea un protocolo muy poco flexible [8], [19].. 3.2.7 WiseMAC WiseM ac (Wireless Sensor MAC) es un protocolo propuesto por El-Hoiydi y J. D. Decotignie [20], que emplea la idea de adicionar preámbulos a los paquetes mejorándola a través de la sincronización en el inicio del preámbulo. Como los demás protocolos basados en preámbulos los nodos revisan el canal de manera periódica por un tiempo muy corto y si el medio se encuentra ocupado el nodo continua escuchando el canal hasta que reciba los datos o hasta que el canal este libre. La principal mejora introducida por WiseM AC es la sincronización del inicio del preámbulo con el instante de revisión del canal por parte del receptor. Si el nodo que inicia la transmisión conoce el instante en el cual el receptor tiene programado despertarse no es necesario enviar un preámbulo largo antes de los datos, en su lugar se posterga el inicio de la transmisión hasta un breve tiempo antes de que el receptor inicie su revisión del canal. Los nodos informan el tiempo programado para despertarse y revisar el canal incluyendo un campo adicional en las tramas de acuse de recibo de datos (ACK). Con la técnica de sincronización propuesta por WiseMAC se reduce el exceso de energía necesaria para la transmisión y la energía consumida por los vecinos al receptor ya que estos no deberán permanecer activos escuchando el canal durante largos preámbulos. La longitud del preámbulo tiene en cuenta el error de sincronización. Como mínimo el preámbulo debe tener una duración igual al doble de la máxima diferencia de tiempos en los relojes de los dos nodos. Dado que los relojes se sincronizan cada vez que los nodos se comunican la duración del preámbulo será proporcional al tiempo entre una comunicación y otra, y por lo tanto dependerá del tráfico cursado, el límite máximo para la duración del preámbulo es el periodo de revisión del canal. Una mejora adicional introducida a WiseM AC en [20] para trabajar con preámbulos largos que disminuye el tiempo de escucha de paquetes destinados a otros nodos, consiste en reemplazar el preámbulo largo por envíos repetidos de los datos de manera que si un nodo se despierta y encuentra el canal ocupado permanecerá despierto hasta que reciba el encabezamiento del paquete de datos, si no es su receptor puede dormir de nuevo. Este. 24.
(29) método se basa en la idea de que la duración de un paquetes es mucho menor que el periodo entre revisiones sucesivas del canal.. 3.2.8 CSMA-MPS El protocolo WiseM AC puede ser refinado en radios con alta velocidad de transmisión como del CC2420 que, siguiendo las exigencias del estándar 802.15.4, soporta velocidades de transmisión de 250 kbps. Una mejora planteada es el protocolo CSM A-M PS [21] el cual combina WiseM AC con la idea de dividir el preámbulo en una serie de balizas separadas por un tiempo suficiente para la recepción de acuses de recibo (ACK), esta idea es tomada de STEM [22]. El primer objetivo de emplear un preámbulo que alterna la transmisión y la recepción es permitir la interrupción del preámbulo cuando el receptor se levanta, eliminando así un tiempo innecesario de escucha y transmisión que se extiende desde el instante en que se levanta el nodo receptor hasta el final del preámbulo, en promedio la longitud del preámbulo se reducirá a la mitad. Cuando un transmisor no conoce la sincronización de su destino adicionará un preámbulo con longitud igual a la del periodo de revisión del canal, en caso contrario inicia la transmisión del preámbulo un breve instante antes de que el vecino se despierte, tal como lo hace WiseM AC. La principal ganancia de CSM A-MPS es la reducción del preámbulo, aunque este efecto no es muy notorio para tráficos altos en los cuales el preámbulo es corto.. 3.2.9 X-MAC X-M AC [16] continúa con la línea de protocolos que emplean preámbulos para la transmisión de paquetes. De manera similar a STEM [22] y CSM A-MPS [21] en X-M AC se observa que dividiendo el preámbulo en ciclos de transmisión y recepción se puede mejorar la eficiencia en el consumo de energía y disminuir el retardo y las colisiones. El preámbulo de X-M AC consiste en una serie de paquetes que contienen la información del nodo destino separados por un periodo de tiempo que puede ser aprovechado por el nodo receptor para enviar un aviso de recibo de preámbulo (“early acknowledgment”). Al incluir la dirección del nodo en el preámbulo se evita el consumo innecesario de energía que genera mantener a todos los vecinos escuchando ociosamente hasta que se inicie el envío de los datos (“overhearing”), ya que si un nodo escucha uno de los paquetes de un preámbulo puede pasar a dormir inmediatamente y continuar su programación si no es el destino. Cuando el destino recibe un paquete del preámbulo continúa escuchando el siguiente paquete, hasta que reciba los datos. Cuando el nodo destino recibe un paquete del preámbulo envía de vuelta un paquete de recibo temprano (“early acknowledgment”) que indica al transmisor la necesidad de. 25.
(30) interrumpir el preámbulo y enviar los datos. De esta forma se disminuye la energía consumida tanto por el transmisor como por el receptor y se reduce el retardo de los paquetes. Adicionalmente cuando varios nodos fuente desean enviar datos a un mismo receptor y una de estas fuentes escucha un preámbulo dirigido al receptor antes de poder enviar su propio preámbulo se mantiene despierto hasta que se termine la comunicación actual y tenga oportunidad de enviar sus datos sin necesidad de preámbulo. Para poder recibir varios paquetes consecutivos el receptor se mantiene despierto un tiempo después de finalizada la transmisión. Una ventaja de reemplazar el preámbulo por una serie de paquetes es que puede ser implementado en radios que no permiten acceder individualmente a cada bit, sino que envían los paquetes completos al procesador. Dado que el tiempo mínimo de revisión del canal depende de la duración de los paquetes que componen el preámbulo se requiere de radios rápidos para disminuir el tiempo de escucha ocioso.. 3.2.10 STEM En el protocolo STEM (Sparse Topology and Energy M anagement) [22] se propone separar el control de acceso al canal de la función de despertar a los nodos. Para ello se propone emplear dos radios independientes trabajando a distintas frecuencias, uno maneja el intercambio de datos empleando cualquier protocolo conocido, como CSM A, y el otro controla el momento en que los nodos se despiertan. El procedimiento empleado para despertar los nodos sigue la línea de revisión periódica del canal por parte de los receptores y envío de preámbulos antes de enviar los datos. En el caso de STEM el preámbulo no se adiciona directamente al paquete de datos ya que estos últimos se transmiten con un radio diferente. Cuando un nodo desea iniciar la comunicación envía una solicitud por el canal destinado a despertar los nodos de manera que el destino despierta su radio encargado de la transmisión de datos y puede iniciarse la comunicación. En [22] se plantean dos alternativas que manejan en forma diferente la solicitud para iniciar comunicación. En la primera de ellas el nodo que desea iniciar la comunicación envía una serie de balizas con la dirección de origen y de destino, en el momento en que el destino recibe la baliza enciende el radio encargado de transmitir datos y envía de vuelta un acuse de recibo por el canal de despertar nodos indicando al transmisor que puede enviar los datos, a este sistema se le denominó STEM -B. Es posible que dos nodos deseen transmitir simultáneamente y sus balizas colisionen, para garantizar que se pueda iniciar la comunicación, cuando un nodo detecta una colisión se despierta y espera un tiempo antes de volver a dormir, en este caso los nodos no retornan acuses de recibo y la transmisión de balizas deberá continuar por un periodo completo. Otra alternativa es reemplazar las balizas por un tono continuo, en este caso todos los vecinos se despiertan cuando escuchan el tono, como los receptores no retornan acuses de. 26.
Documento similar