Redes Bluetooth

 

Redes Ad Hoc sem fio

 

As redes ad hoc se baseiam numa comunicação direta entre os diversos dispositivos moveis que a compõe.  Para tanto é necessário que não exista diferença entre as unidades de rádio que fazem parte da rede. Isto significa que não há distinção entre os terminais móveis e as estações bases, como ocorre nas redes convencionais, até porque em redes do tipo ad hoc não existem estações propriamente ditas.

Uma rede ad hoc é formada dinamicamente, portanto não existe uma topologia definida, não há intervenção de operadores e também não existe um controlador central para coordenar interconexões. 

O Bluetooth lança mão do conceito de redes ad hoc para criar múltiplas conexões entres os dispositivos na mesma área sem qualquer coordenação mutua entre os mesmos, a este tipo rede dá-se o nome de scatternet (ad hoc espalhada). Esta aplicação é diferente de cenários ad hoc convencionais onde a conectividade ad hoc está focada em prover uma única, ou muito poucas, redes entre as unidades que estão dentro da área de alcance.

A figura que segue mostra uma comparação entre três tipos de redes móveis.

 

Figura 10 - Topologias para: a) Sistema de telefonia celular convencional; b) Sistema convencional ad hoc; c) Sistema ad hoc espalhado.

 

Como pode ser visto na figura 10 (c), uma scatternet é formada por um grupo de redes que apresenta alguns terminais sobrepostos e que se comunicam por canais distintos.  As redes que em grupo formam as scatternets são conhecidas como piconets.

O Bluetooth baseia a sua comunicação nas piconets, em cada delas existe um terminal que faz o papel de mestre e todos os outros são escravos. O número máximo de dispositivos em uma piconet é oito, porém as piconets podem se sobrepor ou existir num mesmo espaço.

A figura abaixo mostra como é formada uma piconet e como um grupo de piconets forma uma scatternet.

 

Figura 11 - (a) Piconet; (b) Piconets formando uma Scatternet

 

Estabelecimento de Conexões

 

Quando se quer criar uma rede Bluetooth ou adicionar unidades a uma piconet, os dispositivos devem ser identificados. Por ser uma rede do tipo ad hoc os dispositivos podem ser dinamicamente conectados e desconectados de uma piconet a qualquer momento.

Para controlar este processo existem sete sub-estados que foram divididos em dois grandes estados: STANDBY e CONNECTION. Os sete são: page, page scan, inquiry, inquiry scan, master response, slave response e inquiry response. Para mudar de um estado para outro são usados comandos do gerenciador de link ou sinais internos do controlador de link.

 

Figura 12 - Estados de uma unidade

 

O STANDBY é caracterizado por ser um estado default dos dispositivos Bluetooth onde só o clock interno permanece funcionando, por isso ele tem baixo consumo de energia. O dispositivo pode deixar este estado para fazer buscas (paging, inquiring) ou para escutar por buscas (scanning).

O CONNECTION é o estado que representa que uma conexão já foi estabelecida, este processo será explicado mais abaixo juntamente com os sub-estados. Este estado tem quatro modos: Active, Sniff, Hold e Park.

Um dispositivo sai do estado CONNECTION através de um comando de re-inicialização (Reset – todas as configurações do link são limpas, o dispositivo deve ser reconfigurado) ou de desligamento (Detach – as configurações do link permanecem e podem ser reutilizadas). 

Page Scan

 

No sub-estado Page Scan, uma unidade “acorda” e fica escutando o meio por uma janela de tempo e depois volta a “dormir”. Durante esta janela a unidade escuta somente uma portadora para encontrar o seu próprio código de acesso (DAC – Device Acess Code). O tamanho da janela deve ser tal que possibilite varrer completamente 16 freqüências de page. Este estado pode ser atingido vindo do STANDBY com também do CONNECTION.

O Page Scan tem três modos: o modo contínuo (R0) onde o intervalo entre duas varreduras é o mesmo da janela; o modo R1, onde o intervalo máximo é de 1,28s e o modo R2 que tem um intervalo máximo de 2,56s.

 

Page

 

O sub-estado page é usado pelo dispositivo que quer estabelecer uma conexão, o mestre. Neste estado a unidade fica enviando o DAC do dispositivo ao qual quer se conectar, até que este através do estado page scan escute seu código de acesso.

Os dispositivos não estão sincronizados a priori, então o mestre nunca sabe exatamente quando o escravo irá “acordar” e em que portadora ele estará, por isso o mestre deve enviar o DAC do escravo em várias portadoras que são definidas através da seqüência de salto de page.

Um dispositivo pode entrar em estado de page se estiver em espera (STANDBY) ou se já estiver em uma piconet (CONNECTION).

 

Slave Response

 

Este sub-estado é ativado quando um dispositivo (escravo) em estado page scan recebe um DAC e verifica que é o seu próprio. Este estado consiste em enviar uma mensagem de resposta para a unidade mestra contendo mais uma vez o DAC do escravo. A mensagem é enviada 625 ms após o recebimento da mensagem de page e sua transmissão é feita na mesma portadora do page.

Passados 312,5 ms do término do envio da mensagem de resposta, o receptor do escravo é ativado e fica aguardando um pacote de sincronização (FHS – Frequency Hopping Synchronization). A ilustração deste processo é mostrada abaixo.

 

Figura 13 - Processo de Page Response

 

Enquanto o pacote FHS não chegar, o escravo permanece escutando até o tempo máximo ser alcançado. Neste período de espera o escravo trocará de portadora a cada 1,25 ms de acordo com as freqüências de page. Se o tempo máximo for atingido o escravo volta para o estado page scan.

Se o pacote FHS for recebido durante o sub-estado Slave Response, o escravo envia uma segunda mensagem indicando o recebimento da sincronização, mais uma vez a mensagem será composta somente pelo DAC do escravo. Com as informações contidas no FHS, o escravo passa para o códico de acesso do canal designado pelo mestre e sincroniza seu clock.

 

Master Response

 

O mestre entra no sub-estado Master Response quando recebe a mensagem de resposta ao seu page. Com isso, ele congela a entrada da seleção de freqüências de page.

A unidade mestra irá enviar um pacote FHS contendo seu clock, seu endereço, bits de paridade BCH e a classe da unidade. As informações enviadas no pacote FHS são usadas para construir o código de acesso ao canal.

Depois que o FHS é enviado o mestre aguarda uma mensagem indicando o recebimento por parte do escravo, se nenhuma resposta for recebida o mestre re-envia o pacote FHS com o clock atualizado. O mestre continuará re-enviando até que o escravo envie a mensagem de resposta ou até que se atinja o timeout.

 

Inquiry Scan

 

O sub-estado Inquiry Scan é muito parecido com o page scan, porém ao invés de buscar por um DAC, o dispositivo tenta encontrar um código de acesso de inquiry. Aqui também há uma janela de tempo na qual o dispositivo permanece escutando o meio para receber uma mensagem de inquiry.

Existem dois tipos de código de acesso de inquiry, o geral e os dedicados. O geral (GIAC – General Inquiry Access Code) é usado para buscar informações de qualquer dispositivo Bluetooth e os dedicados (DIAC – Dedicated Inquiry Access Code) são usados para buscar informações de determinados tipos de dispositivo.

O intervalo entre um período de escuta e outro é de no máximo 2,56s, lembrando q neste intervalo já está contida a janela na qual a unidade fica “acordada”. Se uma mensagem de inquiry for reconhecida durante a janela o dispositivo pode seguir para o estado de inquiry response ou não.

Este sub-estado pode ser atingido vindo do estado CONNECTION com também do estado STANDBY.

 

Inquiry

 

Da mesma maneira que o inquiry scan é parecido com o page scan, o sub-estado inquiry é parecido com o sub-estado page. Este sub-estado é usado quando uma unidade deseja descobrir outros dispositivos Bluetooth.

Para encontrar os dispositivos, são enviadas mensagens em broadcast do tipo DIAC ou GIAC. As mensagens de inquiry não contêm nenhuma informação da fonte que a transmitiu. As mensagens são enviadas em várias portadoras, determinadas pela seqüência de saltos de inquiry. A cada duas mensagens o dispositivo mestre escuta o meio para saber se há alguma resposta do escravo. O processo só é parado quando o gerenciador de link decide que já tem respostas suficientes ou até que se atinja o timeout.

Pode-se chegar a este estado vindo do STANDBY ou do CONNECTION.

 

Inquiry Response

 

Durante o processo de inquiry se existir um dispositivo escutando em estado de inquiry scan, o mesmo irá entrar no sub-estado Inquiry Response. Ao entrar neste estado, o dispositivo escravo irá enviar uma mensagem FHS com informações de sincronização.

Se vários dispositivos tiverem recebido a mensagem de inquiry, eles irão respondê-la, e para evitar que haja colisões as respostas as mensagens são enviadas em tempos aleatórios.

 

Interconexão de redes Bluetooh

 

Um dispositivo pode participar de diferentes piconets utilizando a técnica TDM (Time Division Multiplexing), ou seja, o dispositivo fica ativo somente em uma piconet por vez, ele vai alternando entre as redes ao longo do tempo. Portanto quando a unidade está ativa em uma piconet ela fica inativa na outra, permanecendo no estado CONNECTION, porém no modo hold. Assim sendo, uma unidade pode saltar de uma piconet para outra ajustando os seus parâmetros comunicação.

O fato de mudar de rede abre a possibilidade do dispositivo mudar de status, um dispositivo pode ser mestre em uma piconet e escravo em outra. Porém, neste caso, existe um problema, pois quando o dispositivo deixa uma piconet, onde ele é o mestre, e vai para outra, o tráfego da primeira fica suspenso até que ele retorne.

Uma unidade pode ser escrava em mais de uma rede, mas o mesmo não pode acontecer com uma unidade mestra, só é possível ser mestre em uma única piconet.

Estas características possibilitam que redes Bluetooth se interconectem. Isto é feito compartilhando um dispositivo com diferentes piconets, a esse dispositivo compartilhado dá-se o nome de bridge.