Análisis y evaluación de un
protocolo MAC eficiente
energéticamente para redes de
sensores inalámbricos
Proyecto Final de Carrera
Héctor Baños Marín
Barcelona, marzo de 2010
i Durante la elaboración de este proyecto final de carrera he tenido la fortuna de estar rodeado de personas que, en uno u otro momento, me han prestado parte de su tiempo y atención únicamente con el propósito de ayudarme en su desarrollo. Por este motivo, no quisiera desaprovechar la oportunidad de mostrar mi gratitud hacia ellos.
En primer lugar, a mis padres, por todo el cariño y apoyo que me han dado y la paciencia (mucha) que han tenido conmigo durante todos los años de carrera. Gracias por confiar en mí; sin vosotros nunca lo hubiera conseguido.
A Briyin, por sus palabras de ánimo, su comprensión y su amor. Gracias por estar siempre ahí, tanto en los buenos como en los malos momentos.
A mi tutora Anna Calveras, por su asesoramiento y buenos consejos desde el inicio hasta el final del proyecto.
A mi tutor de empresa Carles Perelló, por brindarme la oportunidad de realizar el proyecto final de carrera y haber confiado en mí en todo momento durante el desarrollo del mismo.
Finalmente, a mis compañeros de la empresa Wimet, por toda la ayuda desinteresada prestada durante este último año y por hacerme sentir uno más del equipo desde el primer día. En especial, gracias a Álex por todo el tiempo que me ha dedicado: no tiene precio.
iii
1. MOTIVACIÓN Y OBJETIVOS... 1
1.1 MOTIVACIÓN DEL PROYECTO ... 1
1.2 OBJETIVOS DEL PROYECTO ... 2
1.3 MEDIOS EMPLEADOS ... 3
1.3.1 Software ... 3
1.3.2 Hardware ... 3
1.4 ESTRUCTURA DEL DOCUMENTO ... 3
2. INTRODUCCIÓN ... 5
2.1 TOPOLOGÍA DE RED MESH ... 5
2.1.1 Arquitectura de red ... 5
2.1.2 Gestión de red ... 5
2.1.3 Funcionamiento ... 5
2.2 REDES WSN Y LR-WPAN ... 5
2.2.1 WSN (Wireless Sensor Networks) ... 5
2.2.2 LR-WPAN (Low Rate-Wireless Personal Area Network) ... 6
2.3 ESTÁNDAR IEEE802.15.4 Y ZIGBEE ... 7
2.3.1 Estándar IEEE 802.15.4 ... 7
2.3.2 ZigBee ... 11
3. ESTADO DEL ARTE ... 13
3.1 PROTOCOLOS MAC ENERGY-EFFICIENT ... 13
3.1.1 S-MAC (Sensor-MAC) ... 13
3.1.2 T-MAC (Timeout-MAC) ... 15
3.1.3 WiseMAC (Wireless Sensor MAC) ... 17
3.1.4 ADCA (Asynchronous Duty Cycle Adjustment) ... 19
3.1.5 Otros protocolos ... 20
3.2 NACIMIENTO DEL PROTOCOLO WIMET ... 23
4. WIMET PROTOCOL ... 25
4.1 ELEMENTOS DE RED ... 25
4.1.1 Gateway ... 25
4.1.2 MIU (Meter Interface Unit) ... 25
4.2 ESPECIFICACIÓN DE LA CAPA FÍSICA ... 26
4.3 ESPECIFICACIÓN DE LA SUBCAPA MAC ... 27
4.3.1 Estructura de trama ... 28
4.3.2 Sincronismo ... 29
iv
4.3.6 Extensión de la ventana de recepción ... 40
4.4 VENTAJAS DEL PROTOCOLO ... 41
4.4.1 Consumo energético ... 41
4.4.2 Latencia ... 42
5. IMPLEMENTACIÓN DEL PROTOCOLO WIMET EN OMNET++ ... 43
5.1 ENTORNO DE SIMULACIÓN OMNET++ ... 43
5.1.1 Definición ... 43 5.1.2 Componentes ... 43 5.1.3 Plataformas ... 43 5.1.4 Modelo de simulación ... 44 5.1.5 Interfaces de usuario ... 44 5.2 INETFRAMEWORK ... 45
5.3 JUSTIFICACIÓN DE LA ELECCIÓN DEL SIMULADOR ... 47
5.4 DESCRIPCIÓN MODULAR DEL PROTOCOLO WIMET ... 48
5.4.1 Módulo Wimet PHY ... 49
5.4.2 Módulo Wimet MAC ... 50
5.4.3 Módulo Mobility ... 54
5.4.4 Módulo Battery ... 54
5.4.5 Módulos RETXQ y CSMACAQ ... 55
5.4.6 Módulo Channel Control ... 56
6. SIMULACIÓN DEL PROTOCOLO WIMET EN OMNET++ ... 57
6.1 MODELO DE SIMULACIÓN ... 57
6.1.1 Escenario de simulación ... 57
6.1.2 Parámetros de simulación ... 58
6.2 PROCESO DE SIMULACIÓN ... 59
6.2.1 Probabilidad de éxito del device discovery period ... 59
6.2.2 Tiempo de descubrimiento ... 72
6.2.3 Consumo energético ... 77
6.3 CONCLUSIONES EXTRAÍDAS DE LAS SIMULACIONES ... 92
6.3.1 Probabilidad de éxito del device discovery period ... 92
6.3.2 Tiempo de descubrimiento ... 92
6.3.3 Consumo energético ... 92
6.3.4 Posibles escenarios de aplicación ... 93
7. IMPLEMENTACIÓN EMPÍRICA DEL ESCENARIO DE SIMULACIÓN ... 95
7.1 OBJETIVOS DEL EXPERIMENTO ... 95
v
7.3.1 Primeras experiencias ... 97
7.3.2 Resultados del experimento ... 98
7.4 COMPARATIVA CON LOS RESULTADOS DE LA SIMULACIÓN ... 98
7.4.1 Probabilidad de éxito ... 98
7.4.2 Tiempo medio de descubrimiento ... 101
7.4.3 Validación del modelo de simulación ... 102
8. CONCLUSIONES Y TRABAJO FUTURO ... 103
8.1 CONCLUSIONES FINALES ... 103
8.2 LÍNEAS DE TRABAJO FUTURO ... 104
ANNEXOS ... 107
A. DESCRIPCIÓN DEL ESTÁNDAR IEEE802.15.4 ... 107
A.1 CAPA FÍSICA ... 107
A.2 SUBCAPA MAC ... 108
A.3 FUNCIONES GENERALES ... 109
B. ENTORNO DE SIMULACIÓN OMNET++ ... 111
B.1 CARACTERÍSTICAS PRINCIPALES ... 111
B.2 CONSTRUCCIÓN Y EJECUCIÓN DE SIMULACIONES ... 114
C. MACDISCOVERY FRAMES ... 116
REFERENCIAS ... 121
1
1.
MOTIVACIÓN Y OBJETIVOS
1.1MOTIVACIÓN DEL PROYECTO
El mercado conocido como metering engloba el transporte de datos de consumo de contadores de agua, gas, electricidad y calefacción, mediante el uso de los denominados smart meters. Estos “contadores inteligentes” actúan como tales, proporcionando lecturas de consumo en tiempo real de forma automática. Es lo que se denomina funcionalidad AMR (Automatic Meter Reading).
Y no sólo eso: estos contadores también son capaces de enviar notificaciones en caso de apagón o realizar seguimientos sobre la calidad de la potencia suministrada, entre otras muchas más. Se trata de comportamientos característicos de los contadores AMI (Advanced Metering Infrastructure), de forma que se habilita una comunicación bidireccional entre el usuario final y la empresa suministradora de agua, gas, electricidad o calefacción.
Dicha infraestructura está soportada por redes de comunicación inalámbrica de ultra bajo consumo y de muy bajo coste, ya que su entorno de aplicación habitual es el transporte de datos procedentes de sensores, pues son los que se adaptan mejor a sus características funcionales. Estas redes son las conocidas wireless sensor networks (WSN).
Actualmente, el metering es un mercado muy poco conocido en España. No obstante, en Estados Unidos e incluso en otros países de Europa hace años que se ha establecido con éxito. Según un estudio realizado por la compañía Berg Insight [31], a finales del 2008 el parque de smart meters instalados en Europa era de 39 millones de unidades. Además, se prevé su instalación a gran escala en los próximos años.
Teniendo en cuenta que en 2008 menos del 1% de los contadores de todo el mundo disponían de soluciones metering implementadas, se trata de un mercado con un gran potencial de crecimiento. Por consiguiente, los smart meters se presentan como una alternativa de futuro a los métodos tradicionales de medición de consumo.
Estos motivos fueron los que provocaron que, desde su creación, la empresa Wimet S.L. focalizara sus soluciones hacia el mercado del metering. En este sentido, la empresa desarrolló un protocolo de comunicaciones inalámbricas propio y específico para redes WSN con topología mesh, es decir, ideal para aplicaciones de metering. A día de hoy se ha probado su funcionamiento en redes pequeñas (entre 5 y 10 dispositivos), obteniendo resultados satisfactorios.
Sin embargo, para continuar evolucionando y perfeccionando el protocolo, llegó un momento en el que se requería realizar experimentos en redes de mayor tamaño y bajo unas determinadas condiciones de trabajo. Por esta razón, la empresa comenzó a plantearse utilizar una herramienta de simulación que permitiera poder llevar a cabo aquellas pruebas difícilmente realizables en la práctica.
2
Finalmente, tras valorar los beneficios que aportaría al desarrollo del protocolo una utilidad de este tipo, Wimet decidió iniciar el análisis y evaluación de su comportamiento mediante el uso de un entorno de simulación, para proporcionar una ayuda adicional en el proceso de corrección y optimización.
1.2OBJETIVOS DEL PROYECTO
El objetivo principal de este proyecto final de carrera es el estudio, modelado y simulación del protocolo de comunicaciones WiMet (Wireless Metering protocol) sobre el entorno de simulación OMNeT++, donde WiMet se define como un nuevo protocolo de ultra bajo consumo concebido para redes de sensores inalámbricos (WSN) con topología de red mesh.
Se pretende utilizar la herramienta de simulación OMNeT++ para aportar nuevos datos sobre el comportamiento del protocolo en múltiples situaciones. El proyecto se centrará en el desarrollo de la subcapa de control de acceso al medio (MAC) y, en concreto, en la evaluación del proceso denominado device discovery period con la intención de detectar sus posibles defectos y así aportar soluciones a estos.
Paralelamente a las simulaciones, se llevarán a cabo pruebas en un escenario con dispositivos reales funcionando bajo las mismas condiciones de trabajo, con el objetivo de validar el modelo del protocolo desarrollado específicamente para el simulador OMNeT++. Para ello, se compararán los resultados obtenidos en ambos experimentos y se analizará si el modelo de simulación se aproxima al comportamiento real del protocolo WiMet lo suficiente como para considerarlo válido.
Lógicamente, será necesario ir cumpliendo una serie de objetivos secundarios para lograr alcanzar las metas que sea acaban de plantear. A continuación se enumeran estos propósitos secundarios.
• Estudio de las redes WSN y LR-WPAN.
• Estudio del estado del arte de los protocolos y estándares existentes para las redes WSN.
• Estudio del estado del arte de los protocolos MAC energy-efficient más importantes para redes WSN.
• Estudio y análisis exhaustivo del protocolo WiMet. • Aprendizaje del entorno de simulación OMNeT++.
• Modelado e implementación del protocolo WiMet en lenguaje C++ para el entorno de simulación OMNeT++.
• Planteamiento teórico del escenario a simular. • Preparación del escenario con dispositivos reales.
• Simulación del protocolo WiMet en el escenario planteado.
• Extracción y análisis de los resultados de la simulación y comparación con los resultados obtenidos en la implementación real.
3
1.3MEDIOS EMPLEADOS
1.3.1 Software
• Sistema operativo GNU Linux (Fedora 9) • Editor de textos Microsoft Word 2010 (Beta) • Hoja de cálculo Microsoft Excel 2010 (Beta) • Entorno de simulación OMNeT++ 3.4b2
• Paquete de simulación INET Framework para OMNeT++ 3.4b2 • Editor de diagramas Dia
• Debugger gdb y valgrind
1.3.2 Hardware
• Workstation HP con procesador a 2,66 GHz y 7,8 Gb de memoria.
1.4ESTRUCTURA DEL DOCUMENTO
La memoria se ha dividido en ocho capítulos, incluyendo el actual, en el que se ha especificado la motivación del proyecto, cuáles son los objetivos que se persiguen con su realización y los medios que se han empleado para alcanzarlos.
En el capítulo 2 se introducen los conceptos necesarios para situar al lector en el contexto en el que se desarrolla el proyecto. Para empezar, una breve descripción de la topología de red mesh, que es sobre la que trabaja el protocolo WiMet. Seguidamente, se definen las características de las redes WSN y LR-WPAN. Finalmente, se analiza el estándar IEEE 802.15.4 y su relación con ZigBee.
El capítulo 3 versará sobre los protocolos MAC más destacados que se han desarrollado para redes WSN. En primer lugar, se presentan los cuatro protocolos que han servido principalmente de inspiración o aprendizaje en la elaboración de la subcapa MAC del protocolo WiMet. Además, se introducen otros seis protocolos MAC con filosofías de funcionamiento muy particulares, algunas bastante diferentes a la del protocolo bajo estudio. Para finalizar, se razona cuáles fueron los motivos que llevaron a la creación de este nuevo protocolo de comunicaciones inalámbricas de ultra bajo consumo.
La descripción del protocolo WiMet se concentra en el capítulo 4, donde se detalla la capa física y la subcapa MAC, así como los elementos de red. Dentro de las especificaciones de la subcapa MAC se incluye una explicación detallada del device discovery period, también llamado proceso de descubrimiento de dispositivos. Una vez descrito el nuevo protocolo, se analizan las ventajas que aporta respecto a las soluciones existentes, resaltando sus principales virtudes.
El capítulo 5 está dedicado al programa OMNeT++, que será el entorno de simulación utilizado en el transcurso del proyecto. Tras una breve introducción a esta herramienta y al paquete de simulación INET, se justifica la elección de OMNeT++ para realizar las simulaciones. Lógicamente, no podía faltar una pequeña descripción de la estructura seguida en la implementación del modelo del protocolo WiMet realizada para esta plataforma.
4
El análisis de los resultados extraídos de las simulaciones llevadas a cabo se concentra en el capítulo 6. Primeramente, se define el contexto en el que se llevarán a cabo los experimentos, y se enumeran y describen los parámetros más relevantes de la simulación. Previa explicación de cada una de las simulaciones, se comentan los resultados obtenidos y las conclusiones a las que se han llegado a través de su estudio.
A lo largo del capítulo 7 se implementa empíricamente el escenario planteado para las simulaciones. La finalidad es validar el modelo del protocolo desarrollado en el capítulo 5, comparando los resultados proporcionados por las simulaciones con los resultados suministrados por los dispositivos que componen el experimento. A partir de estas comparaciones se podrá decidir si la versión del protocolo WiMet desarrollada para las simulaciones se corresponde con la versión original utilizada en los componentes.
La memoria del proyecto concluye con el capítulo 8, donde se desglosan las conclusiones finales y se adjuntan las propuestas para futuros trabajos relacionados con el desarrollo del protocolo.
5
2.
INTRODUCCIÓN
2.1TOPOLOGÍA DE RED MESH
Una red mesh inalámbrica se puede definir como una red de comunicaciones ad-hoc sin movilidad en sus nodos. Al tratarse de una red inalámbrica multisalto, permite extender el rango de cobertura proporcionando NLOS (non-line-of-sight). Se caracteriza también por ser dinámicamente autoconfigurable (self-configuration) y autoorganizarse (self-organization). El protocolo WiMet está concebido para funcionar en dispositivos organizados según esta topología de red.
2.1.1 Arquitectura de red
La arquitectura mesh mantiene la potencia de la señal, de forma que es capaz de alcanzar largas distancias mediante series de saltos cortos. Los nodos intermedios no solamente transportan la señal, sino que además cooperan entre ellos para tomar decisiones de reenvío basándose en su conocimiento sobre la propia red. Es decir, desempeñan funciones de enrutado de paquetes.
2.1.2 Gestión de red
Los nodos actúan como routers, transmitiendo datos procedentes de otros nodos cercanos que se encuentran demasiado alejados de su destino para alcanzarlo en un solo salto. Asimismo, cada dispositivo está conectado a varios nodos, de manera que si un nodo cae debido a un fallo hardware, sus vecinos pueden encontrar una ruta alternativa gracias al protocolo de enrutado. Por lo tanto, estas redes suelen ser muy fiables ya que existe más de un camino para llegar del nodo origen al nodo destino.
En definitiva, se dice que las redes mesh inalámbricas son redes self-healing; esto es, la red puede continuar operativa cuando falla alguno de los nodos.
2.1.3 Funcionamiento
En cada dispositivo se implementan algoritmos dinámicos de enrutado de paquetes, de forma que los datos van saltando de dispositivo en dispositivo hasta alcanzar su destino final. Los nodos intercambian información de enrutado entre sí, y cada dispositivo determina qué hacer con los datos que recibe (dejarlos pasar al siguiente dispositivo o quedárselos) en función del protocolo. En este sentido, cualquier algoritmo de enrutado debería asegurar que los datos toman siempre la ruta más apropiada hacia su destino.
2.2REDES WSN Y LR-WPAN
2.2.1 WSN (Wireless Sensor Networks)
Las redes inalámbricas de sensores están formadas por dispositivos autónomos distribuidos que utilizan sensores para monitorizar parámetros físicos o ambientales de forma cooperativa.
6
Originariamente, el desarrollo de las WSN vino motivado (como suele ocurrir en estos casos) por intereses militares. Sin embargo, en la actualidad este tipo de redes también se utiliza en aplicaciones industriales y civiles. Algunos ejemplos son: monitorización y control de procesos industriales, monitorización en aplicaciones médicas, monitorización de variables ambientales, automatización del hogar o control de tráfico.
2.2.1.1 Características
Los nodos sensores son muy simples en cuanto a interfaz y componentes. Aparte de ir equipados con uno o más sensores, cada nodo dispone de:
• Un transceptor radio u otro dispositivo de comunicación inalámbrica. • Un pequeño microcontrolador.
• Una fuente de energía (típicamente una batería).
Por otro lado, cada nodo sensor soporta un algoritmo de enrutado multisalto, de forma que dentro de una red WSN los nodos se autoorganizan y colaboran en la detección y el reenvío de información hacia uno o varios destinos.
Además, los nodos de una red de este tipo deben ser robustos para permitir su implantación en medios hostiles, deben tener un bajo consumo energético y su producción ha de ser económica.
2.2.1.2 Plataformas
Existen varios estándares para las WSN, aprobados o bajo desarrollo. Todos ellos están implementados sobre el mismo estándar radio, el denominado IEEE 802.15.4 - 2006. Hoy en día, ZigBee es el más conocido. Se trata de una especificación para redes mesh propietaria, promocionada por un amplio consorcio de participantes industriales (ZigBee Alliance).
2.2.2 LR-WPAN (Low Rate-Wireless Personal Area Network)
Una LR-WPAN es una red de comunicaciones simple que proporciona conectividad inalámbrica en aplicaciones con potencia limitada y requerimientos de rendimiento relajados. Estas redes trabajan con rangos de operación pequeños, tasas de transmisión bajas, alta eficiencia energética y bajo coste. Por consiguiente, se han convertido en una de las tecnologías más utilizadas para habilitar WSN.
Sus objetivos principales son: • Fácil instalación.
• Transferencia de datos fiable. • Rango de operación corto. • Muy bajo coste.
• Tiempo de vida de las baterías razonable.
Ante una red LR-WPAN se han de tener muy en cuenta las posibles fuentes de gasto energético y se ha de intentar reducir su efecto al máximo. A continuación se describen brevemente las cuatro fuentes de gasto energético más importantes.
7
2.2.2.1 Idle listening
Para la mayoría de transceptores inalámbricos, el consumo de potencia en estado de escucha idle no es mucho más bajo que en estado de recepción. Por lo tanto, si un nodo permanece constantemente en estado idle esperando una posible transmisión, su consumo energético se dispara. Por este motivo, los nodos deben conmutar al estado de recepción sólo cuando realmente vayan a recibir tramas, y volver inmediatamente al estado sleep.
2.2.2.2 Overhearing
La recepción de tramas de datos que no están destinadas realmente a la estación que las recibe representa otra fuente de desperdicio energético. Por lo tanto, debe evitarse el overhearing sistemático del tráfico dirigido a otras estaciones. Los mecanismos utilizados para evitar overhearing tienen que asegurarse de que éste sea improbable e infrecuente.
2.2.2.3 Colisiones
Las tramas irrecuperables debido a interferencias con transmisiones de nodos adyacentes constituyen también un gasto energético no despreciable, ya que los esquemas Automatic Repeat Request (ARQ) requieren retransmisiones costosas. Energéticamente hablando, a menudo compensa introducir mecanismos para evitar estas colisiones o para disminuir la probabilidad de padecerlas.
2.2.2.4 Overhead
Los mensajes de control y la información de señalización almacenada en las cabeceras de las tramas para gestionar las operaciones del protocolo MAC permiten al esquema de comunicaciones a operar tal y como se indica, pero no llevan asociado ningún payload útil. Por consiguiente, hay que intentar que la cantidad de información de señalización en la capa MAC sea mínima.
2.3ESTÁNDAR IEEE802.15.4 Y ZIGBEE
Hace unos años, el Instituto de Ingenieros Electricistas y Electrónicos (IEEE) y la ZigBee Alliance trabajaron conjuntamente con el objetivo de especificar toda la pila de protocolos para las redes LR-WPAN. El resultado fue:
Por un lado, el estándar IEEE 802.15.4, centrado en la especificación de las dos capas más bajas del protocolo (capa física y de enlace).
Por otro lado, la ZigBee Alliance estipuló las capas más altas de la pila de protocolos (desde la capa de red hasta la de aplicación).
2.3.1 Estándar IEEE 802.15.4
El estándar IEEE 802.15.4 [6] [9] [10] define las especificaciones de la capa física (PHY) y de la subcapa de control de acceso al medio para conexiones inalámbricas con baja tasa de transmisión, entre dispositivos simples que consumen muy poca potencia y que operan en un POS (Personal Operating Space) de como mucho 10 metros. Por consiguiente, es un estándar diseñado específicamente para redes inalámbricas de área personal de bajo consumo (LR-WPAN).
8
Bajo este estándar, los enlaces inalámbricos pueden operar en tres bandas de frecuencias ISM (Industrial Scientific Medical) libres de licencia:
Banda de frecuencias (MHz) Número de canales Data rate (kb/s) Symbol rate (ksym/s) 868 1 20 20 915 10 40 40 2400 16 250 62,5
Tabla 1. Resumen de las propiedades de las tres bandas de frecuencia ISM.
2.3.1.1 Modelo de red
El estándar define dos tipos de nodo de red:
Dispositivo de funcionalidad completa (full-function device, FFD)
Tiene dos modos de funcionamiento: como coordinador de una red de área personal (PAN) o como un nodo normal. Implementa un modelo de comunicación que le permite intercambiar mensajes con cualquier otro dispositivo. Además, es capaz de encaminar mensajes actuando como coordinador (si es responsable de toda la red, “coordinador de la PAN”).
Dispositivo de funcionalidad reducida (reduced-function device, RFD)
Son dispositivos muy sencillos, con recursos y necesidades de comunicación muy limitadas. No pueden actuar como coordinadores y sólo pueden comunicarse con otros FFD.
Las redes pueden construirse como redes punto a punto o en estrella. En cualquier caso, toda red necesita al menos un FFD que actúe como coordinador.
Redes punto a punto
Su extensión está limitada únicamente por la distancia existente entre cada par de nodos. Debido a que en el estándar no se define capa de red, no se soportan funciones de enrutado directo.
Redes en estrella
Se forma cuando un FFD decide crear su PAN y se nombra a sí mismo coordinador (nodo central), tras elegir un identificador de PAN único. Entonces, otros dispositivos pueden unirse a una red totalmente independiente del resto de redes en estrella.
Las redes se componen de grupos de dispositivos. Cada dispositivo posee un identificador único de 64 bits, aunque si se dan ciertas condiciones de entorno pueden utilizarse identificadores cortos de 16 bits. Éstos últimos se utilizarían dentro del dominio de cada PAN separada.
9
2.3.1.2 Transmisión de datos
Existen cuatro tipos distintos de tramas: • Datos
• Sincronización • Beacon • Control MAC
Además, es posible utilizar una estructura de supertrama definida por el coordinador. Una supertrama está formada por 16 slots de igual longitud, que pueden dividirse en parte activa e inactiva. Durante ésta última se consigue ahorrar energía, ya que el coordinador no debe realizar tareas de control. Las tramas están comprendidas entre dos beacon, y proporcionan sincronización e información de configuración a otros dispositivos.
Figura 1. Estructura de supertrama en el estándar IEEE 802.15.4.
El proceso de contención se da entre los límites de la supertrama y se resuelve mediante CSMA/CA. Las transmisiones deben finalizar antes de la llegada del segundo beacon. Las supertramas suelen utilizarse cuando hay dispositivos de baja latencia, que deben mantener sus asociaciones incluso ante largos periodos de inactividad.
Si se trabaja con tramas beacon, la transferencia de datos requiere una primera fase de sincronización mediante beacon seguida por una transmisión con CSMA/CA con confirmación. Las transferencias iniciadas por el coordinador suelen atender a peticiones de los dispositivos, utilizando tramas beacon. El coordinador confirma la petición y envía la información en paquetes que, a su vez, confirman los dispositivos.
En caso de no utilizar supertramas, se sigue el mismo procedimiento con la salvedad de que no se pueden mantener listas de mensajes pendientes debido a la ausencia de beacon.
2.3.1.3 Fiabilidad y seguridad
Al medio físico se accede utilizando CSMA/CA. Si un dispositivo es incapaz de procesar una trama, no confirma su recepción. Se pueden realizar reintentos basados en timeout un
10
determinado número de veces, tras lo cual se decide si continuar intentándolo o descartar la trama por error en la transmisión.
Respecto a la seguridad en las comunicaciones, la subcapa MAC ofrece funcionalidades a los niveles superiores para poder alcanzar el nivel de seguridad deseado. Existe también un modo MAC inseguro que permite la utilización de listas de control de acceso únicamente como mecanismo de decisión de aceptación de tramas en base a su supuesto origen.
2.3.1.4 Capa Física
La capa física proporciona el servicio de transmisión de datos sobre el medio físico, así como el interfaz con el servicio de gestión por medio del cual se puede acceder a todos los servicios de gestión del nivel. De esta manera, la capa física controla el transceptor de radiofrecuencia y realiza la selección de canales junto con el control de consumo y de señal.
A continuación se enumeran sus principales funciones: • Activación y desactivación del transceptor radio • Energy detection (ED)
• Link Quality Indication (LQI) • Clear Channel Assessment (CCA) • Selección de frecuencia del canal • Transmisión y recepción de datos
2.3.1.5 Subcapa MAC
Transmite tramas MAC usando el canal físico. Además del servicio de datos, ofrece un interfaz de control y regula el acceso al canal físico. También controla la validación de las tramas y las asociaciones entre nodos, y garantiza slots temporales. Por último, ofrece puntos de acceso para servicios seguros.
En resumen, las principales funciones de la subcapa MAC:
• Generación de beacon de red (si el dispositivo es un coordinador) • Sincronización de los beacon
• Soporte de asociación y disociación de PAN (association y disassociation) • Empleo del mecanismo de CSMA/CA para acceso al canal
• Manejo y mantenimiento del mecanismo GTS (Guaranteed Time Slot) • Enlace fiable entre dos entidades MAC
Merecen atención especial los conceptos de association y disassociation, dado que en futuros capítulos se tratará en profundidad el proceso de device discovery period, muy relacionado con la asociación y disociación de PAN realizada por el estándar IEEE 802.15.4.
Un FDD puede indicar su presencia a otros dispositivos de una PAN transmitiendo tramas beacon. Esto permite a los dispositivos a llevar a cabo el “device discovery”. Un FDD que no sea coordinador de una PAN empezará a transmitir tramas beacon sólo cuando se haya asociado con éxito a una PAN.
11 La asociación de un dispositivo comienza tras haber completado un escaneado activo o pasivo del canal. El escaneado pasivo, como el activo, permite al dispositivo localizar a cualquier coordinador que esté transmitiendo tramas beacon dentro de su POS. Los resultados del escaneado del canal se utilizan para escoger una PAN apropiada. Un dispositivo tratará de asociarse sólo con una PAN que permita la asociación en ese momento. El proceso de elección de una PAN apropiada con la que asociarse concierne a la capa de aplicación.
Un dispositivo sin asociar iniciará el proceso de asociación enviando un comando de petición de asociación al coordinador de una PAN existente. Si el comando de petición de asociación se recibe correctamente, el coordinador enviará un acknowledgement (ACK). Sin embargo, este reconocimiento no significa que el dispositivo se haya asociado. El coordinador necesita cierto tiempo para determinar si las fuentes de las que dispone en ese momento la PAN son suficientes para permitir a otro dispositivo asociarse. Si ya está asociado, se elimina toda la información. Si hay suficientes recursos disponibles, el coordinador asignará una dirección corta al dispositivo y generará un comando de respuesta de asociación que contenga la nueva dirección y un estado indicando el éxito en la asociación. Si no hay recursos suficientes, el coordinador generará un comando de respuesta de asociación que contenga un estado que indique el fracaso.
Por otro lado, el dispositivo, tras adquirir la trama de reconocimiento, espera la respuesta. Tras la espera, comprueba los beacon (en una red con beacon habilitados) o extrae el comando de respuesta de asociación del coordinador. En caso de recepción del comando de respuesta de asociación, el dispositivo enviará un reconocimiento. Si la asociación tiene éxito, almacena la dirección del coordinador con el que se ha asociado.
Cuando un coordinador desea que uno de sus dispositivos asociados abandone la PAN, envía el comando de notificación de disociación al dispositivo. Con la recepción del paquete, el dispositivo deberá enviar la correspondiente trama de reconocimiento. Incluso si no se recibe este ACK, el coordinador considerará al dispositivo disociado.
Si un dispositivo asociado desea abandonar la PAN, envía un comando de notificación de disociación al coordinador. Cuando lo recibe, el coordinador envía un ACK. Incluso si no recibe el ACK, el dispositivo se considerará a él mismo disociado.
Un dispositivo asociado se disocia a él mismo eliminando todas las referencias a la PAN. Un coordinador disocia a un dispositivo eliminando todas las referencias a él.
2.3.2 ZigBee
La ZigBee Alliance es un consorcio industrial de más de 50 compañías cuyo objetivo es promocionar las redes IEEE 802.15.4 LR-WPAN. Está compuesta en su mayoría por empresas de semiconductores y sistemas integrados, y por los propios usuarios. Además, proporciona marketing y certificación de conformidad para el estándar 802.15.4.
En cuanto a la especificación, se encarga de definir las capas más altas del modelo de referencia de Interconexión de Sistemas Abiertos (OSI, Open System Interconnection). Hay que recalcar que oficialmente la ZigBee Alliance no está asociada con el IEEE y, por lo tanto, sus estándares no son abiertos.
12
La tecnología de ZigBee consiste en un protocolo para redes inalámbricas con baja tasa de transmisión, bajo consumo de potencia y bajo coste, dirigido a aplicaciones de automatización y control remoto. Se puede emplear la solución ZigBee en equipos que necesitan baterías con un tiempo de vida que va de varios meses a varios años, pero que no requieran tasas de transferencia de datos muy altas. Además, dicha solución puede implementarse en redes con topología mesh.
Los dispositivos inalámbricos ZigBee poseen un rango de transmisión de 10 a 75 metros, dependiendo del entorno de radiofrecuencia y del consumo de potencia de salida requerido por una aplicación dada, y operan en las bandas de radiofrecuencia mundiales que no requieren licencia (ISM).
En resumen, la solución ZigBee proporciona: • Información de red interoperable • Servicios de seguridad
• Pruebas de conformidad de interoperabilidad • Marketing del estándar
13
3.
ESTADO DEL ARTE
3.1PROTOCOLOS MAC ENERGY-EFFICIENT
La eficiencia energética es el aspecto más importante en las redes WSN [23]. Por este motivo, es primordial desarrollar técnicas que prolonguen el tiempo de vida de las baterías lo máximo posible.
En este sentido, el transceptor radio suele ser el componente que más energía consume de todos los que forman un nodo sensor. Contrariamente a lo que podría parecer a priori, el consumo energético en transmisión y en recepción es prácticamente el mismo. Por lo tanto, la solución radio always on se torna inaceptable bajo las condiciones de trabajo de estas redes.
Las soluciones a nivel de capa MAC intentan ahorrar energía mediante el uso de herramientas de control de acceso al medio. De esta manera, las capas superiores de la pila del protocolo no se ven afectadas.
3.1.1 S-MAC (Sensor-MAC)
El protocolo S-MAC [1] fue el primero en dividir el tiempo en periodos de duración fija, formados por una ventana activa y una ventana inactiva. La diferencia entre ambas ventanas radica en el estado radio, ya que en la primera se mantiene el transceptor en funcionamiento y en la segunda permanece apagado. Por lo tanto, los nodos deben organizarse de alguna manera para intercambiar información dentro de sus ventanas activas relativas.
En el S-MAC, la duración de las ventanas es fija y única para toda la red. Durante la ventana inactiva, cada nodo “duerme” durante un tiempo determinado. Mientras el nodo duerme, su radio queda apagada y establece un temporizador para despertarse más tarde. Cuando despierta, es decir, cuando entra dentro de la ventana activa, comienza a escuchar el medio para comprobar si otro nodo desea hablar con él.
La ventana activa se divide en dos partes:
• La primera parte se reserva para la recepción de mensajes SYNC procedentes de los vecinos de la red. Mediante el envío de mensajes SYNC periódicos, un nodo informa a sus vecinos sobre el tiempo restante hasta su siguiente ventana activa. Los tiempos relativos evitan la necesidad de una sincronización temporal global, mientras que la periodicidad de los mensajes palia los efectos de drift del reloj.
• La segunda parte se dedica a la recepción de datos, siguiendo un protocolo RTS/CTS/DATA/ACK.
14
Figura 2. Patrón temporal del protocolo S-MAC.
3.1.1.1 Selección y mantenimiento de patrones
Inicialmente, cada nodo escucha el medio durante un tiempo determinado a la espera de recibir un mensaje con el patrón temporal de alguno de sus vecinos. Si no recibe nada, escoge aleatoriamente un instante para irse a dormir e inmediatamente después difunde por toda la red un patrón propio mediante un mensaje SYNC. Si el nodo recibe un patrón de algún vecino antes de escoger uno propio, lo establece también como suyo, espera un tiempo aleatorio y lo retransmite por toda la red. Se necesita un tiempo aleatorio de espera para evitar posibles colisiones, ya que puede darse el caso que múltiples dispositivos reciban el mismo patrón y quieran transmitirlo a la vez, colisionando sistemáticamente. Si el nodo recibe un patrón tras haber seleccionado ya el suyo, deshecha este último si todavía no lo ha compartido con ningún vecino. Finalmente, si recibe un patrón tras haber seleccionado y enviado el propio, adopta ambos patrones.
Este comportamiento trata de coordinar los nodos para que puedan utilizar el mismo patrón. Sin embargo, por la propia naturaleza estadística, algunos nodos adoptarán varios patrones a la vez.
3.1.1.2 Sincronización
Aunque con un tiempo de escucha suficientemente largo se pueden tolerar drifts de reloj bastante largos, los nodos vecinos necesitan actualizar periódicamente sus patrones para prevenir drifts de reloj de larga duración. Por lo tanto, este tipo de esquema denominado listen/sleep scheme, requiere sincronización entre nodos vecinos.
La actualización de patrones se realiza mediante el envío de paquetes SYNC. Estos paquetes son muy cortos e incluyen la dirección del transmisor y el tiempo restante para su siguiente periodo de sleep. El next-sleep time es relativo al momento en que el transmisor finaliza la transmisión del paquete SYNC, que es aproximadamente cuando el receptor recibe el paquete (debido a que los retardos de propagación son despreciables).
La ventana activa se divide en slots temporales para que los transmisores lleven a cabo la detección de portadora. Por ejemplo, si un transmisor quiere enviar un paquete SYNC, éste inicia la detección de portadora cuando el receptor comienza a escuchar. Entonces selecciona aleatoriamente un slot temporal para finalizar su detección de portadora. Si no detecta ninguna transmisión al final del slot, gana el medio y empieza a enviar su paquete SYNC en ese instante.
15 Cada nodo envía periódicamente paquetes SYNC a sus vecinos, incluso si ninguno de ellos comparte su patrón. Así se ofrece a nuevos vecinos la oportunidad de unirse a un vecindario ya existente. El nuevo nodo seguirá el procedimiento de selección de patrón descrito más arriba.
Con todo esto, los principales defectos del S-MAC son: • Alta latencia.
• Insensibilidad para variar cargas de tráfico, dado que su ciclo de trabajo o duty cycle es fijo.
3.1.2 T-MAC (Timeout-MAC)
El protocolo T-MAC [2] está basado en el S-MAC y pretende solventar sus deficiencias. La elección del patrón temporal a seguir por los nodos se lleva a cabo de la misma manera que en el S-MAC. En cambio, las ventanas activas no son de duración fija: pueden extenderse, adaptándose así a diferentes tasas de tráfico.
Cada nodo activa su radio en el inicio de la ventana activa y la desactiva si no recibe ningún evento de activación durante un periodo determinado. La recepción de un mensaje es un ejemplo de evento de activación que prolongaría la ventana activa.
Figura 3. Patrón temporal del protocolo T-MAC. En la primera ventana activa no se recibe ningún evento de activación, mientras que en la segunda sí.
3.1.2.1 Mejoras respecto al S-MAC
Como se ha visto con el protocolo S-MAC, con un ciclo de trabajo fijo se consigue reducir el tiempo en idle listening. Sin embargo, una solución de este estilo no es óptima.
El problema radica en el hecho de que la tasa de envío de mensajes casi nunca será constante y, normalmente, variará. Si no se desea perder ningún mensaje, el periodo activo de los nodos debe escogerse de manera que sean capaces de soportar la carga máxima esperada. No obstante, siempre que la carga sea menor que el valor máximo, el periodo activo no será el óptimo y, de nuevo, se desperdiciará energía en idle listening.
La novedad que aporta el protocolo T-MAC es básicamente la transmisión de todos los mensajes en ráfagas de longitud variable, yendo a dormir entre ráfagas para reducir aún más el idle listening. Para mantener un periodo activo óptimo bajo carga variable, se determina dinámicamente su longitud. Esto es, en caso de no escuchar nada pasado un cierto timeout, se da por finalizado el periodo activo y el nodo se va a dormir.
16
3.1.2.2 Funcionamiento
Los nodos se comunican utilizando un esquema RTS/CTS/DATA/ACK, tal y como sucede en el S-MAC.
Cada nodo escucha y transmite dentro de su ventana o periodo activo. Cuando no se da ningún evento de activación durante un tiempo predefinido, el periodo activo finaliza. Se considera un evento de activación:
• La ejecución de algún temporizador. • La recepción de datos vía radio.
• La detección de una comunicación vía radio.
• El fin de la transmisión de un paquete de datos o de reconocimiento.
• El conocimiento de la finalización de un intercambio de datos de algún vecino.
Un nodo se irá a dormir en caso de estar libre y encontrarse fuera del periodo activo. Bajo el esquema descrito, la comunicación se realiza mediante una ráfaga al principio de cada trama. Dado que entre periodos activos los mensajes deben ser almacenados en un buffer, la capacidad de éste determinará el límite superior del máximo tiempo de trama.
3.1.2.3 Sincronización
La sincronización de trama está inspirada en la del protocolo S-MAC. Por lo tanto, su comportamiento puede consultarse en el apartado anterior.
3.1.2.4 Características adicionales Intervalo de contención fijo
Cada nodo transmite sus mensajes almacenados en buffer en una ráfaga en el inicio de trama. Durante esta ráfaga el medio se satura debido a que los mensajes se transmiten a tasa máxima. La transmisión RTS en T-MAC se inicia escuchando el medio durante un tiempo aleatorio dentro de un intervalo de contención fijo. La longitud del intervalo de contención se escoge para carga máxima.
Reintentos RTS
Cuando un nodo envía un RTS y no recibe de vuelta un CTS, puede deberse a tres situaciones:
• El nodo receptor no ha escuchado el RTS debido a una colisión.
• Al nodo receptor no se le permite responder debido a overhearing de RTS o CTS. • El nodo receptor está durmiendo.
Si el nodo transmisor no recibe respuesta durante el intervalo predefinido, se va a dormir. Para los dos primeros casos este comportamiento sería erróneo ya que el nodo transmisor se iría a dormir mientras el nodo receptor aún permanecería despierto, cosa que implicaría una disminución dramática del throughput.
Por consiguiente, los nodos tienen que retransmitir RTS en caso de no recibir respuesta por parte del receptor. Si tras dos reintentos sigue sin obtener respuesta, entonces debe abandonar e irse a dormir.
17
TA
Un nodo no debe irse a dormir mientras sus vecinos están en comunicación, ya que podría ser el receptor alguno de los mensajes. Dado que un nodo puede no escuchar el RTS que inicia una comunicación con su vecino, el intervalo de tiempo activo debe ser suficientemente largo para recibir al menos el inicio del paquete CTS. Por lo tanto, se puede encontrar una cota mínima para el periodo activo:
TA > C + R + T
Donde TA es el periodo activo, C es la longitud del intervalo de contención RTS, R es la longitud de un paquete RTS y T es el tiempo de turn-around (el intervalo de tiempo entre el fin del paquete RTS y el inicio del paquete CTS).
Overhearing
El protocolo S-MAC introdujo la idea de ir a dormir tras escuchar un RTS o CTS destinado a otro nodo de la red. De esta manera, como el nodo no puede transmitir durante este intervalo, no toma parte en ninguna comunicación y puede desconectar su radio para ahorrar energía.
En general, el protocolo T-MAC dispone también de una opción para evitar el overhearing. Sin embargo, como efecto colateral, aumentan las colisiones provocadas por overhead, haciendo que el throughput máximo decrezca. Por lo tanto, aunque evitando overhearing se ahorra en potencia, este mecanismo no debe ser usado cuando se requiera throughput máximo.
3.1.3 WiseMAC (Wireless Sensor MAC)
El protocolo WiseMAC [3] [4] pertenece al grupo de los llamados unscheduled protocols y está basado en una técnica denominada preamble sampling. Dicha técnica consiste en muestrear el medio periódicamente en busca de alguna actividad. En otras palabras, escuchar el canal radio durante un corto espacio de tiempo para detectar una portadora durante una señal de preámbulo.
Todos los nodos que forman una red muestrean el medio con el mismo periodo constante, pero sus patrones de escucha o wake-up son independientes y no están sincronizados. En caso de encontrarse el medio ocupado, el nodo continúa escuchando hasta recibir una trama de datos o hasta que el medio vuelve a estar libre.
Cuando se transmite una trama, se añade un preámbulo de longitud variable cuyo objetivo es avisar al nodo receptor, dentro de su intervalo de wake-up, de que ha de mantenerse despierto. Si se desconoce el patrón de wake-up del receptor, la duración del preámbulo será igual a la del intervalo básico. El preámbulo consiste en una secuencia de bits simple que indica a un nodo vecino la intención de realizar una transmisión. La propia temporización de muestreo se transmite al receptor dentro de la misma trama. Tras recibir la trama correctamente, el nodo receptor repite esta operación con su propia temporización en la respectiva trama de reconocimiento.
18
Figura 4. Esquema de comunicación del protocolo WiseMAC.
Los valores de temporización de muestreo de todos los nodos vecinos se almacenan en una tabla, cuyos valores se van actualizando periódicamente. Un nodo puede determinar los patrones de wake-up de todos sus vecinos a partir de esta tabla, hecho que permite minimizar la longitud del preámbulo en las transmisiones y, por consiguiente, reducir también el coste energético por transmisión. Siendo consciente del patrón de wake-up del receptor, el transmisor añade un pequeño preámbulo para compensar el máximo drift que los relojes de los dos nodos involucrados en la comunicación pueden haber desarrollado durante el tiempo desde su último intercambio de los valores temporales de muestreo. El cálculo detallado de la duración del preámbulo puede encontrarse en [3] y [4].
En situaciones de tráfico elevado, el tiempo entre comunicaciones será corto, así como el preámbulo de wake-up. Bajo estas condiciones, gracias a la combinación de la técnica de preamble sampling y de la minimización de la duración del preámbulo de wake-up es posible combatir el overhearing. En cambio, con condiciones de poco tráfico el tiempo entre comunicaciones tenderá a ser largo. No obstante, como máximo será igual al periodo de los nodos. Esta propiedad convierte a WiseMAC en un protocolo adaptable al tráfico.
Un detalle importante del protocolo WiseMAC es la presencia de un bit de frame pending en la cabecera de los paquetes de datos. Un nodo que reciba un paquete de datos con este bit activado continuará escuchando el medio tras haber enviado el correspondiente reconocimiento. El transmisor enviará el siguiente paquete justo después de recibir esta trama de reconocimiento.
Si un nodo sensor encuentra el medio ocupado esperará al start of frame delimiter, situado en el inicio de cada trama de datos. El nodo consultará en la cabecera si el paquete está destinado a él. En caso afirmativo, espera hasta el final de la transmisión y envía una trama de reconocimiento. Si el destino es otro nodo, se irá a dormir.
3.1.3.1 Extended Carrier Sensing Range
Mediante el extended carrier sensing range, los nodos consideran el medio ocupado siempre y cuando detecten una transmisión o ruido procedente de transmisiones de estaciones lejanas, incluso si la estación transmisora no se encuentra dentro del rango de transmisión del nodo.
Este mecanismo ofrece protección frente al problema del nodo escondido, que ocurre cuando un nodo A es visible por un nodo B, pero no por un nodo C que sí es capaz de
19 comunicarse con el B. Entonces, si el nodo A y el C intentan comunicarse con el B al mismo tiempo, ambos encontrarán el medio libre, pero se producirá una colisión.
Todos los nodos localizados dentro del rango de detección de portadora (normalmente es dos veces más grande que el rango de transmisión) considerarán el medio ocupado y desistirán cualquier intento de transmisión. No obstante, el precio a pagar es una reducción del throughput máximo global, ya que se permite a menos nodos transmitir al mismo tiempo. En una red de sensores diseñada para escenarios con poco tráfico esta reducción del throughput puede llegar a ser aceptable. Por lo tanto, si los recursos son escasos y el tiempo de vida es más importante que el propio throughput, el extended carrier sensing range es una solución apropiada.
3.1.3.2 CSMA no persistente con preamble sampling
Cuando hay más de una estación con intención de enviar un paquete, aquella que posea la reserva del medio más larga iniciará la transmisión. Las colisiones y los errores surgidos durante la transmisión se detectan utilizando tramas de reconocimiento, y se resuelven con un esquema ARQ. Aun así, se pueden dar colisiones por las siguientes razones:
• Problema del nodo escondido.
• Retardos en la propagación de la señal.
• Vulnerabilidad cuando dos estaciones conmutan simultáneamente sus transceptores al estado de transmisión.
Con la finalidad de mitigar las colisiones provocadas por transmisiones concurrentes hacia un mismo nodo u otros envíos en el vecindario, el protocolo WiseMAC sigue un esquema CSMA-no persistente en combinación con la técnica del preamble sampling. Cuando un nodo intenta el envío de una trama en un instante determinado, si en ese preciso momento encuentra el medio ocupado, pospone la transmisión y conmuta su radio al estado sleep. En caso de querer enviar un paquete a una estación que muestrea periódicamente el medio, el nodo debe escoger el siguiente instante de wake-up del destino e intentarlo de nuevo con otro preámbulo de reserva del medio aleatorio.
El principal inconveniente del WiseMAC es que los preámbulos de wake-up provocan una limitación en el throughput y un consumo elevado en recepción debido a overhead.
3.1.4 ADCA (Asynchronous Duty Cycle Adjustment)
El protocolo ADCA [5] es un protocolo asíncrono con patrón de escucha periódico. No necesita sincronizar los temporizadores de los nodos (así se evita overhead) y permite a cada uno establecer su propio patrón de escucha independiente. Está pensado para proporcionar bajo consumo energético, baja latencia en transmisión y alto throughput en redes WSN.
Cuando se inicializa un nodo, en primer lugar decide su propio patrón de escucha y lo transmite en modo broadcast. Durante un periodo inicial de longitud arbitraria colecciona todos los patrones de sus vecinos. Entonces empieza a ejecutar su patrón de escucha, compuesto de ciclos periódicos repetidos y de longitud fija, cada uno de ellos formado por un periodo de contención, un periodo SYN, un periodo extendido y un periodo sleep.
20
Figura 5. Inicialización del patrón de escucha del protocolo ADCA.
Durante el periodo de contención, cada nodo escucha el canal en busca de posibles paquetes de entrada. En el periodo SYN, se envía un paquete SYN broadcast a todos los nodos transmisores. Inmediatamente después al periodo SYN, el periodo extendido prolonga la duración del tiempo activo. Entonces, cada nodo conmuta su radio a modo sleep para ahorrar energía durante el periodo que lleva el mismo nombre.
Cuando un nodo desea transmitir un paquete, comprueba su tabla de vecinos y “lucha” para enviar el paquete de datos dentro del periodo de contención del receptor. Tras la correcta transmisión, el nodo se va a dormir. En cambio, si el nodo fracasa al enviar el paquete en el periodo de contención del receptor, conmuta la radio a modo recepción a la espera de recibir un paquete SYN del receptor e intentar la retransmisión en su periodo extendido. Si aun así falla también la transmisión durante el periodo extendido, el nodo transmisor esperará al siguiente periodo de contención del receptor.
Debido a la no sincronización de los patrones de los nodos, éstos son escalonados. Por consiguiente, se incrementa tanto la probabilidad de éxito en la transmisión como la utilización del canal, y se reducen las incidencias debidas a overhearing. Además, ADCA permite a los nodos ajustar dinámicamente sus periodos de contención y extendido basándose en el estado de la transmisión en curso y/o la carga de tráfico. De esta manera, el throughput también se ve incrementado y el retardo de transmisión disminuye, sin afectar a la eficiencia energética.
3.1.5 Otros protocolos
3.1.5.1 DS-MAC (Dynamic Sensor-MAC)
DS-MAC [16] añade la característica de ciclo de trabajo dinámico al protocolo S-MAC. Inicialmente, la longitud del periodo viene definida por el sistema pero se permite a un nodo duplicarla o reducirla a la mitad dinámicamente dependiendo de las condiciones de carga de tráfico. Si el retardo medio en la recepción de paquetes es demasiado alto, el nodo reduce a la mitad la duración de su actual periodo. Si el retardo en la recepción de paquetes es bajo, el nodo doblará la duración del periodo. En ambos casos la ventana activa se mantiene constante.
El objetivo es disminuir la latencia en aplicaciones sensibles al retardo. Dentro del periodo SYNC, todos los nodos comparten sus valores de latencias de un salto (tiempo entre la recepción de un paquete dentro de la cola y su transmisión). Como se ha comentado, todos los nodos empiezan con el mismo valor de duty cycle. Cuando un nodo receptor se percata de que el valor medio de latencia de un salto es alto, decide acortar su tiempo en sleep y lo anuncia dentro del periodo SYNC. De acuerdo con esto, después de que el nodo transmisor reciba esta señal de disminución del periodo sleep, comprueba si en su cola hay paquetes destinados a
21 este nodo receptor. Si hay alguno, dobla su ciclo de trabajo siempre y cuando su nivel de batería esté por encima de un umbral específico.
La latencia observada con DS-MAC es mejor que la obtenida con S-MAC. Además, también se aprecia mejor consumo de potencia media por paquete.
3.1.5.2 B-MAC (Berkeley-MAC)
Es un protocolo de acceso al medio por detección de portadora. Proporciona un interfaz flexible para conseguir operaciones de ultra baja potencia, mecanismos efectivos para evitar colisiones y alta utilización de canal.
Para lograr operaciones de baja potencia, B-MAC [11] emplea un esquema de muestreo de preámbulo adaptable para reducir el ciclo de trabajo y minimizar el idle listening. Asimismo, el protocolo soporta configuraciones on-the-fly y proporciona interfaces bidireccionales para servicios del sistema, con el objetivo de optimizar el comportamiento, ya sea para throughput, latencia o conservación de potencia. En el documento [11] se lleva a cabo una comparación con el protocolo S-MAC, donde se demuestra una mejor tasa de entrega de paquetes, throughput, latencia y consumo energético.
Este protocolo utiliza clear channel assessment (CCA) y backoffs de paquetes para el arbitraje del canal, reconocimientos de la capa de enlace para obtener fiabilidad y LPL (Low Power Listening) para comunicaciones de baja potencia.
3.1.5.3 P-MAC (Pattern-MAC)
En el protocolo P-MAC [12], los nodos determinan sus sleep/wake-upschedules basándose en su propio tráfico y en los patrones de tráfico de sus vecinos. En [12] se demuestra tanto analíticamente como experimentalmente que mediante esta estrategia el protocolo es capaz de alcanzar mayor throughput con cargas altas y conservar más energía con cargas bajas que el S-MAC.
Con P-MAC, un nodo sensor consigue información sobre la actividad de su vecindario a través de patrones. Basándose en estos patrones, el nodo puede irse a dormir durante un largo tiempo cuando no hay tráfico en la red. Si existe alguna actividad en el vecindario, el nodo la conocerá a través de los patrones y despertará cuando se le requiera. Por lo tanto, P-MAC intenta ahorrar más potencia que el S-P-MAC y el T-P-MAC, sin mantener ningún tipo de compromiso con el throughput.
3.1.5.4 U-MAC (Utilization based duty cycle tuning-MAC)
Realiza tres modificaciones sobre el S-MAC:
• Incorpora diversos esquemas de duty cycle para asignar diferentes ciclos de trabajo a nodos con diferentes tareas.
• Para calcular los valores de ciclo de trabajo adecuados usa un enfoque basado en la utilización.
• Emplea periodos de sleep selectivos tras las transmisiones para reducir el desperdicio energético experimentado en el S-MAC.
22
Los experimentos llevados a cabo en [13] muestran que el U-MAC reduce efectivamente el consumo energético y la latencia respecto al S-MAC. En comparación con el DS-MAC, saca partido del mecanismo de sintonización utilizado.
Como se ha comentado, el protocolo no asigna el mismo ciclo de trabajo para todos los nodos, y a cada nodo se le pueden asignar periódicamente diferentes listen/sleep schedules con ciclos de trabajo también diferentes. Como ocurre en el S-MAC, se fuerza a los nodos sensores a intercambiar sus patrones y sincronizar el reloj con el de sus vecinos, con un periodo fijado. Sin embargo, los nodos que reciban paquetes SYNC no adoptarán el mismo patrón que sus vecinos, como sucede en el S-MAC.
En una red de sensores, cada nodo tiene sus propias cargas de tráfico, diferentes de acuerdo con las tareas que lleva a cabo y con su ubicación. Para reflejar las diferentes cargas de tráfico, se adopta como métrica de evaluación la utilización de cada nodo. El nodo calcula cuál ha sido su utilización tras su última sincronización y ajusta el duty cycle de acuerdo con el valor calculado. Entonces, envía el nuevo patrón a sus vecinos vía broadcasting. El algoritmo detallado se resume en [13].
Se propone también que los nodos vayan selectivamente a dormir. Cuando termina una transmisión, un nodo comprueba si se encuentra en el periodo sleep y, si lo está, se va a dormir. El hecho de irse a dormir no provoca retardos adicionales, ya que los vecinos creen que el nodo se encuentra en estado sleep y ninguno de ellos le enviará paquetes.
3.1.5.5 X-MAC
La primera idea que introduce el protocolo X-MAC es incrustar en el preámbulo la dirección de destino para que los receptores que no lo sean puedan volver a dormir rápidamente. Así se trata el problema del overhearing.
La segunda idea es utilizar el llamado strobed preamble para permitir al destinatario interrumpir el preámbulo largo tan pronto como se despierte y determine que él es el objetivo de la recepción. El enfoque del strobed preamble (o preámbulo corto) permite reducir el tiempo y la energía empleada esperando a que se complete el preámbulo largo. En [14] se lleva a cabo la demostración de que el X-MAC proporciona un ahorro significativo en energía y en latencia por salto.
Finalmente, el protocolo X-MAC puede optar por utilizar un algoritmo automatizado para adaptar el ciclo de trabajo de los nodos y acomodar de la mejor forma posible la carga de tráfico en la red.
3.1.5.6 Z-MAC (Zebra-MAC)
Es un esquema MAC híbrido, que combina los puntos fuertes de TDMA y CSMA al tiempo que compensa sus debilidades. La principal característica del Z-MAC [15] es su adaptabilidad al nivel de contención en la red de forma que, en condiciones de baja contención, éste se comporta como CSMA, y en condiciones de alta contención, como TDMA. Es también un protocolo robusto a cambios de topología dinámicos y fallos en sincronización temporal, problemas muy comunes en redes de sensores.
23 En Z-MAC la asignación de slots temporales se lleva a cabo en el momento del despliegue, que es cuando se sufre el overhead más alto. Después de la asignación, cada nodo reutiliza su slot periódicamente en cada trama. A un nodo con un slot temporal asignado se le denomina propietario de ese slot, y los otros nodos son no propietarios de ese slot. Notar que puede haber más de un propietario por slot.
Un nodo puede transmitir en cualquier slot temporal. Antes de transmitir (no necesariamente en el inicio del slot), el nodo siempre lleva a cabo la detección de portadora, y transmite un paquete cuando el canal está libre. Sin embargo, un propietario de slot siempre tendrá más prioridad en acceder al canal que los no propietarios. La prioridad se implementa ajustando el tamaño de la ventana de contención inicial de forma que a los propietarios se les da la opción de transmitir antes que a los no propietarios. El objetivo es que durante los slots donde los propietarios tengan datos a transmitir, Z-MAC reduzca la probabilidad de colisión, dado que los propietarios disponen antes de la oportunidad de transmitir y sus slots están repartidos a priori para evitar colisiones. No obstante, cuando un slot no es utilizado por sus propietarios, los no propietarios pueden “robarlo”.
Una característica importante de este esquema de prioridad es que la probabilidad de acceder al canal de los propietarios puede ser ajustada independientemente de la de los no propietarios. En [15] se demuestra que esto contribuye a incrementar la robustez del protocolo frente a la sincronización y la asignación de slots fallida, mientras que habilita su escalabilidad a la contención.
Mezclando CSMA y TDMA, Z-MAC consigue ser más robusto que un TDMA por sí solo a fallos temporales, condiciones del canal variantes con el tiempo, fallos en la asignación de slots y cambios en la topología.
3.2NACIMIENTO DEL PROTOCOLO WIMET
Las aplicaciones de metering cumplen con todos los parámetros característicos de las redes de sensores inalámbricos:
• Alta eficiencia energética de los contadores. • Bajo coste.
• Instalación muy simple de dispositivos. • Tasas de transmisión bajas.
Sin embargo, exigen todavía más: requieren el mínimo consumo energético proporcionando a la vez máximo rango de cobertura. Concretamente, el tiempo de vida de los dispositivos debe ser de unos 10 años y la cobertura superior a 100 metros. Estos últimos requisitos dificultan la elección de un protocolo de comunicaciones inalámbricas adecuado a las condiciones de trabajo de dichas aplicaciones.
Inicialmente se contempla la solución clásica utilizada para redes WSN, esto es, estándar IEEE 802.15.4 más protocolo ZigBee. Por un lado, esta opción consigue tiempos de vida que van de varios meses a varios años, aunque resulta difícil creer que pueda alcanzar la década.
24
Por otro lado, los rangos de transmisión oscilan entre los 10 metros y los 75 metros. Por lo tanto, esta combinación de protocolos no es válida de acuerdo con los requerimientos demandados por las aplicaciones de metering.
Debido al auge que han vivido durante estos últimos años las redes WSN, hoy en día abundan los denominados protocolos MAC energy-efficient. Como se ha podido comprobar en el apartado 3.1, cada uno de estos protocolos se las ingenia de alguna manera para ahorrar la máxima potencia posible y así alargar el tiempo de vida de los dispositivos. A través del estudio de su funcionamiento, se ha valorado cada una de las propuestas para su posible aplicación. Sin embargo, ninguna de ellas asegura acatar las duras exigencias impuestas por el metering.
Por consiguiente, la empresa Wimet se planteó la posibilidad de desarrollar un protocolo de comunicaciones de ultra bajo consumo, con su correspondiente subcapa MAC, que lograra cumplir con estos requisitos.
En primer lugar, se ideó utilizar varias de las estrategias seguidas por protocolos MAC energy-efficient existentes en combinación con técnicas de ahorro energético originales, para cumplir con las exigencias relativas al consumo.
En cuanto al rango de transmisión, se consideró la configuración mesh como topología de red apropiada para el diseño de la solución. En el capítulo 2 se han visto sus características principales, entre ellas permite extender el rango de cobertura gracias a su condición de red inalámbrica multisalto.
De esta manera nació el protocolo de comunicaciones WiMet (Wireless Metering Protocol).
25
4.
WIMET PROTOCOL
4.1ELEMENTOS DE RED
Las redes que funcionan bajo el protocolo WiMet se componen básicamente de dos tipos de dispositivos: MIU y gateway. Los enlaces inalámbricos trabajan en la banda de frecuencias ISM libres de licencia de 868 MHz (sólo en Europa).
Figura 6. Esquema de una red simple de MIU y Gateway.
4.1.1 Gateway
Es un dispositivo que actúa como concentrador de una subred de MIU, centralizando la información recibida de cada nodo y transmitiéndola de forma conjunta a otros gateway en configuración mesh hasta llegar a una salida hacia Internet (un Access Point o AP, con capacidad GPRS o Wifi).
Los gateway transmiten a 869 MHz (banda ISM libre de licencia) y alcanzan rangos de 2 a 3 km. Por lo tanto, una red mesh de gateway es una red metropolitana, donde cada dispositivo agrupa diferentes subredes de MIU. Normalmente, cada gateway es capaz de administrar 50 dispositivos MIU, y cada AP alberga alrededor de 20 dispositivos gateway.
4.1.2 MIU (Meter Interface Unit)
Es un dispositivo con capacidad de establecer comunicación inalámbrica con otros MIU a 868 MHz (banda ISM libre de licencia). Se comporta como un nodo dentro de una agrupación o red mesh, capaz de enviar y recibir mensajes hacia/desde otros MIU (también llamados vecinos a un salto) y de retransmitir mensajes procedentes de MIU más lejanos (situados a más de un salto) hacia otros MIU. El destino final de todos estos mensajes es el gateway de la agrupación.