You are on page 1of 160

BLUETOOTH

CENTRE D’INNOVATIONS EN TELECOMMUNICATIONS & INTEGRATION DE SERVICES ubeda@telecom.insa-lyon.fr Stéphane Ubéda

PLAN DU SEMINAIRE
Partie I : philosophie Bluetooth
 Historique, usages, spécificités, marché

Partie II : éléments fondamentaux
 Interface radio, protocoles, services

Partie III : exemple d’extention
 Routage adhoc: solution IBM

Stéphane Ubéda

PLAN DU SEMINAIRE
Partie I : philosophie Bluetooth
 Historique, usages, spécificités, marché

Partie II : éléments fondamentaux
 Interface radio, protocoles, services

Partie III : exemple d’extention
 Routage adhoc: solution IBM

Stéphane Ubéda

Philosophie Bluetooth Miniaturisation des équipements Généralisation du nomadisme et de la mobilité Objectif  Interconnexion instantanée  Collaboration d’équipements  Emergence spontanée de nouveaux services (en combinant les fonctions) Stéphane Ubéda .

Objectifs majeurs Très faible taille Très faible coût Très faible consommation Et… Stéphane Ubéda .

0 Aujourd’hui. plus de 2200 entreprises dans le SIG Lien avec IEEE ! Stéphane Ubéda .Un peu d’histoire 1994. Intel. dépôt de la norme Bluetooth V1. Ericsson lance le projet 1998. Nokia. Toshiba et IBM 1999. création du SIG (Special Interest Group) par 5 sociétés : Ericsson.

Pour en savoir plus http://www.bluetooth.bluetooth.org http://ieee802.com Stéphane Ubéda .org/15 http://internet.com http://blurtooth.weblogs.motlabs.com http://www.

Pourquoi le nom « Bluetooth » Harald Blåtand  la légende du roi aux dents bleues  10ème siècle Volonté d’unification d’une communauté  unificateur (Danmark & Norway) Stéphane Ubéda .

La technologie Bluetooth Connexion sans fil Réseaux « ad hoc » Rayon d’action de 10 à 100 mètres Bluetooth utilise des ondes radio de courtes portée (gamme ISM = Industrial/Scientific/Medical) Stéphane Ubéda .

Usage 1 Contrôles : accès.. lumière.. températures. Stéphane Ubéda .

. mais aussi évasion. Stéphane Ubéda .Usage 2 Détecteur de présence : intrusion..

. Stéphane Ubéda .. lumière. garage.Usage 3 Commande à distance : porte.

..Usage 4 Synchronisation des informations. Stéphane Ubéda .

. Stéphane Ubéda .Usage 5 Communication avec les équipements NTIC..

.Usage 6 Téléchargement des GUI d’équipements variés.. Stéphane Ubéda .

..Usage 7 Télépaiement. Stéphane Ubéda .

Stéphane Ubéda .Usage 8 Accès Internet et autres réseaux...

..Usage 9 Echanges de cartes de visites. Stéphane Ubéda .

. Stéphane Ubéda ..Usage 10 Prises de commandes.

Usage et certification Programme unique dans le monde industriel ! Interopérabilité  Radio & Protocoles Profile d’utilisation  Certifier pour des classes d’usages  Tests d’interopérabilité en situation d’usage  Meet end user expectations !! Stéphane Ubéda .

..Principe de fonctionnement Technologie basée sur une puce radio de faible portée  Bande de fréquence ISM. télécommandes et..4 GHz / CDMA Micro-réseaux ou Piconet  Organisations spontanées Connexion Maître-esclave  Proche de IrDA Stéphane Ubéda . micro-ondes !  2. libre internationalisent  ATTENTION : équipements médicaux.

11 (WiFi) Stéphane Ubéda . l’alimentation électrique reste un problème majeur Points positifs  Il devient naturel d’obtenir des services combinant voix et données  Les réseaux mobiles saturent vite en capacités et on une faible pénétration Indoor  Peut-on faire mieux que 802.Est-ce une bonne idée ? Remplacer les câbles  Oui mais.

11a : ne traverse que les murs légers Stéphane Ubéda .11b Technologie robuste et éprouvée  On obtient raisonnablement 5 Mbit/s Consommation de batterie limitant la technologie aux PC portables 11 canaux seulement.Bluetooth vs 802. donc fonctionne bien uniquement dans les environnements peu dense Capacité par unité de surface  Maximale : bluetooth 5 fois supérieure en capacité par unité de surface  Moyenne : on peut espérer que bluetooth obtient une capacité 20 fois supérieure 802.

Avantages Rayon d’action plus important que d’autres technologies telles que IRdA Les ondes traverses la plupart des obstacles physiques Même plage de fréquence dans tous les pays Stéphane Ubéda .

Et ensuite ? Les logiciels complexes ne sont pas encore conçus Des problèmes d’incompatibilités pourraient apparaître Un marché de 177 millions de dollars prévu pour cette année D’ici 2002. Bluetooth devrait équiper plus de 100 millions de téléphones portables Stéphane Ubéda .

Applications de Bluetooth Stéphane Ubéda .

Quelques produits déjà existants Les produits existant aujourd’hui sont encore rares :  Téléphone portable Ericsson T36  Carte PCMCIA Toshiba Stéphane Ubéda .

. Stéphane Ubéda ..Quelques produits déjà existants.

..Quelques produits déjà existants. Stéphane Ubéda .

.Encore .. Le téléphone de demain? Le stylo bluetooth (d@d) Stéphane Ubéda .

Pénétration Stéphane Ubéda .

protocoles. marché Partie II : éléments fondamentaux  Interface radio. spécificités. services Partie III : exemple d’extention  Routage adhoc: solution IBM Stéphane Ubéda .PLAN DU SEMINAIRE Partie I : philosophie Bluetooth  Historique. usages.

Interface Air 1 Standard mondial : bande ISM.. 2. FH (Fast Frequency Hoping) 1600 hops/seconde 1 Mbips/canaux (théorique) Modulation FSK Stéphane Ubéda ..4 à 2..*  Libre de droit..4835 GHz  (un peu moins en France et Espagne) Interférences     CDMA.

Frequency Hopping 625 s Stéphane Ubéda .

Interface Air 2 Communication Full-duplex  Technique TDD (Time division) Notion de piconet  Un équipement Maître (décide qui parle)  Un code CDMA 652 s Master Slave t(k) Stéphane Ubéda t(k+1) t(k+2) .

3 ou 5 slots (mécanisme de réservation) Stéphane Ubéda .Interface Air 3 625 s Les paquets peuvent être Multi-slot : 1.

3 ou 5 slots (mécanisme de réservation) Stéphane Ubéda .Interface Air 3 Les paquets peuvent être Multi-slot : 1.

Interface Air 4 Hop Selection Slave clock + Phase Sequence Hop Offset Master Indentity La sélection de la séquence CDMA est déterminée par l’identité du Master (donc identique pour tout les esclaves) et la phase dans cette séquence est calculée au moment de la synchronisation des horloges. Stéphane Ubéda .

Interface Air 5 79 fréquences dans le FH  Potentiellement 80 Mbip/s dans la zone  Impossible à atteindre par absence de coordinations Protocole  ARQ et répétition automatique  Entête protégée par CRC+FEC  Voix : codage CVSD data : variable Synchronisation  Systèmes de Paging/scan Stéphane Ubéda .

Pile de protocoles vCard/VCalen WAE AT-Commands SDP TCS OBEX WAP UDP IP TCP PPP RFCOMM L2CAP HCI LMP Base band Stéphane Ubéda Audio .

 SDP = Service Discovery Protocole Pour la découverte automatique de service Stéphane Ubéda .Pile de protocoles Protocoles standards Protocoles spécifiques  TCS = Telephony Control Specification Instrumentation du liaison permettant d’échanger de la voix.

Types de canaux physiques SCO = Synchronous Connection Oriented  Echanges de type « voix »  64 Kbips ACL = Asynchronous Connection Less  Echange de type « données »  432.6 Kbips asymétrique Stéphane Ubéda .6 Kbips symétrique  721 Kbips/57.

Base Band La couche Base Band gère  Les canaux physiques Subdivision logique : • • • • • control information link management information user synchronous data user asynchronous data isosynchronous data  Correction d’erreurs variable suivant les types de canaux Stéphane Ubéda .

Base Band (2)  Le cryptage sur le lien radio  Synchronisation d’horloges  Procédures « Inquiry » pour la découverte d ’adresse dans l ’environnement proche Stéphane Ubéda .

Link Manager Protocol gestion des « piconet »  Connecter/déconnecter les esclaves. gestion pour le « master » de l’organisation des échanges... inversion des rôles. et gestion de la QoS Gestion de la consommation d’énergie  Hold/Sniff/Park mode Fonctions de sécurités avancées Stéphane Ubéda . Configuration des liens  Pour les ACL ou SCO.

Logical Link Control & Adaptation Protocol Interaction avec les applications Fonctions de bases :  Multiplexage Entrée L2CAP paquet 64 kb Entrée BaseBand 2745 bits  Segmentation/Réassemblage des paquets  QoS niveaux applications Débits maximum. variation des délais Conclusion : offre une couche niveau 3 Stéphane Ubéda . latences.

. Stéphane Ubéda ... PCMCIA. PCI.Host Controller Interface Interface entre le Hardware Bluetooth et le soft Inutile si la couche L2CAP est implanté en hard Couches hautes BaseBand LMP HCI Driver Bus Physique HCI Driver Bus Physique USB.

Piconet Les équipements sont en connexions ad hoc  Ils forment un piconet Election d’un « master »… les autres sont des « slaves » Jusqu’à 8 équipements peuvent participer à un piconet  Il est définit par son code CDMA Le « master » par défaut est l’équipement qui initie le piconet Stéphane Ubéda .

Piconet Le « master » alloue les liaisons SCO (synchrones) et gère les files d’attentes sur les liens ACL (asynchrones)  Communication alternative  Master -> Slave Au minimum un paquet avec juste un header  Slave -> Master Chaque esclave reçoit l’autorisation de parler du maître dans un ordre spécifique Stéphane Ubéda .

28 secondes les messages de « paging » sur un code CDMA sur 32 niveaux de porteuses (sur les 79) [seulement 16 sur 23 en France & Espagne]  Une connexion est établie par un Un INQUIRY message (si les adresses ne son pas connues) • Réponse : Slave identity + clock Puis un PAGE message Stéphane Ubéda .Établir un piconet Un équipement non connecté à un piconet est en mode « standby »  Il écoute tout les 1.

Piconet et scatternet Un équipements peut participer à plusieurs piconet  Chaque piconet utilise un code CDMA propre Un ensemble de piconet « géographiquement proche » forme un scatternet S S M S M S M Stéphane Ubéda .

Sécurité Authentification : clé 128 bits max Possibilité de gérer des droits d’accès  Par utilisateurs  Par équipements Logiciel de cryptage intégré dans chaque module de type clé publique. clé privée Stéphane Ubéda .

Sécurité (suite) Quatre niveaux de clés dans le modèle Clé publique de 48 bits. identificateur de l’équipement Pour chaque transaction  Une clé 8-128 bits d’authentification  Une clé de 8-128 bits de cryptage A partir de ces deux clés (option)  Clé par liens (protection physique) Stéphane Ubéda .

Usages models & Profiles Stratégie Bluetooth  Définir des profiles standardisés  Pour réduire les problèmes d’intéropérabilités Liés à des scénarios d’usages Profile  Description de l’interface Air  Description des « messages »  Choix d’une « tranche de protocoles » Stéphane Ubéda .

Profiles Quatre profiles généraux     GAP = Generic Access Profile SPP = Serial Port Profile SDAP = Service Discovery Appplication Profile GOEP = Generic Object Exchange Profile Présences des protocoles UDP & OBEX  Facilité d’intégration des applications existantes Stéphane Ubéda .

Profiles Generic Access Profile Service Discovery Profile TCS Binary Profile Cordless Telephony Profile Intercom Profile Serial Port Profile Dial Up Networking Profile Fax Profile Headset Profile LAN Access Profile Generic Object Exchange Profile File Transfert Profile Object Push Profile Synchronisation Profile Stéphane Ubéda .

Environnement logiciel  Systèmes d’Information Spontanés  les entités mobiles ne communiquent que lorsqu'elles se trouvent dans un même voisinage physique  Exemples d’applications existantes intégrables dans un S. :     Synchronisation des agendas Échange des cartes des visite Registration automatique Requêtes dans des « bases de données spontanées »  « SIS est un paradigme innovateur » Stéphane Ubéda .I.S.

plusieurs esclaves – Sérialisation de plusieurs picoréseaux – Jusqu’à 10 picoréseaux enchaînées Stéphane Ubéda .Réseaux BlueTooth (1) Picoréseaux (PicoNet)  Un seul maître et plusieurs esclaves  Impossibilité de changer de maître  Nombre d’appareils limité à 8  Scatter-réseaux (ScatterNet) – Plusieurs maîtres.

Réseaux BlueTooth (2) 3 TYPES DE LIAISONS Liaisons synchrones à débit élevé  Débit bidirectionnel de 432Kbit/s  Même rapidité de transfert dans les deux directions  Liaison privilégié pour la création d’un picoréseau  Une machine maître supporte jusqu’à 3 liaisons synchrones simultanées Stéphane Ubéda .

vidéo.Réseaux BlueTooth (3) Liaison asynchrone  721Kbit/s dans un sens et 57. musique Stéphane Ubéda .6Kbit/s dans l’autre sens  Direction modifiable par l’utilisateur  Solution retenue généralement pour l’accès à Internet d’un réseau BlueTooth ainsi que pour la connexion d’imprimantes  Présence de discontinuités de communication -> liaison inappropriée pour la transmission de parole.

MP3. etc.) Stéphane Ubéda .Réseaux BlueTooth (4) Canaux voix – données  Trois canaux vocaux synchrones  Débit bidirectionnels de 64Kbit/s  Solution pratique pour la transmission de la voix ou tout fichier numérique devant être reconstitué en temps réel (communication téléphonique.

Réseaux BlueTooth (5) Stéphane Ubéda .

le reste esclaves. Au plus 8 équipements « actifs » dans un piconet. mais les rôles peuvent s’inverser  Le maître contrôle le trafic     Stéphane Ubéda .... mais pas de limite pour les inactifs  L ’équipement initialisant la communication devient le maître.Etablissement d’une liaison Deux équipements à portée radio Etablissement d’une communication « ad hoc » Cette connexion créé un Piconet Election d’un Maître..

une unité bluetooth est en « standby mode» Réveille et écoute tout les 1.Etablissement d’une liaison Le maître alloue les canaux ACL et SCO et génère les files d’attente Un esclave ne peut parler sur la voix montante que si le maître lui demande Avant l ’établissement d’une liaison.28 secondes Stéphane Ubéda .

États du terminal Bluetooth Standby Non connecté Inquiry Page Connecté Transmit Connected Actif Parck Hold Sniff Économie Stéphane Ubéda .

Automate du protocole Standby Page Master response Page Scan Inquiry Scan Inquiry Slave Inquiry response Response Connected Stéphane Ubéda .

soit 10.Inquiry Message de recherche des points d’accès dans le voisinage proche  Utilisation du GIAC (General Inquiry Access Code) ou d’un DIAC (Dedicated Inquiry Access Code) spécifique à une classe de services  Message sur chacune des 2x16 fréquences qui forment le séquences FH d ’Inquiry (Train A et Train B)  Chaque train doit être répondu 256 fois.24 secondes (moins si réponse avant)  Les équipements répondent avec leurs adresses Stéphane Ubéda .

le Inquiry Scan continue (sans attendre d ’ACK) Stéphane Ubéda .Inquiry response Paquet de réponse à un message « Inquiry »  Emission après un délai aléatoire (collisions)  Contient l ’adresse de l’équipement. l ’horloge. information sur les dates d ’entrées en Inquiry Scan Après émission.

Page Le « master » utilise l ’information sur l ’horloge de l ’équipement à « pager » et détermine la date d ’émission Le « master » calcule le DAC (Device Access Code) à partir de l ’adresse de celuici Stéphane Ubéda .

Stéphane Ubéda .Page Scan/Page response Page Scan  En provenance de l ’état « standby » ou « connected »  Ecoute des paquets PAGE sur son propre DAC Page Response  Après un message « PAGE » l ’esclave répond sur le slot immédiatement suivant un paquet ID qui contient son DAC  Le « master » entre en état « Master Page Response » et envoie un paquet avec une adresse de membre du piconet sur 3 bits...

Stéphane Ubéda .Inquiry Scan Un équipement qui autorise à ce qu ’on le découvre entre périodiquement dans un phase de « Inquiry Scan » En attente sur l ’une des 16 codes permettant de réaliser un « Inquiry » Si l ’équipement entre dans ce mode depuis le mode « connected » les liens ACL sont suspendus. mais les SCO sont maintenus.

Combinaison de canaux Figure 2-3 : Exemple de liaison SCO et ACL Stéphane Ubéda .

Gestion des ACK Figure 2-5 : Exemple de la retransmission. Stéphane Ubéda .

.Spécificités SDP. Les clients peuvent chercher un services  Attributs spécifiques  Classe de services spécifiques  Navigation dans les services accessibles Recherche spontanée  Lorsqu’un nouvel équipement se présente  Lorsqu’un service devient disponible sur un équipement connu Disponibilité de services  Mise à jour en cas de déconnexion Stéphane Ubéda ..

.Spécificités SDP. Le protocole permet l’identification unique  Service et de ses attributs Le protocole permet la découverte par « saut » :  Découvrir les services disponibles sur un équipement en s’adressant à un troisième qui les connaît déjà Le protocole peut être implanté sur des équipements de faible complexité Stéphane Ubéda ..

Spécificités SDP...
Il permet
 la découverte de façon incrémentale des différents attributs d’un service  la notion de « cache » (par des machines intermédiaires) sur les informations concernant un service  l’utilisation de services nécessitant l’accès à d ’autres services...  la création de nouveaux services (pas d’autorité centralisant les services)

SDP fonctionne directement au-dessus de L2CAP

Stéphane Ubéda

SDP 1.0 ne fait pas
Accès aux services (uniquement aux infos) Négociation de paramètres de services La facturation des services Le contrôle du service par le client La notification
 sur modification de service ou attributs

Les API Les services d ’administration hauts niveaux
 Pas d’agrégation, ni d’enregistrement
Stéphane Ubéda

Interaction client-serveur
Application Application
client client

Application Application
serveur serveur

Application
serveur SDP client Réponses SDP SDP serveur

Requêtes SDP
SDP serveur

Pas d ’information explicite lorsqu’un SDP serveur disparaît.

Stéphane Ubéda

... Software ou une combinaison des deux 1 Service Attribute Service Attribute 2 Service record  Liste de tous ces attributs Service Attribute 3 ... Service Attribut N Stéphane Ubéda ...Service record Un service     fournit des informations réalise des actions contrôle des ressources Il est implanter en Hardware..

Service record Service record handler  Numéro sur 32 bits unique dans le SDP serveur  (mais pas dans l’ensemble des SDP serveurs)  Ce numéro (acquis par un client) reste valide dans le SDP serveur jusqu’à ce que ce service soit supprimer du SDP serveur  Le SDP serveur assure qu’un handler ne récupéré après suppression d ’un service ne sera jamais réutilisé pendant la même session L2CAP. Stéphane Ubéda .

Service record Handler réservé  0x00000000 représente le service du SDP serveur lui même  Les adresses 0x00000001 à 0x0000FFFF sont réservées A partir du handler ont peut demander l’accès aux attributs Stéphane Ubéda .

Service attribute (exemples) ServiceClassIDList  Liste des classes dont le service est une instance ServiceID  Identifiant une instance du service ProtocolDescriptorList  Description de la pile de protocole nécessaire ProviderName (string) IconURL (URL) ServiceName (string) ServiceDescription (string) SERVICE ATTRIBUTE : Attribute ID Attribut Value Stéphane Ubéda .

3.4 0.6.2.4 1.1.6.7 5.6.4 5.2.2.7 Type Description Nil Unsigned Integer Signed two-complement integer UUID.1. a universally unique identifier Text string Boolean A data element whose data filed is a sequence of data elements A data element whose data field is a sequence of data elements from which one data element is to be selected URL Reserved 7 8 9-31 5.Attribute Value Type 0 1 2 3 4 5 6 Valid Size 0 0.7 TYPE 5 bits Stéphane Ubéda SIZE INDEX 3 bits ATTRIBUTE ID 16 bits .7 0 5.6.3.

32 which are interpred as an unsigned interger Stéphane Ubéda .Attribute Value Size Index Additional bits Data size 0 0 1 byte (except nil) 1 0 2 bytes 2 0 4 bytes 3 0 8 bytes 4 0 16 bytes 5 6 7 The data size is contained in the additional 8 bits. which 8 are interpred as an unsigned interger The data size is contained in the additional 16 bits. 16 which are interpred as an unsigned interger The data size is contained in the additional 32 bits.

Attribute examples 0 5 0 3 2 5 1 3 16 bit data value 16 4 5 5 3 3 8 H Stéphane Ubéda a t .

Service class Chaque service est une instance d’une classe particulière Une classe spécifie  Les attributs des instances de la classe attribute ID format plage de valeur attendue Attributs universels  Présent dans toutes les classes Stéphane Ubéda .

Service class A chaque service  Identifiant unique  Forme : UUID A chaque service Exemple (non réel) :  Attribut « ServiceClassIDList » d’un service record DuplexColorPostscriptPrinterServiceClassID Liste de la hiérarchie de « classe » auxquels le service appartient (liste du plus spécifique au moins spécifique) ColorPostscriptPrinterServiceClassID A chaque « héritage » on ajoute des attributs PostscriptPrinterServiceClassID PrinterServiceClassID Stéphane Ubéda .

Recherche de services Lorsqu ’un SDP client possède un « service handler » il peut demander l’accès à n’importe lequel des attributs Pour l’obtenir. le SDP client exécute une « Service Search Transaction » On ne peut spécifier dans une telle requête que des attributs définis par des UUID  Ce qui est le cas des attributs « principaux » Universally Unique IDentifiers Stéphane Ubéda .

la « base » (le premier UUID) Stéphane Ubéda .Remote Procedure Call (RPC) » Pour Bluetooth.UUIDs Ils sont créés de façon indépendante  Pas d’enregistrement nécessaire Ils sont des valeurs sur 128 bits Le format des UUIDs est définit par l’ISO IEC 11578 (1996) « Information technology Open Systems Interconnection .

UUIDs dans bluetooth On les représente par des valeurs  16 bits * 296 + Bluetooth_Base_UUID  32 bits * 296 + Bluetooth_Base_UUID Type 5 = UUID TYPE 5 bits SIZE INDEX 3 bits ATTRIBUTE ID 16 bits Service Search Pattern : liste de UUIDs Service Pattern Match : si tous les éléments de la « Service Search Pattern » sont présents dans l ’un des attributs (sans préciser lequel). Stéphane Ubéda .

Navigation dans les services La navigation est encore basée sur les UUIDs  On utilise les UUIDs communs partagés par les services d’une classe spécifique  Ces attributs sont des : BrowseGroupList attribute  Ils contiennent des listes de UUIDs Chacun correspond à un groupe de services auquel le service est associé  Les services sont organisés de façon hiérachique Un BrowseGroupDescriptor est une classe de service permettant de naviguer dans un groupe ! Stéphane Ubéda .

Service Name: Entertainment Exemple de navigation Service Class: BrowseGroupDescriptor Attribute Name/Value: Public Browse Root BrowseGroupList PublicBrowseRoot GroupeID EntertainmentID Entertainment Service Name: Movies Service News Class: BrowseGroupDescriptor Reference Attribute Name/Value: BrowseGroupList EntertainmentID Games Movies GroupeID MoviesID Dictionary Service Name: Movies ID Attribute Name/Value: BrowseGroupList MoviesID New York Times London Times Stéphane Ubéda Enciplopedia Duke Nuken Alien Service Class: BrowseGroupList .

Protocole SDP Utilisable sur une couche transport très fluctuante  Problème radio  SDP client implantant des TimeOut très court Modèle transactionnel à un échange  Une requête = 1 PDU  Une réponse = 1 PDU Possibilité de « pipeline » de requêtes ou d’agrégation de requêtes  Réponse en ordre non garanti Stéphane Ubéda .

Protocole SDP Au dessus de la couche L2CAP  Agrégation de plusieurs SDP PDU en un seul paquet L2CAP  Maximum un seul paquet L2CAP par connexion à un SDP serveur  Le serveur SDP répond des paquets sans ACK ! Header PDU ID 1 byte Transaction ID 2 bytes Parameter 2 Parameters Length 2 bytes Parameter N parameter 1 Stéphane Ubéda .

PDU ID Value 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08-0xFF Stéphane Ubéda Parameter description Reserved SDP_ErrorResponse SDP_ServiceSearchRequest SDP_ServiceSearchReponse SDP_ServiceAttributRequest SDP_ServiceAttributResponse SDP_ServiceSearchAttributeRequest SDP_ServiceSearchAttributeReponse Reserved .

Réponse partielle
Si une réponse nécessite plus d’un PDU Le SDP serveur génère une réponse partielle à laquelle il ajoute un
 « continuation state parameter »  Il s ’agit d ’un champ de longueur variable dont le contenu n ’est pas standardisé  Si le SDP client désire la suite de la réponse, il expédie une nouvelle requête (avec un nouveau PDU ID) incluant ce « continuation state parameter »

La coupure du message est laissée libre ...

Stéphane Ubéda

SDP_ErrotResponse PDU
Value 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x007-0xFFFF Parameter description Reserved Invalid//Unsupported SDP version Invalid service record handle Invalid request syntax Invalid PDU Size Invalid continuation state Insufficient Ressource to satisfy Request Rserved

Stéphane Ubéda

SDP_ServiceSearchRequest
PDU ID : 0x02 Paramètres
 ServiceSearchPattern
Value type : Data element sequence Un maximum de 12 UUID

 MaximumServiceRecordCount (16 bits)
Le nombre maximum de services qui seront retournés en réponse (s’il y en a plus, le SDP serveur sélectionne)

 Continuation State (8 bits)
Indique le nombre d ’octets (0 à 16) du « continuation state » (s’il y en a un)

Stéphane Ubéda

SDP_ServiceSearchResponse PDU ID : 0x03 Paramètres  TotalServiceRecordCount (16 bits) Nombre de services qui « match » la requête  CurrentServiceRecordCount (16 bits) Nombre de services dans ce PDU  ServiceRecordHandleList (32 bits * Nb) Liste des Record Handle  Continuation State Indique le nombre d ’octets (0 à 16) du « continuation state » (s’il y en a un) Stéphane Ubéda .

Les autres PDU SDP_ServiceAttributeRequest SDP_ServiceAttributeResponse SDP_ServiceSearchAttributeRequest  Combinaison de AttributeRequest et de ServiceSearchRequest SDP_ServiceSearchAttributeResponse Stéphane Ubéda .

Service Attribute obligatoires Il existe seulement deux attributs devant impérativement être présent dans tous les Service Record  ServiceRecordHandle Attribute ID 0x0000 Entier 32 bits unsigned Unique dans le SDP serveur  ServiceClassIDList Attribut ID 0x0001 Une liste contenant des UUID représentant les classes de services de la plus spécifique à la plus générale Stéphane Ubéda .

supprimé)  Facilite l’implantation de cache (cohérence) ServiceID  Attribute ID 0x0003 UUID  Identifie de façon unique l’instance du service Stéphane Ubéda . ServiceRecordState  Attribute ID 0x0002 unisgned 32 bits integer  Sa valeur change à chaque fois qu’un attribut du service est modifié (ajouté..Service Attributes..

.. ProtocolDescriptorList  Attribute ID 0x0004  Pile de protocole qui permet l’accès au service  Data element sequence : une pile Chaque élément est un ProtocolDescriptor ProtocolDescriptor est à nouveau une liste dont le premier élément est le protocole UUID et les suivants les paramètres spécifiques pour ce protocole Description des couches basses vers les hautes  Data element Alternative : plusieurs piles Stéphane Ubéda .Service Attributes.

(PPP).ProtocolDescriptorList IrDA-like printer  ((L2CAP.(PostScriptStream)) IP Network Printing  ((L2CAP. (TCP). CN=2). (IPP)) Stéphane Ubéda . PSM=RFCOMM). (RFCOMM. (IP).(RFCOMM. PSM=RFCOMM). CN=1).

Services Attributes LanguageBaseAttributeIDList  Attribut ID 0x0006 Data element sequence  Chaque « langue » possède un ID Norme ISO 693 (1988) (E/F) « Code for representation of names of languages »  Code du type d’encodage utilisé Stéphane Ubéda .

Services Attributes ServiceInfoTimeToLive  Attribut ID 0x0007 unsigned 32 bits  La durée en secondes pendant laquelle les informations contenues dans le Service Record sont valides (disponible et inchangée) ServiceAvailability  Attribute ID 0x0008 unisgned 8 bits  Le nombre de connexion supplémentaire au service disponible (en relatif par rapport au nombre de clients possibles si cette information est disponible) Stéphane Ubéda .

Stockholm. Implementation & Application ». 3G. LANs sans fil et ecommerce mobile  Méthodes pour élargir les domaines d’application de Bluetooth  Stéphane Ubéda . 06-07 février 2001 Sujets-clé qui seront abordés:  L’avenir et les opportunités de Bluetooth dans le monde des affaires  Accroître l’interopérabilité des produits Bluetooth  Bluetooth et l’Internet mobile.Évolutions futures Évolution des réseaux sans fil = préoccupation majeure des plus grands éditeurs de produits informatiques  Conférence « Bluetooth: Business Strategy.

Évolutions futures (2)
Expectations
 Le marché est énorme  Ericsson : 2002 - plus de 100 millions le nombre de téléphones, d´ordinateurs et autres équipements électroniques qui seront équipés de la puce Bluetooth  2004 : 70% des téléphones cellulaires et 40% des assistants personnels seront équipés de cette puce pour des connexions sans fil d´accès à Internet et au réseau de l´entreprise  Dataquest :2002 - 80% des appareils électroniques nomades (agendas de poches, mobiles ou portables) et plus de 200 millions d´ordinateurs -> liaison Bluetooth  Estimations contradictoires, mais tout le monde est d’accord que le potentiel de Bluetooth est très grand.

Stéphane Ubéda

Évolutions futures (3)
Certaines limitations Puissance
 Les appareils nécessitant une puissance de 100mW sont interdits par la loi sur le territoire français

Fréquence
 Bluetooth vs. l’Armée Française  La fréquence de communication standard de Bluetooth de 2,45 GHz est réservée à l’Armée pour les communications

Stéphane Ubéda

Évolutions futures (4)
 Exemples d’applications prévues :
A terme, c´est l´ensemble même des matériels dotés de circuits électroniques qui devrait être concerné : le lecteur DVD se connectera au téléviseur, la télécommande au four, l’ appareil photo et le téléphone portable au PC pour un échange de fichiers, de mails, etc.

 Le stylo Bluetooth, le « @ and sneak »  Équipements de communication : lunettes, casques, stéréos, radios

Stéphane Ubéda

et le compléter sans rendre caduc le travail du SIG Accord : pas de remise ne cause Stéphane Ubéda .Bluetooth & IEEE Wireless Personal Area Network Adopte le standard Bluetooth Objectif : le standardiser.

7 BROADBAND (802.1 BRIDGING/ARCH Bill Lidinsky 802.IEEE 802 Organization CHAIR Jim Carlo = Active = Hibernation = Disbanded = Wireless VICE CHAIR Paul Nikolich RECORDING SEC Howard Frazier EXEC SEC Buzz Rigsbee TREASURER Bob Grow Executive Officers Working Group Officers 802.8 FIBER TAG Chip Benson 802.16 WIRELESS MAN Roger Marks ECSG RPRSG Stéphane Ubéda .9 ISLAN Dhad.5 TOKEN RING Bob Love 802. Varnen 802.11 WIRELESS LAN Stuart Kerry 802.12 DEMAND PRIORITY Pat Thaler 802.6 DQDB WAN Jim Mollenauer 802.14 Res) 802.14 CABLE-TV Robert Russell 802.4 TOKEN BUS Paul Eastman 802.3 CSMA/CD Geoff Thompson 802.15 WIRELESS PAN(TM) Bob Heile 802.10 SECURITY Ken Alonge 802.2 LLC Dave Carlson 802.

15 Task Group 1 is converting the Bluetooth Specification into an IEEE Standard  Convert to IEEE Format  Adding Specification and Description Language (SDL) diagrams Stéphane Ubéda .IEEE 802.15 Task Group 1 IEEE 802.

10 SECURITY 802.14 PHY 802.5 PHY 802.9 PHY 802.IEEE Task Group 1 802.4 PHY 802.2 LOGICAL LINK CONTROL *802 OVERVIEW & ARCHITECTURE 802.16 PHY PHY LAYER Source: IEEE Std P802.15 MAC 802.15 PHY 802.5 MAC 802.7.11 PHY 802.12 PHY 802.4 MAC 802.9 MAC 802.3 PHY 802.1 MANAGEMENT 802.1 BRIDGING DATA LINK LAYER 802.14 MAC 802.16 MAC 802.3 MAC 802.1 D0.6 PHY 802.6 MAC 802.12 MAC 802.11 MAC 802.2 Stéphane Ubéda .15.

7.Focus on L2CAP and Below vCard/vCal OBEX WAE WAP UDP TCP IP PPP RFCOMM AT Commands TCS BIN SDP Audio L2CAP Host Controller Interface Baseband Source: IEEE Std P802.1 D0.15.2 LMP Physical Stéphane Ubéda .

IEEE 802.15 Task Group 2 Problem: Both IEEE 802.4 GHz ISM Band.11 WLAN environment.11 and Bluetooth operate in the same 2. Problem: Bluetooth enabled devices will likely be portable and will need to operate in an IEEE 802. Problem: There will be some mutual interference Stéphane Ubéda .

Coexistence Mechanisms  Mechanisms or techniques to facilitate coexistence of WLAN and WPAN devices. Both to be documented in an IEEE Recommended Practice Stéphane Ubéda .Task Group 2 Deliverables Coexistence Model  Model describing the mutual interference of WLAN and WPAN upon one another.

Coexistence Model The purpose of this model is:  To understand under what circumstance there is a coexistence problem and under what circumstances there is not a problem. Stéphane Ubéda .  To develop supporting evidence to justify the recommended suggested practices and possible standards modifications.

15 Task Group 3 Define a standard for a WPAN with a data rate of at least 20 Mbps Must coexist with 802.11 and Bluetooth Desirable to be backward compatible with Bluetooth Held a call for submissions over last few months Submissions were made in May and July Stéphane Ubéda .IEEE 802.

Task Group 3 The submissions covered  Physical Layer  MAC Layer  Both Total of 14 submissions Developed an Evaluation Criterion Currently performing evaluation Stéphane Ubéda .

802. Provide a plenary week tutorial to IEEE 802. If warranted.15 Radio2 Study Group Provide formal reports to the WG. Target November 2000. updating the membership on the BT 2. develop PAR and Five Criteria Stéphane Ubéda .15 to Bluetooth SIG.0 Specification Liaison from 802.

org/15/ Stéphane Ubéda . IEEE Press. The IEEE 802.ieee802.ieee802.org/11/ www.11 Handbook: A Designers Companion. www.More Information Bob O’Hara and Al Petrick. 1999.

0 Débits : 4.Bluetooth 2. 8 et 12 Mbits  Version 1.2 avec un débit 2/3 Mbits Nouveau mode de communication  Sans FH orienté multimédia (QoS & Broadcast) Changer le système distribué  Tout esclave peut devenir maître lorsque le maître initial disparaît ! Consommation d’énergie : +100% Stéphane Ubéda .

0 (suite) Ne remplace pas V1.0  Complément Ericsson : un démonstrateur existe… Chip spec espérée fin 2003 ? Release espérée en 2004 Coût du chip : +20% Stéphane Ubéda .Bluetooth 2.

services Partie III : exemple d’extention  Routage adhoc: solution IBM Stéphane Ubéda . protocoles.PLAN DU SEMINAIRE Partie I : philosophie Bluetooth  Historique. marché Partie II : éléments fondamentaux  Interface radio. spécificités. usages.

BLUETOOTH Partie III : routage Un exemple : Routing Vector Method Stéphane Ubéda .

mais n’est actif que dans un seul  Un nœud peut recevoir u paquet dans un piconet et l’envoyer dans un autre piconet (il sert de relais) Problématique du routage  Comment trouver la route entre deux nœuds  Comment acheminer les paquets Stéphane Ubéda .Bluetooth ? Rappels  Un nœud peut participer à 2+ piconets.

Réseaux Ad Hoc ? Paquets retransmit par ondes hertziennes Aucunes infrastructures fixes utilisées Les routes sont constituées de sauts multiples Stéphane Ubéda .

Stéphane Ubéda . On doit “sauter” d’un nœud à l’autre..Mobilité....

Mobilité. Mais les déplacement modifient les routes ! Stéphane Ubéda ...

cluster head) Stéphane Ubéda .Les Variantes Fully Symmetric Environment  all nodes have identical capabilities and responsibilities Asymmetric Capabilities     transmission ranges and radios may differ battery life at different nodes may differ processing capacity may be different at different nodes speed of movement Asymmetric Responsibilities  only some nodes may route packets  some nodes may act as leaders of nearby nodes (e..g.

Et le cas Bluetooth.. Rôle symétrique  Oui… mais Organisation en Maître/esclaves Capacité de transferts  La charge d’un paquet : 340 bytes C ’est peu Éviter les entêtes trop long Stéphane Ubéda ..

Protocoles de routage Unicast
Nombreuses propositions existent Certains sont spécifiques à MANET D’autres sont des adaptations de protocoles existants Aucun protocole parfait pour tous les environnement
 Nécessité d’adaptation

Stéphane Ubéda

Deux familles
Proactive protocols
 On maintient des tables de routage en permanence  Faible latence / overhead important

Reactive protocols
 On ne maintient le route que lorsque c’est nécessaire  Forte latence / faible overhead

Hybrid protocols
Stéphane Ubéda

Choix pour bluetooth
La faible taille des paquets
 Protocoles réactifs

Réduire les entêtes de messages
 Éviter d’utiliser les adresses Bluetooth (48 bits !)

Stéphane Ubéda

mais ne connaît pas de route pour atteindre D.Dynamic Source Routing (DSR) [Johnson96] Le plus connu des protocoles réactifs Lorsque le nœud S veut envoyer un paquet au nœud D. le nœud S débute un route discovery Le nœud Source S innonde le réseau avec un paquet Route Request (RREQ) Chaque nœud ajoute au paquet son identifiant et retransmet le Stéphane Ubéda .

DSR : Route Discovery Z S B A H I C G K D E F M Y J L N Représente un nœud qui a reçu le RREQ pour D depuis S Stéphane Ubéda .

Y] Représente les transmissions des RREQ Représente la liste des identifiants ajoutés au RREQ Stéphane Ubéda .Broadcast DSR : Route Discovery [S] S B A H I C G K D E F M Y Z J L N [X.

DSR : Route Discovery Z S B A H I C [S.C] G K D E [S.E] F M Y J L N • Le nœud H reçoit le RREQ de deux voisins : collision potentielle ! Stéphane Ubéda .

Stéphane Ubéda .G] K D E F [S.F] M Y J L N • Le Nœud C reçoit le RREQ de G et de H.E.C.DSR : Route Discovery Z S B A H I C G [S. mais ne le retransmet pas à nouveau car C l’a déjà retransmis une fois.

K] E F [S.E.C.J] M Y J L N • Le nœuds J et K retransmettent le RREQ au noeud D • Les noeuds J et K étant cachés l’un de l’autre. il y a une collision potentielle Stéphane Ubéda .DSR : Route Discovery Z S B A H I C G K D [S.G.F.

F.M] J M L N • Le noeud D ne retransmet pas le RREQ.DSR : Route Discovery Z S B A H I C G K D E F Y [S.E.J. car il est la cible du RREQ ! Stéphane Ubéda .

envoie un Route Reply (RREP) Le RREP est envoyé en utilisant la route obtenue en renversant la route contenue dans le RREQ Le RREP contient la route de S à D que l ’on vient de découvrir Stéphane Ubéda .DSR : Route Discovery La destination D lors de la première réception du RREQ.

D] F M Y J L N Represente les messages de contrôle RREP Stéphane Ubéda .F.DSR : Route Reply Z S B A H I C G K D E RREP [S.E.J.

E.J.F.D] S B A H I C G K D E F M Z J L N L’entête du paquet contient la route et augmente en taille avec la distance ! Stéphane Ubéda .DSR : envoie des données Y DATA [S.

Quelques éléments de Bluetooth Deux types de liens  Synchronous Connection Oriented (SCO)  Asynchronous Connectionless Link (ACL)  Plusieurs liens possibles en M/S Format du paquet  Chaque lien peut utiliser 16 types de paquets ACCESS CODE 72 HEADER 54 PAYLOAD 16-2745 Stéphane Ubéda .

000=Master) Stéphane Ubéda .Format du paquet (level 2) ACCESS CODE 72 HEADER 54 PAYLOAD 16-2745 ACCESS CODE : synchronisation. ACK ou non. identification HEADER : informations de contrôle sur le lien. CDMA corrélation. il y a les 3 bits de MAC_ADDR (identifie un esclave dans le piconet. spécifie le type du paquet (dont sa taille). Le HEADER est fortement protégé par CRC… Parmi les champs du HEADER.

Identification Chaque équipement Bluetooth possède un unique identifiant de 48 bits Cette identifiant peut être obtenu via SDP en réalisant un inquiry Identifiant trop long pour du routage dynamique ! Stéphane Ubéda .

Dans bluetooth Un Maître envoie un paquet à un esclave en utilisant sa MacAddr (3bits)  MacAddr = 000 signifie Braodcast à tous les les esclaves Un esclave s’adresse toujours au Maître  Dans le champ MacAddr. il indique son adresse pour que la Maître sache qui parle ! Nécessité de l’introduction de paquet de niveau 3 pour le fowarding ! Stéphane Ubéda .

Paquet de niveau 3 Level 3 Header MacAddr FF DA BF RVF PAYLOAD Level 3 ACCESS CODE 72 HEADER 54 PAYLOAD Level 2 16-2745 Stéphane Ubéda .

le PAYLOAD est à destination du Maître Si FF = 1.Forwarding de paquet Level 2 MacAddr FF DA BF RVF PAYLOAD Level 3 Si FF = 0. l’esclave demande au Maître d’inonder le piconet ! Stéphane Ubéda . le PAYLOAD est à destination de l’escale DA et le Maître retransmet le paquet 101 110 FF=1 110 FF=0 DA=? BF BF RVF RVF PAYLOAD W PAYLOAD W Si FF = 0 et DA=000.

Inter-piconet communication Le niveau 3 va prend cela en charge Basé sur des protocoles Ad Hoc de type DSR Protocle RVM = Routing Vector Method Les piconets sont identifiés par des LocID calculés par les nœuds Relais  Un Relais est connecté à plus d’un piconet Stéphane Ubéda .

Principe de la numérotation Piconet 1 Relais = nœud connecté à plus d ’un piconet 2 (011)=3 7 (110)=6 (100)=4 2 Piconet 2 Piconet 3 000 représente le Relais lui même Stéphane Ubéda .

Inter-piconet communication Level 2 MacAddr FF DA BF RVF PAYLOAD Level 3 BF = 1 paquet broadcast inter-piconet RVF = Routing Vector Field Concaténation de LocIDs (3 bits à la place de 48 ! Stéphane Ubéda .

Routage I Maître Relais Stéphane Ubéda .

Routage II 5 2 7 3 Maître Relais 6 2 4 3 Stéphane Ubéda .

Routage III 6 5 2 7 3 3 Maître Relais 6 2 7 4 4 3 7 Stéphane Ubéda .

7) ) Le maître M1 émet le paquet suivant : FF=0.6) (2. RFV=( (7. RFV=( (3.4) (3.4) (3. RFV=( (7.6) (2.DA=3.DA=?.Routage RVF M1 6 5 2 7 3 Maître Relais M2 3 6 2 7 R1 S émet le paquet suivant à M1: FF=1.7) ) 4 4 3 7 Le relais R1 émet le paquet suivant à M2 : FF=7.3) (3.3) (3.4) (3.7) ) Stéphane Ubéda .DA=6.6) (2.

LocID) au chemin qui se construit  On construira toujours deux routes le plus disjointes possibles Message SEARCH2. on lance un message SEARCH en broadcast  Chaque relais connaît son numéro dans le piconet et à choisit un LocID. Stéphane Ubéda . et les nœuds faisant partie de la route 1 retardent leur retransmission... il peut donc ajouter le couple (Addr.Autres mécanismes Le champs BF permet d’émettre des paquet Broadcast dans tout le scatternet Pour découvrir une route.

Point de départ Les équipements de calculs et de communications deviennent de plus en plus nombreux L’interconnexion de ces équipements va devenir un problème majeur  Échanges de données  Synchronisations Solutions existantes non satisfaisantes  IrDA Stéphane Ubéda .