Bluetooth

17
Bluetooth En 1994, la empresa L. M. Ericsson se interesó en conectar sus teléfonos móviles con otros dispositivos (por ejemplo, computadoras portátiles) sin necesidad de cables. En conjunto con otras cuatro empresas (IBM, Intel, Nokia y Toshiba), formó un SIG (Grupo de Interés Especial; es decir, un consorcio) en 1998 con el propósito de desarrollar un estándar inalámbrico para interconectar computadoras, dispositivos de comunicaciones y accesorios a través de radios inalámbricos de bajo consumo de energía, corto alcance y económicos. Al proyecto se le asignó el nombre Bluetooth, en honor de Harald Blaatand (Bluetooth) II (940-981), un rey vikingo que unificó (es decir, conquistó) Dinamarca y Noruega, también sin necesidad de cables. El estándar Bluetooth 1.0 se liberó en julio de 1999, y desde entonces el SIG no ha vuelto su vista hacia atrás. Ahora todas las formas de dispositivos electrónicos para consumidores utilizan Bluetooth, desde los teléfonos móviles y las computadoras portátiles hasta los audífonos, impresoras, teclados, ratones, consolas de videojuegos, relojes, reproductores de música, unidades de navegación, etc. Los protocolos de Bluetooth permiten a estos dispositivos encontrarse y conectarse entre sí, a lo cual se le conoce como emparejamiento (pairing), además de que pueden transferir datos en forma segura.

description

HISTORIA

Transcript of Bluetooth

Bluetooth

En 1994, la empresa L. M. Ericsson se interesó en conectar sus teléfonos móviles con otros dispositivos (por ejemplo, computadoras portátiles) sin necesidad de cables. En conjunto con otras cuatro empresas (IBM, Intel, Nokia y Toshiba), formó un SIG (Grupo de Interés Especial; es decir, un consorcio) en 1998 con el propósito de desarrollar un estándar inalámbrico para interconectar computadoras, dispositivos de comunicaciones y accesorios a través de radios inalámbricos de bajo consumo de energía, corto alcance y económicos. Al proyecto se le asignó el nombre Bluetooth, en honor de Harald Blaatand (Bluetooth) II (940-981), un rey vikingo que unificó (es decir, conquistó) Dinamarca y Noruega, también sin necesidad de cables.

El estándar Bluetooth 1.0 se liberó en julio de 1999, y desde entonces el SIG no ha vuelto su vista hacia atrás. Ahora todas las formas de dispositivos electrónicos para consumidores utilizan Bluetooth, desde los teléfonos móviles y las computadoras portátiles hasta los audífonos, impresoras, teclados, ratones, consolas de videojuegos, relojes, reproductores de música, unidades de navegación, etc. Los protocolos de Bluetooth permiten a estos dispositivos encontrarse y conectarse entre sí, a lo cual se le conoce como emparejamiento (pairing), además de que pueden transferir datos en forma segura.

Los protocolos también evolucionaron durante la última década. Después de que se estabilizaron los protocolos iniciales, se agregaron tasas de datos más altas a Bluetooth 2.0 en 2004. Con la liberación de la versión 3.0 en 2009, Bluetooth se puede usar para emparejar dispositivos junto con 802.11 para transferencia de datos a velocidades altas. La liberación de la versión 4.0 en diciembre de 2009 especificaba una operación de bajo consumo de energía. Esto será útil para las personas que no quieren cambiar las baterías con frecuencia en todos los dispositivos dispuestos alrededor del hogar. A continuación veremos los aspectos principales de Bluetooth.

Arquitectura de Bluetooth

Empecemos nuestro análisis del sistema Bluetooth con un rápido vistazo de lo que contiene y cuál es su propósito. La unidad básica de un sistema Bluetooth es una piconet, la cual consta de un nodo maestro y hasta siete nodos esclavos activos a una distancia máxima de 10 metros. Puede

haber varias piconets en el mismo cuarto (grande), e incluso se pueden conectar mediante un nodo puente que participa en varias piconets, como se muestra en la figura 4-34. A una colección interconectada de piconets se le conoce como scatternet.

Además de los siete nodos esclavos activos en una piconet, puede haber hasta 255 nodos estacionados en la red. Éstos son dispositivos que el nodo maestro ha cambiado a un estado de bajo consumo de energía para reducir el desgaste innecesario de sus pilas. En el estado estacionado, un dispositivo no puede hacer nada excepto responder a una señal de activación o una señal baliza por parte del dispositivo maestro. También existen dos estados intermedios, hold y sniff, pero en este caso no son de nuestra incumbencia.

La razón del diseño maestro/esclavo es que los diseñadores pretendían facilitar la implementación de chips Bluetooth completos por menos de 5 dólares. La consecuencia de esta decisión es que los esclavos son sumamente pasivos y básicamente realizan todo lo que los maestros les indican. En esencia, una piconet es un sistema TDM centralizado, en el cual el maestro controla el reloj y determina qué dispositivo se comunica en una ranura de tiempo específica. Toda la comunicación es entre el maestro y el esclavo; no es posible una comunicación directa de esclavo a esclavo.

Aplicaciones de Bluetooth

La mayoría de los protocolos de red sólo proporcionan canales entre las entidades que se comunican y permiten a los diseñadores de aplicaciones averiguar para qué desean utilizarlos. Por ejemplo, el estándar 802.11 no especifica si los usuarios deben utilizar sus computadoras portátiles para leer correo electrónico, navegar por web o para cualquier otro uso. En contraste, el SIG de Bluetooth especifica el soporte de aplicaciones específicas y provee distintas pilas de protocolos para cada una de ellas. Al momento de escribir este libro hay 25 aplicaciones, las cuales se denominan perfiles. Por desgracia, esta metodología conduce a un alto grado de complejidad. Aquí omitiremos la complejidad, pero analizaremos brevemente los perfiles para ver con más claridad lo que el SIG de Bluetooth trata de lograr.

Seis de los perfiles son para distintos usos de audio y video. Por ejemplo, el perfil intercom permite conectar dos teléfonos como walkie-talkies. Los perfiles (auricular) headset y (manos libres) hands-free proveen comunicación de voz entre un auricular y su estación base, y se podrían usar para la telefonía de manos libres al conducir un automóvil. Hay otros perfiles para flujo continuo de audio y video con calidad estereofónica; por ejemplo, de un reproductor de música portátil a los auriculares o de una cámara digital a una TV.

El perfil de dispositivo de interfaz humana es para conectar teclados y ratones a las computadoras.

Otros perfiles permiten a un teléfono móvil u otra computadora recibir imágenes de una cámara o enviar imágenes a una impresora. Tal vez sea más interesante un perfil para usar un teléfono móvil como control remoto para una TV (habilitada para Bluetooth).

Existen otros perfiles que permiten la conexión en red. El perfil de red de área personal permite a dispositivos Bluetooth formar una red ad hoc o acceder en forma remota a otra red, como una LAN 802.11, por medio de un punto de acceso. El perfil de red de marcación telefónica fue de hecho la motivación original de todo el proyecto. Este perfil permite que una

computadora portátil se conecte a un teléfono móvil que contenga un módem integrado sin necesidad de usar cables.

También se han definido perfiles para el intercambio de información de capas superiores. El perfil de sincronización está diseñado para cargar datos en un teléfono móvil al salir del hogar y recolectar datos de éste al momento de regresar.

Omitiremos el resto de los perfiles y sólo mencionaremos que algunos de ellos sirven como bloques básicos sobre los cuales se basan los perfiles anteriores. El perfil de acceso genérico, en el que se basan todos los demás perfiles, provee una forma de establecer y mantener enlaces (canales) seguros entre el maestro y los esclavos. Los otros perfiles genéricos definen los fundamentos del intercambio de objetos, así como el transporte de audio y video. Los perfiles utilitarios se usan mucho para funciones como emular una línea serial, que es muy útil para muchas aplicaciones heredadas.

¿Era realmente necesario explicar en detalle todas estas aplicaciones y proporcionar diferentes pilas de protocolos para cada una? Tal vez no, pero había varios grupos de trabajo distintos que diseñaron las diferentes partes del estándar, cada uno de los cuales se enfocó en su problema específico y generó su propio perfil. Piense en esto como la ley de Conway en acción (en el número de abril de 1968 de la revista Datamation, Melvin Conway observó que si se asignan n personas para escribir un compilador, se obtendrá un compilador de n pasos o, en forma más general, la estructura del software reflejará la estructura del grupo que la produjo). Quizás hubieran sido suficientes dos pilas de protocolos en vez de 25, una para la transferencia de archivos y otra para transmitir flujos continuos de comunicación en tiempo real.

La Pila de Protocolos Bluetooth

El estándar Bluetooth cuenta con muchos protocolos agrupados libremente en las capas que se muestran en la figura 4-35. La primera observación que haremos es que la estructura de capas no sigue el modelo OSI, el modelo TCP/IP, el modelo 802 o algún otro modelo.

La capa inferior es la capa de radio física, la cual es bastante similar a la capa física de los modelos OSI y 802. Se encarga de la transmisión y la modulación de radio. Aquí, muchas de las cuestiones se relacionan con el objetivo de lograr que el sistema sea económico, de modo que se pueda convertir en un artículo para el mercado masivo.

La capa de control de enlace (o banda base) tiene algunos puntos en común con la subcapa MAC, pero también incluye elementos de la capa física. Se encarga de la forma en que el maestro controla las ranuras de tiempo y cómo se agrupan éstas en tramas.

A continuación se encuentran dos protocolos que usan el protocolo de control de enlace. El administrador de enlaces se encarga de establecer canales lógicos entre dispositivos, incluyendo administración de energía, emparejamiento y cifrado, así como calidad de servicio. Yace debajo de la línea de la interfaz entre host y controlador. Esta interfaz es una conveniencia para la implementación: por lo general, los protocolos debajo de la línea se implementarán en un chip Bluetooth y los protocolos arriba de la línea se implementarán en el dispositivo Bluetooth en el que se aloje el chip.

El protocolo de enlace por encima de la línea es L2CAP (Protocolo de Adaptación y Control de Enlaces Lógicos, del inglés Logical Link Control Adaptation Protocol ). Este protocolo entrama los mensajes de longitud variable y provee confiabilidad en caso de ser necesario. Muchos protocolos

utilizan L2CAP, como los dos protocolos utilitarios que se muestran. El protocolo de descubrimiento de servicios se utiliza para localizar servicios dentro de la red. El protocolo RFcomm (Comunicación de Radiofrecuencia,del inglés Radio Frequency communication) emula el puerto serial estándar que se encuentra en las PCs para conectar el teclado, ratón y módem, entre otros dispositivos.

En la capa superior es donde se ubican las aplicaciones. Los perfiles se representan mediante cuadros verticales debido a que cada uno define una porción de la pila de protocolos para un propósito específico.

Los perfiles específicos, como el de auricular, por lo general contienen sólo los protocolos que esa aplicación necesita y ningún otro. Por ejemplo, los perfiles pueden incluir L2CAP si tienen que enviar paquetes, pero pueden omitirlo si sólo tienen un flujo estable de muestras de audio.

La capa de radio de bluetooth

La capa de radio traslada los bits del maestro al esclavo, o viceversa. Es un sistema de baja potencia con un alcance de 10 metros que opera en la misma banda ISM de 2.4 GHz que el estándar 802.11. La banda se divide en 79 canales de 1 MHz cada uno. Para coexistir con otras redes que usan la banda ISM, se utiliza el espectro disperso de salto de frecuencia. Puede haber hasta 1600 saltos/seg sobre las ranuras con un tiempo de permanencia de 625 μseg. Todos los nodos en una piconet saltan frecuencias al mismo tiempo, siguiendo la sincronización de ranuras y la secuencia de salto pseudoaleatoria que dicta el maestro.

Por desgracia, resultó que las primeras versiones de Bluetooth y el estándar 802.11 interferían entre sí lo suficiente como para que uno arruinara las transmisiones del otro. Algunas empresas respondieron con la prohibición total de Bluetooth, pero con el tiempo se ideó una solución técnica. En esta solución, Bluetooth debe adaptar su secuencia de saltos para excluir los canales en los que haya otras señales de RF.

Este proceso reduce la interferencia dañina y se le conoce como salto de frecuencia adaptativo.

Se utilizan tres formas de modulación para enviar bits en un canal. El esquema básico es usar la modulación por desplazamiento de frecuencia para enviar un símbolo de 1 bit cada microsegundo, con lo cual se obtienen tasas de datos brutas de 2 o 3 Mbps. Las tasas mejoradas se introdujeron con la versión 2 de Bluetooth.

Estas tasas utilizan modulación por desplazamiento de fase para enviar dos o tres bits por símbolo, para tasas de datos brutas de 2 o 3 Mbps. Las tasas mejoradas son usadas sólo en la porción de datos de las tramas.

La capa de enlace de bluetooth

La capa de control de enlace (o banda base) es lo más parecido que tiene Bluetooth a una subcapa MAC.

Esta capa convierte el flujo de bits puros en tramas y define algunos formatos clave. En la forma más simple, el maestro de cada piconet define una serie de ranuras de tiempo de 625 μseg; las transmisiones del maestro empiezan en las ranuras pares y las de los esclavos, en las ranuras impares. Este esquema es la tradicional multiplexión por división de tiempo, en donde el maestro acapara la mitad de las ranuras y los esclavos comparten la otra mitad. Las tramas pueden tener 1, 3 o 5 ranuras de longitud. Cada trama tiene una sobrecarga de 126 bits para un código de acceso y encabezado, además de un tiempo de asentamiento de 250-260 μseg por salto para que los circuitos de radio económicos se estabilicen. La carga útil de la trama se puede cifrar para fines de confidencialidad con una clave que se selecciona a la hora en que se conectan el esclavo y el maestro. Los saltos sólo ocurren entre tramas, no durante una trama. El resultado es que una trama de 5 ranuras es mucho más eficiente que una trama de 1 ranura, ya que la sobrecarga es constante pero se envían más datos.

El protocolo administrador de enlaces establece canales lógicos, llamados enlaces, para transportar tramas entre el maestro y un dispositivo esclavo que se descubren uno al otro. Se lleva a cabo un procedimiento de emparejamiento para asegurarse que los dos dispositivos puedan comunicarse antes de usar el enlace. El viejo método de emparejamiento es que ambos dispositivos se deben configurar con el mismo NIP (Número de Identificación Personal) de cuatro dígitos. La coincidencia del NIP es la forma en que cada dispositivo sabe que se conectará al dispositivo remoto correcto. No obstante,

los usuarios sin imaginación y los dispositivos recurren a valores predeterminados como “0000” y “1234” para los NIP, lo cual significa que este método provee muy poca seguridad en la práctica.

El nuevo método de emparejamiento simple seguro permite a los usuarios confirmar que ambos dispositivos despliegan la misma clave de contraseña, o permite observar la clave de contraseña en un dispositivo e introducirla en el segundo dispositivo. Este método es más seguro, ya que los usuarios no tienen que elegir ni establecer un NIP. Sólo confirman una clave de contraseña más extensa, generada por el dispositivo. Desde luego que este método no se puede usar en algunos dispositivos con entrada/salida limitada, como unos audífonos de manos libres.

Una vez que termina el emparejamiento, el protocolo administrador establece los enlaces. Existen dos tipos principales de enlaces para transmitir datos de usuario. El primero es el enlace SCO (Síncrono Orientado a Conexión, del inglés Synchronous Connection Oriented ) y se utiliza para datos en tiempo real, como ocurre en las conexiones telefónicas. A este tipo de enlace se le asigna una ranura fija en cada dirección. Un esclavo puede tener hasta tres enlaces SCO con su maestro. Cada enlace SCO puede transmitir un canal de audio PCM de 64,000 bps. Debido a la naturaleza de alta prioridad de los enlaces SCO, las tramas que se envían a través de ellos nunca se retransmiten.

En vez de ello se puede usar la corrección de errores hacia delante para incrementar la confiabilidad.

El otro tipo de enlace es ACL (Asíncrono Sin Conexión, del inglés Asynchronous ConnectionLess).

Este tipo de enlace se utiliza para los datos de conmutación de paquetes que están disponibles en intervalos irregulares. El tráfico ACL se distribuye con base en el mejor esfuerzo. No se dan garantías. Se pueden perder tramas y tal vez haya que retransmitirlas. Un esclavo sólo puede tener un enlace ACL con su maestro.

Los datos que se envían sobre enlaces ACL provienen de la capa L2CAP; la cual tiene cuatro funciones principales. Primero, acepta paquetes

de hasta 64 KB de las capas superiores y los descompone en tramas para su transmisión. En el otro extremo las tramas se vuelven a ensamblar en paquetes. Segundo, maneja la multiplexión y demultiplexión de paquetes de varias fuentes. Cuando se vuelve a ensamblar un paquete, determina a cuál protocolo de capa superior debe entregarlo; por ejemplo, RFcomm o descubrimiento de servicios. Tercero, maneja el control de errores y la retransmisión. Detecta los errores y reenvía los paquetes cuya recepción no se confirmó. Por último, L2CAP hace valer los requerimientos de calidad del servicio entre múltiples enlaces.

Estructura de la trama de bluetooth

Bluetooth define varios formatos de trama, el más importante se muestra en dos formas en la figura 4-36.Empieza con un código de acceso que por lo general identifica al maestro, de modo que los esclavos que se encuentren en el rango de alcance de dos maestros

sepan cuál tráfico es para ellos. A continuación se encuentra un encabezado de 54bits que contiene campos comunes de la subcapa MAC. Si la trama se envía a la tasa de transmisión básica, sigue el campo de datos. Éste tiene hasta 2744 bits para una transmisión de cinco ranuras. Para una sola ranura de tiempo, el formato es el mismo excepto que el campo de datos es de 240 bits.Si la trama se envía con la tasa mejorada, la porción de datos puede tener hasta dos o tres veces la cantidad de bits, ya que cada símbolo transporta 2 o 3 bits

en vez de 1 bit. A estos datos les sigue un campo de guarda y un patrón de sincronización que se utiliza para cambiar a la tasa de datos más alta. Es decir, el código de acceso y el encabezado se transportan con la tasa básica y sólo la porción de los datos se transporta con la tasa más rápida. Las tramas de tasa mejorada terminan con un terminador corto.

Demos un rápido vistazo al encabezado común. El campo Dirección identifica a cuál de los ocho dispositivos activos está destinada la trama. El campo Tipo indica el tipo de trama (ACL, SCO, de sondeo o nula), el tipo de corrección de errores que se utiliza en el campo de datos y cuántas ranuras de longitud tiene la trama. Un esclavo establece el bit Flujo cuando su búfer está lleno y no puede recibir más datos.

Este bit permite una forma primitiva de control de flujo. El bit A (de confirmación de recepción) se utiliza para superponer un ACK en una trama. El bit S (de secuencia) se utiliza para numerar las tramas con el propósito de detectar retransmisiones. El protocolo es de parada y espera, por lo que 1 bit es suficiente. A continuación viene el encabezado Suma de verificación de 8 bits. Todo el encabezado de 18 bits se repite tres veces para formar el encabezado de 54 bits que se aprecia en la figura 4-36. En el lado receptor, un circuito sencillo examina las tres copias de cada bit. Si son las mismas, el bit es aceptado. De lo contrario, se impone la opinión de la mayoría. De esta forma, 54 bits de capacidad de transmisión se utilizan para enviar 10 bits de encabezado. Esto se debe a que es necesaria una gran cantidad de redundancia para enviar datos de manera confiable, en un entorno ruidoso, mediante dispositivos de bajo costo y baja potencia (2.5 mW) con poca capacidad de cómputo.

En el campo de datos de las tramas ACL y SCO se utilizan varios formatos. Las tramas SCO de tasa básica son un ejemplo simple para estudiar: el campo de datos siempre es de 240 bits. Se definen tres variantes, que permiten 80, 160 o 240 bits de carga útil real; el resto se utiliza para corrección de errores. En la versión más confiable (carga útil de 80 bits), el contenido se repite tres veces, al igual que el encabezado.

Podemos resolver la capacidad con esta trama de la siguiente forma. Como el esclavo sólo puede usar las ranuras impares, recibe 800 ranuras/seg, al igual que el maestro. Con una carga útil de 80 bits, la capacidad de canal del

esclavo es de 64 000 bps, al igual que la capacidad de canal del maestro. Esta capacidad es justo la necesaria para un solo canal de voz PCM full-dúplex (razón por la cual se eligió una tasa de saltos de 1600 saltos/seg). Esto es, a pesar de un ancho de banda puro de 1 Mbps, un solo canal de voz full-dúplex sin comprimir puede saturar la piconet por completo. La eficiencia de 13% es el resultado de invertir un 41% de la capacidad en el tiempo de establecimiento, un 20% en los encabezados y un 26% en la codificación de repetición. Esta deficiencia resalta el valor de las tasas mejoradas y las tramas de más de una ranura.