Universidade Federal do Rio de Janeiro Departamento de Eletrônica Discliplina: RedesI Prof:Otto Bluetooth André Quadros Bluetooth O que é Bluetooth? – Interface de rádio universal – Pequena distância (10 m) – Conexão entre dispositivos eletrônicos portáteis – Redes Ad Hoc – Elimina necessidade cabos em modems, PDAs computadores, impressoras, projetores, etc. – Baixa pôtência, custo e complexidade Bluetooth Bluetooth Conectividade em sistemas sem fio – Em sistemas de rádio convencionais, o móvel se conecta a uma estação base que gerencia a comunicação entre este móvel e outros terminais. – O acesso ao canal, alocação de canal, controle de tráfego e minimização de interferência são controlados pela estação base. – Exemplos: GSM. D-AMPS, IS-95, WLAN, etc Bluetooth Conectividade em sistemas AD Hoc – Em sistemas AD Hoc não existe diferenciação – – – – entre terminal e estação base. Comunicação ponto-a-ponto Não existe central de controle para que as unidades possam fazer as conexões ou para dar suporte a estas conexões Não necessita operadora Várias conexões AD Hoc podem compartilhar o meio sem necessidade de uma estação de controle Bluetooth Espectro de Frequência – O sistema deve operar em qualquer parte do mundo e a banda de frequência deve ser aberta ao público sem a necessidade de licenças – A única banda de frequência que satisfaz estes requisitos é a 2,45 GHz - Industrial-Scientific medical (ISM) band – 2400 MHz à 2483,5 MHz nos EUA e na Europa (apenas parte desta banda está disponível na França e Espanha) – 2471 MHz à 2497 MHz no Japão Bluetooth Definição do Canal – Esquema FH/TDD – A banda do canal é de 80 MHz dividido em 79 canais de salto (hop channel) – FH (Frequency Hopping) – O canal é dividido em slots de 625 us onde é definida uma frequência de salto para cada slot. – Taxa de salto é igual a 1600 saltos/s. Bluetooth Canal utilizando FH/TDD Bluetooth Link Físico – Syncronous connection-oriented (SCO); – Assyncronous connectionless (ACL); – O link SCO suporta conexões ponto-a-ponto entre o master e um único slave na piconet e é tipicamente utilizado para voz. – O master mantém o link SCO usando slots reservados em intervalos regulares. – O link ACL é um link ponto-a-multiponto entre o master e todos os slaves da piconet. – Este tipo de link é utilizado tipicamente para transmissão de dados em burst Bluetooth Link SCO – Três tipos de pacotes para voz com uma taxa de 64 kbits/s. – Voz é enviada sem proteção mas pode ser usado um código de paridade 1/3 ou 2/3 – Conexão comutada a circuito entre o master e o slave. – Reserva slots para transmissão Bluetooth Link ACL – Conexão comutada a pacotes entre o master e – – – – todos os slaves ativos da piconet. Pacotes de dados ocupando 1, 3 ou 5 slots Transmissão é feita nos slots de tempo não reservados para os links SCO. Para garantir integridade dos dados é aplicada retransmissão de pacotes. Taxa máxima 721 kbits/s em uma direção e 57,6 kbits Bluetooth Link ACL Transmissão de pacotes com duração de mais de um slot de tempo Bluetooth Taxas disponíveis em ACL Bluetooth Links SCO e ACL em uma piconet com um master e dois slaves Bluetooth Definiçao dos pacotes – Todos os pacotes possuem o mesmo formato – Código de Acesso - 72 bits – Header - 54 bits – Payload - 0 à 2745 bits Bluetooth Código de Acesso – Sincronização, compensação de offset e identificação – O receptor só aceitará pacotes cujo código de acesso correlacionar com o master – Três tipos: Código de Acesso ao Canal (CAC) Código de Acesso ao Dispositivo (DAC) Código de Inquiry (IAC) Bluetooth Código de Acesso – Código de Acesso ao Canal (CAC) Identifica os pacotes da rede Inluído em todos os pacotes da piconet – Código de Acesso ao dispositivo (DAC) Procedimento de sinalização (paging) – Código de Acesso de Inquiry (IAC) Descobrir quais unidades estão na localidade Bluetooth Header – Informações sobre o link de controle AM_ADDR: 3 bits - active member address TYPE: 4 bits - type code FLOW: 1 bit - flow control ARQN: 1bit - acknowledge indication SEQN: 1bit - sequence number HEC: 8 bit - header error check Bluetooth – O AM_ADDR Representa o endereço de uma unidade ativa Cada slave recebe um endereço temporário de 3 bits para ser usado quando estiver ativo. Todos os pacotes trocados entre mestre e slave carregam este endereço. – TYPE Podem existir dezesseis tipos diferentes de pacotes. O código de quatro bits "TYPE" é utilizado para especificar qual tipo está sendo usado. Bluetooth – ARQN informar ao transmissor sobre o sucesso da transferência de um pacote de dados de payload com CRC. Se a recepção foi feita com sucesso, um ACK (ARQN=1) é enviado, senão um NACK (ARQN=0). – FLOW Este bit é utilizado para fluxo de controle sobre o link ACL.Quando o buffer no receptor está cheio, é retornado uma indicação de STOP (FLOW=0) para o transmissor parar com a transmissão do fluxo de dados. Bluetooth – O SEQN numeração sequencial para ordenar o stream no pacote de dados com CRC. Isto é feito para evitar o recebimento de um mesmo pacote que foi retransmitido. – HEC Cada header possui um header-error-check para garantir a integridade do cabeçalho. Se o HEC não não casa, então o pacote inteiro é descartado. Bluetooth Payload O campo voz possui um tamanho fixo. Para pacotes HV possuem 240 bits enquanto que os pacotes DV, 80 bits. O header do payload não está presente neste caso. O campo dados consiste de três segmentos: um cabeçalho do payload, o corpo do payload e possivelmente um código CRC. Bluetooth Estabelecendo Conexão – As unidades de rede Bluetooth devem ser capazes de descobrir o endereço de outras unidades nas proximidades sem a necessidade de intervenção do usuário. Assim, foram definidos para estabelecer as conexões: inquiry page scan Bluetooth Inquiry – Master difunde mensagens de inquiry – Descobrir quais unidades estão no alcance – Resposta com um pacote do tipo FHS (Frequency Hopping Synchronization) contendo informações sobre sincronismo e sua identidade – Temporização aleatória para evitar colisões Bluetooth Inquiry D F H G M A O E P B K J L I 10 meters N Q C Bluetooth Paging – Master difunde mensagens de paging tentando estabelecer conexão com terminais descobertos no processo de inquiry. – São enviados 2 mensagens de paging a cada 1,25 ms. – A mensagem é enviada em broadcast mas contém o endereço do slave B – Este processo se repete até que todos os outros dispositivos estejam conectados. Bluetooth Paging D F H G M A O E N P B K J L I Q C Bluetooth Paging D F H M G A P B O E N K J L I Q C Bluetooth Scan – Para economizar energia, os dispositivos que estiverem ociosos podem "dormir". – Acordam periodicamente para verificar se existe algum outro dispositivo tentando estabelecer uma conexão. – A janela de varredura utilizada é de 10 ms. – Duas sequências de 16 saltos. Bluetooth Modos de Conexão – Um dispositivo Bluetooth pode assumir quatro modos de conexão – Active mode – Hold mode – Sniff mode – Park mode – Atráves desses modos pode ajustar a potência, ajustar performance, fazer paging entre outros. Bluetooth Modos de – . Purpose Conexão Active mode enables master/slave communications in any given frame. Mode Active Hold mode frees a slave for a Hold predetermined one time hold period. Sniff mode frees a slave for Sniff predetermined, recurring, fixed time periods. Parking enables a master to Park connect to as many as 255 parked devices in addition to its 7 active devices Standby is the default mode Standby for any Bluetooth device Addressing State Power AMA Conected High Master to Slave Access Time Any given frame (1250 ms) AMA Connected Low At end of hold duration (T hold) AMA Connected Low At end of sniff intervals (T sniff) PMA Parked Lower At beacon time intervals (T beacon) plus some reconnection overhead None Standby Lowest Paging cycle or Inquiry & Paging cycle (2-10s) Bluetooth Segurança – BD_ADDR Endereço de 48 bits único para cada unidade – Chave de Autenticação Tamanho fixo de 128 bits – Chave de Encriptação Pode variar de 1 a 16 octetos (8 a 128 bits) – RAND Número aleatório de 128 bits Bluetooth Segurança – Chave de Autenticação initialization key (Kinit) temporary key (Kmaster) combination key (KAB) unit key (KA) – Encriptação Cipher Key Kc. Bluetooth Processo de Autenticação Bluetooth Chave de Unidade – KA é usado como chave de link Bluetooth Chave de Combinação Bluetooth Encriptação Bluetooth Conclusão – Bluetooth é um sistema de rádio universal – Pequeno alcance – Opera na faixa de 2,5 GHz – Utiliza CDMA e FH/TDD – Possui 80 canais de 1MHz – Dois tipos de links - SCO e ACL – Autenticação e Encriptação de dados Bluetooth Referências – 1. Specification of the Bluetooth System — Core; available online – – – – http://www.bluetooth.com/developer/specification/Bluetooth_11_Spe cifications_Book.pdf. 2. Specification of the Bluetooth System — Profiles; available online http://www.bluetooth.com/developer/specification/Bluetooth_11_Prof iles_Book.pdf. 3. BLUETOOTH—The universal radio interface for ad hoc, wireless connectivity - Jaap Haartsen - Ericson Review nro 3 - 1998 4. The Bluetooth Radio System - Jaap C. Haartsen - Ericson Radio Systems B. V. - IEEE Personal Communications - February 2000 5.www.xilinx.com/esp/technologies/wireless_networks/bluetooth.htm