¿Qué es el Bluetooth?

Es la norma que define un standard global de comunicación inalámbrica, que posibilita la transmisión de voz y datos entre diferentes equipos a mediante un enlace por radiofrecuencia. Los principales objetivos que se pretende conseguir con esta norma son:

  • Facilitar las comunicaciones entre equipos móviles y fijos
    Eliminar cables y conectores entre éstos.
    Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre nuestros equipos personales

Bluetooth-dispositivos

La tecnología Bluetooth comprende hardware, software y requerimientos de interoperatibilidad, por lo que para su desarrollo ha sido necesaria la participación de los principales fabricantes de los sectores de las telecomunicaciones y la informática, tales como: Ericssom, Nokia, Toshiba, IBM, Intel y otros. Posteriormente se han ido incorporando muchas más compañías, y se prevé que los hagan también empresas de sectores tan variados como: automatización industrial, maquinaria, ocio y entretenimiento, fabricantes de juguetes, electrodomésticos, etc., con lo que en pocos se nos presentará un panorama de total conectividad de nuestros aparatos tanto en casa como en el trabajo.

Antecedentes
En 1994 Ericsson inició un estudio para investigar la viabilidad de una interfase vía radio, de bajo coste y bajo consumo, para la interconexión entre teléfonos móviles y otros accesorios con la intención de eliminar cables entre aparatos. El estudio partía de un largo proyecto que investigaba sobre unos multicomunicadores conectados a una red celular, hasta llegar a un enlace de radio de corto alcance, llamado MC link. Conforme éste proyecto avanzaba se fue viendo claro que éste tipo de enlace podía ser utilizado ampliamente en un gran número de aplicaciones, ya que tenia como principal virtud el que se basaba en un chip de radio relativamente económico.

La interfase aérea Bluetooth
El primer objetivo para los productos de primera generación son los entornos de la gente de negocios que viaja frecuentemente. Por lo que se debería pensar en integrar el chip de radio Bluetooth en equipos como: PCS portátiles, teléfonos móviles, PDAs y auriculares. Esto originaba una serie de cuestiones previas que deberían solucionarse tales como:

El sistema debería operar en todo el mundo.
El emisor de radio deberá consumir poca energía, ya que debe integrarse en equipos alimentados por baterías.
La conexión deberá soportar voz y datos, y por lo tanto aplicaciones multimedia.

Banda de frecuencia libre.
Para poder operar en todo el mundo es necesaria una banda de frecuencia abierta a cualquier sistema de radio independientemente del lugar del planeta donde nos encontremos. Sólo la banda ISM (médico-científica internacional) de 2,45 Ghz cumple con éste requisito, con rangos que van de los 2.400 Mhz a los 2.500 Mhz, con algunas restricciones en países como Francia, España y Japón.

Salto de frecuencia.
Debido a que la banda ISM está abierta a cualquiera, el sistema de radio Bluetooth deberá estar preparado para evitar las múltiples interferencias que se puedan producir. Éstas pueden ser evitadas utilizando un sistema que busque una parte no utilizada del espectro o un sistema de salto de frecuencia. Los sistemas de radio Bluetooth utilizan el método de salto de frecuencia debido a que ésta tecnología puede ser integrada en equipos de baja potencia y bajo coste. Éste sistema divide la banda de frecuencia en varios canales de salto, donde, los transceptores, durante la conexión van cambiando de uno a otro de manera pseudo-aleatoria. Con esto se consigue que el ancho de banda instantáneo sea muy pequeño y también una propagación sobre el total de la banda. En conclusión, con el sistema FH (Salto de frecuencia), se puede, se pueden conseguir transceptores de banda estrecha con máxima inmunidad a las interferencias.

Definición de canal
Bluetooth utiliza un sistema FH/TDD (salto de frecuencia/división de tiempo duplex), en el que el canal queda dividido en intervalos de 625 µs, llamados slots, donde cada salto de frecuencia es ocupado por un slot. Esto da lugar a una frecuencia de salto de 1600 veces por segundo. Un paquete de datos puede ocupar un slot para la emisión y otro para la recepción y pueden ser usados alternativamente, dando lugar a un esquema de tipo TDD.

Dos o más unidades pueden compartir el mismo canal dentro de una piconet , donde una unidad actúa como maestra, controlando el tráfico y las demás como esclavas. El salto de frecuencia del canal es determinado por la secuencia, es decir, el orden en que llegan los saltos y por la fase de ésta secuencia. En Bluetooth, la secuencia está determinada por la identidad de la unidad maestra de la piconet (un código único para cada equipo , y por su frecuencia de reloj. Por lo que, para que una unidad esclava pueda sincronizarse con una unidad maestra, ésta primera debe añadir un ajuste a su propio reloj nativo y así poder compartir la misma portadora de salto.

En países donde la banda está abierta a 80 canales o más, espaciados todos ellos a 1 Mhz., se han definido 79 saltos de portadora, y en aquellos donde la banda es más estrecha se han definido 23 saltos.

Definición de paquete
En cada slot, un paquete de datos puede ser intercambiado entre la unidad maestra y una de las esclavas. Cada paquete comienza con un código de acceso de 72 bits, que se deriva de la identidad maestra, seguido de un paquete de datos de cabecera de 54 bits. Éste contiene importante información de control, como tres bits de acceso de dirección, tipo de paquete, bits de control de flujo, bits para la retransmisión automática de la pregunta, y chequeo de errores de campos de cabeza. Finalmente, el paquete que contiene la información, que puede seguir o no al de cabeza, puede tener una longitud de 0 a 2745 bits. Cada paquete que se intercambia en el canal es precedido por el código de acceso.

Los receptores de la piconet comparan las señales que reciben con el código de acceso, si éstas no coinciden, el paquete recibido no es considerado como válido en el canal y el resto de su contenido es ignorado.

Definición de enlace físico.
Se han definido dos tipos de enlace para poder soportar aplicaciones multimedia:
Enlace de sincronización de conexión orientada (SCO)
Enlace asíncrono de baja conexión (ACL)

Los enlaces SCO soportan conexiones asimétricas, punto a punto, usadas normalmente en conexiones de voz. Éstos enlaces están definidos en el canal, reservándose dos slots consecutivos (envío y retorno) en intervalos fijos. Los enlaces ACL soportan conmutaciones punto a punto simétricas o asimétricas, típicamente usadas en la transmisión de datos.

Un conjunto de paquetes se han definido para cada tipo de enlace físico:
Para los enlaces SCO, existen tres tipos de slot simple, cada uno con una portadora a una velocidad de 64 kbit/s. La voz se envía sin proteger, pero si el intervalo del enlace SCO disminuye, se puede seleccionar una velocidad de corrección de envio de 1/3 o 2/3.
Para los enlaces ACL, se han definido el slot-1, slot-3, slot-5. Cualquiera de los datos pueden ser enviados protegidos o sin proteger con una velocidad de corrección de 2/3. La máxima velocidad de envío es de 721 kbit/s en una dirección y 57.6 kbit/s en la otra.

Inmunidad a las interferencias.
Como se mencionó anteriormente Bluetooth opera en una banda de frecuencia que está sujeta a considerables interferencias, por lo que el sistema ha sido optimizado para evitar éstas interferencias. Las técnicas de salto de frecuencia son aplicadas a una alta velocidad y una corta longitud de los paquetes (1600 saltos/segundo, para slots-simples), si un paquete se perdiese, sólo una pequeña parte de la información se perdería. Los paquetes de datos están protegido por un esquema ARQ (repetición automática de consulta), en el cual los paquetes perdidos son automáticamente retransmitidos. La voz no se retransmite nunca, sin embargo, se utiliza un esquema de codificación muy robusto. Éste esquema, que está basado en una modulación variable de declive delta (CSVD), sigue la forma de la onda de audio, y es muy resistente a los errores de bits. Éstos son percibidos como ruido de fondo, que se intensifica si los errores aumentan.

Red inalámbrica
Piconets

Si un equipo se encuentra dentro del radio de cobertura de otros, éstos pueden establecer conexión entre ellos. En principio sólo son necesarias un par de unidades con las mismas características de hardware. Dos o más unidades Bluetooth que comparten un mismo canal forman una piconet. para regular el tráfico en el canal, una de las unidades participantes se convertirá en maestra, pero por definición, la unidad que establece la piconet asume éste papel y todos los demás serán esclavos. Los participantes pueden intercambiar los papeles entre ellos, si una unidad esclava quiere asumir el papel de maestra. Sin embargo sólo puede haber un maestro en la piconet al mismo tiempo.

Cada unidad de la piconet utiliza su identidad maestra y reloj nativo, para seguir en el canal de salto. Cuando se establece la conexión un ajuste de reloj se añade al nativo para sincronizar el reloj del esclavo con el del maestro. El reloj nativo mantiene siempre constante su frecuencia, sin embargo los ajustes sólo son válidos mientras dura la conexión.

Las unidades maestras controlan en tráfico del canal. Éstas tienen la capacidad para reservar slots en los enlaces SCO. Para los enlaces ACL, utilizan un esquema de sondeo. A una esclava sólo se le permite enviar un slot a un maestro cuando ésta se ha dirigido por su dirección MAC (medio de control de acceso) en el procedimiento de slot maestro-esclavo. Éste tipo de slot implica un sondeo por parte del esclavo, por lo que, un tráfico normal de paquetes es enviado a una urna del esclavo automáticamente. Si la información del esclavo no está disponible, el maestro puede utilizar un paquete de sondeo para sondear al esclavo explícitamente. Los paquetes de sondeo consisten únicamente en uno de acceso y otro de cabecera. Éste esquema de sondeo central elimina las colisiones entre las transmisiones de los esclavos.

Estableciendo conexión.
Cuando las unidades no están participando en la piconet, entran en modo standby (espera), desde el cual reciben periódicamente las páginas de mensajes. De un conjunto total de 79 (23) portadoras del salto, un subconjunto de 32(16) portadoras activas han sido definidas. El subconjunto, que es seleccionado pseudo-aleatóriamente, se define por una única identidad.

Acerca de la secuencia de activación de las portadoras, se establece que, cada una de ellas visitará cada salto de portadora una sola vez, con una longitud de la secuencia de 32(16) saltos. En cada uno de los 2.048 (1.028) saltos, las unidades en standby mueven sus saltos de portadora siguiendo la secuencia de las unidades activas. El reloj de la unidad activa determina la secuencia de activación.

Durante la recepción de los intervalos, en los últimos 18 slots o 11,25 ms, las unidades escuchan una simple portadora de salto de activación y correlacionan las señales entrantes con el código de acceso derivado de su propia identidad. Si los triggers correlativos, esto es, si la mayoría de los bits recibidos coinciden con el código de acceso, la unidad se auto-activa e invoca un procedimiento de ajuste de conexión. Sin embargo la unidad vuelve al estado de reposo hasta el siguiente evento activo.

Para establecer la piconet, la unidad maestra debe conocer la identidad del resto de unidades que están en modo standby en su radio de cobertura. El maestro o aquella unidad que inicia la piconet transmite el código de acceso continuamente en periodos de 10 ms., el tren de 10 ms. de códigos de acceso de diferentes saltos de portadora se transmite repetidamente hasta que el receptor o se excede el tiempo de respuesta. Cuando una unidad emisora y una receptora seleccionan la misma portadora de salto, la receptora recibe el código de acceso y devuelve una confirmación de recibo de la señal. Es entonces cuando la unidad emisora envía un paquete de datos que contiene su identidad y frecuencia de reloj actual. Después de que el receptor acepta éste paquete ajustará su reloj para seleccionar el canal de salto correcto. De éste modo se establece una piconet en la que la unidad emisora actúa como maestra. Después de haber recibido los paquetes de datos con los códigos de acceso, la unidad maestra debe esperar un procedimiento de requerimiento por parte de las esclavas, diferente al proceso de activación, para poder seleccionar una unidad específica con la que comunicarse.

El número máximo de unidades que pueden participar activamente en una simple piconet es de 8, un maestro y siete esclavos. La dirección MCA del paquete de cabecera que se utiliza para distinguir cada unidad se limita a tres bits.

Scatternet
Los equipos que comparten un mismo canal sólo pueden utilizar una parte de su capacidad. Aunque los canales tienen un ancho de 1Mhz, cuantos más usuarios se incorporan a la piconet, disminuye la capacidad hasta unos 10 kbit/s más o menos. Teniendo en cuenta que el ancho de banda medio disponible es de unos 80 Mhz en Europa y USA (excepto en España y Francia), éste no puede ser utilizado eficazmente, cuando cada unidad ocupa una parte del mismo canal de salto de 1Mhz. Para poder solucionar éste problema se adoptó una solución de la que nace el concepto de scatternet.

Las unidades que se encuentran en el mismo radio de cobertura pueden establecer potencialmente comunicaciones entre ellas. Sin embargo, sólo aquellas unidades que realmente quieran intercambiar información comparten un mismo canal creando la piconet. Éste hecho permite que se creen varias piconets en áreas de cobertura superpuestas. A un grupo de piconets se le llama scatternet. El rendimiento, en conjunto e individualmente de los usuarios de una scatternet es mayor que el que tiene cada usuario cuando participa en un mismo canal de 1 Mhz. Además, estadísticamente se obtienen ganancias por multiplexión y rechazo de canales salto. Debido a que individualmente cada piconet tiene un salto de frecuencia diferente, diferentes piconets pueden usar simultáneamente diferentes canales de salto.

Hemos de tener en cuenta que cuantas más piconets se añaden a la scatternet el rendimiento del sistema FH disminuye poco a poco, habiendo una reducción por termino medio del 10%. sin embargo el rendimiento que finalmente se obtiene de múltiples piconets supera al de una simple piconet.

Comunicación inter-piconet
En un conjunto de varias piconets, éstas seleccionan diferentes saltos de frecuencia y están controladas por diferentes maestros, por lo que si un mismo canal de salto es compartido temporalmente por piconets independientes, los paquetes de datos podrán ser distinguidos por el código de acceso que les precede, que es único en cada piconet.

La sincronización de varias piconets no está permitida en la banda ISM. Sin embargo, las unidades pueden participar en diferentes piconets en base a un sistema TDM (división de tiempo múltiplexada). Esto es, una unidad participa secuencialmente en diferentes piconets, a condición de que ésta este sólo activa en una al mismo tiempo. Una unidad al incorporarse a una nueva piconet modifica el offset (ajuste interno) de su reloj para minimizar la deriva entre el reloj del maestro y el de su propio reloj nativo, por lo que gracias a éste sistema puede participar en varias piconets realizando los ajustes correspondientes una vez conocidos los diferentes parámetros de la piconet. Cuando se deja una piconet por otra, una esclava informa el maestro actual que ésta no estará disponible por un determinado periodo. Durante su ausencia el tráfico en la piconet entre el maestro y otros esclavos continua igualmente.

De la misma manera que una esclava puede cambiar de una piconet a otra, una maestra también lo puede hacer, con la diferencia de que el tráfico de la piconet se suspende hasta la vuelta de la unidad maestra. La maestra que entra en una nueva piconet, en principio, lo hace como esclava, a no ser que posteriormente ésta solicite actuar como maestra.

Seguridad
Para asegurar la protección de la información se ha definido un nivel básico de encriptación, que se ha incluido en el diseño del clip de radio para proveer de seguridad en equipos que carezcan de capacidad de procesamiento, las principales medidas de seguridad son:
Una rutina de pregunta-respuesta, para autentificación
Una corriente cifrada de datos, para encriptación
Generación de una clave de sesión (que puede ser cambiada durante la conexión)

Tres entidades son utilizadas en los algoritmos de seguridad: la dirección de la unidad Bluetooth, que es una entidad pública; una clave de usuario privada, como una entidad secreta; y un número aleatorio, que es diferente por cada nueva transacción.

Como se ha descrito anteriormente, la dirección Bluetooth se puede obtener a través de un procedimiento de consulta. La clave privada se deriva durante la inicialización y nunca es revelada. El número aleatorio se deriva de un proceso pseudo-aleatorio en la unidad Bluetooth.