Trabajo de estudio de redes inalámbricas (Parte 2) Entrega de 11 de diciembre de 2008 Carlos Garcı́a Argos ([email protected]) 11 de diciembre de 2008 ¿Cuál es la arquitectura de Bluetooth? El sistema básico Bluetooth es la piconet, la cual está formada por un nodo maestro y hasta siete nodos esclavos activos, con un alcance máximo de 10 metros. Además de los siete nodos esclavos activos, en una piconet pueden existir hasta 255 nodos estacionados en la red. Estos nodos se encuentran en un estado de bajo consumo inducido por el nodo maestro. Para que vuelvan a estar activos, el nodo maestro debe enviar la señal de activación. Una piconet puede conectarse con otras, mediante el empleo de un esclavo puente. Cuando se tienen varias piconets interconectadas, el conjunto se denomina scatternet. La razón para la configuración master-slave es que se buscaba obtener chips Bluetooth baratos. ¿Qué tipo de aplicaciones tiene Bluetooth? En la especificación Bluetooth 1.1 se determinan los posibles usos que se le puede dar a los dispositivos Bluetooth, a través de los perfiles: 1. Acceso genérico (GAP): es la base para los demás perfiles. 2. Descubrimiento de servicios (SDAP): se emplea para que los dispositivos conozcan los perfiles soportados por los demás dispositivos con los que se comunican. 3. Puerto serie (SPP): emula una lı́nea serie y es un interfaz de reemplazo de comunicaciones RS-232. 4. Intercambio genérico de objetos (GOEP): define la relación cliente-servidor para el intercambio de objetos, y se basa en OBEX. 5. Acceso a LAN: protocolo entre un dispositivo Bluetooth y una red de área local que soporte IEEE 802.11. 6. Acceso telefónico a redes (DUN): permite establecer una conexión a red por lı́nea telefónica conmutada, por ejemplo para conectar un PC portátil a Internet a través de un teléfono móvil. 7. Fax (FAX): ofrece una interfaz para el envı́o de faxes a través de un teléfono móvil. 8. Telefonı́a inalámbrica: permite la conexión de un terminal telefónico inalámbrico con su estación base. 9. Intercomunicador (ICP): permite que dos teléfonos se comuniquen como si fueran walkie-talkies. 10. Headset (HSP): sirve para conectar un dispositivo manos libres a un teléfono que permita hablar, colgar, coger el teléfono, ajustar el volumen o enviar tono de comunicando. 1 11. Envı́o de objetos (OPP): también basado en OBEX, sirve para enviar objetos genéricos, tales como fotos o contactos (vCard). 12. Transferencia de archivos (FTP): proporciona una interfaz para acceso a sistemas de archivos remotos, basado en GOEP y empleando OBEX como transporte. 13. Sincronización (SYNCH): se emplea para sincronizar una PDA con un PC. ¿Cuál es la pila de protocolos de Bluetooth? El estándar Bluetooth sigue una estructura en capas distinta del modelo OSI. Se definen protocolos en los niveles fı́sico, de enlace, red y aplicación, si se sigue el modelo OSI. En Bluetooth se tiene una pila como la que se muestra en la Figura 1. Aplicaciones/perfiles Otros LLC RFcomm Capa de aplicación Telefonía Descubrimiento de servicios Audio Protocolo de adaptación y control de enlaces lógicos Administrador de enlaces Capa de middleware Control Capa de enlace de datos Banda base Capa física Radio física Figura 1: Pila de protocolos de Bluetooth La capa inferior es la de radio fı́sica, que se encarga de la transmisión y la modulación de radio. El objetivo es lograr un bajo coste del sistema para que pueda masificarse. La capa de banda base tiene puntos en común con la subcapa MAC, aunque incluye elementos de la capa fı́sica. Es la responsable de la forma en que el maestro controla los slots de tiempo. La siguiente capa hacia arriba agrupa un conjunto de protocolos relacionados. El administrador de enlaces se encarga de establecer los canales lógicos entre los dispostivos, además de controlar la administración de energı́a, autenticación y calidad de servicio. El protocolo de adaptación y control de enlaces lógicos es análogo a la subcapa LLC de 802, aislando las capas superiores de los detalles sobre la transmisión. En la capa de middleware se encuentra una mezcla de protocolos. El IEEE incluyó en este punto la capa LLC de 802 para ofrecer compatibilidad con las redes 802. Los otros protocolos son nativos de Bluetooth y ofrecen diversos tipos de conectividad, empleándose el de descubrimiento de servicios para localizar servicios dentro de la red. En la capa superior se encuentran las aplicaciones y los perfiles. Cada aplicación tiene su propio subconjunto dedicado de protocolos. ¿Qué técnicas de transmisión se utilizan en Bluetooth? ¿En qué banda de frecuencia se transmite? La capa radio de Bluetooth opera en la banda ISM de 2,4 GHz, dividiéndose en 79 canales de 1 MHz cada uno. Emplea modulación por desplazamiento en frecuencia con 1 bit por Hz, lo que resulta en 1 Mbps de tasa de transferencia. Sin embargo, gran parte de este espectro está consumida por la sobrecarga. La asignación de saltos en frecuencia se realiza a razón de 1600 saltos por segundo, con un tiempo de permanencia de 625 µs. Todos los nodos de una piconet saltan de forma simultánea y es el maestro el que establece la secuencia de salto. 2 Al operar en la misma banda que IEEE 802.11 (excepto la revisión a), interfiere con las redes Wifi, y además es más dañina la transmisión de dispositivos Bluetooth sobre los dispositivos Wifi que al revés. ¿Qué tipos de servicios de enlace se ofrecen en Bluetooth? En Bluetooth existen dos tipos de enlace: • Ası́ncrono no orientado a conexión, o ACL (Asynchronous Connection-Less): se emplea para datos conmutados en paquetes a intervalos irregulares. Los datos se originan en la capa L2CAP del nodo emisor y se entregan a la capa L2CAP del nodo receptor. El tráfico ACL se gestiona en modo best effort, sin garantı́as de transmisión. Un esclavo sólo puede tener un enlace ACL con su maestro. • Sı́ncrono orientado a conexión, o SCO (Synchronous Connection Oriented): se usa para datos en tiempo real, como el caso de una conexión telefónica. A este tipo de canal se le asigna una ranura fija en cada sentido. No hay retransmisión de tramas, pero puede emplearse corrección de errores hacia delante (FEC) para aumentar la fiabilidad. Un esclavo puede establecer hasta 3 enlaces SCO con su maestro, y cada enlace puede transmitir un canal de audio PCM de 64 kbps. ¿Qué formato tiene una trama Bluetooth? Existen varios formatos de trama, pero el más relevante se muestra en la Tabla 1, y el campo de encabezado se detalla en la Tabla 2. Este campo se repite 3 veces para completar los 54 bits que ocupa. 72 Código de acceso 54 Encabezado 0-2744 Datos Tabla 1: Formato de trama Bluetooth 3 Dirección 4 Tipo 1 F 1 A 1 S 8 Checksum Tabla 2: Formato del encabezado de trama Bluetooth El código de acceso de la trama identifica al nodo maestro, que permite que los esclavos que se encuentren en el rango de alcance de más de un maestro sepan qué trama les corresponde. El encabezado contiene campos comunes de la subcapa MAC. A continuación, el campo de datos puede ocupar hasta 2744 bits, para transmitir hasta 5 ranuras. Para una sola ranura de tiempo, el campo de datos es de 240 bits. En cuanto al encabezado, el campo de dirección identifica el destino de la trama. El campo tipo indica el tipo de trama, que puede ser ACL, SCO, de sondeo o nula, ası́ como el tipo de corrección de errores que se emplea y cuántas ranuras contiene la trama. Un esclavo establece el bit F de flujo cuando su buffer está lleno y no puede recibir más datos. El bit A se emplea para enviar un ACK en una trama. El bit S de secuencia sirve para numerar las tramas, de forma que se detecten retransmisiones. Al tener un protocolo de parada y espera, es suficiente con un bit de secuencia. El encabezado de 18 bits se repite tres veces. En el receptor, se examinan las tres copias de cada bit. Si coinciden todas, el bit es aceptado. Si no, se impone la opinión de la mayorı́a. 3 Con esta redundancia se aumenta la fiabilidad en un medio hostil como es el medio radio, añadido el bajo coste de los dispositivos y la baja potencia empleada (2,5 mW). En el campo de datos de las tramas ACL se emplean varios formatos, mientras que las tramas SCO son más sencillas, siendo su campo de datos siempre de 240 bits. Se definen tres variantes con 80, 160 y 240 bits de carga útil real, empleándose el resto para corrección de errores. En la versión más fiable de 80 bits, el contenido se repite 3 veces, igual que en el encabezado. Como el esclavo sólo puede utilizar las ranuras impares, tiene 800 ranuras de tiempo por segundo, igual que el maestro. Usando una carga útil de 80 bits, la capacidad del canal del esclavo es de 64 kbps, igual que la del maestro. De esta manera, con un canal de voz dúplex de 64 kbps en cada sentido se satura la piconet a pesar de disponer de un ancho de banda bruto de 1 Mbps. En la variante menos fiable de 240 bits por trama, se pueden soportar hasta 3 canales de voz full-dúplex, que es por lo que se permiten hasta tres enlaces SCO por cada esclavo. 4