A Tecnologia

Todo dispositivo Bluetooth possui em seu interior um pequeno transmissor de rádio, que é responsável pela comunicação sem fio entre os dispositivos através de radio frequência.

Frequência de Operação

A especificação Bluetooth determina que a faixa de frequência de operação de seus dispositivos é a ISM (Industrial Scientific Medicine) de 2,4 GHz. Por ser uma faixa não licenciada na maioria dos países, permite que seja utilizada sem maiores restrições ou custos. Porém essa mesma característica acarreta que tal faixa seja compartilhada com a maioria dos dispositivos eletrônicos, como o Wi-Fi, deixando assim a transmissão muito suscetível à interferências do meio.

Para contornar tal problema o Bluetooth utiliza 79 canais distintos com um intervalo de 1 MHz entre eles, abrangendo, assim, a faixa de 2.402 MHz a 2.080 MHz da ISM. É utilizada a técnica de espalhamento de espectro por saltos de frequência ( FHSS – Frequency Hopping Spread Spectrum). Esta técnica consiste em um rádio transmissor realizando saltos de frequência durante a trasmissão a fim de não permanecer tempo suficiente em uma determinada frequência ao ponto de sofrer interferência considerável. Um dispositivo Bluetooth pode percorrer o seu espectro de operação a uma taxa de 1600hops/s (saltos/s).

A tecnologia Bluetooth possibilita a transmissão em half duplex e full duplex, como veremos melhor mais adiante. A taxa de saltos de frequência de 1600 saltos/s possibilita que um dispositivo realize uma transmissão a cada 625µs denominado time-slot. Para implementar o modo full duplex o Bluetooth utiliza a técnica TDD (Time Division Duplex) em que o dispositivo envia em um time-slot e recebe no seguinte. Sendo assim, um aparelho Bluetooth envia e recebe pacotes quase que simultaneamente.

A especificação Bluetooth permite uma taxa de transferência de dado de 1Mbps. Na prática, essa taxa é menor. Como exemplo, em uma transmissão full duplex atinge-se normalmente uma taxa de 432 Kbps, para transmissões half duplex os valores sobem para 721 Kbps. Já nas transmissões de voz, a taxa é de 64 Kbps.

Alcance

O Bluetooth foi criado principalmente para ser usado em dispositivos portáteis onde o espaço e energia disponíveis são limitados. Sendo assim, a potencia da antena do transmissor de radio de um dispositivo é bem pequena e consequentemente o seu alcance também. Um alcance maior requer uma potencia e um espaço maior. Portanto não é sensato que aplicações que não requerem tanta potência tenham antenas maiores e que consomem mais energia. Então a especificação Bluetooth prevê 3 classes diferentes para seus dispositivos.

  Potencia (mW) Alcance (m)
Classe 1 100,0 100
Classe 2 2,5 10
Classe3 1,0 0,1
Tabela 1

A Classe 2 é a mais comumente utilizada entre as aplicações e a Classe 3 é utilizada para aplicações industriais.

Conexão

Quando um dispositivo Bluetooth detecta outro, o mesmo estabelece uma conexão assumindo o papel de master e o outro dispositivo de slave. Como ambos os dispositivos são idênticos eles podem assumir tanto o papel de master quanto o de slave após estabelecida a conexão. A única diferença entre os dois papéis é que o dispositivo master fica responsável pelo gerenciamento da conexão.

Numa conexão, o dispositivo que começa o processo assume o papel de master e pode realizar dois diferentes tipos de comando para iniciar a conexão.

Comando Inquiry: é utilizado quando não se sabe o número de identificação ou endereço do outro dispositivo.

Comando Page: é utilizado a partir do momento que o endereço é obtido e tem o papel de completar o estabelecimento da conexão.


Figura 1

Ao ser iniciada a conexão é estabelecida uma Personal Area Network (PAN) denominada piconet. Cada conexão piconet possui apenas um master e até 7 slaves ativos ou até 255 dispositivos no modo Park. Os modos de operação serão discutidos mais adiante no tópico de Controle de Acesso.

Para a conexão de mais de 8 dispositivos, é criado uma scatternet. Esta é composta por várias piconets conectadas entre si através dos dispositivos master.


Figura 2

Link Físico

O Bluetooth é capaz de transmitir sinais de dado e voz. Sendo assim, o dispositivo possui dois tipos de conexão, SCO (Synchronous Connection-Oriented) link e ACL (Asynchronous Connection-Less) link.

A SCO implementa uma comunicação full-duplex ponto-a-ponto. Neste caso, os time-slots estão reservados comportando-se assim, como uma comutação de circuito. Ou seja, o link SCO é ideal para a transferencia de voz e vídeo.

O master pode suportar até tres ligações SCO com o mesmo slave ou com diferentes slaves. O slave suporta até 3 ligações SCO sendo todas com o mesmo master, ou 2 ligações sendo essas com 2 master distintos.

A ACL implementa uma comunicação half-duplex ponto-a-multiponto. Essas ligações ACL retransmitem pacotes com erro, o que não acontece no link SCO. Devido a essa característica, o ACL comporta-se como uma comutação por pacotes, o que o faz ser ideal para transmissao de dados.

O master suporta somente uma ligação ACL com cada slave, independente de existir ligações SCO.

Pacote

Um pacote é composto por tres partes: código de acesso (72 bits), cabeçalho (54 bits) e campo de playload (0 - 2745 bits).

LSB 72 54 0 - 2745 MSB
Acess Code Header PayLoad
Tabela 2

Código de Acesso

Os códigos de acesso são usados para sincronizar os clocks dos dispositivos, fazer o paging, inquiry e a identificação da piconet ou do dispositivo endereçado. Há tres tipos de códigos de acesso: CAC (Channel Access Code), DAC (Device Access Code) e IAC (Inquiry Access Code).

CAC (Channel Access Code) - identifica a piconet. Todos os pacote enviados através de um canal da piconet, carrega o endereço do dipositivo master.

DAC (Device Access Code) - usado para o procedimento de paging.

IAC (Inquiry Access Code) - usado para o procedimento de inquiry.

Cabeçalho (Header)

O cabeçalho indica o endereço do membro ativo, tipo do pacote (são 16 tipos diferentes), controle do fluxo e a ordem do pacote . O endereço de membro ativo é o endereço do slave ativo na piconet. Este endereço é composto por 3 bits únicos. O endereço 000 é usado para mensagem de broadcast. O master não possui endereço próprio.

Campo de Playload

Este campo é preenchido dependendo de qual tipo de pacote está sendo enviado. Não sendo um pacote de controle, o campo pode ser um campo de voz, de dado ou ambos. Sendo um campo de dados, haverá um cabeçalho dentro do playload.

Modos de Operação

Como já foi dito anteriormente, em um dispositivo sem fio, o consumo energético é uma questão de suma importância. Operações diferenciadas necessitam potências também diferenciadas e para isso a especificação Bluetooth prevê modos de operação para determinados tipo de conexão.

Os dois estados básicos que um dispositivo pode se encontrar são os estados :

Standby

Quando um aparelho Bluetooth não está participando de nenhuma conexão não há a necessidade de um consumo de energia da mesma ordem de grandeza de um dispositivo em plena transferência de dados. Para diminuir o consumo o dispositivo apenas verifica a existência de mensagens a cada 1.28 segundos.

Conectado

Já no estado Conectado o dispositivo pode se encontrar em um dos quatro sub-estados a seguir:

Ativo: Quando o aparelho Bluetooth está ativamente participando da conexão, seja enviando ou recebendo dados. Estado que apresenta consumo máximo de energia

Sniff: Estado com um consumo de energia menor. O dispositivo diminui sua taxa de escuta a conexão, que pode ser programável de acordo com a utilização.

Hold: Caso não haja tráfego de dados, o dispositivo Master da conexão pode colocar algum Slave na posição Hold para menor consumo de energia. Nesse estado o dispositivo apenas utiliza o seu clock interno para se manter sincronizado com os demais dispositivos.

Park: Outro estado para redução consumo de energia quando não há trafego de dados e também o mais eficiente nesse quesito. No estado Park o dispositivo abre mão de seu endereço de membro ativo (MAC adress), possibilitando assim que mais de 7 dispositivos sejam incluídos numa conexão piconet.

Segurança

Como toda tecnologia de comunicação, a especificação Bluetooth também tem que estar atenta a aspectos de segurança. Para isso existem três modos de segurança regulamentados:

Modo 1 : Não-Seguro

Modo 2: Service-Level Enforced Security

Modo 3: Link-Level Enforced Security

Os procedimentos para assegurar uma conexão segura implementados pelo Bluetooth são:

Gerenciamento de Chave ( Key Management)

Existem três tipos de chaves na especificação Bluetooth:

PIN Code - Número de identificação Pessoal de 48 bits (4 digitos )

Private Link Key - Seqüência de 128 bits aleatória gerada a cada transmissão.

Pode ser dividido em :

Private Encryption Key - Chave de 8 a 128 bits derivada da chave corrente utilizada

Autenticação de Dispositivo ( Device Authentication)

A conexão só é bem sucedida se ambos os dispositivos presentes na comunicação dispuserem da chave de autenticação (symmetric key), caso contrário a conexão é abortada.

Encriptação de Pacotes (Packet Encryption)

Modo 1- Não há encriptação

Modo 2 - Apenas pacotes para endereços determinados são encriptados, pacotes enviados em conexões ponto-a- multiponto permanecem não encriptados.

Modo 3 - Todo tráfego é encriptado.

Redes 1 - 2010/1 - UFRJ