Bluetooth es una especificación que define redes de área personal inalámbricas (wireless personal area network, WPAN). Está desarrollada por Bluetooth SIG y, a partir de su versión 1.1, sus niveles más bajos (en concreto, el nivel físico y el control de acceso al medio) se formalizan también en el estándar IEEE 802.15.1. En 1995, la versión más reciente es la 2.1, publicada en julio del mismo año (la revisión actual de IEEE 802.15.1 se aprobó en 1997.

Visión general

La especificación principal de Bluetooth (denominada core) define el nivel físico (PHY) y el control de acceso al medio (MAC) de una red inalámbrica de área personal. Este tipo de redes tienen por cometido la transferencia de información en distancias cortas entre un grupo privado de dispositivos. A diferencia de las LAN inalámbricas, están diseñadas para no requerir infraestructura alguna, o muy poca. Aún más, su comunicación no debería trascender más allá de los límites de la red privada.

El objetivo es lograr redes ad hoc simples de bajo coste y consumo. Para ello, Bluetooth define un espacio de operación personal (personal operating space) omnidireccional en el seno del cual se permite la movilidad de los dispositivos. Se definen tres tipos de dispositivos con diferentes rangos de acción: las clases 1 (cien metros), 2 (diez) y 3 (uno).

El estándar realiza la formalización de estas ideas y se concibe como una solución para evitar el uso de cableado en las comunicaciones. La especificación principal define el sistema básico, pero su diseño potencia la flexibilidad. Por ello, hay multitud de opciones, definidas por los perfiles Bluetooth en especificaciones complementarias.

Arquitectura de los protocolos

thumb|Pila de protocolos Bluetooth Una WPAN proporciona los servicios necesarios para la operación en el seno de redes ad hoc. Ello incluye el establecimiento de conexiones síncronas y asíncronas (con o sin conexión) a nivel MAC. El sistema básico está formado por un transceptor de radiofrecuencia, el nivel de banda base y la pila de protocolos Bluetooth, y otorga conectividad a todo un rango de dispositivos.

La especificación principal cubre los cuatro niveles inferiores y sus protocolos asociados junto con el protocolo de descubrimiento de servicios (service discovery protocol, SDP), que toda aplicación Bluetooth necesita, y el perfil de acceso genérico.

Controlador Bluetooth

Los niveles inferiores de la pila de protocolos constituyen el controlador Bluetooth, que contiene los bloques fundamentales de la tecnología, sobre los cuales se apoyan los niveles superiores y los protocolos de aplicación. Este componente está estandarizado y puede interactuar con otros sistemas Bluetooth de más alto nivel, aunque la separación entre ambas entidades no es obligatoria.

El nivel de radiofrecuencia (RF) está formado por el transceptor físico y sus componentes asociados. Utiliza la banda ISM de uso no regulado a 2,4 GHz, lo que facilita la consecución de calidad en la señal y la compatibilidad entre transceptores.

Por encima de él se encuentra el nivel de banda base (baseband, BB), que controla las operaciones sobre bits y paquetes, realiza detección y corrección de errores, broadcast automático y cifrado como sus labores principales. También emite confirmaciones y peticiones de repetición de las transmisiones recibidas.

El tercer y último nivel de base es el nivel de gestión de enlace (link manager, LM), responsable del establecimiento y finalización de conexiones, así como de su autentificación en caso necesario. También realiza el control del tráfico y la planificación, junto con la gestión de consumo y supervisión del enlace.

Anfitrión Bluetooth

El resto de niveles de base y los protocolos de aplicación residen en el anfitrión Bluetooth (también denominado host), que se comunica con el controlador utilizando una interfaz estándar. Ambas entidades pueden integrarse para su uso conjunto en sistemas embebidos, o se pueden utilizar de forma intercambiable. En cualquier caso, se asume que la capacidad de los buffers del controlador es modesta comparada con la del anfitrión, lo que puede tener consecuencias en la gestión de la calidad de servicio (quality of service, QoS) y la disponibilidad de canales, entre otros aspectos.

El nivel más importante del anfitrión es el protocolo de control y adaptación de enlace lógico (logical link control & adaptation protocol, L2CAP), encargado de controlar la comunicación proveniente de niveles superiores y la asocia a los sistemas de transporte de datos (definidos más abajo) multiplexando los canales L2CAP en enlaces lógicos y segmentando las tramas adecuadamente. Puede añadir opcionalmente detección de errores y retransmisión de paquetes a BB, así como control de flujo basado en protocolos de ventana deslizante, asignación de buffers y QoS.

Si bien estos son los componentes fundamentales de un sistema Bluetooth completo, no todos requerirán todas estas funcionalidades (en concreto, sistemas embebidos sencillos); no obstante, todo ello se define como obligatorio. A partir de aquí, las aplicaciones pueden añadir niveles de protocolo para adecuarse a funcionalidades específicas, tales como transmisión de voz o TCP/IP. Estas definiciones de perfiles están fuera del ámbito de la definición principal.

Principios operativos

El nivel físico opera en la banda ISM de uso no regulado utilizando para ello un transceptor que ejecuta saltos de frecuencia (frequency hopping) en un conjunto amplio de portadoras. Es, por tanto, un sistema de espectro de dispersión basado en saltos (frequency hopping spread spectrum), diseñado para evitar interferencias y empobrecimiento (fading) de la señal. La complejidad del hardware se acota utilizando modulación en frecuencia en su forma binaria, de forma que se alcanzan cotas de transmisión de 1 Mbps (hasta un millón de símbolos, binarios por la modulación, por segundo). Utilizando técnicas de tasa de datos mejorada (enhanced data rate) puede llegarse hasta los 2-3 Mbps.

Un grupo de comunicación puede compartir el canal físico con muchos otros dispositivos, por lo que se sincroniza utilizando un reloj global y un patrón de saltos específico, ambos únicos. Debe haber exactamente un dispositivo maestro que ofrece la referencia de sincronización a partir de su reloj interno; el resto de dispositivos funcionan como esclavos. El reloj del maestro y su dirección de dispositivo única definen el patrón de saltos como una permutación aleatoria de 79 frecuencias en la banda ISM. Algunas de ellas pueden no utilizarse si presentan interferencias frecuentes. Esto favorece la existencia de grupos independientes entre sí o diversas piconets que comparten un mismo canal, a la vez que aumenta la tolerancia a sistemas que no cambian nunca sus frecuencias de transmisión.

El canal físico se define a través de slots de tiempo que se utilizan para enviar paquetes entre los dispositivos. Estos envíos se realizan mediante un duplex basado en división de tiempo (time-division duplex), equivalente a Full Duplex.

Las comunicaciones existen como resultado de la interacción entre entidades de alto nivel, que se implementan según sus propias interfaces características y comportamiento definitorio. El gestor de recursos de banda base (baseband resource manager) controla el acceso al transceptor y planifica los accesos a los canales físicos definidos, que establece entre los dispositivos que lo solicitan. Incluye también servicios de análisis de las portadoras y los requerimientos de QoS, entre otros. El gestor de dispositivos es responsable del dispositivo en sí y de su comportamiento; en definitiva, todo aquello que no está relacionado directamente con el transporte de datos, incluyendo la detección de dispositivos y la gestión de los estados internos de descubrible y conectable. El gestor de enlace controla los canales y transportes lógicos junto con los canales físicos; se comunica con otros gestores de enlace utilizando el protocolo de gestor de enlace. También se encarga de la calidad de servicio, el cifrado y el control de la potencia de la transmisión. El controlador de enlace genera los paquetes a partir del payload y los parámetros de enlace y transporte, y extrae la información de los que recibe. Realiza el control de flujo, las confirmaciones y las peticiones de retransmisión. El controlador de canal coopera con los controladores de enlace tanto locales como remotos para crear canales y conexiones. El gestor de recursos de L2CAP gestiona el envío de paquetes a BB y realiza algunas verificaciones sobre los límites establecidos por QoS, si bien la arquitectura supone que las aplicaciones no intentan burlar estos límites, por lo que este control es bastante limitado.

Arquitectura de transporte de datos

Bluetooth siempre considera que el canal físico no es confiable de forma conservadora. Para asegurar la corrección en las transmisiones varios niveles se hacen responsables de distintas comprobaciones y acciones. BB realiza corrección de errores hacia adelante y comprueba la integridad de las cabeceras y CRC, cuando es posible; también puede aplicar métodos basados en TTL. Sigue una estructura clásica de comunicación basada en confirmaciones y peticiones de retransmisión.

BB no puede asegurar la corrección de transmisiones grandes por sí solo, por lo que L2CAP incorpora mecanismos adicionales que permiten lograr los niveles de fiabilidad de las redes cableadas típicas. Las transmisiones por broadcast no pueden identificar un camino de vuelta al origen, por lo que no se pueden realizar peticiones de retransmisión; en su lugar se repite la transmisión varias veces, aunque esto no es suficiente como para considerarlas fiables.

Estructuras

Por eficiencia y compatibilidad con sistemas legados, se distingue entre enlaces y transportes. Estas estructuras están repartidas entre los niveles básicos de acuerdo con su nivel de abstracción. En cualquier caso, ambas entidades comparten recursos como el protocolo de confirmación, por lo que existen dependencias mutuas entre ambas. A continuación se describen las distintas estructuras de menor a mayor nivel de abstracción.

Los canales físicos se sitúan en la base del nivel físico y conectan al maestro con uno de sus esclavos. Están formados por una frecuencia de radio y sus restricciones espaciotemporales asociadas. Los canales físicos son recursos compartidos, ya que el número de portadoras potenciales es limitado; se realiza evitación de colisiones basada en códigos de acceso. Hay cuatro canales posibles, de los que un dispositivo puede usar únicamente uno a la vez. Se multiplexa entre los distintos canales utilizando división de tiempo (time division multiplexing, TDM). El canal básico de piconet (basic piconet channel) se utiliza para comunicaciones generales. El maestro lo controla y dispone de slots de tiempo reservados para sí, así como otros para realizar balizado. El único factor limitante al número de esclavos son los propios recursos del maestro. El canal adaptado de piconet (adapted piconet channel) deja frecuencias libres en el rango potencial; los esclavos responden utilizando la misma frecuencia que usó el maestro en vez de recalcular los saltos como es lo normal. El canal de rastreo por inspección (inquiry scan channel) se utiliza para descubrir dispositivos externos enviando peticiones en el rango de frecuencias y escuchando posibles respuestas. El canal de rastreo por llamada (page scan channel) permite a los dispositivos conectables, capaces de aceptar conexiones, escuchar peticiones de comunicación. Cuando un dispositivo está buscando a otro itera en el rango de frecuencias posibles de forma semejante a como se hace en el rastreo por inspección.