:: News .:. Documents .:. Forum .:. Downloads .:. Bibliographie .:. Liens .:. Contact  :: 


Home
  :. News
  .: Documents
    .: Notions
    .: Protocoles
    .: Sécurité
    .: Architecture
    .: Prog
    .: Systèmes
  :. Forum
  .: Downloads
  :. Bibliographie
  .: Liens
  :. Contact

Chat

  Nickname:


irc: #guill.net

Forum



 
IP over Bluetooth  
 

 

I - Introduction
 1.1 - Historique
 1.2 - Présentation de bluetooth

II - Présentation de Bluetooth du point de vue technique
 2.1 - Bluetooth Radio et Baseband / Link Controler
    2.1.1 - Liaison à connexion synchrone orientée (SCO)
    2.1.2 - Liaison à connexion asynchrone (ACL)
 2.2 - L2CAP
 2.3 - SDP (Service discovery protocole)
    2.3.1 - Mode de detection
    2.3.2 - Stockage des informations
    2.3.3 - Contrôle des erreurs

III - GAP profile

IV - Bluetooth IP
 4.1 - RFCOMM
 4.2 - Utilisation de BNEP
 4.3 - Poste mobile esclave
 4.4 - Poste mobile maître
 4.5 - Adaptation de la couche IP pour périphériques mobiles
 4.6 - Adaptation de la couche IP pour la station de base

V - Références


I - Introduction

1.1 - Historique

- Février 1998 : Création du Blutooth SIG, les principaux constructeurs présents dans ce groupe sont : Ericsson, IBM, Intel, Nokia, Toshiba

- Mai 1998 : Annonce publique du Bluetooth SIG

- Juillet 1999 : Le groupe Bluetooth SIG publie la spécification 1.0A

- Décembre 1999 : Sortie de la version 1.0B

- Décembre 1999 : Le groupe Bluetooth SIG compte maintenant 9 sociétés après que 3COM, Lucent, Microsoft, Motorola les aient rejoints.

- En 2004 : Le groupe Bluetooth SIG compte maintenant plus de 2000 sociétés

1.2 - Présentation de bluetooth

Fig. 1 - Présentation du domaine d'application de Bluetooth en informatique

Bluetooth voit aussi son application pour la télévision, et également dans d'autres domaines où les câbles sont très utilisés.

La suite de ce document sera surtout axé sur l'utilisation de Bluetooth dans l'informatique.

Buts et caractéristiques de cette technologie :

   - il s'agit d'une technologie destinée à remplacer les câbles.
   - Dans sa version 1 le débit ne depasse pas 1Mb/s*
   - La portée est de l'ordre de 10m dans sa version 1*

La version 2 fonctionnera à 10Mb/s
La version 2 prévoie des distances de 100m

Pourquoi ne pas utiliser Wi-Fi étant donné les performances de Bluetooth : Bluetoth offre l'avantage de la consommation, en effet la connexion sans fil est surtout utilisée pour les appareils mobiles, et donc n'étant pas reliés directement au secteur.
Bluetooth est à plus faible consommation que wi-fi. Le second avantage de cette technologie est le prix.
La création de Bluetooth SIG() en 1998 regroupait les plus grands constructeurs Ericsson, IBM, Intel, Nokia, Toshiba.
En 2004 on peut compter 2000 sociétés qui participent au Bluetooth SIG. Au lancement, le pari de cette technologie était de réussir à produire des puces Bluetooth à moins de 5$.

II - Présentation de Bluetooth du point de vue technique

Fig. 2 - Représentation des couches Bluetooth

Dans cette partie, je vais expliquer les différentes couches qui composent Bluetooth.

2.1 - Bluetooth Radio et Baseband / Link Controler

La couche Bluetooth radio est une couche totalement matérielle.

L'avantage de Bluetooth en terme radio par rapport aux autres technologies est l'adaptation qu'il peut réaliser en effectuant des sauts de fréquence 1600 fois par seconde.
La bande passante Bluetooth s'étend de 2.402 GHz à 2.480 GHz. Cela représente 79 canaux d'une largeur de 1 MHz. En France il est possible d'utiliser 23 canaux.
Ces sauts de fréquence permettent de limiter les collisions.
Un réseau Bluetooth est composé d'un Maître et de plusieurs esclaves. Un maître peut avoir jusqu'à 7 esclaves. Pour permettre la création de grands réseaux, un maître peut être esclave d'un autre réseau.
Dans la norme Bluetooth un maître et ses esclaves est appellé piconet. Figure : 3

Fig. 3 - Représentation des piconets

Les élements Bluetooth d'un même piconet utilisent le même canal. Pour permettre la discussion de tout les élements du piconet, il y a une répartition en time slots de 625 micro secondes. Figure 4

Fig. 4 - Chronogramme d'une discussion entre élements Bluetooth

2.1.1 - Liaison à connexion synchrone orientée (SCO)

Ce type de liaison est utilisé pour la transmission de voix, puisqu'il y a besoin de "temps réel" pour ce type d'application. Bluetooth utilise dans ce cas des créneaux reservés afin de reduire au maximum le délai. Si l'on est en fonctionnement mode "Point To Point", la transmission sera Bidirectionnelle. Ce type de connexion fonctionnant en mode "Temps réel" il n'y a pas de retransmission possible.
Il est possible d'atteindre 64Kb/s afin de respecter la norme de codage, sachant qu'un maître peut gérer jusqu'à 3 liens de ce type

2.1.2 - Liaison à connexion asynchrone (ACL)

Ce type de connexion a été conçu pour échanger des données. Avec ce type de connexion il est possible d'effectuer un broadcast. Les débits de ce type de connexion sont de 723.2Kb/s en sortie avec un entrant à 57.6Kb/s. En mode symétrique on peut aller jusqu'à 433.9Kb/s.

2.2 - L2CAP

La couche L2CAP a pour rôle de transformer les données en paquets pour la couche Baseband. Son rôle est également la gestion des connexions logiques entre plusieurs élements Bluetooth.

Fig. 5 - Encapsulation à partir de L2CAP

2.3 - SDP (Service discovery protocole)

SDP est la couche chargée de la découverte d'élements Bluetooth. Son rôle est la détection et l'intégration de nouveaux élements Bluetooth dans le réseau.

2.3.1 - Mode de detection

Schéma de l'architecture

Fig. 6 - Détection des élements Bluetooth

Pour faciliter la découverte d'élements Bluetooth, les opérations de découvertes sont faites entre serveurs et clients. Un élement Bluetooth peut être à la fois client et serveur. Un client va donc contacter un serveur Bluetooth et ce serveur Bluetooth va lui envoyer la liste des élements Bluetooth qu'il connaît avec les services découverts.

2.3.2 - Stockage des informations

Fig. 7 - Stockage des informations

2.3.3 - Contrôle des erreurs

Au niveau du contrôle d'erreurs il en existe de deux types sur Bluetooth.

III - GAP profile

Tout périphérique Bluetooth est obligatoirement placé dans un profile. Les profiles ont été mis en place pour faciliter les connexions et l'interopérabilité entre les matériels.

Un profile va définir les couches qui vont être utilisées (RFCOMM, BNEP, TCS,...)

Il éxiste 13 profiles, GAP (Generic Access Profile) qui permet de détecter des produits Bluetooth, et le SDAP (Service Discovery Access Profile) qui a pour but de connaître les services disponibles dans les produits qui ont été détectés par le GAP. Citons les autres rapidement :
      - Cordless Telephony Profile
      - Intercomm Profile
      - Serial Port Profile
      - Headset Profile
      - Dial-up Networking Profile
      - Fax Profile
      - LAN Access Profile
      - Generic Object Exchange Profile (GOEP)
      - Object Push Profile
      - File Transfer Profile
      - Synchronisation Profile

Structure des services découverts par le GAP :
      - son adresse BD_ADDR
      - son nom
      - sa clef (Bluetooth PIN)
      - sa classe et son périphérique

IV - Bluetooth IP

IP peut fonctionner au dessus de deux couches : soit au dessus de PPP, cela sous-entend que nous utilisions RFCOMM en dessous, soit avec BNEP, dans ce cas là BNEP repose directement sur L2CAP.

4.1 - RFCOMM

Il s'agit d'une couche de transport. Cette couche réalise le rôle d'émulation et de multiplexage d'un port série (RS232) sur la couche L2CAP. Cette couche émule tous signaux du port RS232 (TD,RD,RTS,CTS,DSR,DTR,DCD,RI). Cette couche va assigner à chaque application un numéro logique qui correspondra à l'émulation d'un port série. L'utilisation des couches supérieures va dépendre des applications que l'on souhaite faire fonctionner au-dessus de Bluetooth.
Présentation du spectre où se situe bluetooth. La bande de fréquence réservée à Bluetooth en France est de 2.4465 à 2.4835.

Fig. 8 - Schéma des packets

4.2 - Utilisation de BNEP

BNEP simplifie les choses car il n'y a plus PPP. BNEP ne fournit pas une émulation RS-232. On arrive donc à un schéma (fig:9)

Fig. 9 - Schéma avec BNEP

4.3 - Poste mobile esclave

Dans le cas où les mobiles sont esclaves, on est donc limité à 7 mobiles par station de base.

Fig. 10 - Station de base maître

4.4 - Poste mobile maître

Dans ce cas précis, la station de base est esclave d'autant de Mobile.

Fig. 11 - Station de base esclave

4.5 - Adaptation de la couche IP pour périphériques mobiles

La couche IP a trois états possibles :
      - Discovery : Le périphérique est dans cet état au démarrage. C'est dans cette étape qu'il va chercher les stations de base les plus proches dont il a généralement aucune information. Il y a une procédure permettant d'obtenir uniquement les stations de base. Cette procédure va être répétée tant qu'une station de base n'a pas été trouvée. Une procédure de connexion est déclenchée pour passer dans l'état "Configuration".
      - Configuration : La station de base va donner un état de maître ou esclave au mobile. Le mobile va ensuite établir une connexion bi-directionnelle L2CAP sur la connexion éxistante. C'est à cette étape que la MTU des datagrammes de la couche L2CAP est négociée. La station de base va envoyer un datagramme contenant la MTU maximum qu'il peut accepter. Le mobile va ensuite confirmer la valeur en la renvoyant. A ce moment là si il n'y a pas eu d'erreur, on passe en phase "Connected".
      - Connected : Une fois arrivé dans cette étape pour la première fois il faut affecter une IP au mobile. Pour celà DHCP peut être utilisé, ou alors si Mobile IP est activé il n'y aura pas de configuration à modifier sur le mobile.

Fig. 12 - Etats de Bluetooth IP pour l'élement mobile

Il faut aussi gérer la perte de lien. Pour détecter cela, la spécification Bluetooth propose "Link supervision timer". Ce compteur est fixé à une certaine valeur et est remis à sa valeur initiale à chaque réception de paquet. Si aucun paquet n'est arrivé avant l'arrivée à 0 de ce timer, une alerte est déclanchée.

Cette valeur est fixée par défaut à 20 minutes, il faut choisir une bonne valeur pour ce timer car une trop faible valeur peut provoquer beaucoup d'erreurs, et donc une perte de temps en reconnexion. Une valeur trop grande va laisser trop de Mobiles connectés alors qu'ils ne sont plus dans la zone, ou autre.

4.6 - Adaptation de la couche IP pour la station de base

La couche pour la station de base est plus simple que pour le Mobile(Fig.13). De ce côté on retrouve uniquement deux états. Son but principal est de maintenir la connexion. Cette couche a aussi pour but de découvrir de nouveaux élements Bluetooth.
      - Configuration : Cet état a pour but de configurer et d'établir la connexion. Durant cette phase, la station de base est maître et le nouvel élement est esclave. A la fin de cet état, suivant la configuration décidée, la station de base peut passer esclave. Durant cette phase de configuration, le canal L2CAP est créé et configuré. La configuration du canal est initiée par la station de base. Comme expliqué précédemment, la station de base va donner sa MTU. La station de base passera ensuite dant l'état connecté après configuration de cette MTU.
      - Connected : On retrouve une base correspondance entre le numéro de canal au niveau de L2CAP avec l'IP associé.

Fig. 13 - Etats de Bluetooth IP pour la station de base

V - Références

[1] STMicroelectronics, Technical Note Bluetooth Tutorial[en ligne],2001.
Disponible sur : http://www.st.com/stonline/prodpres/dedicate/bluetoot/document/tutorial.pdf
(consulté le 24.04.2004).
[2] Simon Baatz, Matthias Frank, Rolf Göpffart et al, Handoff Support for Mobility with IP Bluetooth[en ligne],2000
Disponible sur : http://web.informatik.uni-bonn.de/IV/Mitarbeiter/baatz/LCN2000_rp.pdf
(consulté le 24.04.2004).
[3] ATMEL Corporation, The Bluetooth Wireless Technology White Paper, 2000.
Disponible sur : http://www.atmel.com/dyn/resources/prod_documents/DOC1991.PDF
(consulté le 24.04.2004).
[4] David Kammer, Gordon McNutt, Brian Senese, Bluetooth Application Developper's Guide. Syngress Media, Janvier 2002. 520 pages. ISBN 1928994423.
[5] Michael Miller, Discovering Bluetooth Sybex, juillet 2001. 304 Pages. ISBN 0-7821-2972-2.

Version 2004A-0.9 - www.aqwz.com

Julien CAYSSOL - 05/2004
 




Sondage

Quel est votre connexion à Internet aujourd'hui ?
 
RTC 56Kbps
ADSL simple de 128 à 2048 Kbps
ADSL + Téléphonie (+TV) de 128 à 2048 Kbps
ADSL simple jusqu'à 20Mbps
ADSL + Téléphonie (+TV) jusqu'à 20Mbps
Autres (RNIS, Satellites bi-directionnel...)
Total :
2883

Recherche


Docs
   Pflogsumm (Analyseur de log mail pour Postfix)
   Proftpd (Mise en service d'un serveur FTP avec proftpd sous Linux)
   Openldap (Mise en service d'un serveur LDAP sous Linux)
   Gestion des périphériques en c++ builder (Communication RS232 en C++ Builder)
   Les sockets windows (Windows Sockets : un cours accéléré)

guill.net©1999-2018