Bluetooth est une spécification de l'industrie des télécommunications. Elle utilise une technologie radio courte distance destinée à simplifier les connexions entre les appareils électroniques. Elle a été conçue dans le but de remplacer les câbles entre les ordinateurs et les imprimantes, les scanners, les claviers, les souris, les téléphones portables, les PDA, les autoradios et les appareils photo numériques.
Son nom est directement inspiré du roi danois Harald Ier surnommé Harald Blåtand (" à la dent bleue "), connu pour avoir réussi à unifier les États du Danemark, de Norvège et de Suède. Le logo de Bluetooth, est d'ailleurs inspiré des initiales en alphabet runique de Harald Bluetooth.
Afin d'assurer une compatibilité entre tous les périphériques Bluetooth, la majeure partie de la pile de protocoles est définie dans la spécification.
Les éléments fondamentaux d'un produit Bluetooth sont définis dans les deux premières couches protocolaires, la couche radio et la couche bande de base. Ces couches prennent en charge les tâches matérielles comme le contrôle du saut de fréquence et la synchronisation des horloges.
La couche radio (la couche la plus basse) est gérée au niveau matériel.
C'est elle qui s'occupe de l'émission et de la réception des ondes radio.
Elle définit les caractéristiques telles que la bande de fréquence et l'arrangement des canaux, les caractéristiques du transmetteur, de la modulation, du receveur, etc.
La technologie Bluetooth utilise l'une des bandes de fréquences ISM (Industrial, Scientific & Medical) réservée pour l'industrie, la science et la médecine. La bande de fréquences utilisée est disponible au niveau mondial et s'étend sur 83,5 MHz (de 2,4 à 2,4835 GHz).
Cette bande est divisée en 79 canaux séparés de 1 MHz.
Le codage de l'information se fait par sauts de fréquence.
La période est de 625 µs, ce qui permet 1 600 sauts par seconde.
Il existe 3 classes de modules radio Bluetooth sur le marché ayant des puissances différentes et donc des portées différentes :
Classe | Puissance | Portée |
1 | 100 mW (20 dBm) | 100 mètres |
2 | 2,5 mW (4 dBm) | 15 à 20 mètres |
3 | 1 mW (0 dBm) | 10 mètres |
La plupart des fabricants d'appareils électroniques utilisent des modules de classe 3.
La bande de base (ou baseband en anglais) est également gérée au niveau matériel.
C'est au niveau de la bande de base que sont définies les adresses matérielles des périphériques (équivalent à l'adresse MAC d'une carte réseau). Cette adresse est nommée BD_ADDR (Bluetooth Device Address) et est codée sur 48 bits. Ces adresses sont gérées par la IEEE Registration Authority.
C'est également la bande de base qui gère les différents types de communication entre les appareils. Les connexions établies entre deux appareils Bluetooth peuvent être synchrones ou asynchrones.
La bande de base peut donc gérer deux types de paquets :
Un piconet est un mini réseau qui se crée de manière instantanée et automatique quand plusieurs périphériques Bluetooth sont dans un même rayon.
Un piconet suit une topologie en étoile : 1 maître / plusieurs esclaves.
Un périphérique maître peut administrer jusqu'à :
La communication est directe entre le maître et un esclave. Les esclaves ne peuvent pas communiquer entre eux.
Tous les esclaves du piconet sont synchronisés sur l'horloge du maître. C'est le maître qui détermine la fréquence de saut pour tout le piconet.
Les périphériques esclaves peuvent avoir plusieurs maîtres, les différents piconets peuvent donc être reliés entre eux. Le réseau ainsi formé est appelé un scatternet (littéralement réseau chaîné).
Cette couche gère la configuration et le contrôle de la liaison physique entre deux appareils.
Cette couche gère les liens entre les périphériques maîtres et esclaves ainsi que les types de liaisons (synchrones ou asynchrones).
C'est le gestionnaire de liaisons qui implémente les mécanismes de sécurité comme :
Cette couche fournit une méthode uniforme pour accéder aux couches matérielles. Son rôle de séparation permet un développement indépendant du hardware et du software.
Les protocoles de transport suivants sont supportés :
L2CAP signifie Logical Link Control & Adaptation Protocol.
Cette couche permet d'utiliser simultanément différents protocoles de niveaux supérieurs.
Un mécanisme permet d'identifier le protocole de chaque paquet envoyé pour permettre à l'appareil distant de passer le paquet au bon protocole, une fois celui-ci récupéré.
La couche L2CAP assure également la segmentation (et le réassemblage) des paquets de protocoles de niveaux supérieurs en paquets de liaison de 64 Ko.
RFCOMM est un service basé sur les spécifications RS-232, qui émule des liaisons séries. Il peut notamment servir à faire passer une communication IP par Bluetooth.
SDP signifie Service Discovery Protocol. Ce protocole permet à un appareil Bluetooth de rechercher d'autres appareils et d'identifier les services disponibles. Il s'agit d'un élément particulièrement complexe de Bluetooth.
OBEX signifie Object Exchange. Ce service permet de transférer des objets grâce à OBEX, protocole d'échange développé pour l'IrDA.
Un profil correspond à une spécification fonctionnelle d'un usage particulier. Ils peuvent également correspondre à différents types de périphériques.
Les profils ont pour but d'assurer une interopérabilité entre tous les appareils Bluetooth.
Ils définissent :
Les différents profils sont :