Bluetooth y El Estándar IEEE 802.15 Carlos A. Moreno Universidad Central de Venezuela, Facultad de Ciencias Caracas, Venezuela, 1010 [email protected] and Jesús Urbaez Universidad Central de Venezuela, Facultad de Ciencias Caracas, Venezuela, 1070 [email protected] Abstract The wireless technology Bluetooth is a system of communications of short reach, that allows the connections between electronicses, portable as as much fixed, maintaining high levels of security. The basic characteristicses of this technology are their reliability, under consumption and minimum cost. The equipped electronicses with this technology can be connected and communicate of wireless form by means of networks ad hoc of short reach denominated piconets. Piconets settles down of dynamic and automatic form when the Bluetooth devices are in he himself operational range. Each device can be connected simultaneously with other seven within same piconet. A device can belong to several piconets at the same time. Key Words: ad hoc, piconets. Resumen La tecnología inalámbrica Bluetooth es un sistema de comunicaciones de corto alcance, que permite las conexiones entre dispositivos electrónicos, tanto portátiles como fijos, manteniendo altos niveles de seguridad. Las características principales de esta tecnología son su fiabilidad, bajo consumo y mínimo coste. Los dispositivos electrónicos equipados con esta tecnología pueden conectarse y comunicarse de forma inalámbrica mediante redes ad hoc de corto alcance denominadas piconets. Las piconets se establecen de forma dinámica y automática cuando los dispositivos Bluetooth se encuentran en el mismo radio de acción. Cada dispositivo puede conectarse simultáneamente con otros siete dentro de una misma piconet. Un dispositivo puede pertenecer a varias piconets al mismo tiempo. Palabras claves: ad hoc, piconets. Introducción El tema de investigación que concluye en este trabajo es acerca de la tecnología de comunicación inalámbrica Bluetooth. Teniendo como tema principal explicar la tecnología Bluetooth tomando en cuenta, su especificación, pila de protocolo, características, topologías de redes Bluetooth. Como problema de investigación tenemos: “Como es el funcionamiento de la Tecnología Bluetooth”. Bluetooth es una norma que define un estándar global de comunicación inalámbrica, que posibilita la transmisión de voz y datos entre diferentes equipos mediante un enlace por radiofrecuencia. La tecnología Bluetooth comprende hardware, software y requerimientos de interoperabilidad, 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: Ericsson, Nokia, Toshiba, IBM, Intel y otros. Posteriormente se han ido incorporando muchas más compañías, y se prevé que próximamente 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 poco tiempo se nos presentará un panorama de total conectividad de nuestros aparatos tanto en casa como en el trabajo. Bluetooth provee un camino fácil para la computación móvil, para la comunicación entre dispositivos y para conectarse a Internet a altas velocidades, sin el uso de cables. Además, se busca facilitar la sincronización de datos de computadoras móviles, teléfonos celulares y manejadores de dispositivos. La Tecnología Bluetooth es de pequeña escala, bajo costo y se caracteriza por usar enlaces de radio de corto alcance entre móviles y otros dispositivos, como teléfonos celulares, puntos de accesos de red (access points) y computadoras. Esta tecnología opera en la banda de 2.4 GHz. Tiene la capacidad de atravesar paredes y maletines, por lo cual es ideal tanto para el trabajo móvil, como el trabajo en oficinas. 1 Características de bluetooth 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 A principios de 1998, se dio la creación de un grupo de interés especial (SIG), formado por 5 promotores que fueron: Ericsson, Nokia, IBM, Toshiba e Intel. Para esto se originaban 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. 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 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 pudieran producir. En los sistemas de radio Bluetooth se suele utilizar el método de salto de frecuencia. É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 canal de salto 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 efectiva sobre el total de ancho de banda. Como hemos comentado, Bluetooth utiliza un sistema FH/TDD (salto de frecuencia/división de tiempo duplex), quedando el canal 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, en la que un paquete de datos ocupa un slot para la emisión y otro para la recepción y que pueden ser usados alternativamente, dando lugar a un esquema de tipo TDD. 2 Piconets Dos o más dispositivos 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 podrían intercambiar los papeles si una unidad esclava quisiera asumir el papel de maestra. Sin embargo sólo puede haber un maestro en la piconet al mismo tiempo. El salto de frecuencia del canal está determinado por la secuencia de la señal, es decir, el orden en que llegan los saltos y por la fase de ésta secuencia. En Bluetooth, la secuencia queda fijada 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. La información que se intercambia entre dos unidades Bluetooth se realiza mediante un conjunto de slots que forman un paquete de datos. 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 al de cabeza, tiene una longitud de 0 a 2745 bits. En cualquier caso, cada paquete que se intercambia en el canal está 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. 3 Definición de enlace físico En la especificación Bluetooth se han definido dos tipos de enlace: • • 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, estos enlaces están definidos en el canal, reservándose dos slots consecutivos (envío y retorno) en intervalos fijos. Los enlaces ACL soportan conmutaciones puntos a punto, simétricos o asimétricos, típicamente usados en la transmisión de datos. 4 Estableciendo conexión. De un conjunto total de 79 (23) portadoras del salto, un subconjunto de 32 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 saltos. En cada uno de los 2.048 saltos, las unidades que se encuentran en modon standby (en espera) mueven sus saltos de portadora siguiendo la secuencia de las unidades activas. El reloj de la unidad activa siempre 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 son 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 si estas señales no coinciden, la unidad vuelve al estado de reposo hasta el siguiente evento activo 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 5 Modos de conexión Son cuatro los modos en que puede encontrarse un dispositivo Bluetooth: Active: La unidad Bluetooth participa activamente en el canal. Se soportan transmisiones regulares para mantener a los esclavos sincronizados al canal. Park: En el modo estacionado un dispositivo se encuentra aún sincronizado a la piconet, pero no participa en el tráfico. Sniff: Un dispositivo esclavo escucha la piconet a una tasa reducida, disminuyendo así su ciclo de trabajo. Tiene el mayor ciclo de vida de los tres modos de ahorro de energía. Hold: El maestro puede poner a los esclavos en modo hold, en el cual sólo está funcionando un contador interno. En cuanto se abandona el modo la transferencia de datos se reanuda de forma instantánea. 6 Direccionamiento Bluetooth ofrece cuatro posibles tipos de direcciones para cada terminal. La dirección básica viene dada por BD_ADDR, que es una secuencia de 48 bits para identificar de forma única un dispositivo. Se divide en 3 partes. LAP: Lower Address Part. UAP: Upper Address Part. NAP: Non-significant Address Part. Además de esta dirección BD_ADDR a cada dispositivo se le puede asignar una de las tres siguientes direcciones: AM_ADDR: Dirección de miembro (3 bits). Se asigna si el esclavo dentro de una piconet se encuentra activo. PM_ADDR: Dirección de miembro aparcado (8bits). Se asigna si el esclavo se encuentra en modo aparcado. AR_ADDR: Dirección de Acceso Requerida. Asignación cuando el esclavo entra en modo aparcado y determina la segunda mitad del slot de ventana de acceso para mandar mensajes de petición. 7 Procedimientos de acceso Para establecer nuevas conexiones se utilizan los procedimientos de acceso que son los de búsqueda o paging y los de pregunta o inquiry. Si no se conoce nada sobre el dispositivo remoto debe seguirse tanto el procedimiento inquiry como el de paging. Si se conocen algunos detalles del dispositivo remoto sólo será necesario el procedimiento de paging. A continuación describimos cada uno de estos procedimientos de acceso. 7.1 Búsqueda (paging) El procedimiento de paging pregunta por la dirección de un dispositivo Bluetooth con el que queremos establecer la conexión. En este caso el conocimiento del reloj acelerará el proceso y la unidad que lo inicie será el maestro de la piconet. 7.2 Pregunta (inquiry) Este procedimiento se usa en aplicaciones donde la dirección del dispositivo remoto se desconoce. Durante este subestado de pregunta, el transmisor recolecta las direcciones y los relojes de los dispositivos de todas las unidades que respondan al mensaje de pregunta, pudiendo luego, si lo desea, establecer la conexión por el procedimiento anterior. 8 Canales lógicos Bluetooth tiene cinco canales lógicos que se pueden utilizar para transferir diferentes tipos de información. Canal LC (Link Control): Este canal lleva información de control a nivel de enlace como ARQ, control de flujo. Cada paquete lleva un canal LC sobre su cabecera, a excepción del paquete ID que no posee cabecera. Canal LM (Link Manager): Lleva la información de control que se intercambian los gestores de enlace del maestro y el esclavo. Típicamente este canal usa paquetes DM protegidos. Canal UA/UI (User Asynchronous/Isochronous data): El canal UA lleva datos asincrónicos transparentes del usuario del L2CAP. Estos datos se pueden transmitir en uno o más paquetes de la Baseband. Para los mensajes fragmentados, el comienzo del paquete utiliza un código de L_CH de 10 en al cabecera del payload. El canal isócrono de los datos es apoyado por el tiempo de comienzo de los paquetes correctamente en niveles superiores. Canal US (User Synchronous data): El canal US lleva datos síncronos transparentes del usuario. Este canal se transporta con un enlace SCO. Canal MAPPING: El canal LC es mapeado sobre la cabecera del paquete. El resto de los canales son mapeados sobre la carga útil. El canal US solamente puede ser mapeado sobre los paquetes de SCO. El resto de los canales son mapeados en los paquetes del ACL, o posiblemente el paquete de SCO DV. Los canales del LM, del UA, y de UI pueden interrumpir el canal US si se refiere a la información de una prioridad más alta. 9 Seguridad 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 no es revelada posteriormente. El número aleatorio se genera en un proceso pseudo-aleatorio en cada unidad Bluetooth En cuanto a la Seguridad, a través de saltos de frecuencia pseudo-aleatorios que dificultan que dispositivos ajenos a la red puedan interceptar o ver el tráfico de información. 10 La pila de protocolos bluetooth La especificación Bluetooth utiliza un sistema de capas en su arquitectura de protocolos. Cuyo objetivo final es permitir que las aplicaciones escritas de acuerdo con la especificación puedan interoperar entre sí. No todas las aplicaciones utilizan todos los protocolos de la pila de protocolos Bluetooth; Al diseñar los protocolos de la pila de protocolos Bluetooth, se reutilizaron en los niveles superiores los protocolos existentes para propósitos distintos Algunas columnas son usadas solo como soporte de la aplicación principal, como lo son el SDP(Service Discovery Protocol) y el TCS Binary (Telephony Control Specification). Ahora bien, de acuerdo al propósito, los protocolos pueden ser divididos en cuatro capas: Protocolos fundamentales de Bluetooth: BaseBand, LMP (Protocolo de gestor de enlace), L2CAP (Protocolo de adaptación y control del enlace lógico), SDP (Protocolo de descubrimiento de servicios).e Protocolos de Reemplazo de Cable: RFCOMM. Protocolos de Control de Telefonía: TCS Binary, AT-Commands. Protocolos Adaptados: PPP, UDP/TCP/IP, OBEX, WAP, vCard, vCal, IrMC, WAE. 10.1 Protocolos fundamentales de bluetooth Baseband. El nivel de banda base permite el enlace físico de RF (radio frecuencia) entre unidades Bluetooth dentro de una piconet. Como los sistemas RF Bluetooth utilizan la tecnología de spread spectrum y frequency hopping, donde los paquetes se transmiten en franjas de tiempo predefinidas por frecuencias predefinidas, este nivel utiliza procedimientos de averiguación y localización para sincronizar la frecuencia de saltos de transmisión y los relojes de los diferentes dispositivos Bluetooth. Este nivel proporciona dos tipos diferentes de enlaces físicos, con sus correspondientes paquetes de banda base: síncrono orientado a la conexión (SCO, Synchronous ConnectionOriented) y asíncrono sin conexión (ACL, Asynchronous Connectionless), mensajes de control y de gestión de enlace se le asigna un canal especial a cada uno. 10.1.1 Paquetes El formato de los paquetes del protocolo BaseBand es el siguiente: Figura 7. Paquete estándar Figura 8. Formato del código de Acceso Figura 9. Formato de la Cabecera. Código de acceso: 72 bits si va precedido de la cabecera y en caso contrario 68 bits. Se utiliza para sincronización, compensación e identificación. Cabecera del paquete: ejerce funciones de control de enlace con 6 campos: AM_ADDR: dirección temporal de 3 bits de los dispositivos activos dentro de una piconet asignada por el maestro, siendo 000 la de broadcast. TYPE: distingue los tipos de paquete y su interpretación depende de si el enlace es SCO. ACL También indica los slots que va a ocupar el paquete. FLOW: para control de flujo. Si es “0” se deja de transmitir. ARQN: bit de asentimiento. Si es “1”es un ACK, y con “0” un NAK. SEQN: bit que se va invirtiendo para evitar retransmisiones en el receptor. HEC: palabra generada para comprobar la integridad de la cabecera. La cabecera total, incluyendo el HEC, consiste en 18 bits, ver figura 9, y se codifica a una rata 1/3 FEC (no demostrado sino descrito en Corrección de errores) dando por resultado una cabecera de 54-bit. Payload: datos. 10.2 Protocolo de gestor de enlace (lmp) LMP es el responsable de la configuración y control del enlace entre dispositivos Bluetooth, incluyendo el control y negociación del tamaño de los paquetes de banda base. También se utiliza para la seguridad: autenticación y cifrado; generación, intercambio y comprobación de las claves de cifrado y de enlace. LMP también controla los modos de administración de energía y los ciclos de trabajo del dispositivo de radio Bluetooth, y los estados de conexión de una unidad Bluetooth dentro de una piconet. 10.3 Protocolo de adaptación y control del enlace lógico (l2cap) El protocolo de adaptación y control del enlace lógico (L2CAP) soporta la multiplexación de protocolos de nivel superior, la segmentación y reensamblado de paquetes, y los mecanismos de calidad de servicio (QoS, Quality of Service). L2CAP está definido sólo para enlaces ACL y no hay planeado soporte para enlaces SCO. 10.4 Protocolo de descubrimiento de servicios (sdp) Por medio de SDP, se puede consultar la información de los dispositivos, los servicios que ofrecen y las características de dichos servicios. Habiendo localizado los servicios disponibles en las cercanías, el usuario puede elegir cualquiera de ellos. Después de eso, se puede establecer una conexión entre dos o más dispositivos Bluetooth. 10.5 Protocolos de sustitución de cable La especificación Bluetooth incluye dos protocolos que suministran señalización de control a través de enlaces inalámbricos, emulando el tipo de señalización que normalmente se asocia con los enlaces por cable. El protocolo RFCOMM proporciona una emulación de los puertos serie RS-232 sobre el protocolo L2CAP. Este protocolo de «sustitución de cable» emula las señales de control y datos RS-232 sobre la banda base, proporcionando ambas capacidades de transporte a los servicios de niveles superiores 10.6 Protocolos de control de telefonía TCS Binary o TCS BIN es un protocolo orientado a bit que define la señalización de control de llamada para establecer llamadas de voz y datos entre dispositivos Bluetooth. 10.7 Protocolos adoptados Como hemos dicho previamente, la especificación Bluetooth emplea varios protocolos existentes, que se reutilizan para diferentes propósitos en los niveles superiores. Esto permite que las aplicaciones más antiguas funcionen con la tecnología inalámbrica Bluetooth. 10.7.1 Obex OBEX, que proporciona la misma funcionalidad básica que HTTP pero de una forma “más ligera”, usa un modelo cliente-servidor y es independiente del mecanismo de transporte. También nos proporciona un modelo para representar objetos, operaciones, y define un objeto de listado de carpetas que se usa para poder navegar por los contenidos de las carpetas situadas en dispositivos remotos. 10.7.2 Wap El propósito del protocolo WAP (Wireless Application Protocol) es proporcionar contenidos y servicios de Internet a teléfonos móviles celulares y otros dispositivos inalámbricos. Conclusion Después de haber analizado el protocolo IEEE 802.15 podemos ver que cumple con las metas que se trazo el SIG al querer implementar un protocolo sencillo y de bajo costo en diversos aspectos. Este protocolo es actualmente uno de los más populares por lo anteriormente expuesto ya que cualquier dispositivo móvil de hoy en día lleva incorporada por defecto esta tecnología. La tecnología Bluetooth ya es de común uso entre la mayoría de las personas que requieren tener una conectividad móvil con una gamma amplia de dispositivos compatibles con la tecnología. Aunque con algunos inconvenientes, como el escaso rango de distancia, esta tecnología esta siendo punta de lanza de muchas compañías en el lanzamiento de nuevos productos. Fuentes consultadas [1] http://es.wikipedia.org/wiki/Bluetooth [2] http://spanish.bluetooth.com/bluetooth/ [3] http://www.bluezona.com [4] http://www.mpirical.com/companion/mpirical_companion.html [5] An Overview of the Bluetooth Wireless Technology, Chatschik Bisdikian, IBM Corporation.