Vous êtes sur la page 1sur 60

Bluetooth vs 802.

11
Similitudes
Technologies sans fil
ISM 2.4 Ghz
Accs LAN Ethernet
Diffrences
Dbits
Port de fonctionnement
Techniques de modulation
Nombre dutilisateurs
Scurit
Complmentaires
Bluetooth
TM

Introduction

Camille Diou
Docteur en microlectronique

LABORATOIRE INTERFACES UNIVERSIT


CAPTEURS & MICROLECTRONIQUE DE METZ
Introduction : contexte
Standard de liaison radio faible porte
Motivations : remplacement de toute la
connectique ncessaire linterconnexion de
matriels lectroniques fixes ou portables
Possibilit daccder des rseaux locaux
(LANs) ou de raliser des picorseaux
(piconets)
Objectifs :
Faible consommation
Faible cot
Interoprabilit totale sans intervention de
lutilisateur
Introduction : histoire
Introduit par Ericsson en 1994
Harald Blaatand Bluetooth II,
roi du Danemark de 940 981
Sa pierre tombale indiquait :
Harald a christianis la
Scandinavie
Harald a contrl le
Danemark et la Norvge
Harald pensait que les
ordinateurs portables et les
tlphones mobiles devaient
communiquer sans fils
Webographie
Special Interest Group (SIG) :
Ericsson, IBM, Intel, Nokia, et
Toshiba, adopt par 3000
entreprises
Version 1.1 disponible gratuitement :
http://www.bluetooth.com
IEEE 802.15.1 : standardisation des
couches PHY et MAC (liaison physique et
contrle daccs)
Introduction : challenges
Utilisation dune bande de frquences libre
dutilisation et universelle
Dispositifs mobiles : ncessit de sadapter
aux environnement changeant rapidement
Implantation la plus petite possible :
embarqu
Puissance consomme : une faible fraction
du dispositif hte
tablissement de la communication
automatique
Synchronisation des horloges
Introduction : spcifications
Bande ISM (Industrial, Scientific &
Medical) : 2,4 GHz
Les spcifications Bluetooth
comprennent :
La spcification des protocoles matriels et
logiciels
Des profiles dutilisation et des contraintes
dinteroprabilit
Introduction : spcifications
Opre dans la bande 2.4 GHz un dbit de
donnes maximal de 1 Mb/s (v1)
talement de spectre par saut de frquence
(Frequency Hopping Spread Spectrum) : divise
la bande en n canaux (2.402 - 2.480 GHz = 79
canaux)
Changement de canal de faon pseudo-
alatoire, dtermine par le matre
8 priphriques par piconet (1 matre et 7
esclaves)
Piconets combins en scatternets
Avantages du Frequency-
hopping
Opre dans un
environnement radio
bruit
Rend le lien robuste:
vite les interfrences
avec les autres
signaux en sautant sur
une nouvelle
frquence aprs avoir
mis ou reu un
paquet
Paquets courts et
sauts de frquences
rapides limitent
limpact des fours
micro-ondes et autres
sources
Usage : casques sans fils
Bnfices pour lutilisateur :
Accs des priphriques multiples
Tlphones sans fils
Oprations mains-libres
Usage : synchronisation
Bnfices pour lutilisateur :
Synchronisation de proximit
Maintenance aise des bases de donnes
Base de donnes dinformations commune
Usage : points daccs donnes
Bnfices pour lutilisateur :
Plus de connecteurs
Accs Internet ais
Partage de connexion
Architecture: Rseau Bluetooth (Piconet)
parked
slave
Ensemble de slave3
slave2

priphriques
connects de slave1
parked
manire ad-hoc slave parked
Une unit se slave
master
comporte en slave4
matre, les autres
slave7
en esclaves, pour la parked
dure de la slave
connexion piconet slave5
slave6

Chaque piconet a
un unique
motif/ID de saut Piconet
Architecture : piconet
Toplogie en toile S M

Matre P

dfinit lhorloge et le saut de


frquence
SB S
S

administre le piconet (polling) P


peut connecter jusqu 7 esclaves
simultanment ou 250 esclaves M=Master P=Parked
inactifs (parqus) S=Slave SB=Standby

Canaux logiques
Asynchronous, packet oriented donc
connection-less (ACL)
Synchronous, connection-oriented -
SCO (voice, slot reservation)
Architecture : scatternet
S M

Liaison de piconets co- P

localiss partageant des


priphriques matres ou
SB
S S

esclaves
P
Un priphrique peut tre P

la fois matre et esclave SB

Systme haute capacit : M

chaque piconet a une S

capacit maximale (720


kbps) M=Master
S=Slave
P=Parked
SB=Standby
Architecture
Applications Application Framework
& Support
Autres TCS RFCOMM SDP

Data

Audio
L2CAP Logical Link Control &
Application Protocol
HCL
Host Controller Layer
LMP
Link Manager Protocol
BB Bande de base
RF Radio
Applications

Autres TCSRFCOMMSDP

Architecture : couche radio


Data

Audio
L2CAP

HCL

Opre dans la bande 2,4 GHz


LMP

BB

Communication en talement de spectre


RF

Saut de frquence : frequency hopping


79 canaux espacs de 1MHz:
2402 + k MHz et k=0,1,,78
1600 changements/s :
hop slot de 625 s
Sauts rapides : nombreux rseaux coexistants
Faible taille de paquets : bande bruite, taux
derreur lev
En-ttes des paquets protgs : correction derreur
RF

Architecture : couche radio


Voix et donnes simultanment:
432 Kbps (full duplex), 721/56 Kbps
(asymmetric) ou
3 canaux de voix simultans en full duplex par
piconet (CVSD @ 64 Kbps) ou
une combinaison de voix et de donnes

Trois classes de composants:


Class 1 20 dBm (100 mW) Power control required
Class 2 4 dBm (2.5 mW) Power control required
Class 3 0 dBm ( 1 mW)
Applications

Architecture :
Autres TCSRFCOMMSDP

bande de base
Data

Audio
L2CAP

HCL

LMP

Contrle la couche radio BB

RF

Fournit les squences de sauts de


frquence
Gre le cryptage bas niveau
BB

Architecture : bande de base


SCO : Synchronous Connection Oriented
Used primarily for voice
Time bounded symmetric connection
Use reserved, non-polled transmission slots
ACL : Asynchronous Connectionless
Used primarily for packet data
Both symmetric and asymmetric
Master controls the link
Broadcast messages supported (address 0)
BB

Architecture : bande de base


Fournit les fonctionnalits requises pour :
la synchronisation des horloges,
ltablissement des connexions,
linquisition (inquiry) des adresses des
priphriques prsents,
la correction derreur des paquets
5 canaux diffrents :
information de contrle,
information de gestion de liaison,
donnes synchrones,
donnes asynchrones,
donnes isosynchrones
Bluetooth Packet Structure

Access code identifies a piconet.


Access code used for piconet
communication derived from the masters
address.
Access codes used in inquiry, paging.
Packet Header

AM_ADDR: 3 bits: address of slave in piconet.


TYPE: One of 16 possible packet types
FLOW: Used to stop flow on ACL link.
ARQN: Positive or negative acknowlegement.
SEQN: Inverted for each new transmitted packet.
HEC: Header-error check.
The entire header is protected by 1/3 rate FEC.
Applications

Autres TCSRFCOMMSDP

Architecture : couche LMP


Data

Audio
L2CAP

HCL

LMP

Link Manager Protocol : BB

Protocole de gestion de liaison


RF

Gestion des piconets


Configuration de la liaison
Fonctions de scurit
Fournit les fonctionnalits de :
dattachement/dtachement desclaves
de basculement de rle matre/esclave
dtablissement des liaisons ACL/SCO
de gestion des modes low-power : hold, sniff et
park
LMP

Architecture : couche LMP


Configuration de la liaison :
Dfinition des paramtres de liaison
Qualit de service (QoS : Quality of
Service)
Contrle de la consommation
Authentification des priphriques
Gestion des clefs de liaison
Applications

Architecture :
Autres TCSRFCOMMSDP

couche L2CAP
Data

Audio
L2CAP

HCL

Logical Link Control and Adaptation Protocol :


LMP

BB

Protocole de contrle du lien logique et de RF

ladaptation
Fonctions de base :
Multiplexage : plusieurs applications peuvent utiliser
un mme lien entre deux priphriques simultanment
Segmentation et r-assemblage : rduction de la
taille des paquets fournis par lapplication la taille
accepte par la bande de base ; L2CAP = 64 ko, BB =
2745 bits
Qualit de service : les applications peuvent
demander de la QoS sur des paramtres tels bande
passante, latence et retard ; L2CAP vrifie si la liaison
peut satisfaire la demande et leffectue dans le cas o
cest possible
Applications

Architecture : Autres TCSRFCOMMSDP

couche (HCL ou) HCI


Data

Audio
L2CAP

HCL

Module Bluetooth=carte spare LMP

(PCI, USB)
BB

RF

Intgre les couches basses : radio,


bande de base, LMP
Les donnes doivent traverser un bus
physique ncessit dintroduire deux
couches supp :
Driver HCI : driver pour le HCI, rside
dans lhte (logiciel), formate les donnes
Host Controller Interface : rside dans le
matriel bluetooth, accpte les
communications sur le bus physique
Architecture : couche HCI
Host
Hte 1
Controller Interface Hte 2
Bluetooth hte Donnes utilisateur Bluetooth hte

Wireless

Drivers des Drivers des


couches couches
suprieures Contrleur Contrleur suprieures
bande de base bande de base

Firmware link Firmware link


manager manager
HCI HCI
Drivers HCI Firmware HCI Firmware HCI Drivers HCI

Physique Physique
Bus physique Bus physique (USB,
Drivers de bus (USB, PCCard, etc.) PCCard, etc.)
Drivers de bus

Bus matriel Bus matriel


Architecture :
Applications

Autres TCSRFCOMMSDP

couche application
Data

Audio
L2CAP

HCL

Les applications accdent la couche


LMP

L2CAP directement ou travers un


BB

RF

protocole tel RFCOMM, TCS ou SDP


Modles dutilisation :
Tlphone trois-en-un : un seul combin fonctionne
comme intercom, tlphone, ou mobile selon les
services disponibles
Lattach-case : liaison portable / tlphone
Synchronisation automatique
Casques sans-fils
Kits mains libre pour vhicule
Domotique, partage de donnes lors de runions,
alarmes, systmes de scurit, accs rseau en zones
publiques
Profiles
Les profiles permettent
linteroperabilit entre des matriels
de diffrents fabricants pour des
services spcifiques et cas
dutilisations
Un profile :
Dfinit un ensemble de messages et de
procdures
Donne une description complte de la
communication entre deux lments
Les profiles Bluetooth
Il existe 13 profiles Bluetooth initiaux correspondant
autant de fonctions possibles dans une connexion :
K1 : GAP Generic Access Profile
K2 : SDAP Service Discovery Application Profile
K3 : CTP Cordless Telephony Profile
K4 : IP Intercom Profile
K5 : SPP Serial Port Profile
K6 : HS Headset Profile
K7 : DNP Dial-up Networking Profile
K8 : FP Fax Profile
K9 : LAP LAN (Local Area Network) Access Profile
K10 : GOEP Generic Object Exchange Profile
K11 : OPP Object Push Profile
K12 : FTP File Transfer Profile
K13 : SP Synchronization Profile
Les profiles Bluetooth
Aux profiles prcdents on peut ajouter 12 profiles
en phase finale de dveloppement ( cette date):
ESDP Extended Service Discovery Profile (Universal Plug &
Play)
A2DP Advanced Audio Distribution Profile
AVRCP Audio Video Remote Control Profile
BIP Basic Imaging Profile
BPP Basic Printing Profile
CIP Common ISDN Access Profile
GAVDP Generic Audio Video Distribution Profile
HFR Hands-Free Profile
HCRP Hardcopy Cable Replacement Profile
HID Human Interface Device Profile
PAN PAN (Personal Area Networking) Profile
SAP SIM Access Profile
Les profiles Bluetooth
Generic Access Profile
TCS-BIN Based Profiles
Audio/Video Remote
Control Profile Cordless Telephony Profile

Intercom Profile
Ext. Service Discovery Profile (1)

Common ISDN Access Profile Hardcopy Cable Replacement Profile

Service Discovery App. Profile Generic Audio/Video Distribution Profile


Adv. Audio Distribution Profile
PAN Profile
ESDP (2) Video Distribution Profile

Serial Port Profile


SIM Access Profile

Headset Profile Generic Object Exchange Profile

File Transfert Profile


Hands-free Profile

Object Push Profile


Dial-up Networking Profile

Synchronization Profile
Fax Profile

LAN Profile Basic Imaging Profile

ESDP (3) Basic Printing Profile


Les profiles Bluetooth
Il existe aujourd'hui +20 profiles Bluetooth, qui
correspondent autant de fonctions possibles dans une
connexion Bluetooth :

GAP (Generic Access Profile) : assure le


fonctionnement des couches de liaison basses.

SDAP (Service Discovery Application Profile) :
permet une application au sein d'un quipement
Bluetooth de dcouvrir les services Bluetooth d'autres
quipements et d'acqurir les donnes ncessaires
l'tablissement d'une connexion.
PAN (Personal Area Network Profile)

Les profiles Bluetooth

GAVDP (Generic Audio/Video Distribution


Profile)
Advanced Audio Distribution Profile
Video Distribution Profile
TCS-BIN Based Profiles
CTP (Cordless Telephony Profile) : permet aux
tlphones cellulaires de fonctionner comme
tlphones sans fil avec un PC ou une station de
base.
IP (Intercom Profile) : offre une utilisation en
mode interphone ou talkie-walkie.
Les profiles Bluetooth
SPP (Serial Port Profile) : permet l'mulation d'un
connecteur srie. 3HS (Headset) : communication sur
oreillette.
HP (Headset Profile) : permet lutilisation de casques sans
fil avec les dispositifs audio (tlphones, lecteurs MP3)
HFP (Hands Free Profile) : permet lutilisation en mode
mains libres de dispositifs audio (tlphones, interphones,
etc.)
DNP (Dial-Up Networking Profile) : autorise la connexion
un modem, ou l'utilisation d'un tl. mobile comme modem.
FP (Fax Profile) : service fax.
LAP (Local Area Network Profile) : donne accs au
rseau local ou permet le fonctionnement en mode rseau
local.
Les profiles Bluetooth
GOEP (Generic Object Exchange Profile) : profile
gnrique d'change d'objets pour synchronisation,
FTP, Push...
FTP (File Transfer Profile) : service situ du ct de
l'application qui provoque un transfert de fichiers vers un
quipement Bluetooth.
OPP (Object Push Profile) : service situ du ct de
l'application qui fait du Push vers un appareil Bluetooth,
typiquement pour l'expdition d'une carte de visite.
SP (Synchronisation Profile) : service situ du ct de
l'application qui lance une opration de synchronisation vers
un quipement BT.

Etablissement de la connexion

INQUIRY PAGING CONNEXION


Inquiry
But:
Dcouverte des
lments inconnus
Contenu des
A rponses:
Device Address
Class of Device
Paging
But:
slave D Etablir la
connexion
slave C Pratiqu
indpendem-
master A ment pour
chaque lment
slave B
llment qui fait
le Paging devient
B
le matre
Time Division Duplexing & Mixed Link Example
SCO ACL ACL SCO ACL SCO SCO ACL
MASTER

SLAVE 1

SLAVE 2

SLAVE 3
tablissement de la liaison

Les tapes dtablissement de la connexion peuvent


se rsumer en :
Les paquets POLL et leurs rponses sont utiliss pour
changer les informations de configuration sans
interaction de lhte
Envoi de LMP_host_connect_request
Rponse du dispositif distant avec LMP_not_accepted
ou LMP_accepted
Lesclave qui rpond peut demander lchange des
rles. Le premier dispositif rpond avec un paquet
appropri pour accepter ou refuser la requte
La liaison est maintenant tablie au niveau du
gestionnaire de liaison mais lapplication peut ne
pas savoir quels sont les services disponibles
Service Discovery Protocol

Protocole de dcouverte des services


Lenvironnement Bluetooth change rapidement
Les services disponibles doivent tre dcouverts
SDP : moyen pour les applications de dcouvrir les
services disponibles ainsi que leurs caractristiques
Les priphriques proposant un service excutent un
serveur SDP, les priphriques recherchant un service
excute un client SDP
Un client peut demander parcourir la liste des classes de
services disponibles, ou chercher une classe de services
particulire.
Exemple dune connexion rseau
But: rcupration des mails

Les diffrentes tapes de la connexion:


Inquisition (Inquiry)
Paging
tablissement de la liaison (Link establishment)
Dcouverte de services (Service discovery)
Canal L2CAP
Canal RFCOMM
Scurit
PPP
Protocoles rseaux
tablissement dune connexion 1
Inquisition (Inquiry) : Le dispositif qui atteint
un nouvel environnement initie une inquisition
afin de trouver les points daccs accessibles :
Tous les points daccs prsents rpondent par leur
adresse
Le dispositif choisit lun des points daccs qui rpond
Paging
Procdure en bande de base
Synchronisation du dispositif avec le point daccs
Offset et phase dhorloge du saut de frquence
tablissement de la liaison
LMP, Liaison synchrone (SCO) ou asynchrone (ACL)
tablissement dune connexion 2
Dcouverte de services
Le LMP utilise le SDP (Service Discovery
Protocol) afin de dcouvrir les services
disponibles sur ce point daccs
Canal L2CAP
partir des information du SDP, un canal L2CAP
est cr vers le point daccs
Directement utilis par lapplication ou via un
autre protocole (ex: RFCOMM)
Canal RFCOMM : permet lmulation dun
port srie au-dessus de L2CAP
tablissement dune connexion 3
Scurit : appairage (pairing) laide dun
code PIN : gnration dune clef partir
du code PIN, et cryptage si ncessaire
PPP : lapplication habituelle peut utiliser
PPP au dessus de la couche RFCOMMM
Les protocoles rseaux habituels :
TCP/IP, etc. peuvent tre utiliss pour
envoyer des donnes via la liaison tablie
Protocols and Usage Models
Usage Models

File Dial-up LAN Cordless


Sync Fax Headset
Transfer net. Access Phone

IrMC Audio
TCP/IP
OBEX AT-commands PPP

SDP RFCOMM TCS-BIN

L2CAP LMP

Baseband
Baseband State Machine
Unconnected
Standby
Standby

Inquiry Page
Connecting
(Unknown (Known
States Address) Address)

Active Data Connected


States Transfer

Low Power Park Hold Sniff


Modes
Release Keep
MAC Address MAC Address
Les modes de fonctionnement

Active mode
Lunit participe activement au canal
Matre et esclaves transmettent sur les diffrents slots en alternance
Le matre transmet sur les slots pairs, lesclave adress sur les impairs
Des transmissions rgulires sont effectues pour conserver la
synchronisation de lesclave avec le canal
Amlioration pour lconomie dnergie : le matre informe lesclave sur
linstant o il sera adress : lesclave peut donc passer en mode sleep
dici l.
Les esclaves actifs sont contacts par le matre par polling.

Matre Esclave
Les modes de fonctionnement

Sniff mode
Mode faible consommation : activit dcoute limite
Le LMP du matre fournit lesclave un intervalle Tsniff,un
offset Dsniff, et un nombre de tentatives Nsniff.
Lesclave coute les transmissions un intervalle fixe Tsniff,
sur le slot doffset Dsniff, et un nombre Nsniff de fois.
Hold mode
Le lien ACL vers lesclave est suspendu : lesclave ne
supporte donc plus les paquets ACL sur le canal, mais les
ventuelles liaisons SCO continuent dtre supportes
Lesclave conserve son adresse de membre actif.
Le matre et lesclave se mettent daccord pour la dure du
mode hold aprs laquelle lesclave revient en mode actif
Les modes de fonctionnement

Park mode
Mode trs basse consommation : lactivit est minimale
Lesclave rend son adresse de membre actif et reoit
une adresse de membre parqu sur 8 bits ainsi quune
adresse de requte daccs sur 8 bits galement
Ladresse de membre parqu est utilise par le matre
pour dparquer lesclave alors que ladresse de requte
daccs est utilise par lesclave afin de demander au
matre dtre dparqu
En plus de permettre lconomie dnergie, le mode
park permet au matre davoir plus de 7 esclaves dans
le piconet.
Scurit
3 modes de scurit proposs (dploys ou non dans
les quipements la discrtion des fabricants) :
mode de scurit 1 : non scuris
permet un appareil d'offrir ses services tous dispositifs
porte.
mode de scurit 2 : scuris au niveau applicatif
permet de scuriser de faon logicielle le dispositif en
paramtrant les profiles
mode de scurit 3 : scuris au niveau de la liaison
intervient sur la couche de liaison et permet d'tablir une
connexion avec authentification et chiffrement au moyen
d'une cl
Scurit
Rseau sans fil : accessible tous
Les communications doivent tre cryptes
Laccs aux priphriques doit tre restreint aux dispositifs
autoriss
Ces deux fonctions sont prises en charge par la bande de base,
lapplication pouvant crypter elle-mme les donnes pour
augmenter la scurit
4 valeurs sont utilises :
Ladresse du dispositif, publique
Une clef dauthentification sur 128 bits, prive
Une clef de cryptage configurable de 8 128 bits, prive
Un nombre alatoire
La procdure ncessite de connatre un code PIN pour pouvoir
accder un priphrique
Scurit
Principale tapes de la procdure
Une clef dinitialisation est gnre laide du code
PIN, de la longueur du code PIN, dun nombre alatoire
et de ladresse du priphrique
Une procdure dauthentification est engage par le
vrifieur en utilisant une technique de rponse un
challenge :
Un nombre alatoire est envoy par le vrifieur
partir de ce nombre, de la clef dinitialisation, et de
ladresse, le demandeur peut gnrer une rponse
connue par le point daccs
Cette rponse est renvoye et vrifie par le vrifieur
Le demandeur peut initier une procdure
dauthentification du vrifieur quivalente
Pairing & Authentication
Pairing Authentication

Access to both devices Based on stored


Manual input of security keys
code ("PIN")
No need to store or No user intervention
remember
Bluetooth security architecture

Service
Database User Interface

Authorization - manual or auto trust Service


Authentication - Link Key or PIN
Encryption - authentication or PIN Security
Manager

Device
Database
Trusted devices - BD_ADDR & Link Key stored and device marked as trusted
Paired devices - BD_ADDR & Link Key stored
Known devices - BD_ADDR
Bluetooth in the future
Bluetooth was originally intended to be a
cable replacement,
but, has evolved to become an
infrastructure for Personal Area Network
(PAN)
2001: 10 million devices produced
2003: 70 millions
2004: Bluetooth 2.0 3Mbps theor.
2005: 670 millions
2006: ~1 billion

On April 21, 2010, the Bluetooth SIG
completed the Bluetooth Core
Specification version 4.0, which
includes Classic Bluetooth, Bluetooth
high speed and Bluetooth low energy
protocols. Bluetooth high speed is
based on Wi-Fi, and Classic Bluetooth
consists of legacy Bluetooth protocols
Bibliographie
Bluetooth Core Specification, Bluetooth Profiles
Specification, http://www.bluetooth.com/dev/wpapers.asp
Bluetooth Primer, Aman Kansal
http://www.bluetooth.com
http://www.palowireless.com
http://www.softtooth.com
http://www.digianswer.com/bluetooth
http://www.wirelessdevnet.com
http://www.anywhereyougo.com
Renaud Bonnet, Les profiles Bluetooth, Dcision Micro,
24/12/2002 : http://www.01net.com/article/199493.html
http://www.certa.ssi.gouv.fr/site/CERTA-2007-INF-
003/#SECTION00042000000000000000