# IEEE 802.15.4

IEEE 802.15.4 es un estándar que define el nivel físico y el control de acceso al medio de redes inalámbricas de área personal con tasas bajas de transmisión de datos (low-rate wireless personal area network, LR-WPAN). En 2007, la actual revisión del estándar se aprobó en 2006. El grupo de trabajo IEEE 802.15 es el responsable de su desarrollo.
También es la base sobre la que se define la especificación de ZigBee, cuyo propósito es ofrecer una solución completa para este tipo de redes construyendo los niveles superiores de la pila de protocolos que el estándar no cubre.

## Visión general

El propósito del estándar es definir los niveles de red básicos para dar servicio a un tipo específico de red inalámbrica de área personal (WPAN) centrada en la habilitación de comunicación entre dispositivos ubicuos con bajo coste y velocidad (en contraste con esfuerzos más orientados directamente a los usuarios medios, como WiFi). Se enfatiza el bajo coste de comunicación con nodos cercanos y sin infraestructura o con muy poca, para favorecer aún más el bajo consumo.
En su forma básica se concibe un área de comunicación de 10 metros con una tasa de transferencia de 250 kbps. Se pueden realizar compromisos que favorezcan aproximaciones más radicales a los sistemas embebidos con requerimientos de consumo aún menores. Para ello se definen no uno, sino varios niveles físicos. Se definieron inicialmente tasas alternativas de 20 y 40 kbps; la versión actual añade una tasa adicional de 100 kbps. Se pueden lograr tasas aún menores con la consiguiente reducción de consumo de energía. Como se ha indicado, la característica fundamental de 802.15.4 entre las WPAN's es la obtención de costes de fabricación excepcionalmente bajos por medio de la sencillez tecnológica, sin perjuicio de la generalidad o la adaptabilidad.
Entre los aspectos más importantes se encuentra la adecuación de su uso para tiempo real por medio de slots de tiempo garantizados, evasión de colisiones por CSMA/CA y soporte integrado a las comunicaciones seguras. También se incluyen funciones de control del consumo de energía como calidad del enlace y detección de energía.
Un dispositivo que implementa el 802.15.4 puede transmitir en una de tres posibles bandas de frecuencia.

## Arquitectura de los protocolos

Los dispositivos se relacionan entre sí a través de una red inalámbrica sencilla. La definición de los niveles se basa en el modelo OSI. Aunque los niveles inferiores se definen en el estándar, se prevé la interacción con el resto de niveles, posiblemente por medio de un subnivel de control de enlace lógico basado en IEEE 802.2, que acceda a MAC a través de un subnivel de convergencia. La implementación puede basarse en dispositivos externos o integrarlo todo en dispositivos autónomos.
El nivel físico (PHY) provee el servicio de transmisión de datos sobre el medio físico propiamente dicho, así como la interfaz con la entidad de gestión del nivel físico, por medio de la cual se puede acceder a todos los servicios de gestión del nivel y que mantiene una base de datos con información de redes de área personal relacionadas. De esta forma, PHY controla el transceptor de radiofrecuencia y realiza la selección de canales junto con el control de consumo y de la señal. Opera en una de tres posibles bandas de frecuencia de uso no regulado.
* 868-868,8 MHz: Europa, permite un canal de comunicación (versión de 2003), extendido a tres en la revisión de 2006.
* 902-928 MHz: Norte América, hasta diez canales (2003) extendidos a treinta (2006).
* 2400-2483,5 MHz: uso en todo el mundo, hasta dieciséis canales (2003, 2006).
La versión original del estándar, de 2003, especifica dos niveles físicos basados en espectro ensanchado por secuencia directa (direct sequence spread spectrum, DSSS): uno en las bandas de 868/915 MHz con tasas de 20 y 40 kbps; y otra en la banda de 2450 MHz con hasta 250 kbps.
La revisión de 2006 incrementa las tasas de datos máximas de las bandas de 868/915 MHz, que permiten hasta 100 y 250 kbps. Aún más, define cuatro niveles físicos en base al método de modulación usado. Tres de ellas preservan el mecanismo por DSSS: las bandas de 868/915 MHz, que usan modulación en fase binaria o por cuadratura en offset (offset quadrature phase shift keying, esta segunda opcional). En la banda de 2450 MHz se usa esta segunda técnica. Adicionalmente, se define una combinación opcional de modulación binaria y en amplitud para las bandas de menor frecuencia, basadas por lo tanto en una difusión de espectro paralela, no secuencial (PSSS). Si se usan éstas bandas de menor frecuencia, se puede cambiar dinámicamente el nivel físico usado de entre los soportados.
El control de acceso al medio (MAC) transmite tramas MAC usando para ello el canal físico. Además del servicio de datos, ofrece una interfaz de control y regula el acceso al canal físico y al balizado de la red. También controla la validación de las tramas y las asociaciones entre nodos, y garantiza slots de tiempo. Por último, ofrece puntos de enganche para servicios seguros.
El estándar no define niveles superiores ni subcapas de interoperabilidad. Existen extensiones, como la especificación de ZigBee, que complementan al estándar en la propuesta de soluciones completas.

## Modelo de red

El estándar define dos tipos de nodo en la red. El primero es el dispositivo de funcionalidad completa (full-function device, FFD). Puede funcionar como coordinador de una red de área personal (PAN) o como un nodo normal. Implementa un modelo general de comunicación que le permite establecer un intercambio con cualquier otro dispositivo. Puede, además, encaminar mensajes, en cuyo caso se le denomina coordinador (coordinador de la PAN si es el responsable de toda la red y no solo de su entorno).
Contrapuestos a estos están los dispositivos de funcionalidad reducida (reduced-function device, RFD). Se plantean como dispositivos muy sencillos con recursos y necesidades de comunicación muy limitadas. Por ello, solo pueden comunicarse con FFD's y nunca pueden ser coordinadores.
Las redes de nodos pueden construirse como redes punto a punto o en estrella. En cualquier caso, toda red necesita al menos un FFD que actúe como su coordinador. Las redes están compuestas por grupos de dispositivos separados por distancias suficientemente reducidas; cada dispositivo posee un identificador único de 64 bits, aunque si se dan ciertas condiciones de entorno en éste pueden utilizarse identificadores cortos de 16 bits. Probablemente estos se utilizarán dentro del dominio de cada PAN separada.
Las redes punto a punto pueden formar patrones arbitrarios de conexionado, y su extensión está limitada únicamente por la distancia existente entre cada par de nodos. Forman la base de redes ad hoc autoorganizativas. El estándar no define un nivel de red, por lo que no se soportan funciones de ruteo de forma directa, aunque si dicho nivel se añade pueden realizarse comunicaciones en varios saltos. Pueden imponerse otras restricciones topológicas; en concreto, el estándar menciona el árbol de clusters como una estructura que aprovecha que los RFD's solo pueden conectarse con un FFD al tiempo para formar redes en las que los RFD's son siempre hojas del árbol, y donde la mayoría de los nodos son FFD's. Puede relajarse la estructura para formar redes en malla genéricas, cuyos nodos sean árboles de clusters con un coordinador local para cada cluster, junto con un coordinador global.
También pueden formarse redes en estrella, en las que el coordinador va a ser siempre el nodo central. Una red así se forma cuando un FFD decide crear su PAN y se nombra a sí mismo coordinador, tras elegir un identificador de PAN único. Tras ello, otros dispositivos pueden unirse a una red totalmente independiente del resto de redes en estrella.

## Arquitectura de transporte de datos

Las tramas son la unidad básica de transporte. Hay cuatro tipos distintos (de datos, de sincronización, balizas y de control MAC), que constituyen un compromiso razonable entre sencillez y robustez. Puede usarse, además, una estructura de supertramas definida por el coordinador, en cuyo caso éstas están comprendidas entre dos balizas y proveen sincronización e información de configuración a otros dispositivos. Una supertrama está formada por dieciséis slots de igual capacidad, que pueden dividirse en una parte activa y otra pasiva, en la que el coordinador puede ahorrar energía ya que no tendrá que realizar labores de control.
La contención se da entre los límites de la supertrama y se resuelve por medio de CSMA/CA. Toda transmisión debe finalizar antes de la llegada de la segunda baliza. Como ya se ha indicado, una aplicación que tenga unas necesidades de ancho de banda bien definidas puede utilizar hasta siete dominios de uno o más slots garantizados, sin contención, en la parte final de la supertrama. La primera parte debe ser suficiente para dar servicio a la estructura de red y sus dispositivos. Las supertramas suelen usarse cuando hay dispositivos de baja latencia, que deben mantener sus asociaciones incluso ante periodos extendidos de inactividad.
La transferencia de datos requiere una fase de sincronización por balizas, si están en uso, seguida por una transmisión con CSMA/CA (utilizando slots si se usan supertramas) con confirmación. Las transferencias iniciadas por el coordinador suelen atender a peticiones de los dispositivos. Estas se producen utilizando las balizas, si se utilizan. El coordinador confirma la petición y manda la información en paquetes, que los dispositivos confirman. Si no se utilizan supertramas el proceso es el mismo, solo que no hay balizas que puedan mantener listas de mensajes pendientes.
Las redes punto a punto pueden usar CSMA/CA sin slots o mecanismos de sincronización; en este último caso, dos dispositivos cualesquiera pueden comunicarse, mientras que si la red es más estructurada uno de los dispositivos debe ser el coordinador.
En general, el modelo sigue un patrón de clasificación de las primitivas en petición-confirmación/indicación-respuesta.

## Fiabilidad y seguridad

El medio físico es un recurso al que se accede utilizando CSMA/CA. Las redes que no utilizan métodos balizado hacen uso de una variación del mismo basada en la escucha del medio, balanceada por un algoritmo de backoff exponencial aleatorio, salvo en el caso de las confirmaciones. Las transmisiones de datos típicas utilizan slots no reservados cuando se utilizan balizas; de nuevo, la excepción son las confirmaciones.
Estos mensajes de confirmación pueden ser opcionales en algunos casos; en ellos, se realiza un supuesto de éxito. En cualquier caso, si un dispositivo es incapaz de procesar una trama en un momento dados, no confirma su recepción. Pueden realizarse reintentos basados en timeout un cierto número de veces, tras lo cual se decide si seguir intentándolo o dar error de transmisión.
El entorno de funcionamiento previsto para este tipo de redes exige que se maximice la vida de la fuente de energía (baterías, posiblemente), por lo que se favorecen los protocolos que conducen a estos fines. Para ello, se programan comprobaciones periódicas de mensajes pendientes, más o menos frecuentes según la aplicación concreta.
En lo que respecta a seguridad en las comunicaciones, el subnivel MAC ofrece funcionalidades que los niveles superiores pueden utilizar para lograr alcanzar el nivel de seguridad deseado. Estos niveles pueden especificar claves simétricas para proteger los datos y restringir estos a un grupo de dispositivos o a un enlace punto a punto. Estos grupos se especifican en listas de control de acceso. Además, MAC realiza comprobaciones de frescura (freshness check) entre recepciones sucesivas para asegurar que las tramas viejas, cuyo contenido no se considera útil o válido ya, no trascienden a los niveles superiores.
Adicionalmente, existe un modo MAC inseguro que permite el uso de listas de control de acceso únicamente como mecanismo de decisión de aceptación de tramas sobre la base de su (supuesto) origen.