Bluetooth in a Nutshell - Institut für Pervasive Computing

Transcription

Bluetooth in a Nutshell - Institut für Pervasive Computing
UNIVERSITÄT LINZ
Institut für Praktische Informatik
Univ.Prof. Dr. Alois Ferscha
Bluetooth in a Nutshell
Context Framework for Mobile User Applications
Strategic Alliance Siemens AG – JKU Linz
Institut für Praktische Informatik – Universität Linz
Univ.Prof. Dr. Alois Ferscha
Kurzbeschreibung:
In diesem Dokument werden Bluetooth-Grundlagen vermittelt,
verwandte Technologien untersucht, eine Bluetooth-Marktstudie
präsentiert, zukünftige Entwicklungen abgeschätzt und anhand
praktischer Beispiele der Einsatz von Bluetooth demonstriert.
Autor(en):
Clemens Holzmann (clemens.holzmann@jku.at)
Stefan Oppl (stefan.oppl@jku.at)
Daum:
2003.12.02
Status:
Final
Inhaltsverzeichnis
1
EINLEITUNG .......................................................................................4
1.1
Geschichte von Bluetooth................................................................................................... 4
1.2
Anwendungsszenarien........................................................................................................ 6
2
BLUETOOTH GRUNDLAGEN .......................................................... 21
2.1
Systembeschreibung ......................................................................................................... 21
2.2
Protokollstack Teil 1 – Bluetooth Modul ........................................................................ 27
2.3
Protokollstack Teil 2 – Bluetooth Host ........................................................................... 52
2.4
Schichtenübergreifende Funktionalitäten ...................................................................... 63
2.5
Bluetooth-Profile .............................................................................................................. 77
2.6
Bluetooth 1.2 ..................................................................................................................... 90
2.7
Performance ...................................................................................................................... 94
2.8
Bewertung ......................................................................................................................... 99
3
VERWANDTE TECHNOLOGIEN .................................................... 103
3.1
IrDA ................................................................................................................................. 103
3.2
WLAN (802.11x) ............................................................................................................. 103
3.3
DECT ............................................................................................................................... 105
3.4
HiperLAN2 ..................................................................................................................... 105
3.5
ZigBee .............................................................................................................................. 106
-2-
3.6
Bluetooth 2.0 ................................................................................................................... 108
3.7
Ultra Wideband .............................................................................................................. 109
3.8
WiMedia .......................................................................................................................... 110
3.9
Zusammenfassung .......................................................................................................... 111
4
BLUETOOTH DEVELOPMENT ...................................................... 113
4.1
Open Source-Protokollstacks ........................................................................................ 113
4.2
Bluetooth auf Betriebssystemen für mobile Geräte ..................................................... 119
4.3
Bluetooth für Java .......................................................................................................... 121
4.4
„Ping-Pong“ mit Java unter Symbian OS 7.0 .............................................................. 128
5
BLUETOOTH MARKT ..................................................................... 137
5.1
Bluetooth kommt langsam, aber stark ......................................................................... 137
5.2
Die kritische Masse ist erreicht ..................................................................................... 139
5.3
Bluetooth im Endgerätemarkt ....................................................................................... 140
6
BLUETOOTH – QUO VADIS? ........................................................ 144
7
LITERATURVERZEICHNIS ............................................................. 146
7.1
Bücher und Publikationen ............................................................................................. 146
7.2
Internet ............................................................................................................................ 149
8
ABBILDUNGSVERZEICHNIS ......................................................... 153
-3-
1 Einleitung
1.1
Geschichte von Bluetooth
Die Geschichte von Bluetooth begann 1994, als die Firma Ericsson Mobile Communications mit
einer Studie begann, welche die Möglichkeit untersuchen sollte, mittels eines kostengünstigen und
energiesparenden Übertragungssystems Daten zwischen Mobiltelefonen und deren Zubehör
auszutauschen. Ziel war es, durch Einbau eines Funkteils in ein Mobiltelefon und ein Notebook ohne
lästige Kabel Daten austauschen zu können. Mit der Zeit erkannten die Entwickler, dass diese
Funktechnologie auch als Schnittstelle zur Peripherie dienen kann bzw. die Vernetzung von
verschiedenen Geräten außerhalb einer fest integrierten Netzwerkinfrastruktur ermöglicht.
1998 schlossen sich schließlich die Firmen IBM, Intel, Ericsson, Nokia und Toshiba als „Special
Interest Group“ (SIG) [3] zusammen und entwickelten unter dem Namen Bluetooth eine Technologie für
die drahtlose Funkübertragung von Sprache und Daten. Kurz darauf stießen auch noch die Firmen
Microsoft, Agere Systems, 3COM und Motorola dazu, und bildeten zusammen die Gruppe der s.g. „Core
Promoter“. Sie veröffentlichten 1999 die Version 1.0 der Bluetooth-Spezifikation. Neben der PromoterGruppe gibt es auch noch Associate-Firmen, die einen jährlichen Beitrag zahlen um dafür an neuen
Bluetooth-Spezifikationen aktiv teilnehmen zu können, sowie Adopter-Firmen, deren Mitgliedschaft
kostenlos ist und die diese Technologie verwenden wollen. Siemens AG [4] gehört neben rund 140
weiteren Firmen zur Gruppe der Associate-Members. Die Zahl der Adoper beläuft sich mittlerweile auf
rund 2800 Mitglieder.
Abbildung 1: Bluetooth-Logo [1]
Ziel der SIG war es, eine preiswerte und energiesparende Funkverbindung zu schaffen, die Kabel
auf kurze Distanz ersetzt und weltweit ein großes Angebot an untereinander kompatiblen Geräten
entstehen lässt. [Merk02] Ein weiteres Designziel war die geringe physische Größe, die sich mittlerweile
auf Münzgröße verringert hat. Als Beispiel kann an dieser Stelle das SieMos S50037-Bluetooth Modul
-4-
[5] von Siemens [4] angeführt werden (siehe Abbildung 3), das die komplette Bluetooth v1.1Funktionalität sowie eine UART und USB-Schnittstelle bietet.
Abbildung 2: SieMos Bluetooth Modul [5]
Bei Bluetooth handelt es sich um einen offenen Industriestandard, der kostenlos und ohne
Anmeldung via Internet bezogen werden kann, wodurch die SIG eine weite Verbreitung der Technologie
erreicht. Die Bluetooth-Spezifikation [2], die seit 22. Februar 2001 in der Version 1.1 vorliegt, besteht im
Wesentlichen aus folgenden zwei Hauptdokumenten:
Core Specification: Spezifikation des Bluetooth Protokollstacks (rund 1200 Seiten) +
Addendum, zusätzlich gibt es ergänzende Korrekturdokumente. [BCOR01]
Profiles Specification: Spezifikation der Bluetooth-Profile (rund 500 Seiten) [BPRO01]
Da Version 1.1 ausschließlich die Profile umfasst, die im zweiten Hauptdokument genannt und
spezifiziert sind, gibt es eine Reihe weiterer Dokumente, die neu hinzugekommene Profile – AVCTP,
AVDTP, BNEP, A2DP, AVRCP, HFP, PAN, HID, SAP etc. – spezifizieren. [Kral03]
Seit 5. November 2003 ist die Core Specification in Version 1.2 [BCOR03] verfügbar.
IEEE hat mit dem Projekt 802.15 WPAN Task Group 1 (IEEE 802.15.1) aus den BluetoothSpezifikationen v1.1 einen Wireless Personal Area Standard abgeleitet und Bluetooth somit den Status
eines IEEE-Standards zuerkannt. Geräte, die auf der Grundlage von 802.15.1-2002 (aktuelle
Spezifikation vom 14. Juni 2002) entwickelt werden, sollen voll kompatibel zu jenen sein, die auf der
aktuellen Bluetooth-Spezifikation 1.1 aufsetzen. [11] IEEE hat sich dabei aber traditionellerweise nur auf
die Bitübertragungs- und Sicherungsschicht beschränkt, wohingegen Bluetooth auch die höheren
Schichten, Anwendungsprofile, Dienstbeschreibungen etc. spezifiziert.
Der Vollständigkeit wegen sei noch angemerkt, dass der Name Bluetooth (Blauzahn) von Ericsson
in Erinnerung an den Wikingerkönig Harald Blåtand gewählt wurde, der von rund 1000 Jahren herrschte
und diesen Beinamen nicht aufgrund seiner Vorliebe für Blaubeeren sondern aufgrund seines dunklen
-5-
Erscheinungsbildes trug (Blå war auch das Wort für „dunkel“ im Mittelalter). [Schi03] Wegen des durch
ihn eingeleiteten erfolgreichen Zusammenschlusses einzelner Gebietsteile zu einem einheitlichen
Königreich steht sein Name auch heute noch für fortschrittliches Denken auf Basis eines großen
Grundgedankens; ähnlich ist es bei der nach ihm benannten Funktechnologie Bluetooth. [Merk02]
1.2
Anwendungsszenarien
Für Bluetooth gibt es im Wesentlichen drei Anwendungsszenarien:
Daten- und Sprach-Access Points: Sie stellen eine Brücke zwischen der drahtgebundenen
und der drahtlosen Welt dar.
Bildung von Ad-hoc Netzwerken: Unter Ad-hoc Netzwerken versteht man die spontane
Vernetzung von Geräten ohne feste Infrastruktur. Daten können automatisch
ausgetauscht, synchronisiert oder gezielt aktualisiert werden.
Ersetzen von Kabelverbindungen: Dies ist eines der wichtigsten Argumente für die
Bluetooth-Technologie; durch eine einheitliche Funkschnittstelle ist man unabhängig von
proprietären Anschlusskabeln und Adaptern.
Im Folgenden ist eine Vielzahl von Anwendungen angeführt, wobei man davon ausgehen kann,
dass in Zukunft weitere Einsatzmöglichkeiten hinzukommen. Einige davon sind zwar noch nicht
serienreif, sollten aber eine Abschätzung des Potenzials der Bluetooth-Technologie ermöglichen.
[Merk02]
1.2.1 Verbindung von Notebook, PDA und Mobiltelefon
Ein interessantes Anwendungsgebiet für Bluetooth ist die spontane drahtlose Vernetzung
unterschiedlicher Geräte verschiedenster Hersteller. Dies ermöglicht einen schnellen temporären
Verbindungsaufbau zwischen Geräten, um beispielsweise Dateien, Termine oder Kontakte
auszutauschen, ohne auf lästige Kabel mit proprietären Schnittstellen angewiesen zu sein. Ein mögliches
Szenario sind interaktive Konferenzräume, die es den Teilnehmern ermöglichen, während der Konferenz
Daten auszutauschen. [Lule01] [Mill01]
1.2.2 Das drei-in-einem Telefon
Ein nützliches Anwendungsmodell ist das „drei-in-einem“-Telefon. Viele Menschen benutzen
heute drei verschiedene Telefone: Ein Geschäftstelefon im Büro, ein Telefon zuhause und ein
-6-
Mobiltelefon für unterwegs. [Merk02] Sie haben im Prinzip alle die gleiche Aufgabe, nämlich analoge
Sprache zu digitalisieren und in das externe Telefonnetzwerk weiterzuleiten. [Lule01]
Bluetooth ermöglicht hier die Vereinigung in ein Telefon. Unterwegs kann über das
Mobilfunknetzwerk telefoniert werden und im Büro kann mit demselben Bluetooth-fähigen Telefon über
Sprachzugangspunkte telefoniert werden. Vorteilhaft ist dabei nicht nur die Integration in ein einziges
Gerät, sondern auch die Tatsache, dass sämtliche Telefonnummern nur in diesem einen Telefon
gespeichert sind. Das Prinzip ist in Abbildung 3 veranschaulicht.
Eine zusätzliche Funktionalität ergibt sich durch einen „Walkie-Talkie-Betrieb“, der eine direkte
Kommunikation zwischen zwei Bluetooth-Mobiltelefonen ermöglicht. [Merk02] Einschränkend wirkt
hier allein die begrenzte Reichweite, die aber in der Leistungsklasse 1 bei 100m liegt und somit auch
sinnvolle Anwendungsszenarien ermöglicht. [Lule01]
Abbildung 3: Telefonie über verschiedene Medien [Lule01]
1.2.3 Automatische Datensynchronisation
Heute ist es üblich, mehrere Geräte – meist ein Notebook, ein Mobiltelefon und einen PDA
(Personal Digital Assistant) – zu nutzen. Alle diese Geräte fungieren u.a. als Informationsträger, die
gespeicherten Daten reichen von Telefonnummern bis hin zu täglichen Terminen. Unter einer
Datensynchronisation versteht man in diesem Zusammenhang das Synchronisieren der verschiedenen
Informationen auf allen Geräten. Besonders komfortabel gestaltet sich diese Synchronisation mit
Bluetooth, da die einzelnen „Datenbanken“ automatisch synchronisiert werden können, ohne dass das mit
Aufwand verbunden ist. [Merk02] Eine solche automatische Synchronisation fällt in den Bereich des
„Hidden Computing“ oder „Invisible Computing“, worunter man im Hintergrund ablaufende, unbemerkte
Informationsverarbeitung versteht. [Matt03]
-7-
Folgendes Beispiel soll dieses Szenario verdeutlichen: Jemand teilt einem unterwegs seine
Telefonnummer mit, die man ins Mobiltelefon einträgt. Zuhause angekommen wird automatisch ein Adhoc Netzwerk mit dem Notebook und dem PDA gebildet und die Änderungen werden entsprechend
synchronisiert.
Da es aber immer mehr Bluetooth-fähige Geräte gibt, drängt sich die Frage auf, ob sich alle Geräte
im selben Überdeckungsbereich automatisch synchronisieren sollten. Hierfür bietet Bluetooth aber
entsprechende Konfigurationsmöglichkeiten, um diese unerwünschte Aktion zu verhindern. [Merk02]
Ein innovatives Szenario stellt das am Institut für Praktische Informatik der Johannes Kepler
Universität Linz entwickelte Konzept der Digitalen Aura dar, welches auf einen automatischen
Informationsabgleich zwischen Geräten abzielt. So wäre es denkbar, dass zwei aneinander vorbeigehende
Personen (Person to Person, P2P) Bluetooth-fähige Geräte eingesteckt haben, die ihre digitalen Auren im
Umkreis von rund 10 m „abstrahlen“. Überdecken sich nun deren Funkbereiche, so können automatisch
kontextbezogene Informationen ausgetauscht werden. Aber auch Person to Object (P2O) ist eine
Möglichkeit: Man kann also an einem Plakat mit einer interessanten Konzertveranstaltung vorbeigehen,
und der PDA vermerkt das Datum automatisch im Terminkalender. [12]
1.2.4 Drahtloses Headset, Audioübertragung
Das wahrscheinlich häufigste Szenario für den Einsatz von Bluetooth-Headsets stellt das mobile
Telefonieren eines Fahrzeugführers während der Fahrt dar. Dies ist zwar auch mit kabelgebundenen
Headsets möglich, welche aber die Bewegungsfreiheit des Anwenders einschränken. Zuhause oder am
Arbeitsplatz bieten drahtlose Headsets den Vorteil, dass man sich – beispielsweise bei Hausarbeiten – frei
im Raum bewegen kann. Ein weiterer Vorteil ist die Tatsache, dass dasselbe Headset für verschiedene
Geräte – unterschiedliche Mobiltelefone, Computer oder jeglicher anderer Sprachzugangspunkt – benutzt
werden kann. [Merk02]
Abbildung 4: Audio-Konfiguration mit Bluetooth [Lule01]
-8-
Auf Baustellen oder in Fabrikshallen ist auch die Verwendung eines Gehörschutzes mit
integriertem Bluetooth-Headset denkbar. [Lule01] Im Heimbereich bietet sich eine drahtlose Verbindung
zwischen HiFi-Anlage und Lautsprechern in Kombination mit einer Bluetooth-Fernbedienung an,
wodurch eine HiFi-Anlage mehrere Räume mit Musik versorgen könnte und man sich die lästigen Kabel
spart.
1.2.5 Zugang zum Internet via Bluetooth
Internetzugang kann auf mehrere Arten erfolgen. Eine Möglichkeit besteht darin, mit Hilfe eines
Bluetooth-fähigen Mobiltelefons einem Notebook, PC oder PDA den Zugang zum Internet zu
ermöglichen. Das Mobiltelefon kann dabei z.B. in der Jackentasche verstaut bleiben, wodurch sich eine
erhöhte Bewegungsfreiheit ergibt.
Eine weitere Zugangsmöglichkeit besteht in der Verwendung von Bluetooth Access-Points, die
ihrerseits beispielsweise mit dem firmeninternen LAN verbunden sind und somit PCs bzw. Notebooks
Internetzugang bieten, wodurch nicht für jeden Arbeitsplatz Kabel verlegt und entsprechende Buchsen
installiert werden müssen. [Lule01]
Einen interessanten Verwendungsbedarf für Bluetooth hat das Computer Science Department der
Universität von Kalifornien ausgemacht: Die Verknüpfung von UMTS mit Bluetooth. Man untersuchte das
Verhalten hybrider IT-Strukturen, bestehend aus Bluetooth-Scatternetzen, die über s.g. Hybrid-Units
jeweils mit einer UMTS-Basisstation verbunden sind. Die Untersuchung hat gezeigt, dass die
Konstellation Bluetooth und UMTS den funktechnischen Begebenheiten – vor allem in Räumlichkeiten –
sehr entgegenkommt. Weiters wird darauf hingewiesen, dass diese Kombination sogar kostengünstiger
sein und mit Roaming sowie einer effizienten Verwendung von Bandbreite zusammen mit den
Weitverkehrseigenschaften von UMTS gewisse Limitierungen von Bluetooth aufhebt. [Kral03]
1.2.6 PC-Peripherie
Die Verbindung von PCs untereinander sowie die Verbindung eines PCs mit Peripheriegeräten
wird heute noch hauptsächlich mit Kabeln hergestellt. Nachteilig an dieser Methode ist nicht nur die
eingeschränkte Bewegungsfreiheit, sondern auch die notwendige Menge an oftmals unterschiedlichen
Kabeln. Weiters führen sie zu einer Vergrößerung der Geräte, die Platz für eine Vielzahl von
Schnittstellen bereitstellen müssen.
-9-
Geht man davon aus, dass im PC sowie in allen Peripheriegeräten ein Bluetooth-Chip integriert ist,
kann der Benutzer häufig benutzte Geräte im PC anmelden („paaren“), sodass diese Geräte automatisch
verbunden werden sobald sie in Reichweite kommen (siehe Abbildung 5). [Lule01]
Abbildung 5: PC-Peripherie per Bluetooth [Lule01]
Problematisch ist allerdings die geringe Datenrate von Bluetooth, wodurch in der aktuellen
Bluetooth-Spezifikation einige Szenarien – beispielsweise eine Bluetooth-fähige externe Festplatte –
zumindest beim Einsatz mit einem Notebook fragwürdig sind, in Kombination mit einem PDA allerdings
wieder Sinn machen.
1.2.7 Haushaltsgeräte
In den letzten Jahren sind einige drahtgebundene, proprietäre Lösungen für die Vernetzung von
Haushaltsgeräten auf den Markt gekommen (z.B. die Siemens InstaBus Technik, die eine zusätzliche
Kabelinstallation im gesamten Wohngebäude erfordert und nur speziell ausgerüstete Siemens Geräte
miteinander verbinden kann). Durch eine Bluetooth-Integration hingegen ist eine umfassendere
Vernetzung möglich, mit den entsprechenden Anwendungen in den einzelnen Geräten entsteht ein
drahtloses Haushaltsnetzwerk welches einfach erweiterbar und veränderbar ist.
So könnte beispielsweise das Betreten des Hauses mit einem intern bekannten Bluetooth Gerät
zur Folge haben, dass das Licht in bestimmten Räumen angeschaltet wird, die Heizung auf einen
eingestellten Wert steigt und der Anrufbeantworter die neuen Nachrichten wiedergibt. Mit neueren
Technologien wie Sprachein- und -ausgabe wäre auf der nächsten Stufe eine Sprachsteuerung aller Geräte
auch aus entfernten Räumen möglich, da die im Haus installierten Bluetooth-Geräte Nachrichten
untereinander weitergeben können. [Lule01]
- 10 -
Abbildung 6: Vernetzter Haushalt [Lule01]
1.2.8 Universalfernbedienung
Mittlerweile existieren viele verschiedene Fernbedienungstypen, die meist auf Infrarot oder Funk
beruhen und i.d.R. proprietäre Algorithmen verwenden. Es gibt zwar s.g. „Universalfernbedienungen“,
die eine Vielzahl unterschiedlicher Fernbedienungen eines physikalischen Mediums (z.B. Infrarot)
emulieren können, häufig aber nur mit eingeschränktem Funktionsumfang. Ein Problem fast aller
Fernbedienungen ist aber die Einschränkung auf die bei der Planung bekannten Funktionen; eine
Erweiterung der Fernsteuerung um neue Funktionen ist selten ohne ein manuelles Software-Update
möglich.
Mit Bluetooth steht erstmals ein – im Vergleich zu bisherigen Funklösungen – relativ günstiger
Standard für die drahtlose Kommunikation zur Verfügung, der verschiedenste Geräte miteinander
kommunizieren lässt. Jedes mit Fernbedienungssoftware ausgerüstete Gerät - z.B. ein Bluetooth-fähiges
Mobiltelefon oder ein PDA – kann alle in Reichweite befindlichen Geräte fernsteuern, egal ob
Videorecorder, Rollladenantrieb oder Heizung. Kommen neue Geräte oder funktionale Erweiterungen
hinzu, so müssen diese lediglich den fernsteuernden Geräten bekannt gemacht werden. [Lule01]
- 11 -
Abbildung 7: Fernbedienung industrieller Geräte [Lule01]
1.2.9 Schlüssel für Zugang und Identifikation
Schlüssel ermöglichen den Zugang zu kontrollierten Bereichen und existieren heute in den
unterschiedlichsten Ausprägungen, vom metallischen Sicherheitsschloss über Karten mit Magnetstreifen
bzw. Chips bis hin zum drahtlosen Schlüssel für Automobile. Den meisten Schlüsselsystemen ist
gemeinsam, dass der Benutzer automatisch zum Zugangsberechtigten wird sobald er den Schlüssel
besitzt, denn eine Identifikation des Benutzers gegenüber dem Schlüssel als autorisierter Besitzer ist
meist nicht vorgesehen.
Ein Bluetooth Gerät, welches zumindest mit einer Zehner-Tastatur oder einem biometrischen
Sensor ausgestattet ist, kann als Universalschlüssel für Bluetooth Zugangskontrollsysteme dienen. Der
Schlüssel kann ausgeschaltet werden und ist erst nach erfolgreicher Authentifizierung wieder benutzbar.
Kommt der Benutzer in Reichweite einer Zugangskontrolle, so aktiviert er per Knopfdruck den
Bluetooth-Schlüssel und nach einem kurzen Moment gewährt das System den Eintritt bzw. die
Benutzung. Ein und derselbe Schlüssel kann für jedes Bluetooth- Zugangskontrollsystem qualifiziert
werden, indem ein weiterer Schlüsselcode und/oder – für erhöhte Sicherheit – ein neuer
Schlüsselwechselalgorithmus hinzugefügt wird. Dieses Szenario soll in Abbildung 8 verdeutlicht werden.
Eine Variante mit geringerer Sicherheit besteht darin, die Verifikation des Schlüssels ohne
Authentifizierung und nur aufgrund der Bluetooth-Geräteadresse vorzunehmen. [Lule01] Weitere
Ausführungen über Sicherheit finden sich in Kapitel 2.4.1 (Sicherheit und Verschlüsselung).
Eine weitere Anwendungsmöglichkeit für Bluetooth-basierte Identifikation ergibt sich bei
Parkhäusern durch ein berührungsloses Öffnen des Schrankens bei entsprechender Berechtigung.
Der Stromverbrauch stellt zwar einen Nachteil von Bluetooth-Schlüsseln dar, [Lule01] schätzt die
Lebenszeit bei einer 600mAh-Batterien aber auf immerhin 8 Wochen. Der Stromverbrauch ist allerdings
- 12 -
kein Nachteil mehr, wenn die Schlüssel-Funktionalität in das Mobiltelefon integriert wird, das ohnehin
regelmäßig geladen werden muss.
Abbildung 8: Bluetooth als Schlüsselersatz [Lule01]
1.2.10 Bluetooth-Geldbörse
Mit Hilfe von Bluetooth können Dinge wie Fahrzeugschlüssel, Mobiltelefon und Geldbörse in ein
Gerät – einem s.g. Personal Trusted Device (PTD) – zusammengefasst werden, z.B. in Form eines
erweiterten Mobiltelefons. Der Vorgang der Bezahlung soll im Folgenden kurz anhand eines Einkaufs bei
einem Einzelhändler beschrieben werden:
Nachdem der Kunde die gewünschten Waren ausgewählt hat, kommt er zur Kasse, wodurch die
Bezahlung via Bluetooth initiiert wird. Der Kunde aktiviert daraufhin sein PTD und das Kassensystem
übermittelt per Bluetooth den zu zahlenden Betrag, wo dieser als elektronische Rechnung auf dem
Display angezeigt wird. Diese Rechnung unterschreibt er mit seiner digitalen Signatur, die in seinem PTD
gespeichert und nur nach Eingabe einer PIN zugänglich ist. Die digital signierte Rechnung wird per
Bluetooth zurück an das Kassensystem gesendet und von dort über ein externes Netz an den Kontoführer
des Kunden, z.B. seine Bank oder sein Kreditkarteninstitut, weitergeleitet. Dort wird seine Liquidität
geprüft und eine entsprechende Zahlungsgarantie zurück an das Kassensystem des Händlers gesendet.
Das Kassensystem sendet dem PTD des Kunden per Bluetooth eine elektronische Quittung und der
Kunde kann die ausgewählten Waren mitnehmen.
Dieses Szenario setzt voraus, dass beide Geräte über eine spezielle Electronic Bill and Payment
(EBPP)- Anwendung [12] miteinander kommunizieren, basierend auf den Sicherheitsfunktionen aus dem
Wireless Application Environment (WAE). Für eine genauere Ausführung wird auf [Lule01] verwiesen.
- 13 -
Die Integration von Fahrzeugschlüssel, Geldbörse und Mobiltelefon in ein Gerät bringt aber auch
einige Nachteile mit sich: Zum einen können die Einzelteile nicht mehr ohne weiteres an
vertrauenswürdige Personen verliehen werden; wollte beispielsweise ein Vater seiner Tochter das
Fahrzeug leihen, so muss diese manuell mit ihrem PTD am Fahrzeug registriert werden, eine einfache
Übergabe der elektronischen Schlüssel ist nicht möglich. Nach der Fahrt kann mangels physikalisch
getrenntem Schlüssel ein Zurücknehmen der Fahrerlaubnis nur durch manuelles Deaktivieren der
Zugangserlaubnis für die Tochter direkt am Fahrzeug geschehen. Dieses Problem ließe sich aber durch
einen separaten Bluetooth-Schlüssel für wechselnde Fahrer abschwächen. Ein weiterer Nachteil besteht
darin, dass bei Verlust des PTD alle integrierten Funktionen auf einmal verloren sind. Andererseits bietet
die elektronische Form der Aufbewahrung die Möglichkeit, in regelmäßigen Abständen die PIN des
Besitzers abzufragen und das PTD somit automatisch zu sperren, falls es nicht mehr im rechtmäßigen
Besitz ist; ein Mobiltelefon als PTD könnte auch die Möglichkeit der Fernsperrung bieten. [Lule01]
1.2.11 Infopunkt an Maschinen und Geräten
Informationen über notwendige Wartungsarbeiten und Statistiken über Verbrauch von Ressourcen
und Verschleiß bei Kraftfahrzeugen werden heute noch häufig manuell aufgenommen.
Beispielsweise könnten Sensoren in rotierenden Teilen, zu denen kein Kabel gelegt werden kann
(z.B. Autoreifen), per Bluetooth Informationen – z.B. „zu niedriger Reifendruck“ – an eine zentrale
Datensammelstelle senden und so dem Benutzer des Fahrzeugs angezeigt werden. Zusammen mit
weiteren Fahrzeug-Sensoren können alle Informationen von außen per Bluetooth abgefragt und
gegebenenfalls Maßnahmen ergriffen werden. An Tankstellen installierte Bluetooth Info-Sammler
können automatisch die Daten von tankenden Fahrzeugen aufnehmen und den Fahrer auf Möglichkeiten
der Problembehebung aufmerksam machen. Für die Aufladung der für das Bluetooth-Modul notwendigen
Batterie könnte im Autoreifen Szenario die kinetische Bewegungsenergie genützt werden. [Lule01]
Aber auch in Aufzügen oder Maschinen ist eine bequeme Ferndiagnose möglich, die es
Mitarbeitern des Wartungsdienstes erlaubt, das Störungsprotokoll der Maschine von außen zu lesen, um
dann erst zu entscheiden, ob die Elektronikeinheit wirklich geöffnet werden muss. [Kral03]
1.2.12 BlueTags für Lokalisation
Bei verlorenen Objekten ist die visuelle Suche häufig die einzige Möglichkeit für das
Wiederfinden; Bluetooth-Technologie kann hier Abhilfe schaffen.
- 14 -
Mit Bluetooth ausgerüstete Anstecker in der Größe von Schlüsselanhängern können Kinder und
Koffer bei entsprechender Bluetooth-Infrastruktur ortbar machen. Der Suchende muss die Bluetooth
Geräteadresse des gesuchten Ansteckers einem zentralen Server melden, der mit den einzelnen
Netzknoten verbunden ist und jeden Knoten nach dieser Geräteadresse abfragen kann. Der Ort kann
dadurch mit einer Bluetooth-bedingten Genauigkeit zwischen 10 und 100 m bestimmt werden, je nach
Reichweite der einzelnen Netzknoten und des Ansteckers. [Lule01] Eine genauere Lokalisation kann
durch Einbeziehung mehrerer Bluetooth-Acces Points beispielsweise via Triangulation oder Trilateration
erreicht werden. [Fers03b]
Eine Beispielimplementierung gibt es vom Edelgepäckspezialisten Samsonite [50] und RFI
Mobile Technologies AG [51] unter dem Begriff „Intelligent Baggage“: Der Schalenkoffer SamsoniteSerie 625 Hardlite“ schützt sich vor Verlorengehen durch eine „virtuelle Handfessel“, indem er via
Bluetooth Kontakt zum Besitzer hält und bei Verbindungsabbruch PDA oder Mobiltelefon Alarm
schlagen. Weiters wäre es denkbar, dass sich der Koffer bei Zoll- und Check-in-Schaltern selbst
deklariert. [Kral03]
1.2.13 Infopad im Krankenhaus
In Krankenhäusern sind bis heute praktisch alle Informationsverbindungen via Kabel realisiert.
Ärzte bekommen die Informationen über Patienten heute häufig von zentral aufgestellten Rechnern oder
sogar aus herkömmlichen Akten auf Papier-Basis. Für die Unterhaltung ist bislang der Fernseher
immerhin zum Standard geworden, ein Internet-Anschluss ist allerdings noch die Ausnahme und bislang
durch die nötige Verkabelung sehr umständlich zu handhaben.
Ein mögliches Szenario wäre nun, dass das Krankenhaus-Personal eine kompakte, mobile
Recheneinheit – beispielsweise einen PDA oder einen Tablet PC – mit sich führt, die mit Bluetooth LAN
Access Points kommuniziert, welche sowohl in den Patienten-Zimmern in direkter Nachbarschaft zum
Bett des Patienten als auch im Gebäude verteilt angebracht sind. Das Personal kann in Reichweite eines
beliebigen Access Points auf die Ressourcen des Zentralrechners zugreifen und so Patientendaten
abfragen, Röntgenaufnahmen ansehen oder Anweisungen zur Medikation auf dem jeweiligen Display
angezeigt bekommen. Bei jeder Visite wird die Anwesenheit des Pflegepersonal automatisch registriert
und der Datensatz des Patienten kann – falls notwendig – direkt vor Ort über die mobile Recheneinheit
aktualisiert werden, so dass immer aktuelle Patienteninformationen zentral vorliegen, wodurch DoppelArbeiten oder falsche Anweisungen aufgrund veralteter Information verhindert werden.
Das ohnehin zur Verfügung stehende Bluetooth-Netzwerk kann auch für Patienten zur Verfügung
stehen, die mittels mobiler Recheneinheit drahtlos auf das Intranet (beispielsweise für Video-OnDemand-Angebote oder Netzwerkspiele) oder sogar Internet zugreifen können. Bluetooth-fähige
- 15 -
Sensoren können auch für die Überwachung von Körperfunktionen (z.B. Blutdruck oder Herzfrequenz)
verwendet werden, welche die Daten permanent an Access Points in ihrer Umgebung weiterleiten und
ggf. das Krankenhauspersonal alarmieren. [Lule01]
1.2.14 Data Access Points
Heute werden Informationen meist auf Papier oder auf stationär angebrachten Monitoren und
Anzeigetafeln angeboten – mit dem Nachteil, dass der Empfänger keine Interaktionsmöglichkeit mit dem
Informationsmedium hat.
Viele bereits lokal vorhandene Gegenstände können – wenn nötig besonders robust oder sogar
wasserdicht – zum Bluetooth Access-Point erweitert werden, ohne dass es einer zusätzlichen
Benutzeroberfläche oder eines Schutzes gegen Vandalismus bedarf. Lediglich das Gerät des Benutzers
setzt die Limits für die Art der zu übertragenden Information.
Im Folgenden sind einige Anwendungsszenarien für Bluetooth-Access Points aus [Lule01]
angeführt, die alle auf dem LAN Access Point Profile (siehe Kapitel 2.5.17, LAN Profile) basieren:
Internet-/Intranet-Zugang an Hot Spots: Überall, wo Menschenmassen auftreten – in
Hotels, Messen, Bahnhöfen oder Flughäfen – macht es Sinn, via Access Points Dienste
wie Internetzgang oder ein spezielles Informationsangebot eines angebundenen Intranets
– anzubieten.
Entertainment-while-you-wait-Point: Für einen Verkehrsknotenpunkt – beispielsweise ein
Bahnhof oder Flughafen – kommen Entertainment-while-you-wait-Points in Frage, die
dem Kunden bei Wartezeiten ein besonderes Informations- und Unterhaltungsangebot in
multimedialer Form (Video, Audio, Text) bieten, ev. in Abhängigkeit der Kundenklasse .
Denkbar ist z.B. ein Musikangebot für die Headsets der Kunden oder aktuelle VideoNews für Geräte mit Display und MPEG-Fähigkeiten.
Bonusprogramme für Handel und Dienstleistung: Z.B. eine kostenlose MP3-Musikdatei
eines aktuellen Interpreten oder Bluetooth LAN Access Points in Schaufenstern zur
Versorgung mit zusätzlichen Informationen. Weiters ließe sich die Speisekarte eines
Restaurants spontan mitnehmen oder ein nach Ladenschluss im Schaufenster entdecktes
Produkt für den nächsten Tag reservieren oder einfach nur näher untersuchen.
Virtueller Museumsguide: In Museen oder Galerien lassen sich Hot-Spots in der Nähe
von Exponaten anbringen, die dem Besucher ausführliche Informationen liefern und sich
im Verbund zur virtuellen Führung eignen.
Straßenschilder
und
Werbeplakate
mit
Stadtinfos/Karten/Werbung:
Durch
die
Kompaktheit eines Bluetooth Moduls lassen sie sich auch in Straßenschilder oder
- 16 -
Werbeplakathalter integrieren. Erstere könnten beispielsweise mit Informationen über die
Gewerbe oder Veranstaltungstipps in näherer Umgebung dienen. Ein Bluetooth Modul
hinter einem Werbeplakat hält zusätzliche Informationen über das beworbene Produkt
bereit.
Hotel-Check In, Flug-Check In: Als Variante des Anwendungsszenarios „Bluetooth
Personal Trusted Device (PTD)“ (siehe 1.2.10, Bluetooth-Geldbörse) dient hier das
eigene Bluetooth PTD Gerät als elektronisches Check-In Terminal am Flughafen oder zur
Identifikation im Hotel.
Message-Server, Warteschlangenserver: Ein Message-Server könnte beispielsweise auf
einem Single-Event verwendet werden, um Nachrichten von Singles für Singles zu
verwalten. Jeder Event-Besucher erhält dabei einen anonymisierten Benutzernamen
sowie ein Kennwort und kann damit Nachrichten an andere Besucher versenden, die
diese daraufhin auf ihr Bluetooth-Gerät bekommen. Der Message Server sorgt dabei für
die Speicherung und richtige Zustellung der Nachrichten, wodurch die Besucher
voneinander abgeschirmt werden, sodass keine persönlichen Daten bekannt gegeben
werden müssen. Warteschlangen- und Parkschein-Server verteilen virtuelle, elektronische
Tickets, indem sie die Bluetooth Geräteadresse des Benutzergerätes speichern und in eine
interne Liste einordnen, die später der Auslösung von zeitabhängigen Maßnahmen dient.
Im Fall des Warteschlangenservers ziehen z.B. Kunden einer Bank ein elektronisches
Ticket und der Server ruft den jeweiligen Benutzer dann auf, wenn dieser an der Reihe
ist. Das dahinter stehende Prinzip ist ein WAP- oder OBEX-Pushvorgang, der bei dem
Event „Kunde X ist an der Reihe“ eine entsprechende Nachricht in den Posteingang des
Benutzergeräts sendet. [Lule01]
1.2.15 Drahtlose Sensornetzwerke
Sensornetzwerke sind ein aktuelles Forschungsgebiet mit z.T. noch schlecht untersuchten
Teilbereichen, und sie ermöglichen viele neue Anwendungsgebiete. Ein drahtloses Sensornetzwerk ist ein
Netz aus vielen s.g. Sensorknoten, die jeweils aus einem autonomen Minicomputer bestehen, einen oder
mehrere Sensoren zur Messung von Luftdruck, Feuchtigkeit, Helligkeit, Beschleunigung, Magnetfeld,
Chemikalien etc. „on board“ haben und drahtlos miteinander kommunizieren. Die drahtlose
Kommunikation ermöglicht ein einfaches Verteilen der Sensoren ohne störende Kabel; so können
beispielsweise Aktuatoren und Sensoren unabhängig vom Controller – etwa auf einem bewegten Objekt –
platziert werden. Drahtlose Kommunikation bringt aber auch einige Probleme mit sich, so z.B. die
gegenüber kabelgebundenen Lösungen deutliche höhere Bitfehlerrate sowie daraus resultierende
unvorhersehbar lange Verzögerungen, die zu Instabilitäten des Systems führen können.
- 17 -
Diese Sensorknoten sind sehr klein, können in der Umgebung verteilt werden, vernetzen sich
spontan (es ist also keine Infrastruktur nötig) und eignen sich beispielsweise zur Beobachtung von
Umweltphänomenen (Tiere, Umweltverschmutzungen, seismische Aktivitäten, militärische Überwachung
unzugänglicher Gebiete etc.). Beispiele für Prototypen solcher Sensorknoten sind der „Berkeley Mote“
oder das „Smart-It“ BTnode [16], der einen Mikrocontroller, diverse Sensorinterfaces sowie ein
Bluetooth-Modul auf einer relativ kleinen Platine enthält (siehe Abbildung 9).
Abbildung 9: Smart-It „BTNode“ [16]
Der typische Ablauf gestaltet sich folgendermaßen:
Installation des Sensornetzes (z.B. Abwurf einer Menge von Sensoren aus einem
Flugzeug)
Initialisierung (Kalibrierung der Sensoren, Vernetzung etc.)
Aufgabenstellung (dem Sensornetzwerk eine Aufgabe, z.B. „Melde Fahrzeuge mit einer
Geschwindigkeit > 50 km/h“, stellen)
Ergebnisse generieren (Sensoren regelmäßig lesen, interessante Ergebnisse herausfiltern,
Nachricht verschicken, Nachrichten verschiedener Sensorknoten auswerten und
zusammenfügen)
Zu den zentralen Herausforderungen bei Sensornetzen zählt neben Skalierbarkeit (tausende bis
Millionen von Knoten), Robustheit (das Netz sollte trotz Ausfall einzelner Knoten noch funktionieren)
und Selbst-Konfiguration (es ist keine manuelle Konfiguration einzelner Knoten möglich) die
Energieeffizienz. Sensorknoten müssen sparsam mit Energie umgehen, da ein Batteriewechsel nicht oder
nur schwer möglich ist. Insbesondere ist Kommunikation sehr „teuer“; die Übertragung eines Bits
benötigt ungefähr soviel Energie wie 1000 Prozessorinstruktionen. Weiters muss ein Sensornetzwerk
ohne Infrastruktur auskommen (Ad-hoc Vernetzung) und die Größe der Sensorknoten muss sich
gegenüber den derzeit realisierten Prototypen noch drastisch reduzieren.
- 18 -
Bei dem Smart-Ist-Projekt [16] wurde Bluetooth u.a. aufgrund seiner hohen Interoperabilität mit
einer Vielzahl von Geräten und der Tatsache, dass es eine Applikationsentwicklung über eine
standardisierte Schnittstelle bietet, als Kommunikationstechnologie gewählt. Auch die vergleichsweise
hohe Bandbreite sowie die umfassenden Features von Bluetooth – ACL/SCO, QoS, FEC,
Verschlüsselung, FHSS etc. – waren ausschlaggebend. Negativ anzumerken ist aber der relativ hohe
Energiebedarf, der deutlich über dem von speziell für drahtlose Sensornetze konzipierten Protokollen
liegt. Weiters hat Bluetooth in der Leistungsklasse 3 (die einzige, die aus energiespartechnischen
Gründen in Frage kommt) eine geringe Reichweite von nur rund 10 m und relativ lange
Verbindungsaufbauzeiten. Aufgrund seiner geringen Leistungsaufnahme bei größerer Reichweite dürfte
sich insbesondere IEEE 802.15.4 (siehe Kapitel 3.5, ZigBee) für drahtlose Sensornetzwerke gut eignen.
[Beut04] [Eker01] [Matt03] [Schi03] [Schm03]
1.2.16 Pervasive Computing
Pervasive bzw. Ubiquitous Computing [14] bezeichnet die Vision des allgegenwärtigen,
verschwindenden Computers; immer mehr Objekte werden „smart“ (intelligente Objekte mit
kontextsensitivem Verhalten) und sind mit dem Internet verbunden. Diese Vision wird sehr gut durch
Mark Weiser’s (1952-1999, XEROX PARC) Zitat „The most profound technologies are those that
disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from
it.” unterstrichen.
Durch immer billigere ( weite Verbreitung) und kleinere ( Mobilität) Hardware sowie die
immer kostengünstiger werdende drahtlose Kommunikation wird diese Vision nach und nach zur Realität,
[Matt03] und bringt damit auch eine Unmenge potentieller Einsatzmöglichkeiten für die BluetoothTechnologie mit sich.
Abbildung 10: The Disappearing Computer [Matt03]
Teilbereiche von Pervasive Computing, in denen Bluetooth Anwendungsmöglichkeiten findet,
sind [Matt03]:
Embedded Systems: Eingebettete informationsverarbeitende Systeme sind Computer, die
in Konsumgütern integriert sind und anwendungsspezifische Funktionen ausführen.
- 19 -
[Fers03a] Anwendungsbeispiele sind Bluetooth-Uhren mit integriertem Bluetooth-Chip
[15] zur Synchronisation von Terminen und Kontakten mit dem PC oder zur
Fernbedienung von Geräten, Barcode-Scanner mit integriertem Bluetooth-Chip etc.
Wearable Computing: Darunter versteht man nach Notebooks und PDAs eine neue
Generation portabler Rechner, die am Körper (am Handgelenk, am Gürtel, in einem
Rucksack, in Kleidungsstücke integriert etc.) getragen werden und typischerweise aus
mehreren Komponenten bestehen. Man erwartet sich davon eine Verbesserung mobiler
Arbeitsprozesse und das Erschließen neuer Anwendungen. [Gell03] Im Bereich Wearable
Computing (Wearables, Smart Clothing) finden WPANs (z.B. Bluetooth) intensive
Verwendung, um in die Kleidung integrierte oder am Körper getragene Geräte zu
verbinden, wobei aber der hohe Stromverbrauch von Bluetooth problematisch ist. Mehr
zu Wearable Computing findet sich beispielsweise unter [19].
Wireless Sensor Networks: Siehe Kapitel 1.2.15 (Drahtlose Sensornetzwerke)
1.2.17 Weitere Szenarien
Unzählige weitere Szenarien sind bereits realisiert oder zumindest vorstellbar, die aber
Ähnlichkeiten zu den bisher vorgestellten haben und deshalb nicht näher ausgeführt werden:
Mobiler Produktscanner für Kaufhaus oder Lager
Scannerstift scannt Text aus Büchern oder auch Handschrift während des Schreibens (
Nokia Digital Pen)
Personal-Agent-Gerät für das automatisierte Sammeln von Werbecoupons und
Angeboten
Ein Bestell-Assistent steht auf dem Tisch eines Restaurants und leitet Bestellwünsche
direkt an die Küche weiter
Fahrzeug-Identifikation an Schranken, Parkhäusern; Flottenmanagement
Spielzeug mit Bluetooth ( Nokia NGage)
DateMan als Talisman für Singles signalisiert andere Singles
Die Bluetooth Armbanduhr ist ein Miniatur-Organizer mit automatischer Synchronisation
(Samsung’s GPRS Wrist Watch Phone)
Ein Silencer-Server schaltet Geräte beim Betreten beruhigter Zonen (Kirchen...)
Bluetooth-Geräte automatisch auf lautlos. [Lule01]
- 20 -
2 Bluetooth Grundlagen
2.1
Systembeschreibung
Ziel dieses Kapitels ist es, die wichtigsten Eigenschaften von Bluetooth anzuführen und eine
Übersicht über Bluetooth als Gesamtsystem zu liefern.
2.1.1 Bluetooth Features
Da das Hauptaugenmerk bei der Entwicklung von Bluetooth auf dem weltweiten Einsatz lag,
einigte man sich auf das ISM (Industrial, Scientific, Medical)- Band bei 2.4 GHz, welches für Geräte aus
Industrie, Wissenschaft und Medizin benutzt wird, die darin mit begrenzter Sendeleistung gebührenfrei
und unlizensiert übertragen dürfen. Dieses Frequenzband ist – abgesehen von gewissen Einschränkungen
in Frankreich – weltweit verfügbar. [Merk02] An dieser Stelle sei noch angemerkt, dass durch
Verwendung einer Funktechnologie vergleichen
kommunizierenden Geräten bestehen muss.
mit
IrDA
keine
Sichtverbindung zwischen
Aufgrund der freien Verfügbarkeit des ISM-Bandes musste man aber mit Störungen rechnen. So
wird dieses Frequenzband u.a. auch von den WLAN-Technologien IEEE 802.11b und 802.11g [10]
verwendet, aber auch Mikrowellenherde nutzen diesen Frequenzbereich. [Fers03b] Aus diesem Grund
verwendet Bluetooth das s.g. Frequenzsprungverfahren (Frequency Hopping), wobei durch einen
pseudozufälligen Frequenzwechsel von 1600 Mal pro Sekunde – das entspricht einem Intervall von 625µs
– die Robustheit gegenüber den meist festfrequenten Störungen erhöht wird. Innerhalb der verfügbaren
Bandbreite von 83,5 MHz sind 79 Kanäle mit einer Bandbreite von 1 MHz vorgesehen (Frankreich: 23
Kanäle).
Bluetooth erreicht eine Datenübertragungsrate von 1MBit/s, wobei das Gaussian Frequency Shift
Keying (GFSK)- Verfahren zum Einsatz kommt. Die maximale Reichweite bei einer Sendeleistung von 1
mW liegt bei 10 m, bei 100 mW beträgt sie rund 100 m.
Aufgrund der Idee, Bluetooth vor allem in mobile Geräte zu integrieren, wurden verschiedene
Stromsparzustände definiert, wodurch ein geringerer Stromverbrauch und somit eine längere Betriebszeit
erreicht wird.
- 21 -
Im Gegensatz zu anderen Funkstandards eignet sich Bluetooth sowohl für Daten- als auch
Sprachübertragung. Bluetooth ist somit die ideale Technologie für den Einsatz in Geräten, die Sprachund Datenübertragung benötigen – beispielsweise in Mobiltelefonen. Dementsprechend unterscheidet
Bluetooth auch zwei Arten physikalischer Verbindungen (Links), die zwischen einem Master und einem
Slave aufgebaut werden können [Merk02]:
Synchronous Connection Oriented (SCO) Link: Hauptsächlich zur Sprachübertragung
verwendet. Sie erlauben durch den Einsatz gleich großer Datenpakete in beide
Richtungen und direkt aufeinander folgenden Zeitschlitzen Vollduplex-Verbindungen.
Maximal drei solcher Verbindungen mit jeweils 64 kBit/s in beide Richtungen sind
möglich.
Asynchronous Connection Less (ACL) Link: Hauptsächlich zur Datenübertragung
verwendet. ACLs erlauben es dem Master – jener Einheit, die den Verbindungsaufbau
mit anderen Bluetooth-Geräten (den s.g. Slaves) initiiert hat – mehrere Slaves gleichzeitig
zu erreichen. Zur Erhöhung der Datenrate kann ein Paket auch drei oder fünf Zeitschlitze
umfassen, wobei zwischen den Zeitschlitzen die Frequenz nicht gewechselt wird. Bei
dieser asymmetrischen Übertragung können maximal 723,2 kBit/s in die eine und 57,6
kBit/s in die andere Richtung erreicht werden. Symmetrisch liegt das Maximum bei 433,9
kBit/s in beide Richtungen. [Schi03]
Bluetooth bietet zudem durch Authentifikation und Verschlüsselung sowie geringer Reichweite
und dem Einsatz von Frequency Hopping Sicherheit vor dem Zugriff Dritter (siehe dazu auch Kapitel
2.4.1 (Sicherheit und Verschlüsselung), die Pakete selbst werden durch fehlererkennende und –
korrigierende Codes gesichert. [Matt03]
2.1.2 Ad-hoc Netzwerke
Eine weitere wichtige Eigenschaft von Bluetooth ist dessen Fähigkeit, spontan, selbstständig und
ohne vorhandener Infrastruktur Netzwerke zu bilden; man spricht dabei von Ad-hoc Netzwerken.
Treten mindestens zwei Bluetooth-Einheiten miteinander in Verbindung, so können sie ein Ad-hoc
Netzwerk bilden, wobei per Definition jene Einheit, welche die Kommunikation initiiert hat, die Rolle
des Masters übernimmt; die restlichen Einheiten im Netzwerk werden als Slaves bezeichnet. Der Master
hat die Aufgabe, die Frequenzsprungfolge (Hopping Sequence) der Übertragung zu koordinieren und ist
für die Synchronisation der verschiedenen Teilnehmer zuständig. Ein Master kann mit bis zu 7 aktiven
und bis zu 255 geparkten Slaves kommunizieren. Ein solches Netzwerk wird bei Bluetooth als Piconetz
bezeichnet (siehe Abbildung 11a und Abbildung 11b). In einem Piconetz gibt es genau einen Master; die
Master-Slave-Beziehung ist auf Anwendungsebene aber meist irrelevant.
- 22 -
Abbildung 11: Piconetz mit einem Master und einem Slave (a), einem Master und mehreren Slaves (b) und
ein Scatternetz bestehend aus drei Piconetzen [BCOR01]
Die Bluetooth-Spezifikation unterscheidet verschiedene Zustände, in denen sich Bluetooth-Geräte
befinden können. Im Wesentlichen werden folgende Hauptzustände unterschieden:
Unconnected: Unterzustand Standby (Einheiten werden nicht zu Teilnehmern des
Piconetzes gezählt)
Connecting: Unterzustände Inquiry (Suche nach Bluetooth-Geräten, mit denen
Verbindung hergestellt werden kann) und Page (Verbindungsaufbau zu bestimmtem
Bluetooth-Gerät)
Connected: Unterzustände Active (Slave wartet auf Übertragungen von Master), Sniff
(Einheit wird nur periodisch aktiv und kann in dabei wie im Zustand Active arbeiten),
Hold (Slave kann für eine einstellbare Zeit seine gesamte Übertragungstätigkeit
einstellen) und Park (Slave hält Synchronisation mit Master aufrecht, ist aber nicht mehr
als aktiv einzustufen)
Die Zustände Sniff und Hold dienen der Reduktion der Stromaufnahme, der Zustand Park erlaubt
es außerdem dem Master, die Anzahl der Teilnehmer in einem Piconetz zu erhöhen. Eine genauere
Beschreibung der verschiedenen Zustände bzw. Zustandsübergänge sowie der Stromspar-Funktionen von
Bluetooth findet sich in den Kapiteln 2.2.2 (Baseband) und 2.4.2 (Stromsparfunktionen).
Möchten mehrere Gerätegruppen gleichzeitig aktiv sein, so kann jede dieser Gruppen ein eigenes
Piconetz aufbauen. In einigen Fällen kann es nötig sein, dass Bluetooth-Geräte aus verschiedenen, sich
überlappenden Piconetzen miteinander kommunizieren müssen. Hierfür wurde das s.g. Scatternetz
definiert, welches eine Kommunikation zwischen Piconetzen erlaubt (siehe Abbildung 11c und
Abbildung 12).
- 23 -
Abbildung 12: Scatternetz (M=Master, S=Slave, P=Parked, SB=Standby) [Schi03]
Dabei ist es Bluetooth-Einheiten möglich, an verschiedenen Piconetzen, die mit ihren
individuellen Frequenzsprungfolgen arbeiten, gleichzeitig teilzunehmen, wobei sie in einem Piconetz
Master oder Slave und in allen anderen Slave sein können. Es ist aber nicht möglich, dass eine Einheit in
mehreren Piconetzen die Rolle des Masters einnimmt.
Scatternetze haben auch den Vorteil, dass der durchschnittliche Gesamtdurchsatz erhöht werden
kann. [Merk02]
2.1.3 Der Bluetooth-Protokollstack
Ein Kernpunkt der Bluetooth-Spezifikation besteht darin, unterschiedlichen Geräten
unterschiedlicher Hersteller die Kommunikation zu ermöglichen. Erreicht wird dies durch die
Spezifikation eines Software-Protokollstacks, der es den Applikationen ermöglicht, andere BluetoothGeräte und Services zu finden und zu benutzen. Hauptaugenmerk bei der Entwicklung lag bei einer
weitestmöglichen Wiederverwendung bestehender Protokolle.
- 24 -
Anwendungen: Browser, Agenten, eMail, Adressbuch, Telefonie
vCard/vCal
WAE
OBEX
WAP
TCP
ATCommands
TCS Bin
SDP
UDP
IP
Software
PPP
Serial Cable Emulation (RFCOMM)
Audio
Logical Link Control & Adaptation (L2CAP)
Host Controller Interface
paketorientiert
Hardware
Link Manager (LMP)
leitungsorientiert
Baseband & Link Control (BB, LC)
Bluetooth Radio
Abbildung 13: Bluetooth Protokoll Stack [Lule01]
Abbildung 13 zeigt den Bluetooth Protokollstack, der folgende Elemente enthält:
Buetooth Radio (Luftschnittstelle): Stellt alle notwendigen Funktionen für die
physikalische Realisierung des Frequency Hoppings und des TDD (Time Division
Duplex; abwechselndes Senden und Empfangen der Geräte im gleichen Frequenzband)
bereit. [Merk02] Die genutzten Frequenzen, Modulationen und Sendeleistungen sind hier
spezifiziert. [Schi03]
Baseband (Basisband): Steuert den Radioteil und bereitet die Daten für die höheren
Schichten auf. Es verwaltet die physischen Kanäle und Verbindungen und ist für
Fehlerkorrektur und Festlegung der Sprungfolge des Piconetzes verantwortlich. [Merk02]
Verbindungsaufbau und Paketformate sind in dieser Schicht spezifiziert. [Schi01]
Link Manager Protocol, LMP (Verbindungsverwaltung): Zuständig für Verbindungsaufund -abbau sowie das Setzen der verschiedenen Stromsparmodi. Zudem übernimmt diese
Schicht Sicherheitsfunktionen wie Schlüsselidentifikation, Schlüsselgenerierung und
Schlüsseltausch.
Wie in Abbildung 13 zu erkennen ist, teilt HCI (Host Controller Interface) den Protokollstack in
zwei Hälften. Es ist ein Transport- und Kommunikationsprotokoll, welches die Schnittstelle zwischen
Bluetooth Controller (Hardware) und Bluetooth Host bildet. [Merk02] Beide Teile kommunizieren über
- 25 -
die einheitliche HCI-Schnittstelle, die eine Grundmenge an Funktionen für die Steuerung des Controllers
durch den Host bereitstellt.
Der Bluetooth-Host umfasst nun folgende Protokolle:
Logical Link Control and Adaption Protocol, L2CAP (Logische Verbindungssteuerung
und Anpassung): Ist für Multiplexen der Protokolle der höheren Schichten auf eine
asynchrone Verbindung (kein SCO erlaubt) zuständig. Es segmentiert und setzt die
Datenpakete (bis zu 64 kByte) wieder zusammen.
Service Discovery Protocol, SDP (Dienstfindung): Stellt einen Dienst zur Verfügung, mit
dessen Hilfe angebotene Dienste der Gegenstelle ermittelt werden können.
Radio Frequency Emulation of the Serial COM Ports, RFCOMM: Dies ist eine
Befehlssteuerung, die das RS-232 Protokoll über einen L2CAP-Kanal emuliert und bis zu
60 simultane Verbindungen zwischen Bluetooth-Modulen erlaubt. RFCOMM liegt der
ETSI-Standard TS 101.369 (GSM 07.10) [6] zugrunde, der bei GSM Verwendung findet.
Audio: Stellt logische Kanäle für die Übertragung von Audio und Sprache bereit.
Telephony Control Specification Binary, TCS BIN: Übernimmt telefonrelevante
Signalisierungsfunktionen für einen Verbindungsaufbau für Sprache und Daten und
basiert auf dem Standard ITU-T [7] Q.931 [8] für Signalisierung von
Telefonverbindungen. TCS BIN enthält eine Reihe von Signalkommandos, von
Gruppenmanagement und Signalisierung bis hin zu Verbindungsauf- und -abbau.
AT Commands: Zur Signalisierung der Telefonsteuerung; sie basieren auf dem ETSIStandard 300.916 (GSM 07.07) [6] für Mobiltelefonie. [Merk02] Telefonanwendungen
können die gewohnten AT-Kommandos wie bei einem herkömmlichen Modem einsetzen.
[Schi03]
Wireless Application Protocol, WAP: Ermöglicht den Mobilfunknetz-unabhängigen
Zugriff auf Informationen und Dienste des Internet mittels Mobiltelefon.
Wireless Application Environment, WAE: Stellt spezielle Umgebung für mobile Geräte
bereit.
UDP/TCP/IP/PPP: Diese Protokolle bilden die Grundlagen für die InternetKommunikation. [Merk02] Statt TCP/IP über PPP kann alternativ das effizientere
Bluetooth Network Encapsulation Protocol (BNEP) benutzt werden. [Schi03]
vCard/vCal: Stellen strukturierte Objekte in Form einer persönlichen Visitenkarte
(vCard) oder eines persönlichen Kalenders (vCal) dar.
OBject EXchange Protocol, OBEX: Ursprünglich von der Infrared Data Assicoation
(IrDA) [9] entwickelt, dient dem Austausch von Objekten wie beispielsweise vCard oder
vCal und unterstützt verschiedene Transportprotokolle und Medien. OBEX setzt vorerst
auf RFCOMM auf, geplant ist aber TCP/IP als spätere Grundlage. [Kral03] [Merk02]
- 26 -
Eine genauere Beschreibung der Protokolle findet sich in Kapitel 2.2 (Protokollstack Teil 1 –
Bluetooth Modul) und 2.3 (Protokollstack Teil 1 – Bluetooth Modul)
2.1.4 Bluetooth Profile
Die Schichten im Protokollstack definieren die exakten technischen Spezifikationen der einzelnen
Komponenten eines Bluetooth Moduls, eine darauf basierende Implementierung wird die grundsätzlichen
technischen Eigenschaften erfüllen. Allerdings bleibt dadurch noch eine Reihe von Fragen zum Verhalten
von Bluetooth-Geräten untereinander offen. So spezifiziert der Bluetooth-Stack beispielsweise nicht,
wann und wie oft ein Gerät den Inquiry-Modus einnimmt, um selbst nach anderen Geräten zu suchen.
Um nun solche Interoperabilitätsprobleme zwischen Geräten unterschiedlicher Hersteller zu
minimieren, wurden zu grob umrissenen Anwendungsszenarien entsprechende Nutzungsanweisungen für
die einzelnen Schichten in den s.g. Profilen beschrieben. [Lule01] Jedes der Profile legt die benötigten
Protokolle für eine bestimmte Art von Anwendung fest [Merk02]; Profile sind gewissermaßen vertikale
Schnitte durch den Bluetooth-Protokollstack. [Matt03]
Diese Bildung von Profilen ist Teil des Interoperabilitäts-Pakets, das von der Bluetooth SIG
geschnürt wurde, um möglichst große Interoperabilität zwischen den Geräten unterschiedlicher Hersteller
weltweit sicherzustellen. Jedes Bluetooth-Gerät unterstützt eine Untermenge der mittlerweile 26 Profile.
[Lule01]
Die Struktur der Profile, ihre Abhängigkeiten untereinander sowie eine genaue Beschreibung der
einzelnen Profile findet sich in Kapitel 2.5 (Bluetooth-Profile).
2.2
Protokollstack Teil 1 – Bluetooth Modul
2.2.1 Bluetooth Radio (Luftschnittstelle)
Bluetooth Radio ist die unterste Schicht im Protokollstack und bezeichnet die Luftschnittstelle,
welche alle notwendigen Funktionen für die physikalische Realisierung des Frequency Hoppings und des
TDDs bereitstellt.
Für den Frequenzbereich von Bluetooth ist das ISM-Band von 2,400 bis 2,4835 GHz vorgesehen,
welches somit eine Bandbreite von 83.5 MHz umfasst. Die Bestimmungen für dieses Frequenzband sind
im ETSI-Dokument ETS 300.328 festgehalten, und werden von Bluetooth besser erfüllt als verlangt.
- 27 -
Bluetooth verwendet 79 Trägerfrequenzen bzw. Kanäle, welche bei 2402 + k MHz liegen (k = 0
bis 78); der erste Kanal sendet also auf der Frequenz 2402 MHz, der nächste Kanal bei 2403 MHz usw.
Um Interferenzen mit benachbarten Funksystemen zu vermeiden, ist sowohl ein unteres (2,400 bis 2,402
GHz) als auch ein oberes Schutzband (2,480 bis 2,4835 GHz) vorgesehen. Aus lizenzrechtlichen Gründen
bildet Frankreich mit 23 Trägerfrequenzen eine Ausnahme, wo nur das ISM-Band von 2,4465 bis 2,4835
GHz verwendet werden kann, wobei das obere und untere Schutzband jeweils 7,5 MHz breit sind.
Bluetooth-Geräte mit unterschiedlichen Hopping-Algorithmen (23 oder 79 Trägerfrequenzen) sind
untereinander nicht kompatibel.
Als Modulationsverfahren kommt GFSK (Gaussian Frequency Shift Keying) zum Einsatz. Dabei
wird – im Gegensatz zum reinen FSK – das binäre (Rechteck)-Signal mittels Tiefpass-Filter mit
gaußförmiger Filtercharakteristik gefiltert bevor es dem Frequenzmodulator zugeführt wird, was zu
weichen Übergängen zwischen den Bits und somit zu einer Bandbreitenreduktion gegenüber FSK führt.
Eine binäre „1“ wird durch eine positive, eine binäre „0“ durch eine negative Frequenzabweichung fd der
Trägerfrequenz fT übertragen, wobei fd zwischen 140 kHz und 175 kHz liegen muss. [Merk02]
Der wesentliche Vorteil, der sich aus der GFSK-Modulation ergibt, liegt vor allem darin, dass sie
relativ unempfindlich gegenüber Rauscheinflüsse ist, da diese die Amplitude und nicht die Frequenz der
elektromagnetischen Welle beeinflussen. [Rech02]
Die Sende- und Empfängereigenschaften sind für die erzielbaren Reichweiten der BluetoothGeräte bei ausreichender Übertragungsqualität ausschlaggebend. Die Sendeleistung ist in folgende drei
Klassen eingeteilt:
Leistungsklasse 1: Max. Ausgangsleistung von 100 mW (20 dBm), max. Reichweite von
100 m
Leistungsklasse 2: Max. Ausgangsleistung von 2,5 mW (4 dBm), max. Reichweite von 20
m
Leistungsklasse 3: Max. Ausgangsleistung von 1 mW (0 dBm) , max. Reichweite von 10
m
Die Leistung L in dBm errechnet sich mit
L 10 log10 P
1mW
, wobei P die
Ausgangsleistung in mW ist. Die Sendeleistung ist zudem regelbar, um die Stromaufnahme zu
reduzieren. Mehr dazu findet sich in Kapitel und 2.4.2 (Stromsparfunktionen).
Die Empfänger-Empfindlichkeit gibt die Leistung des hochfrequenten Signals am Eingang des
Empfängers an, die erforderlich ist, um an dessen Ausgang die Nachricht mit ausreichender Güte einer
Senke zur Verfügung stellen zu können. Bei Bluetooth wird als Gütemaß die Bit Error Rate (BER)
- 28 -
herangezogen, wobei die Spezifikation für eine BER < 0,1% eine Empfänger-Empfindlichkeit von -70
dBm (das entspricht einem Eingangssignal mit 100 pW) erfordert.
Bei Bluetooth wird ein Frequency Hopping Spread Spectrum (FHSS)-Verfahren verwendet, wobei
das Nutzsignal über sich permanent abwechselnde Trägerfrequenzen übertragen wird. [Merk02] Es sind 5
verschiedene Sprungfolgen spezifiziert, wobei die ersten vier für Inquiry und Paging verwendet werden
und aus fest vorgegebene Sequenzen aus jeweils 32 Frequenzen bestehen. Für die eigentliche
Datenübertragung wird aus der Geräteadresse des Masters eine Sprungfolge aus allen 79 Frequenzen
errechnet.
Im normalen Betrieb wechselt die Kanalfrequenz 1600 mal pro Sekunde, im Suchbetrieb (Inquiry
oder
Paging)
doppelt
so
schnell.
Damit
ist
jeder
Zeitabschnitt
im
normalen
Betrieb
1 s 1600 hops/s 625 s lang, nach Ablauf dieser Zeit wechselt die Frequenz wieder. Die
Frequenzfolge wiederholt sich im Datenübertragungsmodus alle 23.302 h von neuem. [Lule01]
Diese Frequenzsprünge wirken wie eine Art Verschlüsselung, da sie das Abhören einer solchen
Übertragung enorm erschweren. Vor allem aber erlaubt das FHSS-Verfahren den gleichzeitigen Betrieb
mehrerer Piconetze im selben räumlichen Überdeckungsbereich; obwohl es zu einzelnen Kollisionen
kommen wird (wenn mehrere Piconetze auf derselben Frequenz kommunizieren), erhöht sich der
durchschnittliche Gesamtdurchsatz. Das FHSS-Verfahren erweist sich bei schmalbandigen Störungen
auch als sehr robust, da der gestörte Frequenzbereich nur kurz benutzt wird (siehe dazu Abbildung 14).
[Merk02]
- 29 -
2480
MHz
2470
HomeRF-Paket: 50 Hops/sec.
2460
Frequenz
2450
2440
2430
2420
Bluetooth-Paket: 1600 Hops/sec.
2410
2400
0
2
4
Zeit
6
8
ms
10
Abbildung 14: Kollision zwischen Bluetooth und HomeRF [Lule01]
Als Vielfachzugriffsverfahren findet bei Bluetooth das Time Division Duplex (TDD)- Verfahren
Verwendung, was bedeutet, dass die Geräte abwechselnd senden und empfangen. Die Übertragung wird
entsprechend der Hopping-Frequenz in Zeitschlitze zu je 625 µs unterteilt. [Merk02] Abbildung 15
veranschaulicht diesen Sachverhalt, wobei zu erkennen ist, dass Master und Slave mit jedem Zeitschlitz
gemeinsam ihre Frequenz ändern.
Abbildung 15: Einteilung der Zeitschlitze [BCOR01]
- 30 -
Die Spezifikation sieht aber auch s.g. Multislot-Pakete vor, die drei oder fünf Zeitschlitze in
Anspruch nehmen. Während dieser Zeit erfolgt kein Frequenzsprung; anschließend wird auf diejenige
Frequenz gesprungen, die aus zeitlicher Sicht folgt.
Abbildung 16: Einteilung der Zeitschlitze bei Multislot-Paketen [BCOR01]
An obigen Grafiken ist auch zu erkennen, dass die effektive Nutzdatenrate deutlich unter der
Brutto-Datenrate von 1 MBit/s liegt, da zeitliche Puffer an den Frequenzübergängen notwendig sind, in
denen keine Daten übertragen werden können, und zudem noch Verwaltungsdaten anfallen. [Lule01]
Für eine bestmögliche Übertragung von Sprache und Daten definiert die Bluetooth-Spezifikation
zwei Arten physikalischer Verbindungen:
Synchronous Connection Oriented (SCO) Link
Asynchronous Connection Less (ACL) Link
Ein SCO-Link stellt eine synchrone verbindungsorientierte Verbindung dar, wobei zwischen
Master und Slave in einer Punkt-zu-Punkt-Verbindung kommuniziert wird. Durch die vom Master
exklusiv reservierten Zeitschlitze sind zeitkritische Übertragungen (meist Sprachübertragungen) möglich,
ein wiederholtes Senden von SCO-Paketen ist nicht vorgesehen. Ein Slave kann maximal drei SCO-Links
zu einem einzigen und zwei SCO-Links zu unterschiedlichen Mastern verwalten.
Ein ACL-Link ist das Gegenstück zum SCO-Link und bietet daher eine asynchrone
verbindungslose Verbindung, wobei zwischen dem Master und allen piconetzbildenden Slaves in einer
Punkt-zu-Multipunkt-Verbindung kommuniziert wird. Dafür verwendet der Master die restlichen
Zeitschlitze, die noch nicht für SCO-Links bestimmt sind. Der Master kann mittels ACL-Links beliebige,
am Piconetz beteiligte Slaves ansprechen, zwischen einem Master und einem Slave kann jedoch nur ein
- 31 -
einziger ACL-Link existieren. Verlorengegangene Pakete werden im Gegensatz zu SCO-Links
wiederholt gesendet.
Ein einziger Master kann mehrere Verbindungen halten, die aus einer ACL- und SCOKombination bestehen. [Merk02] Abbildung 17 zeigt die eine Kombination von SCO- und ACL-Links in
einem Piconetz.
SCO
ACL
SCO
ACL
ACL
SCO
ACL
SCO
Master
Slave 1
Slave 2
625 µs
Zeit
Slave 3
Abbildung 17: Datenübertragung in einem Piconetz [Lule01]
2.2.2 Baseband (Basisband)
Diese Schicht steuert die Hardware und ist für die Weitergabe der Daten an höhere
Systemkomponenten verantwortlich. Es setzt auf der Radio- Schicht auf und ist im Link Controller
implementiert. Diese Schicht ist für die Steuerung der physikalischen Funkverbindung, das Packen und
Entpacken der Datenpakete, Festlegen der Frequenzsprungfolge, Fehlerkorrektur, Datentransfer,
Verwaltung der (logischen) Verbindungen, Adressierung sowie Authentisierung, Authorisation und
Verschlüsselung (siehe dazu Kapitel 2.4.1, Sicherheit und Verschlüsselung) verantwortlich.
2.2.2.1
Paketaufbau und -arten
Die Daten eines Piconetz-Kanals werden zerteilt und in Pakete verpackt, die in drei Bereiche
unterteilt sind (siehe Abbildung 18). Die Bit-Reihenfolge richtet sich nach dem Little-Endian-Format,
was bedeutet, dass das Least Significant Bit (LSB) zuerst gesendet wird.
- 32 -
Abbildung 18: Paket-Format [Schi03]
Zugriffscode und Paketkopf haben feste Größen von 72 (bzw. 68) und 54 Bit, die Nutzlast kann in
der Größe von 0 bis 2745 Bit variieren und somit auch entfallen. [Merk02]
Zugriffscode (Access Code)
Der Zugriffscode (Access Code) ist 72 Bit groß und dient zur Synchronisation und
Gleichspannungskompensation, wird aber hauptsächlich zur Identifikation benutzt. Alle Pakete, die
innerhalb eines Piconetzes gesendet werden, haben den gleichen Access Code; die teilnehmenden
Bluetooth-Geräte überprüfen diesen und ignorieren den Rest des Paketes, falls er für das Gerät ungültig
ist.
Die Präambel besteht aus einer Sequenz von 4 alternierenden Bits und wird zur
Gleichspannungskompensation benutzt. Das Sync-Word ist ein 64 Bit-Wort und wird vom 24 Bit großen
niederwertigen Adressteil einer Bluetooth Device Address (LAP, siehe Kapitel 2.2.2.4) abgeleitet.
Der Trailer besteht wie die Präambel auch aus alternierenden Nullen und Einsen und erfüllt
denselben Nutzen. Ein Trailer wird nur dann angehängt, wenn nach dem Access Code ein Header folgt;
ansonsten ist der Access Code nur 68 Bit groß.
Es gibt verschiedene Arten von Access Codes:
Channel Access Code (CAC): Identifiziert zugehöriges Piconetz
Device Access Code (DAC): Für spezielle Signalisierungen
Inquiry Access Code (IAC): Für die Erkennung von in Reichweite liegenden weiteren
Geräten. Dieser Code splittet sich wiederum in den General Inquiry Access Code (GIAC),
der zur Suche nach allen in Reichweite befindlichen Bluetooth-Geräte benutzt wird, und
den Dedicated Inquiry Access Code (DIAC) auf, der nur für die Suche nach Geräten mit
bestimmten Merkmalen verwendet wird.
[Merk02]
- 33 -
Paketkopf (Header)
Der Header enthält wichtige Steuerinformationen für eine Verbindung und hat zusammen mit der
Fehlerkodierung (HEC) eine Größe von 18 Bit, welche aber durch die 1/3 Rate Forward Error Correction
(FEC) auf 54 Bit verdreifacht wird.
Der Header besteht aus folgenden Feldern:
AM-Adresse: Sie ist 3 Bit groß und wird zur Identifikation und Unterscheidung zwischen
den aktiven Slaves benutzt. Da die Adresse „000“ für Broadcasts verwendet wird, wird
die Anzahl der aktiven Slaves auf 2³-1=7 reduziert.
Typ: Durch dieses 4 Bit große Feld werden die 16 verschiedenen Paketarten
unterschieden.
Fluss: Wirkt als Flusssteuerungsbit bei ACL-Paketen. Der Empfänger signalisiert mit
einem Flow-Bit von „0“, dass sein Empfangspuffer voll ist; nach dem Leeren des Puffers
wird FLOW wieder auf „1“ gesetzt.
ARQN: Dient zur Empfangsbestätigung (ARQN = „1“, wenn Paket erfolgreich
empfangen wurde, „0“ sonst)
SEQN: Liefert sequenzielles Nummernschema zur Ordnung der Daten im Datenstrom
bzw. zur Erkennung verlorener Pakete.
HEC: Jeder Header beinhaltet einen 8 Bit großen CRC-Code, den s.g. Header Error
Check (HEC), womit der fehlerfreie Empfang des Headers festgestellt werden kann.
[Merk02]
Paketarten
Folgende Kontrollpakete – sie belegen jeweils nur maximal einen Zeitschlitz zu 625 µs – werden
unterschieden:
Identifikationspaket (ID-Paket): Enthält nur den Device Access Code (DAC) oder den
Inquiry Access Code (IAC). Das Paket wird in Paging-, Inquiry- und Response-Routinen
benutzt. Seine Länge beträgt 68 Bit.
Nullpaket (NULL Packet): Enthält den Access Code und einen Paketkopf, aber keine
Nutzlast. Seine Länge beträgt 126 Bit und es dient der Übermittlung von
Empfangsbestätigungen (ARQN) oder des Empfangspuffer-Status (FLOW). Nullpakete
erfordern keine Empfangsbestätigung.
Umfragepaket (POLL Packet): Entspricht dem NULL-Paket, erfordert aber eine
Empfangsbestätigung. Es wird vom Master an die Slaves geschickt, um diese
anzusprechen und ihnen die Möglichkeit zu geben, Daten zu versenden.
- 34 -
Frequency Hopping Sequence Paket (FHS Packet): Enthält alle Daten, die für einen
Verbindungsaufbau mit dem Sender benötigt werden. Es wird zur Beantwortung von
Page- oder Inquiry-Paketen, bei einem Master/Slave-Rollentausch sowie zur
Synchronisation der Frequenzsprünge (bevor Piconetz aufgebaut wurde oder ein
bestehendes in ein neues übergeht) verwendet.
Paket für Daten mittlerer Geschwindigkeiten (DM1-Packet): Wird für
Steuerinformationen verwendet, kann aber auch Nutzdaten enthalten. [Merk02] [Lule01]
In SCO-Verbindungen gibt es nur Pakete die maximal einen Zeitschlitz belegen, der dafür fest
reserviert ist ( synchrone Verbindung). [Lule01] Sie enthalten auch keinen CRC-Code; geht ein Paket
verloren oder kommt es fehlerhaft beim Empfänger an, wird es auch nicht neu übertragen, da dies für
Audioübertragung weniger wichtig ist. [Merk02] Von den vier definierten Pakettypen gibt es drei, die nur
synchrone Daten enthalten (High Quality Voice, HV) und einen, der zu einem Drittel aus synchronen
Voice-Daten und zwei Dritteln aus zeitlich flexiblen, aber fehlersensitiven asynchronen Daten besteht
(Data Voice, DV). [Merk02] Abbildung 19 zeigt die vier Pakettypen:
HV1-Paket: Ein HV1-Paket ist mit einem 1/3 FEC geschützt und überträgt 1,25 ms
Sprache bei 64 kBit/s und wird in jedem zweiten Zeitschlitz übertragen.
HV2-Paket: Ein solches Paket ist mit einem 2/3 FEC geschützt und überträgt 2,5 ms
Sprache bei 64 kBit/s und wird in jedem vierten Zeitschlitz übertragen.
HV3-Paket: HV3-Pakete sind durch keinen Code geschützt und können somit 240 Bit
Nutzdaten übertragen. Ein HV3-Paket überträgt 3,75 ms an Sprache bei 64 kBit/s in
jedem sechsten Zeitschlitz.
DV-Paket: Dieses Paket ist eine Kombination aus Daten- (80 Bit) und Sprachpaket (bis
zu 150 Bit). Der Audio-Teil wird mit einer Vorwärtsfehlerkorrektur (2/3 FEC) geschützt,
der Daten-Anteil hingegen wird solange mit jedem neuen DV-Paket mitgeschickt, bis
diese Daten vom Empfänger als fehlerfrei quittiert wurden.
- 35 -
Abbildung 19: SCO-Pakete [Schi03]
Für die Übertragung auf einem asynchronen Link wurden sieben ACL-Pakete spezifiziert, wobei
sechs davon eine CRC-Paritätsprüfung enthalten und bei nicht korrigierbaren Fehlern neu übertragen
werden können. ACL-Pakete unterscheiden sich im Wesentlichen in der Stärke der
Vorwärtsfehlerkorrektur sowie in der Anzahl der belegten Zeitabschnitte pro Paket. [Lule01] Abbildung
20 zeigt die verschiedenen Pakettypen:
DM (Data-Medium Rate)-Pakete: DM-Pakete werden durch eine 2/3 FEC geschützt und
können einen, drei oder fünf Zeitschlitze (DM1, DM3 oder DM5) belegen. Pakete über
mehrere Zeitschlitze profitieren von den eingesparten Verwaltungsdaten (Paketkopf und
Zugriffscode werden nur einmal übertragen) und dem fehlenden Overhead durch einen
Frequenzwechsel, wobei die Frequenz über die volle Paketlänge konstant bleibt.
DH (Data-High Rate)-Pakete: DH-Pakete (DH1, DH3 oder DH5) werden durch keine
Vorwärtsfehlerkorrektur geschützt, können dafür aber in der gleichen Zeit entsprechend
mehr Daten übertragen als DM-Pakete ( High Rate).
AUX1-Paket: Ähnelt dem DH1-Paket, hat aber keinen CRC-Code. [Merk02]
- 36 -
Abbildung 20: ACL-Pakete [Schi03]
2.2.2.2
Logische Kanäle
Der Bluetooth-Stack besteht aus unterschiedlichen Schichten, die miteinander kommunizieren.
Damit beispielsweise der Link Manager eines Bluetooth-Gerätes mit dem eines anderen kommunizieren
kann, bedarf es logischer Kanäle, die aber alle den einzig vorhandenen physischen Kanal als Träger
nutzen. Abbildung 21 verdeutlicht dieses Prinzip.
Folgende fünf logische Kanäle werden unterschieden:
Link Control (LC) Steuerungskanal: Dient der Verbindungssteuerung, unter anderem der
automatischen Paketwiederholung (ARQ), der Datenflusssteuerung (FLOW) und der
Nutzlast-Charakterisierung (Payload Type). Übermittelt werden diese Daten im
Paketkopf.
Link Manager (LM) Steuerungskanal: Trägt Steuerungsinformationen zwischen den
beteiligten Link Managern eines jeden Bluetooth-Gerätes und regelt den Verbindungsaufund -abbau sowie eine eventuelle Verschlüsselung. Übermittelt werden diese Daten i.d.R.
in geschützten DM-Paketen.
- 37 -
User Asynchronous (UA) / User Isochronous (UI) Nutzdatenkanal: Transportiert
asynchrone bzw. isochrone (zeitkritische) Nutzdaten, die von der höheren
Protokollschicht L2CAP gesendet und empfangen werden. Da die von L2CAP
kommenden Pakete größer sein können als der gerade benutzte Datenpaket-Typ, müssen
die Pakete auf der Empfängerseite wieder zusammengesetzt werden.
User Synchronous (US) Nutzdatenkanal: Trägt synchrone Datenpakete einer SCOVerbindung.
[Merk02]
Bluetooth Gerät 1
Bluetooth Gerät 2
L2CAP
L2CAP
Logischer Kanal (UA, UI oder US)
Link Manager
Logischer Kanal (LM)
Link Manager
Link Controller
Logischer Kanal (LC)
Link Controller
Physikalischer
Kanal
Paketbestandteile
Zugriffscode
Paketkopf
Nutzlast
Abbildung 21: Logische (virtuelle) Kanäle zwischen Bluetooth-Geräten [Lule01]
2.2.2.3
Scrambling und Fehlerkorrektur
Da Funkkanäle sehr störungsempfindlich sind, definiert die Bluetooth-Spezifikation folgende
Fehlerkorrekturmechanismen, wobei nur der Paketkopf immer geschützt wird (HEC), da er wichtige
Verbindungsinformationen mit sich führt.
1/3 Rate FEC (Forward Error Correction): Jedes gesendete Bit wird dreimal
hintereinander wiederholt.
2/3 Rate FEC: Jeweils 10 Informationsbits werden mit 5 Bit Fehlerkorrekturcode zu
einem 15 Bit Codewort erweitert, wobei sich eine Hamming-Distanz (minimaler
paarweiser Bitunterschied zwischen allen Nutzworten eines Codes) von 4 ergibt.
- 38 -
ARQ-Schema für Daten: Sicherung, die für eine wiederholte Übertragung fehlerhafter
oder nicht empfangener Pakete sorgt; die Pakete werden solange gesendet, bis der Sender
eine positive Bestätigung vom Empfänger erhält.
HEC (Header Error Control) / CRC (Cyclic Redundancy Check)- Codierung: In der
Bluetooth-Spezifikation werden sowohl eine 8 Bit CRC (im Header, HEC) als auch eine
16 Bit CRC (für Nutzdaten, nach CRC-CCITT) genutzt.
Da die spektrale Leistungsverteilung breitbandiger Datensignale von der Struktur der Daten
abhängt und daher sehr unregelmäßig sein kann, kommen s.g. Scrambler (Verwürfler) zum Einsatz.
Durch eine Modulo-2-Addition der Daten mit einem Pseudorauschcode werden eine
Gleichspannungskompensation sowie eine einfache Verschlüsselung erreicht. Beim Descrambling
(Wiederherstellung der Daten) auf der Empfängerseite werden die verwürfelten Daten erneut mit
demselben Pseudorauschcode addiert. [Merk02]
2.2.2.4
Adressierung
Jedes Bluetooth-Gerät besitzt eine weltweit eindeutige 48 Bit große Geräteadresse, die Bluetooth
Device Address (BD_ADDR), die im ROM-Speicher des Bluetooth-Moduls gespeichert ist und auch als
MAC-Adresse bezeichnet wird. Sie besteht aus einem 24 Bit großen unteren Adressteil (LAP, Lower
Address Part), der eine herstellerspezifische Identifikationsnummer enthält, einem 8 Bit großen oberen
Adressteil (UAP, Upper Address Part), der eine firmeninterne Nummer enthält sowie einem 16 Bit
großen unbedeutenden Adressteil (NAP, Non-significant Address Part). [Merk02] Der LAP wird vom
Bluetooth-Gerätehersteller vergeben, UAP und NAP bilden die Hersteller-Identifikation, die von der
IEEE vergeben wird. [Hand03]
Nicht-signifikanter
Adressteil
Oberer
Adressteil
Unterer Adressteil
16 Bit
8 Bit
24 Bit
Abbildung 22: Bluetooth Geräteadresse (BD_ADDR) [Lule01]
Jeder aktive Slave in einem Piconetz besitzt eine 3 Bit große Active Member Address
(AM_ADDR), die er vom Master bei der Aktivierung zugeordnet bekommt; der Master selbst hat keine
AM_ADDR. Ein Slave akzeptiert nur Pakete, die an seine AM_ADDR oder die vollständig aus Nullen
bestehende Broadcast-AM_ADDR gesendet werden.
- 39 -
Ein Slave im Park-Zustand kann anhand seiner 8 Bit großen Parked Member Address
(PM_ADDR) identifiziert werden. Wechselt er wieder in einen aktiven Zustand, so verliert er die
PM_ADDR und es wird ihm eine AM_ADDR zugewiesen.
Zusätzlich zur PM_ADDR wird einem Slave beim Übergang in den Park-Zustand die Access
Request Address (AR_ADDR) zugewiesen, die aber für einen Slave nicht eindeutig sein muss. Sie wird
benutzt, damit dieser den Zeitschlitz erkennen kann, in dem es ihm erlaubt ist, Access-RequestNachrichten zu senden. [Merk02] [BCOR01]
2.2.2.5
Funkkanal-Management
Der Master, das ist jene Einheit welche die Verbindung zu einem oder mehreren Slaves initiiert,
bestimmt die Frequenzsprungfolge und den Channel Access Code (CAC). Er hat immer die volle
Kontrolle über das Piconetz, da Slaves Daten ausschließlich mit dem Master austauschen können. Da die
Bluetooth-Einheiten identisch sind, kann jedes Gerät selbst ein Piconetz initialisieren; dieses Gerät ist
dann selbst Master und kann die Slaves kontrollieren und die Timer synchronisieren.
Abbildung 23: Slaves in Piconetz synchronisieren sich mit Uhr des Masters [Schi03]
Um die Sprungfolge des Senders bestimmen zu können, hat jede Bluetooth-Einheit eine interne
Systemzeit, die aber keinen Bezug zur Tageszeit hat. Baut ein Master eine Verbindung auf, so addieren
diese einen Offset zu ihrer eigenen Systemzeit, um synchron mit dem Master zu laufen (siehe Abbildung
23).
- 40 -
Für Bluetooth-Geräte sind verschiedene Zustände definiert (siehe dazu auch Kapitel 2.1.2, Ad-hoc
Netzwerke), wobei die Hauptzustände Standby und Connected sind. Die wichtigsten Zustände sind in
Abbildung 24 zu sehen.
Standby: Geräte, die an keinem Piconetz teilnehmen aber eingeschaltet sind, befinden
sich im Bereitschaftszustand Standby. In diesem Zustand wird nur die interne Uhr weiter
betrieben, weshalb die Stromaufnahme sehr gering ist. [Merk02] Es gibt zwei Gründe,
den Parkzustand zu verlassen und in den Erkundigungszustand Inquiry überzugehen:
Entweder das Gerät möchte selbst ein Piconetz gründen oder es möchte erkunden, ob
bereits eine Kommunikation im Gange ist [Schi03] (dafür wird alle 1,28 sec nach ev.
Netznachrichten gesucht).
Inquiry: In diesem Zustand wird nach Bluetooth-Geräten gesucht, mit denen eine
Verbindung hergestellt werden kann. Der Übergang vom Zustand Standby nach Inquiry
dauert ungefähr 2 sec.
Page: Hierbei wird versucht, eine Verbindung zu einem bereits erfassten Bluetooth-Gerät
herzustellen.
Connected: In diesen Zustand geht die Bluetooth-Einheit nach dem erfolgreichen Masterund Slave-seitigen Verbindungsaufbau über. [Merk02] Die Slaves sind an die
Sprungfolge des Piconetzes angepasst [Schi03], überprüfen permanent den Funkkanal auf
Pakete mit passender Zieladresse und antworten gegebenenfalls. Unterzustände sind die
Stromspar-Modi Park, Hold
Stromsparfunktionen). [Lule01]
und
Sniff
(siehe
dazu
auch
Kapitel
2.4.2,
Park: Das Bluetooth-Gerät verliert seine AM_ADDR und bekommt statt dessen eine
PM_ADDR. Es ist damit immer noch Mitglied des Piconetzes, macht aber Platz für ein
anderes aktives Gerät; es kann maximal 7 aktive, aber bis zu 255 passive Mitglieder
geben. Geparkte Geräte sind immer noch bzgl. der Sprungfolge synchronisiert. [Schi03]
Ein geparkter Slave ist passiv, da er nur dem periodischen Funkfeuer des Masters zur
Synchronisation lauscht, mangels eigener AM_ADDR aber nicht sofort an einer
Kommunikation teilnehmen kann. Ein Slave kann sowohl durch den Master durch
Zusenden einer gültigen AM_ADDR an seine PM_ADDR aktiviert werden, aber auch
durch Senden einer Access Request-Nachricht zum Master eine Wiederaufnahme in den
aktiven Zustand beantragen. [Lule01] [Merk02]
Hold: In diesem Zustand behält das Bluetooth-Gerät die AM_ADDR, beendet jedoch
ACL-Übertragungen; SCO-Pakete werden weiterhin übertragen. [Schi03] Nach Ablauf
der Hold-Zeit synchronisiert sich der Slave automatisch wieder mit dem Netzverkehr und
wartet auf an ihn adressierte Pakete des Masters. [Lule01] Der Hold-Modus kann vom
Master erzwungen werden, der Slave kann den Master aber auch auffordern, ihn in diesen
Zustand zu schalten.
- 41 -
Sniff: Im „Schnüffel“-Zustand hört das Gerät in frei wählbaren, periodischen Abständen
in das Piconetz; auch hier läuft der Timer zur Synchronisation weiter.
[Merk02]
Abbildung 24: Bluetooth Basisband Zustände [Schi03]
2.2.2.6
Verbindungsaufbau
Wird ein Bluetooth-Gerät eingeschaltet, befindet es sich im Bereitschaftszustand ( Standby) und
hat damit noch keine Verbindung zu anderen Geräten. In einem ersten Schritt versucht es nun, andere
Geräte in Kommunikationsreichweite zu finden, indem es für eine bestimmte Zeit auf verschiedenen
Frequenzen den Datenverkehr abhört ( Inquiry Scan). Umgekehrt versendet jedes Gerät periodisch
Inquiry-Pakete ( Inquiry), wodurch ein suchendes Gerät eine Liste von Geräteadressen der erreichbaren
Geräte erhält. Für die eigentliche Kontaktaufnahme hört das Gerät wiederum auf verschiedenen
Frequenzen den Datenverkehr ab ( Page Scan) und baut eine Verbindung auf, sobald es von einem
anderen Gerät ein Page-Paket mit der eigenen Geräteadresse erhält ( Page); das Gerät, das die
Nachricht erhält, wird Slave, das andere Gerät wird Master. Ab diesem Zeitpunkt geht die Initiative für
weitere Verbindungsaufnahmen nur noch vom Master aus. Ist ein Gerät nun mit dem Piconetz verbunden,
befindet es sich im aktiven Zustand Connected oder in einem der drei Stromsparzustände Sniff, Hold oder
Park. [Roth02]
Welches Gerät Inquiry und welches den komplementären Inquiry Scan durchführt, muss für jede
Anwendung im jeweils verwendeten Profil geklärt werden. Häufig ist es sinnvoll, dass eher stationär
- 42 -
aufgestellte Geräte periodisch Inquiry Scan und Page Scan durchführen, während die mobilen
Gegenstücke entweder manuell oder auch periodisch Inquiry- bzw. Page- Rufe aussenden, weil damit die
Belastung der Funkschnittstelle mit unnötig vielen Suchsignalen reduziert wird; nachteilig ist aber der
dadurch höhere Strombedarf der mobilen Geräte. [Lule01] Im Folgenden werden die Zustände Page,
Page Scan, Inquiry und Inquiry Scan noch genauer betrachtet.
Standby
Master hat
Geräte Adresse
des Slave
Page
Master hat
Slave
Response
erhalten
Master sucht
nach Slaves
Slave horcht
auf seine
Geräte
Adresse
Page Scan
Fehler
Master
Response
Slave
antwortet
auf Page
Fehler
Slave horcht
auf GIAC
Inquiry Scan
Slave hat
Inquiry
detektiert
Slave
Response
Inquiry
Slave hat
auf Inquiry
geantwortet
Inquiry
Response
Verbindung
hergestellt
Connected
Master sucht
nach Slaves
Abbildung 25: Link Controller Zustandsdiagramm [Lule01]
Das ausgesendete Inquiry Signal besteht aus einem generischen ID-Paket, das den allgemeinen
Zugriffscode (GIAC) enthält, der für alle Bluetooth-Geräte gleich ist; das ID-Paket enthält keinerlei
Information über den Sender, der damit anonym bleibt. [Lule01] Dieser Zugriffscode wird nacheinander
über 32 standardisierte Trägerfrequenzen (Wake-Up Carriers) ausgesendet. Anschließend horcht das
suchende Gerät auf Antworten von in Reichweite befindlichen Geräten.
Im Zustand Inquiry Scan wartet der Empfänger in einem bestimmten Zeitfenster auf ID-Pakete,
die den passenden Zugriffscode enthalten. Wird ein Inquiry entdeckt, so kann – nach Verstreichen einer
zufälligen Zeit, um zu vermeiden, dass viele Geräte gleichzeitig antworten – in den Unterzustand Inquiry
- 43 -
Response gewechselt und nach Erhalt eines weiteren ID-Pakets ein Frequency Hopping Sequence (FHS)Paket mit den eigenen Parametern zurückgeschickt werden. [Merk02] [Schi03].
Der Page-Ruf eines Gerätes dient der Initiierung einer Verbindung (dieses Gerät ist damit
automatisch Master im Piconetz) und er besteht aus einem ID-Paket mit dem Geräte-Zugriffscode (DAC)
der anderen Bluetooth-Einheit, welcher aus deren Geräteadresse berechnet wurde. [Lule01]
Ein Gerät im Zustand Page Scan ( Slave) verhält sich ähnlich wie im Inquiry Scan, mit dem
Unterschied, dass es auf ID-Pakete mit dem eigenen DAC wartet. Nach Erhalten eines solchen Pakets
wird sofort in den Unterzustand Slave Response gewechselt und mit einem Acknowledge geantwortet.
Der Master geht in den Zustand Master Response über und antwortet mit einem FHS-Paket mit allen für
die Verbindung benötigten Daten (Bluetooth Clock, AM_ADDR etc.). Der Slave quittiert dieses Paket
und kann nun die korrekte Sprungfolge ermitteln, weshalb beide Geräte in den Zustand Connected
übergehen. Um sicher zu stellen, dass der Wechsel der Frequenzsprungfolge korrekt vollzogen wurde,
schickt der Master ein POLL-Paket zum Slave, der darauf typischerweise mit einem NULL-Paket
antwortet.
Für das erstmalige Finden mittels Inquiry und Inquiry Scan müssen in der Praxis mehrere
Sekunden (bis zu 10 sec) kalkuliert werden, weshalb der Geschwindigkeit bei der Kommunikation von
aneinander vorbeibewegenden Geräten enge Grenzen gesetzt sind. Stehen die Parameter des gesuchten
Gerätes schon fest, so kann durch Page und Page Scan eine deutlich kürzere Verbindungszeit von unter
einer Sekunde erreicht werden.
Bei der Beschreibung der Verbindungsaufbau-Prozeduren wird klar, dass ein Gerät seine
eindeutige Bluetooth Geräteadresse auch ohne anschließende Verbindung im FHS-Paket preisgeben
muss, diese Eigenschaft lässt sich für die Verfolgung von Spuren einzelner Geräte nutzen (siehe dazu
Kapitel 2.4.1, Sicherheit und Verschlüsselung). [Merk02]
2.2.3 Link Manager (Verbindungsverwaltung)
2.2.3.1
Das Link Manager Protokoll
Die beiden Schichten Radio und Baseband sind für die physische Übertragung der einzelnen Bits
sowie das gesicherte Senden und Empfangen von Datenpaketen verantwortlich. Der Link Manager hat
die Aufgabe, die Übertragung zwischen Bluetooth-Einheiten zu kontrollieren. Das dafür entwickelte Link
Manager Protocol (LMP) – meist am Link Controller als Firmware implementiert – stellt eine Vielzahl
von Befehlen zur Kommunikation zwischen den Link Managern verschiedener Einheiten zur Verfügung;
- 44 -
die dabei ausgetauschten Nachrichten werden Protocol Data Units (PDUs) genannt. Abhängig von
Kontrolldaten, die das LMP von anderen Schichten bekommt, kommuniziert es entweder mit dem Link
Manager einer anderen Bluetooth-Einheit oder es sendet Steuerdaten zu den darunter liegenden Schichten
Baseband oder Radio (siehe Abbildung 26).
Abbildung 26: Link-Manager-Kommunikation [BCOR01]
PDUs werden in den Nutzdaten von ACL-Paketen übertragen, wobei ausschließlich DM1- und
DV-Pakete verwendet werden. Sie haben eine sehr hohe Priorität und können ggf. sogar die für eine
SCO-Verbindung reservierte Bandbreite benutzen. Schickt eine Einheit eine PDU an eine andere, so wird
diese durch eine Antwortnachricht entweder akzeptiert, oder – z.B. im Falle einer nicht unterstützten
Funktion – abgelehnt. Es besteht aber die Möglichkeit, dass der Link Manager des Masters eine PDU an
den eines Slaves schickt, der diese nicht ablehnen darf. [Merk02]
2.2.3.2
LMP-Prozeduren für den Verbindungsaufbau
Die wichtigste Funktion des Link Managers ist die des Verbindungsaufbaus, wofür aber auch
Funktionen anderer Protokollschichten benötigt werden; so muss beispielsweise die Page-Prozedur, für
die das Basisband verantwortlich ist, bereits durchgeführt worden sein. Anschließend können folgende
LMP-Transaktionen zwischen den beiden Einheiten beginnen, um die Verbindung aufzubauen:
1.
Clock Information Request: Der Clock-Offset ist die Differenz zwischen dem Masterund dem Slave-Clock, der bei jedem Empfang eines FHS-Pakets berechnet wird. Der
Master kann den Clock-Offset mit dieser LMP-Prozedur noch vor Aufbau der
Verbindung aus LMP-Sicht abfragen, um das Paging einer Einheit zu beschleunigen,
wenn diese das Piconetz verlassen hat.
- 45 -
2.
LMP-Version Request: Vor einem Verbindungsaufbau wird die LMP-Version durch den
Link-Manager abgefragt; dies ist notwendig, da zwischen den verschiedenen Versionen
Unterschiede bestehen.
3.
Features Request: Da eine Einheit nicht alle Eigenschaften der darunter liegenden
Schichten Radio und Baseband unterstützen muss, kann man mit diesem Request
herausfinden, mit welchen Einschränkungen – beispielsweise die fehlende Unterstützung
von Multislot-Paketen oder den Stromsparzuständen – man zu rechnen hat.
4.
Name Request: Jeder Bluetooth-Einheit wird ein benutzerfreundlicher Name (bis zu 248
Byte groß) zugewiesen, der mit diesem Request abgefragt werden kann.
5.
Einleitung des Verbindungsaufbaus: Nachdem der Sender die angeforderten
Informationen erhalten und ausgewertet hat (Schritt 1 bis 4), kann er den eigentlichen
Verbindungsaufbau einleiten. Hierfür sendet er eine entsprechende Request-PDU an den
Empfänger, der diesen akzeptiert oder ablehnt.
6.
Prozeduren zur Aushandlung der Link-Parameter: Nach erfolgreicher Bestätigung der
Aufforderung für einen Verbindungsaufbau können die Link Manager der beteiligten
Einheiten die Link Parameter (Pairing, Authentifikation, Verschlüsselung und Quality of
Service) aushandeln. Mehr dazu in Kapitel 2.4.1 (Sicherheit und Verschlüsselung) und
7.
2.4.3 (Quality of Service).
Abschluss des Verbindungsaufbaus: Nachdem die Link Manager beider Einheiten die
Verbindungsparameter fertig ausgetauscht haben, kann der Verbindungsaufbau
abgeschlossen werden. Die entsprechende PDU wird von beiden Einheiten unabhängig
8.
generiert, sobald sie mit dem Zustand der Verbindung „zufrieden“ sind.
SCO-Verbindungsaufbau: Beim bisherigen Verbindungsaufbau handelt es sich um eine
ACL-Verbindung, die immer zuerst aufgebaut wird. Anschließend können eine oder
mehrere SCO-Verbindungen aufgebaut werden, wobei das Einleiten eines SCOVerbindungsaufbaus nicht nur dem Master vorbehalten ist. Hierfür sendet die
entsprechende Einheit eine PDU mit den Parametern (SCO-Pakettyp, Audio-Codecs etc.)
der gewünschten Verbindung.
[Merk02]
- 46 -
Abbildung 27: LMP Verbindungsaufbau [BCOR01]
2.2.3.3
Weitere LMP-Prozeduren
Zusätzlich zu den Prozeduren für den Verbindungsaufbau spezifiziert das LMP noch weitere:
Einstellen der Multislot-Pakete: Durch die Verwendung von Multislot-Paketen kann eine
höhere Datenrate erzielt werden. Die Aushandlung der Paketgröße kann zu jedem
Zeitpunkt nach abgeschlossenem Verbindungsaufbau erfolgen.
Stromsparzustände und Leistungsregelung: Um Einheiten in einen der Stromsparzustände
Sniff, Hold oder Park zu versetzen oder dem Empfänger die Möglichkeit zu geben, eine
Erhöhung oder Verringerung der Sendeleistung zu beantragen, stellt LMP spezielle PDUs
zur Verfügung.
Master/Slave-Rollentausch: Ein Master/Slave-Rollentausch wird beispielsweise dann
benötigt, wenn eine Einheit in den Überdeckungsbereich eines Access Points kommt, mit
dem bereits Slaves verbunden sind. Sie versucht sich beim Access Point anzumelden,
initiiert den Verbindungsaufbau und ist damit Master. Der Access Point (im Moment
Slave) kann aber mit einer entsprechenden PDU einen Rollentausch mit dem Master
beantragen, bevor dieser den Verbindungsaufbau bestätigt. Die neue Einheit ist damit
wieder Slave.
Allgemeiner Verbindungsabbau: Will eine Einheit die Verbindung abbauen, so wird das
von ihrem Link Manager durch eine entsprechende PDU veranlasst. Durch eine strenge
- 47 -
Abfolge des Verbindungsabbaus wird garantiert, dass nicht durch einen fehlerhaften
Verbindungsabbau zwei Einheiten dieselbe AM_ADDR erhalten können.
[Merk02]
2.2.4 Host Controller Interface
Das Host Controller Interface ist die Schnittstelle zwischen Host-Software und der eigentlichen
Bluetooth-Hardware und wird für Bluetooth-Systeme benötigt, bei denen die höheren Protokollschichten
(über HCI) auf dem Host-Prozessor und die niedrigen Schichten auf einem physikalisch getrennten
Bluetooth- Gerät laufen. Die Gründe für eine Verwendung des HCI sind vielfältig:
Die i.A. performanteren Hosts können das Bluetooth-Modul entlasten, wodurch dieses
weniger komplex und dadurch kostengünstiger ist und zudem einen geringeren
Energieverbrauch aufweist
Ein deaktiviertes Host-Gerät kann durch das Bluetooth-Modul bei eingehender
Verbindung „aufgeweckt“ („wake on Bluetooth“) werden.
Das HCI ermöglicht ein einfaches Testen von Bluetooth-Modulen
Es wäre nicht möglich, den gesamten Stack auf den Host zu verlagern, da dieser die geforderten
Antwortzeiten aufgrund anderer Tasks nicht garantieren könnte. [Bray02]
Die Bluetooth-Module haben genau diese Schnittstelle, an der sie mit HCI-Kommandos – in der
Bluetooth-Version 1.1 sind 95 definiert – angesprochen werden können. Die physikalische Kopplung der
Host- und Bluetooth-Hardware wird über Universal Serial Bus (USB)-, PC-Card (PCMCIA)- und
Universal Asynchronous Receiver Transmitter (UART)-Schnittstelle unterstützt (siehe Abbildung 28).
Damit können nicht nur Bluetooth Controller Chips von beliebigen Herstellern in ein Gerät mit der
gleichen Host Software integriert, sondern beide Teile auch räumlich voneinander getrennt werden. So
kann z.B. eine Bluetooth PC Card für Notebooks lediglich den Bluetooth Controller enthalten, die Host
Software hingegen läuft direkt auf dem Betriebssystem des Notebooks und beide kommunizieren über
den PC Card Bus.
- 48 -
Abbildung 28: Protokoll-Implementierungen Modul und Host [BCOR01]
Die HCI-Treiber und -Firmware kommunizieren über die darunter liegende Host ControllerTransportschicht, die einen transparenten Datenaustausch ermöglicht (siehe Abbildung 29). Die
Kommunikation vom Host zum Controller erfolgt über HCI-Command-Pakete, die Steuerbefehle
enthalten und vom Host genutzt werden, um dem Bluetooth-Controller Befehle zu senden. Diese Pakete
bestehen aus einem 2 Byte großen Opcode (der eigentliche Befehl) und einer variablen Anzahl von
Parametern. Nach erfolgreicher Ausführung des Befehls antwortet der Controller meist mit einem
Command Complete Event.
In die andere Richtung erfolgt eine Signalisierung von Ereignissen mit Hilfe von HCI-EventPaketen, die vom Host Controller an den Host geschickt werden sofern ein Ereignis auftritt. Diese Pakete
bestehen aus einem Event Code, der das Ereignis identifiziert, und einer bestimmten Anzahl von
Parametern.
- 49 -
Zum Austauschen von Daten für die Applikationen bzw. die höheren Schichten werden HCI-DataPakete verwendet, die sich für SCO- und ACL-Verbindungen kaum unterscheiden. [Merk02]
Abbildung 29: Bluetooth-Übertragung zwischen zwei Host-Systemen [BCOR01]
2.2.5 Audio
Der Bluetooth-Stack in Abbildung 13 zeigt zwar eine Audioschicht, die Bluetooth-Spezifikation
definiert aber nur die möglichen Audioformate für die Umsetzung und Komprimierung der Audiodaten.
Diese werden über SCO-Verbindungen mit einer Datenrate von 64 kBit/s übertragen, von denen
gleichzeitig bis zu drei vollduplex zu einem Slave aufgebaut werden können. Wird mehr als nur ein Slave
bedient, sind maximal zwei Audioverbindungen möglich. Vor dem Aufbau einer SCO-Verbindung ist
allerdings eine ACL-Verbindung nötig, da der Link Manager Steuerinformationen für diese Verbindung
überträgt.
Für die Übertragung von Audio und Sprache werden zwei Verfahren benutzt:
Lineare Continuous Variable Slope Delta (CVSD) Modulation: Hierbei findet die
Quantisierung des Eingangssignals nicht in festen Abständen statt, sondern die
Schrittgröße der Treppenfunktion wird variabel an die eingehende Wellenform angepasst.
- 50 -
Nicht die absolute Wellenhöhe wird festgehalten, sondern nur die Differenz zum
Vorgängerwert. [Lule01] [BCOR03]
Logarithmische 8 Bit Puls Code Modulation (PCM): Dieses Verfahren wurde auf der
ITU-Empfehlung G.711 [22] standardisiert. Dabei werden bei einer Abtastfrequenz von 8
kHz die Abtastwerte über eine logarithmische Kennlinie – A-Law-Kennlinie mit 15
Segmenten oder µ-Law-Kennlinie mit 13 Segmenten – zu 8 Bit-Worten quantisiert,
wodurch sich eine Übertragungsrate von 64 kBit/s ergibt. Durch die logarithmische
Quantisierung
wird
ein
konstanter
relativer
Quantisierungsfehler
(s.g.
Quantisierungsrauschen) und somit ein höherer Dynamikumfang erreicht, der sich
gegenüber der linearen Quantisierung vor allem bei kleinen Signalwerten bemerkbar
macht. [Merk02] [Stef02] Abbildung 30 zeigt das Prinzip der logarithmischen
Quantisierung anhand der A-Law-Kennlinie. Es erfolgt eine Dynamikkompression des
bereits mit 13 Bit linear quantisierten Eingangssignals x mit einem Wertebereich von [4096 .. 4096] anhand der A-Law-Kennlinie auf 8 Bit [-128 .. 128]
[Merk02]
Abbildung 30: A-Law-Kennlinie (positiver Quadrant) [Stef02]
- 51 -
2.3
Protokollstack Teil 2 – Bluetooth Host
2.3.1 Logical Link Control and Adaption (Logische
Verbindungssteuerung und Anpassung)
Das Logical Link Control and Adaption Protocol (L2CAP) ist die erste Schicht des BluetoothStacks, die direkt am Host angesiedelt ist. Sie kommuniziert entweder direkt oder über HCI – falls
implementiert – mit dem Baseband-Protokoll, wobei lediglich ACL-Pakete unterstützt werden. Daraus ist
ersichtlich, dass das L2CAP ausschließlich für den (asynchronen) Datenaustausch und nicht für
(synchrone) Audioübertragung genutzt wird.
Das L2CAP-Protokoll erfüllt mehrere essentielle Aufgaben:
Das Multiplexen von im Stack höher liegenden Protokollen
Das Segmentieren und Reassemblieren von Datenpaketen
Gruppenmanagement und eine Art „Multicast“-Unterstützung
Quality of Service Management
Abbildung 31: L2CAP im Bluetooth-Stack [BCOR01]
Das Multiplexen von höher liegenden Protokollen ist notwendig, um diesen die Verwendung auf
die unter dem HCI liegenden Schichten zu ermöglichen. Das Baseband-Protokoll unterstützt kein wie
auch immer geartetes „Type“-Feld in seinem Paketheader, deshalb muss L2CAP diese Funktionalität
implementieren um in weiterer Folge die empfangenen Daten wieder an die höher liegenden Protokolle
wie SDP oder RFCOMM verteilen zu können. Zu diesem Zweck werden Channels verwendet, die durch
eine im L2CAP-Header eingetragene Nummer eindeutig zugeordnet werden können.
- 52 -
Das Segmentieren und Reassemblieren ist wohl neben dem Multiplexing die wichtigste
Funktionalität von L2CAP. Das Baseband-Protokoll unterstützt wie bereits erwähnt eine maximale
Nutzdatenlänge von 341 Bytes (bei DH5-Paketen), unter Umständen kann auch nur eine Übertragung von
lediglich 18 Byte möglich sein. Um den Protokollen der darüber liegenden Schichten eine höhere
Paketgröße zu ermöglichen, unterstützt L2CAP die Segmentierung und Reassemblierung von Paketen mit
einer maximalen Größe von 64 kByte.
Via Gruppenmanagement können einzelne Geräte eines Netzwerkes zu Gruppen zusammengefasst
und über einen verbindungslosen L2CAP Kanal mit Multicast Nachrichten versorgt werden (eigentlich
gruppenweiter Broadcast). Diese werden allerdings vom Empfänger nicht bestätigt und sind damit nicht
zuverlässig, durch den geringen Overhead aber für unkritische Informationen geeignet.
Mit dem Quality of Service (QoS) Management können Kommunikationsparameter wie maximale
Verzögerung oder minimale Datenrate in Form eines QoS-Vertrages ausgehandelt werden. Weitere
Informationen finden sich in Kapitel 2.4.3 (Quality of Service). [17][Bray01][Lule01]
2.3.1.1
Das L2CAP-Channel-Konzept
Wie bereits erwähnt, verwendet L2CAP zur Unterscheidung verschiedener Verbindungen von
höherschichtigen Protokollen sogenannte Channels. Diesen ist jeweils eine eindeutige 4-Byte-ID
zugeordnet, die weitgehend frei gewählt werden kann (ab 0x0040, darunter befinden sich reservierte
Channels).
L2CAP unterstützt zwei Arten von Channels. Verbindungsorientierte Channels tragen eine
Channel-ID größer 0x0040, sind bidirektional und müssen explizit mittels dem in Kapitel 2.3.1.3
(L2CAP-Verbindungsaufbau für verbindungsorientierte Channels) beschriebenen Ablauf eingerichtet
werden. Ein Spezialfall eines verbindungsorientierten Channels ist auch der Signalisierungskanal 0x0001,
auf den in 2.3.1.2 (Die L2CAP-Signalisierung) genauer eingegangen wird.
- 53 -
Abbildung 32: L2CAP-Verbindungen [BCOR03]
Die zweite Art von Channels ist verbindungslos. Diese Channels müssen nicht explizit eingerichtet
und konfiguriert werden, können aber lediglich unidirektional verwendet werden. Der
Empfängerendpunkt liegt immer auf Channel 0x0002, senderseitig kann die Channel-ID frei gewählt
werden (wiederum >0x0040). Typischerweise könnte ein verbindungsloser Channel für Broadcast- oder
Multicast-Nachrichten verwendet werden.
Abhängig vom Channeltyp wird auch ein unterschiedliches Datenpaket (PDU)-Format verwendet.
Während Pakete für verbindungsorientierte Channels als einzige Identifikation die Channel-ID mitführen,
wird bei verbindungslosen Channels zusätzlich die PSM (Protocol/Service-Multiplexer) übermittelt, um
den Empfänger auf den höheren Schichten zu kennzeichnen. Die PSM-Werte sind zum Teil standardisiert
(1 für SDP, 3 für RFCOMM, 5 für TCS-BIN, …), Werte größer 4096 können dynamisch zugewiesen
werden. [Schi03]
Abbildung 33: Datenpaket-Formate [Schi03]
- 54 -
2.3.1.2
Die L2CAP-Signalisierung
Zwischen zwei Endgeräten besteht wie erwähnt immer genau ein speziell ausgezeichneter
Channel, der als Signalisierungskanal bezeichnet wird. Er trägt die Channelnummer 0x0001, muss nicht
explizit eingerichtet werden und dient im Wesentlichen dem Datenaustausch beim Einrichten, der
Konfiguration und dem Abbau von verbindungsorientierten Channels über L2CAP.
Zum Zwecke dieses Channel-Managements sind im L2CAP spezielle Signalisierungspakete
definiert, die aus mehreren L2CAP-Befehlen bestehen können. Ein L2CAP-Befehl besteht aus einem
OpCode, einem Identifier, einem Längenfeld und dem Befehlsparametern (Data).
Abbildung 34: Signalisierungs-Datenpaket [Schi03]
Beim Absetzen eines Signalisierungspaketes startet intern ein Timer, nach dessen Ablauf das
Paket erneut übertragen wird, wenn die Antwort bis dahin nicht eingetroffen ist. Es wird jedoch das
Identifier-Feld erhöht, was zur Folge hat, dass der Kommunikationspartner erkennen kann, ob der Befehl
bereits ausgeführt wurde und lediglich die Antwort verloren gegangen ist. Ist dies der Fall, so wird
lediglich die Antwort erneut übertragen, der Befehl jedoch ansonsten verworfen.
Für Fehlerfälle, wie zum Beispiel zu lange Pakete oder ungültige Befehle, wurde ein speziellen
Ablehnungspaket definiert, dass neben dem Ablehnungsgrund auch noch Platz für zusätzliche
Informationen – wie z.B. jenen Befehl, der den Fehler verursacht hat – bietet. [Merk02]
2.3.1.3
L2CAP-Verbindungsaufbau für verbindungsorientierte Channels
Der Verbindungsaufbau via L2CAP unterscheidet sich in Abhängigkeit davon, ob das HCI in der
konkreten Implementierung existiert oder direkt mit dem Baseband kommuniziert wird. Der eigentliche
Low-Level-Verbindungsaufbau der notwendigen ACL-Verbindung wird in beiden Fällen vom im
Baseband angesiedelten Link Manager Protokoll übernommen, unterschiedlich ist nur das Ansprechen
des Link Managers entweder direkt oder via HCI.
- 55 -
Steht die ACL-Verbindung, so läuft der L2CAP-Verbindungsaufbau bei beiden Arten (direkt oder
über HCI) äquivalent ab. Der erste L2CAP-Befehl, der gesendet wird, ist L2CAP_ConnectReq, der
einerseits die Channelnummer auf der Seite des Senders und andererseits den PSM-Wert (Protocol
Service Multiplexer) des höherschichtigen Protokolls, das die Verbindung anfordert, beinhaltet.
Die Gegenstelle antwortet mit einem L2CAP_ConnectRspPns-Paket, mit dem sie die
anfordernde Einheit informiert, ob der Verbindungsaufbau akzeptiert wird oder nicht. Ein Result-Feld in
diesem Paket gibt entweder Auskunft über den Erfolg oder den Ablehnungsgrund (Kapazitäts- oder
Sicherheitsgründe, nicht unterstützte PSMs etc.). Weiters wird diejenige Channelnummer der Gegenstelle
übertragen, welche die anfordernde Einheit in weiterer Folge zum Datenaustausch verwenden muss.
Ein positives L2CAP_ConnectRspPns-Paket bedeutet jedoch noch nicht unbedingt einen
erfolgreichen Verbindungsaufbau, da auch die höheren Schichten noch der Verbindung zustimmen
müssen. Erst wenn diese eingetroffen sind, sendet L2CAP das endgültige L2CAP_ConnectRsp-Paket
und erklärt die Verbindung für erfolgreich aufgebaut. [Merk02]
2.3.1.4
Die Konfiguration eines L2CAP-Channels
Ist die Verbindung aufgebaut, muss im Anschluss der Channel entsprechend den Anforderungen
konfiguriert werden. Im Wesentlichen stehen drei Parameter zur Verfügung:
Maximum Transmission Unit (MTU)
Flush-Timeout
Quality of Service (QoS)
Die MTU gibt die maximale Nutzdatenlänge des L2CAP-Paketes in Bytes an. Minimal muss die
MTU 48 Bytes betragen, defaultmäßig sind 672 Bytes (2 DH5-Pakete minus diverse Header) eingetragen,
die maximale Größe ist durch die Länge des MTU-Feldes festgelegt und beträgt 65535 Bytes. Die
eingestellte MTU gilt jeweils nur für eine Kommunikationsrichtung, so dass beide Geräte verschiedene
MTUs einstellen können.
Das Flush-Timeout ist eine Zeitangabe in Millisekungen für die maximale Zeit, die L2CAP für die
Übertragung eines Paketsegmentes benötigen darf. Wenn dieser Wert überschritten wird, wird das
gesamte Paket verworfen. Diese Zeit legt also im Endeffekt fest, wie oft das Baseband die Übertragung
wiederholen darf, bis ein Fehler gemeldet wird (Retransmit). Das Flush-Timeout ist deshalb auch ein
Vielfaches von 1,25 ms (ein Zeitschlitzpaar des Basebands). Ist als Flush-Timeout 1 eingestellt, so wird
kein Retransmit durch das Baseband erlaubt. Defaultmäßig ist 0xFFFF eingestellt, was bedeutet, dass das
Paket so oft wiederholt werden kann, bis es entweder erfolgreich übertragen wurde oder die Verbindung
abbricht. Dieser Wert wird durch die rufende Einheit vorgegeben und gilt für beide Geräte.
- 56 -
Die Einstellungen des QoS unterscheiden zwischen Best-Effort-Übertragungen oder solchen mit
garantiertem QoS. Dazu können verschiedene Parameter eingestellt werden, die u.a. die maximal erlaubte
Verzögerungszeit eines Bits zwischen Verlassen der L2CAP-Schicht und dem tatsächlichen physischen
Senden oder die maximale Datenrate enthalten.
Bei einer Funkübertragung kann natürlich nie eine 100% sichere Übertragung garantiert werden,
daher muss auch der Begriff des QoS relativiert werden. Was im Bluetooth-Kontext unter QoS zu
verstehen ist, ist genauer in Kapitel 2.4.3 (Quality of Service) nachzulesen. [Merk02]
2.3.2 Service Discovery Protocol (Dienstfindung)
Das Service Discovery Protokoll (SDP) bietet die Möglichkeit, die angebotenen Dienste eines
Gerätes abzufragen. Dazu werden in einer angeschlossenen Datenbank die verfügbaren Dienste des
Bluetooth Geräts in s.g. Service Records gespeichert und anderen Geräten auf Anfrage mitgeteilt.
Natürlich sind auch eigene Anfragen möglich, wobei die Kommunikation immer auf einer Client-ServerBeziehung zwischen Anfrager und Auskunftsgeber beruht. Das SDP setzt dabei auf L2CAP auf, basiert
also auf dem verbindungslosen Austausch von ACL-Paketen.
Eine Suche ist nach Dienstklasse und/oder Dienstattribut möglich; zusätzlich lassen sich
Dienstbäume manuell durchsuchen, wozu die Service-Datenbank hierarchisch aufgebaut ist. Wichtig ist,
dass sich Dienste erfragen lassen, ohne eine „vollständige“ Verbindung (z.B. via RFCOMM) aufbauen zu
müssen, so dass erst dann eine Verbindung zu diesem Gerät aufgebaut werden muss, wenn der
gewünschte Dienst gefunden ist. Vielmehr müssen lediglich einige wenige Pakete – die SDP Protocol
Data Units (PDUs) – ausgetauscht werden, um eine Suche zu starten bzw. um die Antwort zu übermitteln.
- 57 -
Abbildung 35: SDP-Architektur [BCOR03]
Dieses Protokoll ist für jedes Anwendungsszenario notwendig, denn es ermöglicht die Entdeckung
von Diensten auf anderen Geräten, mit denen ein Szenario erst realisiert werden kann. Eine Aussage
darüber, wie ein Dienst tatsächlich zu benutzen ist, macht dieses Protokoll nicht, aber es kann Hinweise
darauf geben. Ausführlichere Informationen finden sich direkt im Service Discovery Application Profile
(siehe Kapitel 2.5.3, Service Discovery Application Profile). [17][Bray01][Lule01]
2.3.2.1
Service Records
Die Informationen über jedes Service sind – wie bereits erwähnt – in einem Service Record
abgelegt, der durch einen Service Record Handle auf dem jeweiligen Host eindeutig identifiziert ist. Jeder
Service Record enthält eine beliebige Anzahl von Service-Attributen, wobei zwischen drei Kategorien
unterschieden werden muss:
Standard Service Attribute
Service Discovery Service-Klassen Attribute
Browser Group Descriptor Service-Klassen Attribute
Standard Service Attribute sind jene Attribute, deren Definition in allen Service Records die
gleiche Bedeutung hat, wobei aber nicht jeder Record diese Attribute enthalten muss.
Mit Service Discovery Service-Klasse Attributen können die Eigenschaften des SDP-Servers
ausgelesen werden, sie beschreiben also den SDP-Server.
- 58 -
Die Browser Group Descriptor Service-Klassen Attribute dienen der Hierarchisierung der ServiceKlassen zum komfortableren Browsen der Services.
Abbildung 36: Service Record [BCOR03]
Ein Service-Attribut enthält immer eine 16-Bit-Attribut-ID und einen Attribut-Wert variabler
Länge, die im Wesentlichen durch die ID festgelegt wird. Aus Gründen der Interoperabilität werden zum
Austausch der Attribut-IDs und -Werte Datenelemente verwendet, deren Format festgelegt ist und in
[Merk02] nachgelesen werden kann.
Jedes Service gehört zu einer oder mehreren Kategorien, den s.g. Service-Klassen. Diese legen die
Attribute der einzelnen Services fest, man könnte also sagen, dass jeder Service-Record eine Instanz einer
oder mehrerer Service-Klassen ist. Jede Klasse ist durch einen 128-Bit-Wert weltweit eindeutig
identifiziert (UUID nach ISO/IEC 11578:1996). Es existiert eine Vielzahl an vordefinierten Klassen, es
steht aber auch jedem Hersteller frei, eigene Service-Klassen zu definieren, die auch von bestehenden
Klassen abgeleitet sein können (z.B. könnte PostscriptPrinterService bereits existieren und ein
Hersteller definiert darauf aufbauend eine Klasse ColorPostscriptPrinterService). Diese
abgeleiteten Klassen besitzen dann zusätzlich zu den eigenen Attributen auch die Attribute der
Superklassen. [Merk02]
2.3.2.2
Finden von Services
Services können wie bereits oben erwähnt auf zwei Arten gefunden werden:
Suchen von Services
Browsen nach Services
Beim Suchen nach Services muss die UUID der Service-Klasse, die gesucht wird, bekannt sein. Es
kann dann eine entsprechende Anfrage an den SDP-Server der Gegenstelle gestellt werden, der dann
zurückmeldet, ob ein passender Service-Record gefunden wurde, die Service-Klasse also unterstützt wird.
- 59 -
Beim Browsen nach Services müssen die Service-Klassen nicht bekannt sein, mit Hilfe der
Service-Klasse BrowseGroupDescriptor und der oben vorgestellten Browser Group Descriptor
Service-Klassen Attribute lässt sich unter einem generischen Public Browse Root-Eintrag eine Hierarchie
der angebotenen Services aufbauen, die entsprechend durchsucht werden kann. [Merk02]
2.3.3 RFCOMM
RFCOMM wurde von der Bluetooth SIG analog zum IrCOMM Protokoll der Infrared Data
Association definiert und basiert ebenso auf der ETSI 07.10 Spezifikation. RFCOMM emuliert RS-232
Steuerungs- und Datensignale, so dass es als eine Art „Kabelersatz-Protokoll“ aufgefasst werden kann,
denn höhere Protokollschichten „sehen“ nur eine normale serielle (9-polige) RS-232 Verbindung, als
wären die beiden Geräte mit einem realen Kabel verbunden. Theoretisch können über eine einzige
Bluetooth-Verbindung via Mulitplex-Sitzung bis zu 60 serielle Verbindungen emuliert werden, wenn
man sich jeweils mit einer entsprechend geringen Datenrate zufrieden gibt. Jeder dieser Kanäle wird
durch einen Data Link Connection Identifier (DLCI) identifiziert, wobei der DLCI 0 für die Übertragung
von Kontrollnachrichten reserviert ist.
Die Emulation einer RS232-Schnittstelle ermöglicht allen Applikationen, die eine serielle
Verbindung zur Gegenstelle voraussetzen, die problemlose Benutzung einer Bluetooth Verbindung ohne
weitere Modifikationen. Insbesondere die im Standard integrierten Protokolle OBEX, PPP sowie ATCommands machen von dieser Möglichkeit regen Gebrauch, andere für die serielle Verbindung geeignete
Protokolle können aber ebenfalls benutzt werden; hier ist einiger Spielraum für Spezialanwendungen
vorhanden. [Lule01] [Merk02]
2.3.3.1
Die RFCOMM-Verbindung
Nach erfolgtem L2CAP-Verbindungsaufbau kann eine RFCOMM-Verbindung durch das Senden
von speziellen Rahmen, die im ETSI-Standard definiert sind und auf die hier nicht näher eingegangen
wird, aufgebaut werden.
Steht die RFCOMM-Verbindung, so gilt aufgrund der Funktionalität von L2CAP der Kanal als
zuverlässig; Daten werden nicht wiederholt gesendet. Trifft nach einer Minute keine Antwort auf einen
gesendeten Rahmen ein, so wird die Verbindung unterbrochen.
Die Datenübertragung wird dann wiederum von einem speziellen Rahmen übernommen, der
neben den Nutzdaten auch noch die Statussignale der seriellen Schnittstelle enthält.
- 60 -
Eine Besonderheit, die nicht alle Bluetooth-Geräte unterstützen, ist die Fähigkeit, mehrere serielle
Kanäle gleichzeitig zu unterschiedlichen Geräten offen zu halten. Dazu muss das Gerät mehrere
Multiplex-Sitzungen nach ETSI 07.10 unterstützen, für jede einzelne Multiplex-Sitzung wird ein eigener
L2CAP-Channel benötigt. [Merk02]
2.3.4 Auf RFCOMM aufbauende Protokolle
Auf RFCOMM kann wie erwähnt jedes Protokoll aufbauen, dass ansonsten eine RS232Schnittstelle benötigt. Im Bluetooth-Stack ist eine Reihe von derartigen Protokollen inkludiert, die für
verschiedene Anwendungsszenarien sinnvoll sein können:
OBEX und darauf aufsetzend vCard/vCal
PPP und darauf aufsetzend IP, UDP, TCP sowie WAP und WAE
AT-Kommandos
Das Object Exchange (OBEX)-Protokoll wurde im Zuge der IrDA-Standardisierung definiert und
dient der Übertagung von strukturierten Objekten wie zum Beispiel Kalenderdaten (vCal) oder
Visitenkarten (vCard). Nicht nur um eine Interoperabilität mit IrDA zu gewährleisten sondern auch weil
sich OBEX heute weitgehend durchgesetzt hat und z.B. auch über TCP abgewickelt werden kann, wurde
das Protokoll in den Bluetooth-Stack aufgenommen. [Merk02] OBEX wird von den Profilen Generic
Object Exchange Profile, Object Push Profile, Synchronization Profile, File Transfer Profile, Basic
Imaging Profile und Basic Printing Profile verwendet. Das OBEX-Protokoll beruht auf einer einfachen
Client/Server-Architektur: OBEX Clients laden Objekte von einem OBEX Server herunter (get) und
hinauf (put). Das OBEX-Protokoll kann in zwei Teile gegliedert werden: [Hopk03]
Object Model: Definiert den Aufbau von OBEX-Objekten und wie diese zu transportieren
sind.
Session Protocol: Definiert das Handshaking zwischen Client und Server wenn Objekte
ausgetauscht werden.
Das Point-to-Point-Protocol (PPP) ist ein Standard für die Übertragung von IP-Paketen über
serielle Verbindungen. In dieser Funktion wurde es auch in den Stack aufgenommen und eröffnet
Bluetooth die Möglichkeit, das weite Feld der TCP/IP-basierten Anwendungen zu nutzen. Via UDPVerbindung kann auch noch das Wireless Application Protocol (WAP) verwendet werden, das vom
Einsatz in Mobiltelefonen als Pedant zu HTTP hinlänglich bekannt sein dürfte.
AT-Kommandos sind Modem-Steuerbefehle und werden von Anwendungen benutzt, die
ursprünglich serielle Verbindungen verwendeten. Durch die Integration in den Bluetooth-Stack ist eine
Portierung von derartigen Anwendungen leichter möglich.
- 61 -
Genauere Informationen über die auf RFCOMM aufsetzenden Protokolle können aus den
entsprechenden RFCs [66] sowie den Büchern [Tane00] oder [Roth02] bezogen werden.
2.3.5 TCS-Binary (TCS BIN)
Ein wesentlicher Aspekt von Bluetooth ist die Unterstützung von Sprachverbindungen. Die
Tatsache, dass derartige Verbindungen unterstützt werden, impliziert jedoch noch nicht, dass auch
„klassische“ Telefonverbindungen möglich sind, da ein wesentlicher Teil – die Signalisierung (z.B.
Klingelfunktion) – vorerst außen vor bleibt.
Genau diese Funktionalität leistet das Telephony Control Protocol (TCS-Binary), das auf der ITUT-Empfehlung Q.931 basiert und auch bei ISDN verwendet wird.
Während die eigentliche Sprachübertragung über SCO-Verbindungen abgewickelt wird, basiert
die Signalisierung durch TCS-Binary auf L2CAP und damit auf ACL-Paketen. Im Wesentlichen leistet
TCS-Binary die telefonrelevanten Signalisierungen für Verbindungsauf- und -abbau. Die Funktionen
lassen sich im Wesentlichen in drei Gruppen einteilen:
Call Control
Group Management
Connectionless TCS
Call Control ist dabei für die eigentliche Signalisierung bei Verbindungsauf- und -abbau zwischen
Bluetooth-Geräten zuständig. Dabei arbeitet das Protokoll wie eine Zustandsmachine (State Machine), die
zwischen den einzelnen Zuständen (States), die den wesentlichen Phasen eines Telefonats entsprechen,
wechselt (genauere Aufschlüsselung siehe [BCOR01]).
Group-Management sorgt für einen einfachen Zugriff auf Gruppen von Bluetooth-Geräten.
Zugrunde liegt das Konzept der Wireless User Group, damit wird eine Gruppe von Geräten bezeichnet,
die das TCS-Binary-Protokoll unterstützen. Diese Gruppe kann dann verschiedene definierte GruppenFunktionen nutzen, zum Beispiel ist es möglich, dass ein Gerät die Telefondienste eines anderen Geräts
der Gruppe in Anspruch nimmt, aber auch nahe liegende Funktionen wie Konferenzschaltungen oder
Rufweiterleitung sind hier definiert.
Connectionless TCS sorgt für die Bereitstellung von Signalisierungsinformationen, welche nicht
zur aktuellen Verbindung gehören. Diese Funktionalität wird besonders in Verbindung mit der
Verwaltung von Wireless User Groups benötigt, damit einzelne Mitglieder untereinander Daten
austauschen können, ohne eine Verbindung herzustellen. Dazu gehören unter anderem Mikrofon- und
- 62 -
Lautsprecherparameter sowie Hersteller-spezifische Angaben, i.A. all jene Informationen, die nicht
standardisiert übertragen werden.
TCS-Binary unterstützt einerseits Point-to-Point-Signalisierung, andererseits wird auch Point-toMultipoint-Signalisierung angeboten. Ersteres wird dann eingesetzt, wenn die Bluetooth-Gegenstelle
bekannt ist (z.B. bei einer Headset-Mobiltelefon-Konstellation). Die zweite Signalisierungsvariante
kommt dann zum Einsatz, wenn es mehrere mögliche Gegenstellen gibt. Dies ist zum Beispiel dann der
Fall, wenn bei einer Basisstation ein Anruf eingeht und sich mehrere Bluetooth-Mobilteile in Reichweite
befinden, die den Anruf entgegennehmen können. Dann wird allen Geräten ein Anruf signalisiert, bis der
Erste diesen entgegen nimmt.
TCS-Binary wird nicht nur zur Steuerung von Sprachanrufen sondern auch für Datenanrufe
eingesetzt. Ein typisches Beispiel wäre der Einsatz des Dial-Up Networking Profile (siehe Kapitel
2.5.14). Nachdem mehrere SCO-Verbindungen gleichzeitig existieren können, müssen auch mehrere
TCS-Binary-Instanzen gleichzeitig behandelt werden können. Dazu wird ggf. für jede Instanz ein eigener
L2CAP-Channel geöffnet. [Merk02]
2.4
Schichtenübergreifende Funktionalitäten
2.4.1 Sicherheit und Verschlüsselung
Bei Funktechnologien ist Sicherheit immer ein wichtiges Thema, da relativ leicht ein
unautorisierter Zugriff auf die Luftschnittstelle erfolgen kann. [Schi03] Bluetooth zielt auf die
Realisierung von Ad-hoc-Netzwerken ohne dedizierten, gesicherten Server ab, wobei aber gleichzeitig
Sicherheit vor ungewünschten Zugriffen oder Abhörattacken gewährleistet werden soll. Gerade für die
Realisierung von WPANs muss der Benutzer die Kommunikation der Geräte kontrollieren können;
beispielsweise sollte ein Notebook nicht ein fremdes Mobiltelefon ohne ausdrückliche Einwilligung des
Besitzers als Internet-Gateway benutzen können. [Lule01] Zudem werden bei vielen der anvisierten
Anwendungsszenarien für Bluetooth persönliche oder firmenkritische Daten – z.B. Terminkalender oder
Kontakte – ausgetauscht. [Schi03]
Aus diesem Grund bietet Bluetooth eine Vielzahl von Sicherheitsmechanismen, die im Folgenden
vorgestellt werden. Im Anschluss werden Sicherheitsrisiken und entsprechende Gegenmaßnahmen
diskutiert.
2.4.1.1
Sicherheitsmechanismen
- 63 -
Die wesentlichen Sicherheitsmechanismen in Bluetooth sind eine initiale Paarbildung – auf deren
Basis der Verbindungsschlüssel erzeugt wird – durch Eingabe eines PINs, ein Challenge-ResponseVerfahren für die Authentifizierung und eine Verschlüsselung für Datenströme; die einzelnen Schritte
sind in Abbildung 37 zu sehen). Für jede Verbindung kann eine einfache (nur eine Richtung), zweifache
(beide Richtungen) oder keine Authentifizierung mit Hilfe des Challenge-Response-Verfahrens
angefordert werden. Da alles in einen Bluetooth-Chip integriert werden muss, werden kryptographisch
stärkere und damit auch komplexere Verfahren höheren Schichten überlassen.
Abbildung 37: Bluetooth Sicherheitsarchitektur und -protokolle [Schi03]
Paarung (Pairing) und Verbindungsschlüssel
Wollen zwei Bluetooth-Geräte kryptographische Sicherheitsmechanismen nutzen, müssen sie in
einem ersten Schritt gepaart (pairing) werden; das ist immer dann notwendig, wenn zwei BluetoothGeräte noch nie zuvor miteinander kommuniziert haben. Dafür muss in beiden Geräten die gleiche
geheime Kennung (PIN) eingegeben werden, die bis zu 16 Byte umfassen kann. Verfügt ein Gerät über
eine feste PIN, so muss diese in das andere Gerät eingegeben werden; zwei Geräte mit festen PINs
können nicht gepaart werden. [BSI03] [Schi03] Zusätzlich schreibt die Bluetooth-Spezifikation bei
- 64 -
Fehleingaben eine exponentiell steigende Wartezeit vor, was einen hohen Schutz gegen Brute-ForceAttacken bietet. [Merk02]
Basierend auf dieser PIN, den Geräteadressen sowie zwei von je einem Gerät erzeugte
Zufallszahlen wird i.d.R. ein 128 Bit langer Kombinationsschlüssel (Combination Key) erzeugt und in
jedem Gerät für die zukünftige Nutzung als Verbindungsschlüssel (Link Key) gespeichert; dieser kann für
eine Authentifizierung genutzt werden. Für die gesicherte Übertragung der Zufallszahlen wird ein
Initialisierungsschlüssel (Initialization Key) verwendet, der sich aus einer weiteren (öffentlichen)
Zufallszahl, einer Geräteadresse und einer PIN berechnet. [BSI03] [Schi03] Die Schlüssel werden
typischerweise in einem persistenten Speicher (z.B. Flash ROM) abgelegt.
Neben den Kombinationsschlüsseln, die von Applikationen mit hohen Sicherheitsanforderungen
verwendet werden, gibt es noch weitere Möglichkeiten für Verbindungsschlüssel:
Geräteschlüssel (Unit Key): Wird bei der erstmaligen Verwendung eines BluetoothGerätes erzeugt und normalerweise nicht mehr geändert. Für ein Bluetooth-Gerät ist er
von einem Kombinationsschlüssel nicht zu unterscheiden, der Unterschied besteht
lediglich in der Art der Generierung. Geräteschlüssel werden z.B. dann verwendet, wenn
ein Gerät nicht mehr genügend Speicherplatz für weitere Schlüssel besitzt oder ein Gerät
einer Gruppe von Nutzern zugänglich sein soll.
Master-Schlüssel (Master Key): Er wird auch Temporärschlüssel bezeichnet und ersetzt
den momentanen Verbindungsschlüssel, um dem Master beispielsweise die Möglichkeit
zu geben, zwei Bluetooth-Geräte mit dem gleichen Verbindungsschlüssel zu erreichen.
[BSI03] [Merk02]
Authentifizierung
Die
Authentifizierzung
ist
ein
Challenge-Response-Verfahren,
das
auf
einem
Verbindungsschlüssel, einer Zufallszahl und der Geräteadresse des Anspruchstellers (Claimant) beruht.
[Schi03] Die Authentisierung ist einseitig; das bedeutet, dass sich der Claimant gegenüber einem anderen
(Verifier) authentisiert. Wollen sich beide Geräte gegenseitig authentisieren, so wird die Authentisierung
mit vertauschten Rollen wiederholt.
Die Authentisierung läuft so ab, dass der Verifier eine Zufallszahl an den Claimant schickt. Dieser
berechnet unter Benutzung des Verbindungsschlüssels aus der erhaltenen Zufallszahl und seiner eigenen
Geräteadresse eine Antwort und sendet sie zum Verifier zurück. Damit beweist der Claimant, dass er das
gemeinsame Geheimnis (den Verbindungsschlüssel) kennt und er wird vom Verifier authentifiziert.
[BSI03]
- 65 -
Verschlüsselung
Die Verschlüsselung ist optional, setzt aber voraus, dass sich mindestens eines der beiden
kommunizierenden Geräte gegenüber dem anderen authentifiziert hat. Eine Verschlüsselung wird immer
vom Master gestartet, kann aber auch vom Slave beantragt werden. [BSI03]
Basierend auf dem Verbindungsschlüssel, während der Authentifizierung ausgehandelten
Parametern sowie einer Zufallszahl wird ein Schlüssel zur Verschlüsselung (Chiffrierschlüssel) erzeugt,
der eine maximale Länge von 128 Bit besitzt. Zur Verschlüsselung wird ein Stromchiffre verwendet,
wobei für jedes Datenpaket ein neuer Nutzlastschlüssel für die eigentliche Chiffrierung erzeugt wird, der
auf dem Chiffrierschlüssel sowie der Geräteadresse und dem aktuellen Zeittakt des Master berechnet
wird. Die eigentliche Verschlüsselung ist dann eine einfache XOR-Operation der Nutzdaten mit dem
Nutzdatenschlüssel. [Schi03]
Ein Master kann aber auch einen von ihm erzeugten Verbindungsschlüssel (Master Key) an die
Slaves im Piconetz verteilen und damit Broadcast-Pakete verschlüsseln. [Lule01]
Sicherheitsbetriebsarten
Security Mode 1 (non-secure): Das Bluetooth-Gerät unternimmt selbst keine
Sicherheitsmaßnahmen, weshalb dieser Modus für sicherheitsrelevante Daten nicht zu
empfehlen ist.
Security Mode 2 (service level enforced): In diesem Modus werden erste
Sicherheitsmaßnahmen erst nach erfolgreichem Verbindungsaufbau durchgeführt.
Welche Schritte danach ergriffen werden hängt vom Bluetooth-Gerät („trusted“ oder
„non-trusted“) und vom Dienst auf Anwendungsebene (hierfür können verschiedene
Security-Levels definiert werden) ab.
Security Mode 3 (link level enforced): Beim Verbindungsaufbau ist generell eine
Verschlüsselung notwendig, die Verschlüsselung der übertragenen Daten ist aber
optional.
[BSI03] [Kral03]
Eindeutige 48 Bit-Adresse pro Bluetooth-Gerät
Jedes Bluetooth-Gerät ist eindeutig durch seine 48 Bit große Geräteadresse (BD_ADDR)
identifizierbar, wodurch theoretisch über 281 Billionen Geräte auseinander gehalten werden können.
Damit ist gewährleistet, dass sich alle Bluetooth-Geräte eindeutig ausweisen können. [Kral03] [Lule01]
- 66 -
Zufallszahlengenerator
Für eine kryptographisch sichere Schlüsselverteilung besitzt jedes Bluetooth-Gerät einen „guten“
Zufallszahlengenerator. [Kral03]
Weitere Sicherheitsmechanismen
Frequency Hopping: Es erfolgt 1600 Mal pro Sekunde ein pseudozufälliger Wechsel zwischen den
79 Trägerfrequenzen, wodurch eine gewisse Sicherheit gegeben ist. Allerdings könnte ein Angreifer alle
79 Kanäle parallel abhören („sniffen“).
Geringe Reichweite: Sie beträgt nur rund 10m (Leistungsklasse 3) und schränkt damit den
Aktionsradius eines möglichen Angreifers stark ein. [Merk02] [Matt03]
2.4.1.2
Sicherheitsrisiken
Bluetooth bietet eine deutlich höhere Sicherheit als der Wired Equivalent Privacy (WEP)-Standard
in 802.11. Dennoch zeigen sich auch bei Bluetooth Schwächen, in im Folgenden untersucht werden.
[Schi03]
Schwächen im Sicherheitskonzept
Verschlüsselung nicht grundsätzlich vorgeschrieben: Eine Verschlüsselung der
übertragenen Daten ist unabhängig vom verwendeten Sicherheitsmodus optional und
muss von den Anwendungen explizit gefordert werden.
Unsichere Voreinstellungen nicht grundsätzlich ausgeschlossen: Herstellerseitig
deaktivierte Sicherheitsfunktionen wie Authentisierung und Verschlüsselung oder auf
„0000“ gesetzte PINs stellen das Sicherheitskonzept von Bluetooth in Frage. Bei Geräten
wie beispielsweise Headsets, die über keine Eingabemöglichkeit verfügen, ist eine
Änderung dieser Werte gar nicht oder nur schwer möglich.
Schwache PINs können erraten werden: Werden bei der Gerätepaarung schwache PINs
verwendet, können diese vom Angreifer erraten werden, der daraus den
Verbindungsschlüssel berechnen kann. Als sicherheitskritisch ist hier anzumerken, dass
PINs als einzige geheime Parameter bei der Erzeugung des Verbindungsschlüssels
eingehen.
Geräteschlüssel sind unsicher: Werden Geräteschlüssel als Verbindungsschlüssel
verwendet, so wird bei jeder Verbindung mit diesem Gerät immer der gleiche Schlüssel
verwendet. Gelingt es einem Angreifer, eine Verbindung mit diesem Gerät aufzubauen,
- 67 -
ist er ab sofort in der Lage, sich als diese Gerät auszugeben bzw. jede Kommunikation
mit diesem Gerät abzuhören.
Schwache Integritätssicherung: Der zur Integritätssicherung verwendete Cyclic
Redundancy Check (CRC) bietet keinerlei Schutz gegenüber absichtlicher Manipulation
von Datenpaketen.
Qualität des Zufallszahlengenerators: Der Bluetooth-Standard macht keine Vorgaben
bzgl.
der
Qualität
des
für
den Verschlüsselungsprozess
verwendeten
Zufallszahlengenerators. [BSI03] [Schi03]
Datenschutz-Risiko bei Bluetooth-Geräten: Die Geräte-Adresse ist durch eine einfache
Inquiry-Operation öffentlich zugänglich, was zusammen mit ihrer Eindeutigkeit zu einem
Datenschutzproblem führt. Denn wenn diese Adresse mit einer Person in Verbindung
gebracht werden kann, besteht die Möglichkeit, ihre Aktivitäten mitzuverfolgen und
sogar Bewegungsprofile zu erstellen. [Merk02] [Lule01] (z.B. könnten Kaufhäuser die
Häufigkeit von Besuchen oder die Aufenthaltsdauer vor bestimmten Produkten eruieren)
Sicherheits-Risiko bei SCO-Verbindungen: SCO-Verbindungen bieten keine Möglichkeit
der Stromverschlüsselung und können damit prinzipiell abgehört werden. Durch die
zuvor aufzubauende ACL-Verbindung kann zwar eine gesicherte Authentifizierung
erfolgen, die übertragenen Audiodaten können aber – wenn auch mit großem Aufwand –
abgehört werden. [Lule01]
„Bluejacking“: Dieses Kunstwort setzt sich aus Bluetooth und Hijacked zusammen und
bezeichnet eine Möglichkeit, via Bluetooth anonym und kostenlos im Radius von bis zu
10 m Nachrichten zu versenden. Dieser als eher harmlos einzustufende „Handy-Spam“
funktioniert so: Man legt einfach einen neuen Kontakt an, wobei man in das „Name“-Feld
die gewünschte Nachricht (z.B. „Hallo, du wurdest bluejacked“) einträgt. Wählt man nun
ein Mobiltelefon mit aktiviertem Bluetooth aus und sendet an dieses den Kontakt, so
erscheint auf dessen Display „Hallo, du wurdest bluejacked“. Ermöglicht wird dieser
Angriff dadurch, dass Bluetooth während der Paarung zweier Geräte den Namen des
initiierenden Bluetooth- Gerätes, der bis zu 248 Zeichen lang sein kann, am Zielgerät
anzeigt. [54] [Laur03]
„Snarf-Attacke“: Damit soll es laut [Laur03] möglich sein, über Bluetooth Verbindungen
zu anderen Mobiltelefonen aufzubauen, ohne dass das Gerät des Opfers etwas anzeigt;
dies kann mit entsprechenden Tools sogar dann funktionieren, wenn der Discovery- oder
Visible-Modus des Opfers ausgeschaltet ist. Anschließend könne man Zugriff auf
Adressbuch, Kalender, Uhr etc. erhalten. Diese Attacke sei auf Schwächen in den
Zugriffskontrollen der Mobiltelefone begründet, und wurde erfolgreich auf weit
verbreiteten Modellen wie dem Sony Ericsson T68i und T610 sowie dem Nokia 6310i
und 7650 durchgeführt. [Laur03]
- 68 -
„Backdoor-Attacke“: Hierbei ermögliche der Pairing-Mechanismus das Autorisieren
bestimmter Bluetooth-Geräte auf Dauer, ohne dass dies beispielsweise am Nokia 6310i
angezeigt wird. Dennoch kann eine Verbindung hergestellt und sogar die GPRSVerbindung des Opfers genutzt werden. Da eine solche permanente aber eine zumindest
einmalig gewollte Autorisation des Opfers erfordert, ergibt sich hier eine zusätzliche
Gefahr in Kombination mit Bluejacking: Durch eine verwirrende Anweisung als
Gerätename könnte das Bluejacking-Opfer dazu verleitet werden, mit der erforderlichen
Passwortbestätigung eine Verbindung zu autorisieren. [Laur03]
Man-in-the-Middle-Angriffe
Darunter versteht man, dass sich ein Angreifer, der (unberechtigt) Zugriff auf ein Bluetooth-Gerät
erhalten hat, „mitten zwischen“ zwei berechtigte Geräte schieben kann. Diese beiden Geräte
kommunizieren anschließend über den Angreifer miteinander, der die Datenpakete abhören und sogar
manipulieren kann.
Dafür muss der Angreifer den Slave zu einem Master/Slave-Rollentausch bringen, wodurch er mit
beiden Bluetooth-Geräten, die nun Master sind, kommunizieren kann. Der Angreifer gibt dabei vor, das
jeweils andere Gerät zu sein; Authentisierungsanfragen leitet er einfach an das andere Gerät weiter. Dies
ist allerdings nur möglich, wenn er in Besitz des Verbindungsschlüssels ist, der sich aber bei „0000“-PINs
oder Verwendung von Geräteschlüsseln relativ einfach ermitteln lässt. [BSI03] [Merk02]
Probleme bei der Verschlüsselung
Obwohl Schlüssellängen von bis zu 128 Bit verwendet werden, haben Fluhrer und Lucks in
[Fluh01] gezeigt, dass die erreichbare Sicherheit je nach Stärke des Angriffs 73 bzw. 84 Bit nicht
übersteigt.
Weiters ist der Initialisierungsvektor nicht vom vollständigen Zeittakt des Masters abhängig; das
höchstwertige Bit wird dabei nicht berücksichtigt.
Verschlüsselte Daten sollen – z.B. bei einer Man-in-the-Middle-Attacke – selbst bei starker
Verschlüsselung manipuliert werden können, wenn der verschlüsselte Klartext teilweise bekannt ist.
Unkontrollierte Ausbreitung von Funkwellen
Obwohl die Reichweite relativ begrenz ist, kann – bei Verwendung von Richtantennen – auch über
größere Distanzen der Datenverkehr mitverfolgt werden. Bei SCO- oder nicht verschlüsselten ACLVerbindungen können mit Hilfe von Bluetooth-Protokollanalysatoren [32] übertragene Nutzdaten passiv
mitgelesen und aufgezeichnet werden. [BSI03] [Lule01]
- 69 -
Verfügbarkeitsprobleme
Die Verfügbarkeit kann beispielsweise durch Störungen anderer Nutzer im gleichen ISM-Band
(z.B. 802.11b/g-Access Points), Störung durch gezielt eingesetzte Störsender oder Denial-of-ServiceAttacken (z.B. Angriff auf Energiereserven durch indem vermieden wird, dass ein Gerät in den
Ruhezustand geht) eingeschränkt werden.
Weitere Sicherheitsrisiken
Weiters ist zu bedenken:
Mobile Geräte sind gegenüber stationären einem höheren Diebstahlrisiko ausgesetzt
Nur das Gerät muss sich beim Benutzer authentifizieren und nicht umgekehrt
Bluetooth-Geräteadressen sind
manipulierbar
durch Überschreiben
des Flash-Speichers leicht
Auch in Ad-hoc-Netzwerken können sich Computerviren und Trojanische Pferde
ausbreiten
Das Abhören bzw. Aufzeichnen von Gesprächen unter Verwendung von handelsüblichen
oder entsprechend manipulierten Bluetooth-Geräten ist nicht auszuschließen. [BSI03]
2.4.1.3
Schutzmaßnahmen
Im Folgenden wird beschrieben, welche Maßnahmen zu einer möglichst sicheren BluetoothKommunikation ergriffen werden können und welche Restrisiken bestehen bleiben.
Konfiguration von Bluetooth-Geräten
Bei der Konfiguration von Bluetooth-Geräten sollte Folgendes berücksichtigt werden:
Werden sicherheitsrelevante Daten übertragen, so ist es erforderlich, Kombinations- und
keine Geräteschlüssel zu verwenden
Nur die benötigten Dienste sollten aktiviert sein
Connectability (Reaktion auf Paging-Anfragen), Discoverability (Reaktion auf Inquiry)
und Pairability sollten soweit als möglich eingeschränkt werden
Die Sendeleistung sollte so niedrig wie möglich gehalten werden
Der Default-PIN sollte eine möglichst lange und zufällig gewählte PIN sein (mindestens
12 Stellen, Mischung von Groß- und Kleinbuchstaben sowie Zahlen)
Geräte sollten so konfiguriert werden, dass sie nach erfolgter Authentifizierung
Verschlüsselung verwenden
- 70 -
Die Schlüssellänge sollte mindestens 64 Bit betragen
Absicherung mobiler Geräte
Mobile Geräte sind gegenüber stationären besonderen Risiken ausgesetzt, weshalb folgende
Maßnahmen ergriffen werden sollten:
Die Paarung zweier fremder Geräte solle in einer abhörsicheren Umgebung durchgeführt
werden
Jedes Gerät, das mehrere Dienste mit unterschiedlichen Sicherheitsniveaus anbietet, sollte
in Sicherheitsmodus 2 betrieben werden; dabei ist auch auf eine sorgfältige Auswahl der
Sicherheitspolicies zu achten
Geräte die nur einen Dienst oder mehrere Dienste mit unterschiedlichen
Sicherheitsniveaus betreiben, sollten im Sicherheitsmodus 3 betrieben werden
Falls möglich sollte die PIN nach erfolgter Initialisierung gelöscht werden
Bei Verlust bzw. Diebstahl sollten alle Verbindungsschlüssel in den verbliebenen Geräten
gelöscht werden
Nicht benutzte Geräte sollten ausgeschaltet werden.
Weitere Schutzmaßnahmen
Soweit möglich sollten auf Bluetooth-Geräten weitere Sicherheitsmaßnahmen implementiert sein,
wie beispielsweise Folgende:
Schutz vor Zugriff auf das Gerät (Passworteingabe etc.)
Benutzerauthentisierung beim Einloggen
Virenschutz
Aktive Firewall
Eingeschränkte Datei- und Ressourcenfreigabe auf Betriebssystemebene
[BSI03]
Restrisiko
Das Erstellen von Bewegungsprofilen kann nicht verhindert werden, ebenso wenig die Gefährdung
der Verfügbarkeit. Man-in-the-Middle-Angriffe sind selbst bei optimal konfigurierten Geräten möglich,
Abhilfe kann nur durch Verwendung zusätzlicher Maßnahmen – beispielsweise IPSec oder SSL – erreicht
werden. [BSI03]
2.4.2 Stromsparfunktionen
- 71 -
Da der Hauptanwendungsbereich von Bluetooth bei mobilen Endgeräten liegt, sollte die
Stromaufnahme so gering wie möglich sein. [Merk02]
Für diesen Zweck ist es möglich, die Sende- und Empfangsbereitschaft teilweise einzustellen,
indem das Gerät in den Zustand Hold, Park oder Sniff versetzt wird. Die Geräte bleiben trotz der
geringeren Stromaufnahme im Piconetz synchronisiert und können bei Bedarf relativ schnell wieder an
der Kommunikation teilnehmen.
Im Zustand Hold wird für eine bestimmte Zeit die gesamte Übertragungstätigkeit einer Einheit
eingestellt. Innerhalb dieser, dem Master und dem Slave bekannten Zeit, sendet der Master keine Pakete
an den Slave, wodurch dieser seine Übertragung komplett einstellen und somit Strom sparen kann. Der
Slave hat aber auch die Möglichkeit, aktiv an einer anderen Kommunikation (z.B. in einem anderen
Piconetz) teilzunehmen; nach Verstreichen dieser Zeit nimmt der Slave wieder an der Kommunikation im
(ursprünglichen) Piconetz teil. Die Reaktionszeit ist von der Hold-Zeit abhängig, und kann damit
schlechter als im Zustand Sniff sein, dafür ist aber die durchschnittliche Stromaufnahme geringer.
Abbildung 38: Übertragungstätigkeit im Zustand Hold [Merk02]
Ein weiterer Stromspar-Zustand ist der s.g. Sniff-Zustand. Dabei bleibt der Slave weiterhin
synchronisiert, wird aber nur periodisch sende- und empfangsbereit und kann während dieser Zeit mit
dem Master kommunizieren. Der Master, der das Intervall der aktiven Phase kennt, wird nur während
dieser Zeit den entsprechenden Slave ansprechen. Empfängt ein Slave nun am Anfang seiner aktiven
Phase ein für ihn bestimmtes Paket, so kann er weiterhin aktiv bleiben, ansonsten kann er bis zum
nächsten Intervall im Stromsparzustand verbleiben. Durch flexible Einstellung des Zeitverhältnisses
zwischen „aktiv“ und „abgeschaltet“ kann die Stromaufnahme indirekt beeinflusst werden; eine
- 72 -
Verkürzung der aktiven Phase wirkt sich aber direkt durch eine Verschlechterung der Reaktionszeit der
Bluetooth-Einheit aus.
Abbildung 39: Übertragungstätigkeit im Zustand Sniff [Merk02]
Die niedrigste Stromaufnahme nach dem Standby-Zustand erreicht man im Zustand Park. Im
Gegensatz zu Sniff und Hold ist die Bluetooth-Einheit in diesem Zustand nicht mehr aktiv, die
Synchronisation mit dem Master bleibt aber aufrecht. Dies wird durch ein s.g. Beacon-Verfahren erreicht,
bei dem der Master in garantierten Beacon-Schlitzen Pakete an den Slave senden kann, der seinerseits
kurz in „Empfangsbereitschaft“ wechselt. Diese Zeitschlitze können beispielsweise für eine
Reaktivierung des Slaves oder zum Versenden von Broadcast-Nachrichten genutzt werden.
Abbildung 40: Übertragungstätigkeit im Zustand Park [Merk02]
Weiters sieht die Bluetooth-Spezifikation eine Leistungsregelung vor, mittels derer die
durchschnittliche Stromaufnahme reduziert werden kann. Der Empfänger wertet zu diesem Zweck die
Stärke des empfangenen Signals aus und sendet dementsprechend eine Anforderung zur Reduktion bzw.
Erhöhung der Sendeleistung an den Sender. Vor allem wenn die kommunizierenden Einheiten nahe
- 73 -
beieinander sind, und eine hohe Sendeleistung die Stromaufnahme unnötig in die Höhe treiben würde, ist
diese Regelung sinnvoll. Die Leistungsanpassung führt der Master außerdem für jeden Slave individuell
durch, um unterschiedliche Entfernungen der Geräte berücksichtigen zu können. [Merk02]
Geht man von einer 600mAh-Batterie aus, so reicht die Energieversorgung für ein BluetoothModul im Standby-Zustand 3 Monate, im aktiven Sprachmodus 60h, im aktiven Datenmodus 100h und
im Hold- bzw. Park-Modus 1 Jahr aus. [Matt03]
2.4.3 Quality of Service
Über mehrere Ebenen des Stacks verteilt bietet Bluetooth auch die Möglichkeit eines Quality-ofService-Managements. Die Konfiguration einer QoS-Vereinbarung wird via L2CAP vorgenommen, für
die eigentliche Abwicklung des QoS-Managments ist jedoch der Link Manager zuständig. Genau in
dieser Aufgabentrennung lag bis zur Spezifikation 1.1 auch das Problem des QoS-Management in
Bluetooth, da es in der Spezifiktion Inkonsistenzen zwischen L2CAP- und LM-Handling von QoS gab.
Ab der Spezifikation 1.2 sind diese Inkonsistenzen jedoch beseitigt.
Folgende Parameter können zur Vereinbarung eines QoS eingestellt werden:
Die grundsätzliche Art des QoS: Die Entscheidung, ob der Link ein gewisses QoS
garantiert oder nur versucht dieses zu erreichen. Dritte Option: keine Unterstützung eines
QoS.
Token Rate: Die Datenrate, mit der auf einer Verbindung gesendet werden kann.
Token Rate Bucket Size: Legt den Daten-Puffer im Stack fest. Dieser wird besonders bei
Burst-artigem Verkehr groß zu wählen sein, um die anfallenden Daten zwischenspeichern
zu können, während bei kontinuierlichem Datenfluss die Puffer-Größe eher klein gewählt
werden kann.
Peak Bandwidth: Die maximale Datenraten, mit der Pakete gesendet werden können.
Latency: Die zulässige Verzögerung zwischen der Verfügbarkeit von zu sendenden Daten
und dem eigentlichen Senden.
Delay variation: Die maximal zulässige Änderung der Verzögerungen auf einem Link
über die Zeit.
Nachdem diese Parameter von L2CAP an den Link Manager übermittelt wurden, verhandelt dieser
mit dem Link Manager der Gegenstelle über die Möglichkeit einer Verbindung mit den gewünschten
QoS-Parametern. Stimmt die Gegenstelle zu, so gilt das QoS als vereinbart und das anfordernde L2CAP
wird über den Erfolg informiert. Scheitern die Verhandlungen mit der Gegenstelle wird entsprechend
wiederum L2CAP über das Scheitern informiert, dieses muss dann entscheiden, was weiter zu tun ist.
- 74 -
Der Link Manager hat nun mehrere Möglichkeiten, ein vereinbartes QoS zu erreichen bzw. zu
halten. Um die vereinbarte Token Rate zu erreichen, garantiert der Link Manager ein polling interval,
welches festlegt, wie lange die maximale Dauer zwischen zwei Übertragungen auf einer Verbindung ist.
Dieses Intervall kann sich ändern, wenn sich der verwendete Paket-Typ und damit die Menge der
übertragenen Daten pro Paket ändert.
Da das verwendete polling interval aber auch Einfluss auf die vereinbarte Latency hat, kann es
sein, das es sich auch bei verändertem Paket-Typ nicht ändert, wenn dies zu einer Verletzung der Latency
führen würde.
Der Link Manager kann aber auch das gesamte Systemverhalten beeinflussen, um die QoSVereinbarungen einhalten zu können. So kann er zum Beispiel Verbindungsanforderungen ablehnen,
wenn durch ein vereinbartes QoS die Ressourcen schon vollkommen ausgeschöpft werden. Es ist dem
Link Manager sogar möglich, die periodischen Page- und Inquiry-Scans abzuschalten, um die verfügbare
Bandbreite zu maximieren (was sinnvoll sein kann, wenn aufgrund von Ressourcenmangel sowieso keine
neuen Verbindungen angenommen werden können).
- 75 -
Abbildung 41: Ablauf einer QoS-Vereinbarung [Bray02]
Das grundsätzliche Problem bei der Vereinbarung eines Quality of Service über eine
Funkverbindung ist die Unzuverlässigkeit der Funkstrecke selbst. Bei drahtlosen Übertragungsmedien
wird eine Garantie einer gewissen Bandbreite niemals möglich sein, da eine Störung der Funkverbindung
die erreichbare Datenrate jederzeit unter das notwendige Limit drücken kann. Die einzige Möglichkeit,
einem derartigen Fall zu begegnen, ist die Benachrichtigung der höherliegenden Schichten von der
Verletzung der QoS-Vereinbarungen. In Bluetooth überwacht der Link Manager die Einhaltung der QoSVereinbarungen und sendet ggf. ein QoS-Violation-Event entweder direkt oder via HCI an L2CAP,
- 76 -
welches die Benachrichtigung
[Bray02][BCOR01]
2.5
entsprechend
an
die
höherliegenden
Schichten
weitergibt.
Bluetooth-Profile
In der Spezifikation des gerade beschriebenen Bluetooth-Protokollstacks wird lediglich auf die
exakte technische Spezifikation der einzelnen Protokolle, deren Eigenschaften und deren Schnittstellen
eingegangen. Die eigentliche Verwendung der Protokolle für einen konkreten Anwendungsfall bzw. das
jeweilige Verhalten der beteiligten Geräte bleibt aber in der Core Specification außen vor.
Genau diese „Unspezifiziertheit“ ist aber eine der größten Stärken der Bluetooth-Technologie,
denn damit wird Raum für beliebig viele Anwendungsszenarien geschaffen, die auch erst in ferner
Zukunft auftreten können. Um jedoch keinen Wildwuchs an proprietären Verwendungen des BluetoothStacks zuzulassen und Interoperabilität zwischen den Geräten verschiedener Hersteller zu garantieren,
wurde von der Bluetooth SIG das Instrument der Profile geschaffen.
Ein Profil legt fest, wie Bluetooth-Protokolle mit bestimmten Parametern genutzt werden, damit
zwei Partner herstellerunabhängig kommunizieren können, und zum Beispiel eine InternetWählverbindung aufzubauen. An solchen Aktionen sind in der Regel mehrere Protokollschichten
beteiligt; Nachrichtentechniker sehen die Profile deshalb auch als "vertikale Schnitte" durch den
Bluetooth-Protokollstack.
Profile sind i.A. nicht symmetrisch aufgebaut, das heißt, die Anforderungen des Profils an den
einen Kommunikationspartner sind andere als jene an die Gegenstelle. Konkret wird zum Beispiel beim
Cordless Telephony Profile die Basisstation andere Funktionalitäten zur Verfügung stellen müssen als das
Mobilteil.
- 77 -
Abbildung 42: Vertikale Schnitte [Schi03]
Begleitend zum ersten Release der Core Specification wurden 13 Profile veröffentlicht, später
wurden weitere 13 hinzugefügt, so dass heute die unten dargestellten 26 Profile definiert sind. Es ist zu
erwarten, dass sich die Anzahl der Profile in Zukunft mit der Entwicklung neuer Anwendungsszenarien
weiter erhöhen wird.
2.5.1 Überblick
Die bereits definierten Profile lassen sich in mehrere Kategorien einteilen (siehe Abbildung 43).
Die Grafik ist so zu interpretieren, dass jedes Gerät, das eines der eingebetteten Profile unterstützt, auch
die außen liegenden Profile unterstützen muss. Das Headset Profile muss so zum Beispiel auch das Serial
Port Profile und das Generic Access Profile unterstützen. Sämtliche Profile bauen auf dem Generic
Access Profile auf, das impliziert natürlich, dass alle Bluetooth-Geräte zumindest dieses Profil
unterstützen müssen.
Im weiteren Verlauf lassen sich noch weitere Gruppen von Profilen identifizieren. Die größten
Einheiten sind einerseits jene Profile, die auf dem Serial Port Profile aufbauen und jene, die auf dem
Generic Object Exchange Profile aufsetzen. Eine Sonderrolle nehmen jene beiden Profile ein, die dem
TCS-BIN-Protokoll zuzuordnen sind und zur Daten- (bzw. Sprach-) Übertragung SCO-basierte
Audioverbindungen verwenden.
- 78 -
Abbildung 43: Bluetooth Profile (es fehlt: HID Profile im GAP) [18]
Zweifellos könnten die Profile noch viel ausführlicher behandelt werden, aufgrund des dann
explodierenden Umfangs wurde jedoch nur jeweils eine kurze Darstellung der Funktion des Profils
verfasst und auf eine tiefer gehende Betrachtung verzichtet. Die offiziellen Profil-Spezifikationen sind
trotz ihres Umfangs gut lesbar und bieten bei Interesse in einem speziellen Gebiet eine gute Referenz und
Möglichkeit zur Vertiefung.
2.5.2 Generic Access Profile
Dieses Profil nimmt eine Sonderrolle ein, da hier kein spezielles Anwendungsszenario abgebildet
wird, sondern allgemeingültige Grundsätze für die Kommunikation zwischen Bluetooth Geräten
vereinbart werden. Es liefert Richtlinien unter anderem für das Verhalten von Geräten vor und während
einer Verbindung, sowie für eine begrifflich einheitliche Benutzeroberfläche.
- 79 -
Es stellt sicher, dass Geräte jeglicher Klasse – ob Mobiltelefon oder Drucker – und beliebiger
Hersteller unter allen Umständen zumindest eine simple physikalische Verbindung mit einem logischen
Kanal aufbauen können, um wenigstens Name und andere Eigenschaften des jeweils anderen Geräts zu
ermitteln. Dabei liegt der Schwerpunkt auf der Entdeckung von Geräten in Reichweite (Discovery), dem
Verbindungsaufbau (Link Establishment) und den Sicherheitsfunktionen (Security Procedures), d.h.
insgesamt vor allem auf den Parametern der unteren Protokollschichten Baseband und LMP. [Lule01]
2.5.3 Service Discovery Application Profile
Auch das Service Discovery Application Profile nimmt eine Sonderrolle ein, da auch hier kein
spezielles Szenario abgebildet wird, sondern die allgemeinen Verfahren zur Entdeckung von Diensten auf
anderen Geräten spezifiziert werden. Zwar beschreibt das Service Discovery Protocol (SDP) die
Kommunikation zwischen Geräten zur Entdeckung von Diensten, allerdings ohne genaue Festlegung der
Anwendungsparameter (Einsatzzeitpunkt, Rollen, etc.). Die fehlende Information liefert dieses Profil, das
letztlich nichts anderes ist als ein „Pflichtenheft für eine reale Applikation“ (Service Discovery
Application), die das Service Discovery Protocol benutzt, um Dienste auf anderen Geräten zu finden.
Insbesondere werden Regeln aufgestellt, wie der Benutzer eines Geräts die von anderen Bluetooth
Geräten in Reichweite zur Verfügung gestellten Dienste sichtbar machen und aktiv nach speziellen
Diensten suchen kann. Neben menschlichen Benutzern können aber auch laufende Applikationen diese
Regeln benutzen und entsprechende Dienste finden. Wichtig zu bemerken ist in diesem Zusammenhang,
dass dieses Profil keine Aussage darüber macht, wie ein Dienst letztendlich angesprochen und benutzt
wird, sondern lediglich die Information über verfügbare Dienste in anderen Geräten an den Benutzer oder
die laufende Applikation liefert.
2.5.4 Extended Service Discovery Profile
Das Extended Service Discovery Profile (ESDP) hat das Ziel die UPnP-Technologie (Universal
Plug’n’Play) auf der Bluetooth-Plattform anzubieten. Dazu werden zwei Ansätze zur Verfügung gestellt,
um UPnP via Bluetooth zu implementieren. Der erste Ansatz setzt direkt auf L2CAP auf, der zweite
verwendet eine IP-basierte Lösung, die auf dem LAN- oder dem PAN-Profil aufsetzt. Aus diesem Grund
findet sich das ESDP auch an drei Stellen (basierend auf LANP, PANP oder GAP) in der
Überblicksgrafik (siehe Abbildung 43).
2.5.5 Common ISDN Access Profile
- 80 -
Das Ziel des Common ISDN Access Profiles ist die Bereitstellung eines ISDN-Zugangs via
Bluetooth. Dieser soll möglichst ohne Einschränkungen möglich sein und sicherstellen, dass native
ISDN-Anwendungen ohne Modifikationen über Bluetooth arbeiten können. Das Common ISDN Access
Profile basiert lediglich auf dem Generic Access Profile, es ist klar zum Dial-Up Networking Profile
abgegrenzt, dass ja auf einer seriellen Verbindung basiert. [BCIA03]
2.5.6 PAN Profile
Das Personal-Area-Network-Profile (PANP) ermöglicht es, mit Bluetooth ein PAN aufzubauen.
Grundsätzlich unterscheidet das Profil zwei Arten von PANs, wobei die erste - „Network Access Points“
– ein ausgezeichnetes Gerät – den Network Access Point (NAP) – verwendet, das ein oder mehrere
Bluetooth-Geräte enthält und als Bridge zwischen einem externen Netzwerk (Ethernet, GSM etc.) und
den anderen Geräten im Piconetz (PAN Units) fungiert.
Die zweite Art von PANs, die unterstützt wird, sind „Group Ad-Hoc Networks“, die einem Master
– den Group Ad-Hoc-Network-Point – erlaubt, mit den anderen Bluetooth-Geräten im Piconet (PAN
Units) zu kommunizieren.
Für dieses Profil wurde ein eigenes Protokoll, das Bluetooth Network Encapsulation Protocol
(BNEP) entwickelt, das es erlaubt Ethernet-Traffic in Bluetooth-Piconetze zu übertragen. [17]
2.5.7 Cordless Telephony Profile und Intercom Profile
Ziel der beiden Profile Cordless Telephony und Intercom ist es, eine Audio-Verbindung zwischen
Bluetooth Geräten zu ermöglichen. Folgende Anwendungsfälle sind damit vorgesehen:
Verbindung einer an ein externes Telefonie-Netzwerk angeschlossenen Basisstation
(Gateway) mit mehreren Endgeräten für die Schnurlos-Telefonie, wobei die Endgeräte
nicht nur konventionelle Telefon-Hörer mit Funktechnik sein müssen, sondern auch
Mobiltelefone oder Multimedia PCs mit Mikrofon und Lautsprecher durch eine
Erweiterung mit Bluetooth zum Endgerät avancieren können. Funktional werden
eingehende und ausgehende Anrufe sowie weitere Telefonie-Merkmale des externen
Festnetzes (z.B. DTMF Signalisierung) unterstützt. Die Anbindung von bis zu sieben
Endgeräten ist für dieses Profil verpflichtend, eine größere Anzahl ist optional.
Direktverbindung zweier Endgeräte (Interkom-Funktion); die Interkom-Funktion gehört
verbindlich zum Cordless Telephony Profile, sie kann allerdings auch einzeln in Geräten
verwendet werden (z.B. als Walkie-Talkie).
- 81 -
Die beiden Profile Cordless Telephony und Intercom definieren die Rahmenbedingungen für den
Anwendungsfall „3-in-1-Telefon“. Dieses Szenario stellt eine Zusammenfassung bisher einzelner Geräte
in einem Kombinationsprodukt dar: Mobiltelefonie, Schnurlos-Telefonie und Telefon-Direktverbindung
(Interkom-Verbindung) sind als Funktionen in einem Gerät vorhanden und können kontextabhängig
benutzt werden. Außer Haus kann über Mobiltelefonie (z.B. GPRS) kommuniziert werden, innerhalb der
Reichweite einer Bluetooth Basisstation kann ein daran angeschlossenes Festnetz genutzt werden und bei
kurzen Verbindungen von Gerät zu Gerät (z.B. über zwei Etagen) kann die Interkom-Funktion völlig
ohne Dritt-Netze eingesetzt werden.
Natürlich können auch Untermengen dieser Funktionalität in einem Gerät integriert werden, z.B.
ist ein Schnurlos-Telefon mit Interkom-Funktionalität denkbar.
2.5.8 Hardcopy Cable Replacement Profile
Das Hardcopy Cable Replacement Profile definiert die Connectivity von Hardcopy-Geräten wie
Druckern oder Scannern mit einer datenliefernden oder -empfangenden Gegenstelle via Bluetooth.
Abbildung 44: Protokollstack HCRP [BHCR03]
Obwohl auch andere Profile dieses Anwendungsszenario abdecken könnten, wurde das HCRProfile entwickelt, um eine sehr einfache Flusskontrolle für hohe Datenmengen, wie sie beim Drucken
oder Scannen auftreten, anbieten zu können.
Auch für dieses Profil wurde ein eigenes Protokoll entwickelt, das als Hardcopy Cable
Replacement Protocol (HCRP) bezeichnet wird und direkt auf L2CAP aufsetzt. [BHCR03][17]
- 82 -
2.5.9 Human Interface Device Profile
Das Human Interface Device Profile (HID-Profile) basiert auf dem Generic Access Profile und
legt die Verwendung von Human Interface Devices wie Maus, Tastatur oder Joystick aber auch
Ausgabegeräten mit einem beliebigen Host via Bluetooth fest. Dazu wird eine USB-Schnittstelle via
Bluetooth emuliert, die es erlaubt, sämtliche USB-Treiber für Geräte weiter zu verwenden.
Ein weiterer Vorteil dieses Profils ist auch, dass es ausschließlich auf L2CAP basiert und keine
höher liegenden Protokoll wie z.B. RFCOMM verwendet. Dies ermöglicht eine verhältnismäßig einfache
Implementierung des Bluetooth-Stacks auf dem Human Interface Device (nämlich nur bis L2CAP).
[17][BHID03]
Abbildung 45: Bluetooth-Stack bei Verwendung von HIDP [BHID03]
2.5.10 Generic Audio/Video Distribution Profile
Das Generic Audio/Video Distribution Profile definiert den generischen Teil der Übertragung von
Audio- und/oder Video-Daten über ACL-Verbindungen. Insbesondere wird der Signalisierungsablauf
beim Auf- und Abbau sowie beim Konfigurieren der Übertragungskanäle behandelt. Der konkrete Ablauf
der Übertragung sowie Encoder- und Decoder-Funktionalität ist in den jeweiligen speziellen Profilen
festgelegt.
Von der Bluetooth Audio/Video Working Group wurde bei der Definition dieses und der
aufbauenden Profile explizit darauf hingewiesen, dass Bluetooth in der Spezifikation 1.1 kein
ausreichendes QoS-Management zur Verfügung stellt, um sicherstellen zu können, dass die jeweiligen
- 83 -
Kanäle die entsprechend benötigte Bandbreite erhalten. Daher wurde das Konsortium aufgefordert, in der
nächsten Bluetooth Revision erweiterte QoS-Unterstützung anzubieten, was in der nun veröffentlichten
Spezifikation 1.2 auch umgesetzt wurde. [BAVW03a]
Abbildung 46: Audio/Video-Übertragungsprofile – Abhängigkeiten [BAVW03a]
2.5.11 Adv. Audio Distribution Profile und Video Distribution Profile
Das Advanced Audio Distribution Profile hat das Ziel, Audio-Inhalte in hoher Qualität Mono oder
Stereo über ACL-Verbindungen zu übertragen. Es muss daher klar vom herkömmlichen Bluetooth Audio,
wie es im Cordless Telephony Profile oder im Intercom Profile verwendet wird, abgegrenzt werden,
welches relativ schmalbandig Audio-Daten via SCO-Verbindungen überträgt.
Ein typischer Anwendungsfall für dieses Profil ist die Übertragung von Musik von einem
beliebigen Musikabspielgerät (üblicherweise in Stereo) zu Ausgabegeräten wie Kopfhörern oder
Lautsprechern. Die Audio Daten werden dabei komprimiert, um die verfügbare Bandbreite besser
ausnutzen zu können. Die Übertragung von Surround-Sound ist nicht vorgesehen.
Während sich also das Advanced Audio Distribution Profile auf die Übertragung von Audiodaten
konzentriert, behandelt das Video Distribution Profile die Übertragung von Video-Daten (ohne Audio).
- 84 -
Unterstützen Geräte beide Profile, so können (nach Maßgabe der verfügbaren Bandbreite) Audio- und
Video-Daten in hoher Qualität übertragen werden, wobei das Zusammenspiel dieser beiden Medien im
Video Distribution Profile beschrieben wird.
Werden zusätzlich zur Übertragung von Audio- oder Video-Daten auch Fernsteuerungsfunktionen
gewünscht, so reichen die beiden hier beschriebenen Profile nicht aus. Vielmehr ist für dieses Szenario
das Audio/Video Remote Control Profile zuständig, das die entsprechenden Funktionalitäten zur
Verfügung stellt.
Während das Advanced Audio Distribution Profile bereits in der Version 1.0 vorliegt, befindet sich
das Video Distribution Profile noch in Entwicklung, es existieren derzeit keinerlei öffentliche Dokumente
für dieses Profil. [BAVW03b]
2.5.12 Audio/Video Remote Control Profile
Das Audio/Video Remote Control Profile stellt Funktionalitäten zu Verfügung, die die
Interoperabilität zwischen Bluetooth-Geräten mit Audio- und/oder Video-Fernsteuerungsfähigkeiten
sicherstellt. Das Profil baut auf dem AV/C Digital Interface Command Set (definiert durch die 1394 Trade
Association) auf und spezifiziert ein Format für die Übermittlung von Steuerungs- und KontrollNachrichten.
Nicht festgelegt ist in diesem Profil jedoch die Art der Interaktion mit dem Benutzer. Es können
zwar im einfachsten Falle jene Funktionen implementiert werden, die auch auf einer konventionellen IRFernbedienung zu finden sind, allgemein muss jedoch nur die Aktion des Benutzers (die zum Beispiel
auch aus Gesten bestehen kann) in entsprechende A/V-Kontroll-Signale übersetzt werden. [BAVW03c]
2.5.13 Serial Port Profile
Dieses Profil ermöglicht die Benutzung von Bluetooth-Verbindungen als Ersatz für serielle
RS232-Verbindungen. Ziel dieses Spezifikationsteils ist die Möglichkeit, beliebigen – auch bereits
bestehenden – Applikationen eine serielle Verbindung in Form von virtuellen, seriellen Ports anzubieten,
also eine serielle Verbindung zu emulieren.
Die genaue Implementierung der Ports ist betriebssystemabhängig, die Anbindung der Ports an
Bluetooth dagegen Inhalt dieses Profils. Einerseits ist dieses Profil kurz gehalten, da viele Richtlinien des
Generic Access Profile unverändert gelten, andererseits ist dieses Profil sehr allgemein gehalten, da es die
- 85 -
Basis für weitere Profile bildet, die bestimmte Anwendungsfälle konkreter spezifizieren (z.B. LAN
Access Profile).
2.5.14 Dial up Networking Profile und FAX Profile
Das Dial-up Networking Profile ermöglicht Datenendgeräten wie PCs oder Laptops die Benutzung
von Modems oder Geräten mit integriertem Modem (z.B. entsprechend ausgerüstete Mobiltelefone) die
folgenden Nutzungsszenarien, wobei je nach Netzwerk die Möglichkeit des Audio-Feedbacks beim
Aufbau der Verbindung oder auch später besteht:
Einwahlverbindung des Datenendgerätes über das Modem in ein externes Netzwerk (z.B.
Internet) oder Nutzung anderer Einwahldienste per Datenanruf (Data Call).
Empfang von Datenanrufen über das Modem.
Das Fax Profile ist sehr ähnlich zu dem Dial-up Networking Profile und ermöglicht in der
gleichen Gerätekonfiguration das Senden und Empfangen von Faxen. Es unterscheidet
sich vor allem durch die zusätzlich notwendige Integration von Fax Diensten nach
mindestens einem Standard aus Fax Class 1, Class 2.0 und Service Class 2, sowie der
fehlenden Unterstützung für Datenanrufe nach dem Dial-up Networking Profile.
2.5.15 Headset Profile
Das Headset Profile definiert Rahmenbedingungen für die Bluetooth Verbindung eines Headsets
(Kopfhörer oder Ohrhörer mit Mikrofon) mit anderen elektronischen Geräten (PC, Mobiltelefon etc.) zur
Übermittlung von Audio-Daten. Dabei können Audio-Daten bidirektional und im Vollduplex-Modus
ausgetauscht werden, d.h. das Headset kann nahezu gleichzeitig (Vollduplex) Audiodaten senden und
empfangen (bidirektional), wobei SCO-Verbindungen genutzt werden.
2.5.16 Hands-Free Profile
Das Hands-Free Profile ist dem Headset Profile sehr ähnlich und basiert wie dieses auf dem
Serial Port Profile. Es erlaubt ebenfalls eine bidirektionale Audio-Verbindung einer
Freisprecheinrichtung (Hands-Free-Unit) mit einem Audio-Gateway (typischerweise also einem
Mobiltelefon). Der Hauptunterschied liegt im Anwendungsszenario, da dieses Profil in erster Linie für
Freisprecheinrichtungen in Fahrzeugen konzipiert ist, wo die Freisprecheinrichtung örtlich getrennt von
Mobiltelefon fix im Fahrzeug eingebaut ist.
2.5.17 LAN Profile
- 86 -
Dieses Profil beschreibt verschiedene Möglichkeiten, wie verschiedene Geräte über das Point-toPoint-Protokoll (PPP) miteinander kommunizieren können:
Ein einzelnes Datenendgerät (Laptops ...) verbindet sich mit einem LAN Access Point,
um über diesen auf das angeschlossene LAN zugreifen zu können. Im verbundenen
Zustand arbeitet das Datenendgerät mit den gleichen Möglichkeiten und kann alle
Dienste des LAN benutzen, als wäre es über Dial-up Networking mit diesem Netzwerk
verbunden.
Wie zuvor, es nutzen jedoch mehrere Datenendgeräte einen LAN Access Point zur
Verbindung mit einem LAN. Zusätzlich können die Datenendgeräte jetzt über den LAN
Access Point miteinander kommunizieren.
Die PC-PC-Direktverbindung schließlich ermöglicht den direkten Austausch von Daten
zwischen zwei PCs ohne zusätzlichen LAN Access Point, indem ein PC die Rolle des
LAN Access Point übernimmt.
2.5.18 SIM Access Profile
Das SIM Access Profile definiert wie aus dem Namen ersichtlich jene Operationen, um via
Bluetooth auf SIM-Karten in Mobiltelefonen zuzugreifen, arbeitet also als ein drahtlos zugreifbarer SIMKartenleser. Das Hauptszenario, das diesem Profil zugrunde liegt, ist die Konfiguration eines im Auto
eingebetteten Mobiltelefons bzw. dessen SIM-Karte. Zum Beispiel könnte der Besitzer sein im Auto
eingebautes Telefon via Bluetooth ohne physische Verbindung konfigurieren. [BSIM03]
Abbildung 47: Anwendungsszenario SIM-Profile [17]
2.5.19 Generic Object Exchange Profile
- 87 -
Dieses Profil dient als generisches Basisprofil für alle Anwendungsfälle des OBEX Protokolls, es
basiert auf dem Generic Access Profile und dem Serial Port Profile. Das Anwendungsszenario in diesem
Profil ist daher der allgemeine Austausch von Objekten.
Da OBEX ursprünglich für den Einsatz über die IrDA-Schnittstelle gedacht war, sind
Modifikationen nötig, die in verschiedenen Teilen der Bluetooth Spezifikation zu finden sind: Die
Bluetooth-IrDA Interoperability Specification definiert, wie Applikationen über Bluetooth und IrDA
funktionieren, und beschreibt, wie OBEX über RFCOMM realisiert wird und erläutert schließlich
Application Profiles für OBEX über Bluetooth.
Das hier beschriebene Generic Object Exchange Profile definiert Anforderungen an die unteren
Protokollschichten (Baseband, LMP...) im Zusammenhang mit OBEX. Fünf spezielle Profile definieren
im Anschluss an diese Beschreibung jeweils ein allgemeines Application Profile für eine konkrete
Anwendung:
Object Push Profile (siehe Kapitel 2.5.20)
File Transfer Profile (siehe Kapitel 2.5.21)
Synchronization Profile (siehe Kapitel 2.5.22)
Basic Imaging Profile (siehe Kapitel 2.5.23)
Basic Printing Profile (siehe Kapitel 2.5.24)
2.5.20 Object Push Profile
In diesem Profil werden Richtlinien für den Austausch von standardisierten Objekten zwischen
zwei Bluetooth Geräten festgelegt, folgende Szenarien sind möglich:
Benutzung eines beliebigen Geräts (z.B. Mobiltelefon), um ein Daten-Objekt in den
Eingangsspeicher eines anderen Geräts (z.B. PDA) zu schieben (Push). Das Daten-Objekt
kann eine Business Card (vCard) oder auch ein Termin (vCal) sein.
Ein Gerät holt (Pull) eine Business Card (und nichts anderes) aus dem anderen Gerät.
Zwei Geräte tauschen Business Cards (und nichts anderes) aus, indem zuerst ein Push
und dann ein Pull ausgeführt wird.
2.5.21 File Transfer Profile
Bei Verwendung von OBEX liegt der Austausch und die Manipulation der grundlegendsten
Objekte eines Computersystems – den Files – natürlich nahe. Auf der Basis des GOEP sind folgende
Szenarien durch das File Transfer Profile beschrieben:
- 88 -
Benutzung eines Bluetooth Geräts (z.B. Laptop), um das Dateisystem eines anderen
Geräts zu durchblättern (browsing), indem Dateien und Ordner angezeigt werden und der
Benutzer durch die Ordner-Hierarchie navigieren kann.
Weiters können Objekte (Dateien und Ordner) zwischen zwei Geräten ausgetauscht
werden, entweder durch Kopieren oder durch Verschieben von Objekten vom Quellgerät
auf das Zielgerät.
Schließlich ist es möglich, Objekte (Dateien und Ordner) im jeweils anderen Gerät zu
manipulieren, inklusive dem Löschen von Objekten und der Erstellung neuer Ordner.
2.5.22 Synchronisation Profile
Beim Einsatz dieses Profils, das auf dem Generic Object Exchange Profile basiert, benutzt ein
Bluetooth Gerät (PC, Notebook) ein anderes Bluetooth Gerät (Mobile Phone, PDA), um zu
synchronisierende PIM (Personal Information Management)-Daten per Pull-Befehl zu holen, diese mit
den eigenen Daten zu synchronisieren und anschließend per Push-Befehl wieder zurück zu schreiben.
[17]
2.5.23 Basic Imaging Profile
Das Basic Imaging Profile basiert auf dem Generic Object Exchange Profile und wird eingesetzt,
um die Übertragung von Bildinformationen zu optimieren. Die Kommunikationspartner sind der Image
Initiator, üblicherweise ein PDA oder PC, und der Image Responder, etwa eine Digitalkamera. Der Image
Initiator gibt die Operationen vor, der der Image Responder auszuführen hat. Typischerweise könnte
dieses Profil eingesetzt werden, um Bilder von einer Digitalkamera (Responder) auf einen PC (Initiator)
zu laden. [17]
2.5.24 Basic Printing Profile
Das Basic Printing Profile basiert ebenfalls auf dem Generic Object Exchange Profile und wurde
entwickelt, um drahtloses Drucken zu ermöglichen. Es steht damit in direkter Konkurrenz zu dem
Hardcopy Cable Replacement Protocol, setzt allerdings eine Ebene höher an und ist einfacher aber nicht
so vielseitig einsetzbar. Das Client-Device (Sender), zum Beispiel ein PC, ein PDA oder auch ein
Mobiltelefon, sendet dabei das zu druckende Objekt an das Server-Device (Printer), wo es dann
ausgedruckt wird. [17]
- 89 -
2.6
Bluetooth 1.2
Am 5.11.2003 wurde von der Bluetooth SIG die Spezifikation 1.2 [BCOR03] verabschiedet. Diese
ist abwärtskompatibel mit der Spezifikation 1.1, bringt aber folgende Veränderungen mit sich [32]:
Faster Connections
Adaptive Frequency Hopping
Enhanced SCO
L2CAP Error and Flow Control
Enhanced Quality of Service
LMP & HCI Improvements
Zwei dieser Punkte, nämlich Faster Connections und Adaptive Frequency Hopping, sind
verpflichtend für Geräte, die konform zur Spezifikation 1.2 sein sollen. Alle anderen Punkte sind optional
und können bei Bedarf eingesetzt werden.
Die Gartner Group erwartet, dass ab dem Quartal 1/2004 Geräte nach Spezifikation 1.2 auf den
Markt kommen werden und sich in den nächsten 12-18 Monaten weitgehende durchsetzten werden
können. [26]
2.6.1 Faster Connections
Um die extrem hohen Verbindungszeiten von Bluetooth 1.1, die im schlechtesten Fall bis zu 10
Sekunden betragen können, zu verringern, wurden in Version 1.2 zwei grundlegende Veränderungen
vollzogen. Zum einen wurde die Inquiry-Phase beschleunigt, indem nun das FHS-Paket bereits beim
ersten Erkennen eines Inquiry-Paketes gesendet wird und nicht, wie bisher beim zweiten Mal. Alleine
damit kann die durchschnittliche Antwortzeit um 50% verringert werden.
Zum zweiten wurde sogennantes Interlaced Scanning eingeführt, dass in der Inquiry- und in der
Paging-Phase zum Einsatz kommt und die Antwortzeit nochmals halbiert. Im Wesentlichen damit wurde
die Möglichkeit geschaffen, die beteiligten Frequenzen schneller abzusuchen als in Bluetooth 1.1
(genauere Beschreibung siehe [32] und [BCOR03]).
- 90 -
Abbildung 48: Faster Connections [32]
Bei allen Veränderungen ist die Faster Connection jedoch immer noch abwärtskompatibel zu den
vorhergehenden Bluetooth-Varianten, wobei Geräte nach älterem Standard natürlich die verbesserten
Verbindungszeiten nicht erreichen.
2.6.2 Adaptive Frequency Hopping
Mit der wahrscheinlich größten Innovation, der Einführung von Adaptive Frequency Hopping,
begegnet Bluetooth der Herausforderung, nicht nur selbst störsicher zu sein, sondern auch andere
Technologien nicht über Gebühr zu stören. Insbesondere 802.11-WLANs wurden durch Bluetooth-Geräte
in räumlicher Nähe bisher oft empfindlich gestört.
Dazu wird die Hopping-Sequenz dynamisch verändert; es können Frequenzen, auf denen vermehrt
Störungen aufgetreten sind oder die von anderen Technologien benutzt werden, aus der Hopping-Sequenz
ausgeschlossen werden, wodurch diese von 79 auf bis zu 20 Hops reduziert werden kann. Außerdem
antwortet der Slave dem Master nun immer auf jener Frequenz, auf der auch der Master gesendet hat, was
das Erkennen von gestörten Kanälen erst möglich macht (ansonsten könnte die Hin- oder die RückFrequenz gestört sein).
- 91 -
Die aktuelle Hopping-Sequenz wird mittels LMP-Paketen, die jeweils eine Channel-Map
enthalten, vom Master an die Slaves übermittelt. In diesen Maps sind alle jene Frequenzen maskiert, die
nicht mehr benutzt werden dürfen. [32][26][BCOR03]
Abbildung 49: Frequency-Maps [32]
2.6.3 Enhanced SCO
SCO-Verbindungen wurden dahin gehend erweitert, als dass es nun möglich ist, auch SCO-Pakete
erneut zu senden, wenn sie korrumpiert wurden. Dazu wurden drei neue Pakettypen eingeführt (EV3,
EV4, EV5), die sich von den bekannten HVx-Paketen darin unterscheiden, dass sie zusätzlich ein CRCFeld enthalten, die Fehlererkennung und in weiterer Folge Neuübertragung erst ermöglicht. Damit ist es
nun auch möglich, Daten über SCO-Verbindungen zu übertragen. [32]
2.6.4 L2CAP error and flow control
L2CAP wurde ebenfalls hinsichtlich der Fehlersicherheit erweitert. Dazu wurden auch hier CRCFelder eingeführt, zusätzlich existieren Flow-Control-Bits, die zusammen mit den ebenfalls neuen
Sequence- und Acknowledge-Numbers eine Neuübertragung von fehlerhaften Paketen nun auch auf Ebene
- 92 -
des L2CAP-Protokolls ermöglichen (bisher wurde von L2CAP die Verbindung unterbrochen, wenn es
dem Baseband nicht möglich war, das Paket innerhalb einer vorgegebenen Zeit zu übertragen).
[32][BCOR03]
Abbildung 50: Die neue L2CAP-Architektur [BCOR03]
2.6.5 Enhanced Quality of Service
Mit Enhanced Quality of Service ist es nun möglich, gewissen Verbindungen verbindlich höhere
Prioritäten einzuräumen, um zum Beispiel in einem Piconetz unterbrechungsfrei Musik hören zu können,
während gleichzeitig der Drucker oder die Maus bedient wird. Dies war bei Verwendung der
Spezifikation 1.1 zwar ebenfalls möglich aber schwerer handlebar und unzuverlässiger, da zwischen den
L2CAP und HCI-Definition von QoS Differenzen auftraten. Außerdem ist QoS nun auch bidirektional
nutzbar (bisher galt das konfigurierte QoS nur jeweils unidirektional). [32][26]
2.6.6 LMP & HCI Improvements
Das Link Manager Protocol wurde insofern verbessert, als dass durch die Erhöhung der OpCodeSize von 7 auf 15 Bit die Anzahl der möglichen Befehle erhöht wurde. Weiters wurde die
Vorgehensweise beim Empfang eines ungültigen OpCodes spezifiziert.
- 93 -
Das Host Controller Interface kennt nun zwei neue Befehle, mit denen einerseits der LMP-Handle
für SCO-Verbindungen abgefragt werden kann und anderseits die Bluetooth Clock eines Devices und
deren Genauigkeit abgefragt werden können.
2.6.7 Verworfene Verbesserungen
Bis kurz vor der Veröffentlichung der Spezifikation 1.2 waren noch zwei weitere Verbesserungen
geplant, die aber auf Grund von mehreren ungeklärten technischen Fragen wieder verworfen wurden:
Anonymity Mode
Scatter Mode and Absence Masks
Der Anonymity Mode hätte den Vorteil gebracht, dass Geräte, die sich in ein Piconetz einbinden,
nicht von vorne hinein ihre Adresse preisgeben müssen. Der Verbindungsaufbau mit dem Master erfolgt
mittels einer zufällig gewählten Adresse. Die realen Adressen werden erst ausgetauscht nachdem diese
Verbindung gesichert ist. Die Verbindung wird dann wieder getrennt und mittels der realen Adressen
wieder aufgebaut. Derzeit gibt ein Gerät schon mit der ersten Antwort auf ein Inquiry seine Adresse preis.
Scatter Mode and Absence Masks bringen Vorteile im Management von Scatternets und erhöhen
die Effizienz der Kommunikation in diesen. Der Scatter Mode definiert periodische Pakete, die vom
Master zu Synchronisierungszwecken an die Slaves gesendet werden. Dies erlaubt es den Devices, die die
Schnittstelle in Scatternets bilden, also in zwei Piconets enthalten sind, die Zeiten, in denen in einem
Piconet gehorcht wird, zu optimieren. Mit Absence Masks können Zeitspannen festgelegt werden, in
denen ein Device in einem Piconet nicht aktiv teilnimmt. Absence Masks können also von dem
Scatternet-Device genutzt werden, um einem Master mitzuteilen, dass gerade mit dem anderen Master
kommuniziert wird. [32]
2.7
Performance
Für viele Anwendungsszenarien mit bewegten Bluetooth-Geräten spielt die Performance eine
große Rolle, weshalb in diesem Kapitel auf entsprechende empirische Ergebnisse und
Simulationsmöglichkeiten eingegangen wird.
2.7.1 Performance-Evaluation durch empirische Analyse
Ein wesentlicher Punkt für den Einsatz von Bluetooth in mobilen Umgebungen ist die Dauer des
Verbindungsaufbaus zwischen zwei bewegten Bluetooth-Geräten. Dauert dieser zu lange, kann es
- 94 -
passieren, dass kein Verbindungsaufbau zustande kommt oder nicht mehr genug Zeit bleibt die
gewünschten Daten zu übertragen. Nach der Bluetooth-Spezifikation beträgt die maximale Zeit für den
Verbindungsaufbau 10 sec. Experimente von [Murp02] mit fünf Bluetooth-Geräten – diese befanden sich
in Sichtweite auf offenem Gelände ohne störende Interferenzen – haben nach über 500 Testläufen
ergeben, dass der Median für den Verbindungsaufbau zwischen Master und einem der Slaves unter 2 sec
liegt.
Überraschende Ergebnisse zeigten sich auch bei der Reichweite. Laut Spezifikation liegt sie für
Klasse 1-Geräte bei 100 m und für Klasse 2-Geräte bei 20 m. Die Experimente von [Murp02] haben
allerdings ergeben, dass Klasse 1-Geräte eine Reichweite von bis zu 250 m und Klasse 2-Geräte von bis
zu 122 m haben, wobei die Datenrate über die gesamte Reichweite nahezu konstant hoch bleibt (siehe
Abbildung 51). [Murp02]
Abbildung 51: Reichweite vs. Durchsatz [Murp02]
2.7.2 Performance-Evaluation durch Simulation
Der BlueHoc-Simulator [65] – derzeit in Version 2.0 erhältlich – ist eine Erweiterung für den
Netzwerksimulator ns-2 um Bluetooth-Netzwerke zu simulieren und steht unter der IBM Public License
- 95 -
(IPL) von IBM developerWorks zum Download bereit. BlueHoc simuliert die unteren Schichten Radio
(GFSK-Modulation, Frequency Hopping, statistische Modelle für Paketverluste etc.) und Baseband
(Unterstützung von Inquiry, Paging, Polling, ACL und ARQ, Zustandsmaschine für den Link Controller)
des Bluetooth Protokollstacks sowie LMP und L2CAP (Simulation der Signalisierung für den
Verbindungsaufbau, Unterstützung mehrerer gleichzeitiger L2CAP-Verbindungen, Segmentierung,
Reassemblierung, Protokoll-Multiplexing etc.).
BlueHoc versteht sich als Plattform, um die Leistung von Bluetooth-Systemen zu evaluieren und in
weiterer Folge zu verbessern:
Messung der Leistungsfähigkeit beim Device Discovery
Nachvollziehen des Verbindungsauf- und -abbaus
Betrachtung des Wirkens von QoS-Maßnahmen
Performance von auf TCP/IP basierenden Anwendungen
Erfassung von Daten bei verschiedenen Innenraumverhältnissen
Der Netzwerksimulator ns-2 [64] ist ein objektorientierter diskreter Open Source-EreignisSimulator für die Netzwerkforschung und ist in diesem Bereich ein de-facto-Standard; ein anderer
bekannter Simulator ist OpenNet. ns-2 unterstützt Simulationen von TCP, Routing und MulticastProtokollen über drahtgebundene sowie drahtlose Netzwerke, ist in C++ geschrieben und nutzt OTcl für
graphische Oberflächen zur Erzeugung von Simulationsszenarien. Bzgl. der Verwendung von ns-2 ist
allerdings negativ anzumerken, dass die Dokumentation relativ schlecht und ein hoher
Einarbeitungsaufwand erforderlich ist. Zu ns-2 gibt es noch den Netzwerk-Animator NAM, der ein
Visualisierungstool für ns-2 ist und verwendet werden kann, um die durch ns-2 erzeugten
Simulationsergebnisse darzustellen.
Auf die Installation von ns-2 und BlueHoc wird an dieser Stelle nicht eingegangen, entsprechende
Installationsanleitungen finden sich unter [64] und [65].
Nach erfolgter Installation können Simulationsszenarien via Tcl textuell erstellt werden, BlueHoc
bietet aber auch eine grafische Unterstützung (siehe Abbildung Abbildung 52). Das Setzen der einzelnen
Bluetooth-Geräte erfolgt mit der rechten Maustaste, wobei beim ersten Mal der Master und anschließend
die Slaves gesetzt werden. Durch einen Doppelklick können die Knoten konfiguriert werden:
Konfiguration des Masters: Startzeit in Sekunden, Inquiry TimeOut, Anzahl der
Antworten auf das Inquiry
Konfiguration des Slaves: Startzeit in Sekunden (typischerweise nach dem Master),
Startzeit des Inquiry Scans
- 96 -
Abbildung 52: Konfiguration des Masters [65]
Bei der Konfiguration der Links kann man als Applikation zwischen FTP, Telnet und einer
Sprachverbindung wählen. Die Simulation kann schließlich mit einem run-Kommando über die Konsole
gestartet werden. Beginnend mit dem Master werden die Knoten durchnummeriert und man kann das
Aussenden von Inquiry-Paketen erkennen; durch Farbe und Kennzeichnung kann man die Zustände
(Standby, Inquiry, Parked), in denen sich die Geräte befinden, erkennen. Der Signalisierungsablauf kann
auf der Konsolenausgabe verfolgt werden, die auch zusätzliche Informationen zur grafischen Ausgabe
enthält. Am Ende befinden sich alle Geräte im Zustand Connection, und die eigentliche Übertragung, die
an den visualisierten Paketen erkennbar ist, läuft. Abbildung 53 zeigt die Simulation eines Piconetzes mit
einem Master und drei Slaves, die sich in unterschiedlichen Zuständen (Connected, Standby, Inquiry
Scan und Page) befinden. [Merk02] [65]
- 97 -
Abbildung 53: Visualisierung einer Bluetooth-Simulation mit NAM [70]
BlueWare 1.0 [71] ist eine Weiterentwicklung von BlueHoc zur Performance-Evaluation von
Bluetooth Piconetzen und Scatternetzen, wobei ein Großteil des Codes von BlueHoc überarbeitet und um
viele zusätzliche Funktionen erweitert wurde. Blueware implementiert die meisten Teile des Bluetooth
Protokollstacks der Version 1.1 (siehe Abbildung 54). [Tan02]
- 98 -
Abbildung 54: Gegenüberstellung Bluetooth-Stack und Blueware-Module [Tan02]
2.8
Bewertung
Betrachtet man den aktuellen Entwicklungsstand der Bluetooth-Technologie, so fällt zuerst auf,
dass das Ziel, einen möglichst einfachen und klaren Standard zu definieren, klar verfehlt wurde. Die
Bluetooth-Spezifikation 1.2 ist auf 1200 Seiten angewachsen, dazu kommen nochmals ca. 1000 Seiten an
Profil-Spezifikationen. Diese Komplexität liegt aber vor allem in der ungeheuren Vielseitigkeit von
Bluetooth begründet.
Die Bluetooth-Technologie kann in Anbetracht der spezifizierten Profile und Einsatzszenarien in
annähernd jedem Bereich der Short-Range-Daten- und Audio-Übertragung eingesetzt werden. In den
jeweiligen Einzelbereichen mag es Technologien geben, die performanter als Bluetooth sind und besser
geeignet erscheinen, hinsichtlich der Vielseitigkeit und der Kostengünstigkeit bleibt Bluetooth aber
derzeit unerreicht. Im Bereich der Short-Range-Audio-Übertragung ist Bluetooth sogar die eindeutig
beste Lösung, solange keine HiFi-Qualitätsansprüche gestellt werden (Headset-Szenario). Bluetooth war
auch die erste Technologie, der von der IEEE – unter der Bezeichnung 802.15.1 – standardisiert wurde.
Die Möglichkeit, einerseits synchrone aber unzuverlässige Datenübertragung und andererseits
asynchrone aber verlässliche Datenübertragung „gleichzeitig über den gleichen Funkkanal“ (eigentlich
- 99 -
gemultiplext und unter Einsatz von Frequency Hopping) zu realisieren, ist ein einzigartiges Feature von
Bluetooth und muss an dieser Stelle als großer Pluspunkt vermerkt werden.
Bluetooth zeigt sich aufgrund des eingesetzten Frequenzsprungverfahrens äußerst robust
gegenüber Störungen, so dass es auch im industriellen Umfeld eingesetzt werden kann. Die Ausnutzung
des gesamten verfügbaren Spektrums verursacht aber immer wieder Störungen von anderen im 2,4-GHzBand funkenden Technologien wie 802.11b. Das mit Bluetooth 1.2 eingeführte Adaptive Frequency
Hopping schafft hier Abhilfe und ermöglicht ein „friedliches“ Nebeneinander der verschiedenen
Funktechnologien.
Der Verbindungsaufbau von Bluetooth-Geräten dauert derzeit inakzeptabel lange: Es werden bis
zu 10 Sekunden benötigt, bis neue Geräte gefunden werden. Die Spezifikation 1.2 schafft hier Abhilfe,
die maximale Verzögerung wird auf 25 % Prozent – also 2,5 Sekunden – gesenkt. Je nach
Anwendungsfall kann die hohe Verzögerung zwar unkritisch sein, betrachtet man aber zum Beispiel sich
aneinander vorbeibewegende Geräte, so macht diese Schwäche eine Verbindungsaufnahme im
Normalfall gänzlich unmöglich.
Ein Bluetooth-Piconetz ist auf 8 aktive Geräte beschränkt. Für Standard-Anwendungen wird das
ausreichen, ein komplexeres Sensornetzwerk wird damit aber nur schwer aufgebaut werden können
(außerdem gibt es für diesem Bereich besser geeignete Technologien). Der Standard kennt auch
Scatternetze, bei denen sich ein Gerät in zwei Piconetzen befindet und diese so verbindet. Uns sind
derzeit jedoch keine Consumer-Geräte bekannt, die Scatternetze unterstützen; somit ist die Anwendung
dieser Betriebsart im Moment eher schwierig. Die Anzahl der Geräte in einem Piconetz kann auch erhöht
werden, indem diese passiv warten, bis sie vom Master wieder aktiviert werden. Zwar können bis zu 255
Geräte in diesem Modus verwaltet werden, die Aktivierungszeiten sind jedoch so hoch, das ein ständiges
Switching zu erheblichen Leistungseinbußen führen würde.
Die Quality-of-Service-Unterstützung ist bis Bluetooth 1.1 eher rudimentär und nicht verlässlich.
Der Standard sieht verpflichtend lediglich eine Best-Effort-Unterstützung vor, alle darüber hinaus
gehenden Modi sind optional. Ab Bluetooth 1.2 ist das Quality-of-Service-Management soweit
verbessert, dass bei störungsfreier Funkverbindung die Datenrate einzelner Kanäle garantiert werden
kann.
Das Service-Management von Bluetooth bietet mit dem Service-Discovery-Protocol ein mächtiges
Werkzeug zur Veröffentlichung und Suche von Diensten innerhalb eines Piconetzes. Die Verwendung
von 128-bit-UDDIs zur Service-Identifikation stellt hinsichtlich der Erweiterbarkeit keinerlei Grenzen
auf. Hervorzuheben ist auch die Möglichkeit, die Services eines Gerätes hierarchisch zu durchsuchen um
so einen Überblick über dessen Fähigkeiten zu erhalten.
- 100 -
Eines der wichtigsten Features von Bluetooth ist die Fähigkeit, bestehende drahtgebundene
Schnittstellen wie RS232, USB oder ISDN zu emulieren und so die Möglichkeit zur Wiederverwendung
bestehender Software und Treiber zu ermöglichen. Insbesondere von der Möglichkeit der Emulation einer
oder mehrerer RS232-Schnittstellen über RFCOMM wird schon im Standard selbst ausgiebig Gebrauch
gemacht, setzt doch via PPP der gesamte Internet-Stack auf dieser emulierten seriellen Schnittstelle auf.
Die schon erwähnte Vielseitigkeit von Bluetooth schlägt sich auch in der Spezifikation der Profile
nieder. Während in der ersten Tranche die Anwendungsszenarien der dort spezifizierten Profile noch
weitgehend disjunkt waren, zeigt sich seit der Veröffentlichung der neueren Profile im Mai 2003 ein
gewisser Hang zur Redundanz, was die Anwendbarkeit bestimmter Szenarien betrifft. So unterscheiden
sich die Profile „Headset“ und „Hands-Free“ nur in kleinen Details, Ethernet-Traffic kann jetzt nicht nur
via RFCOMM und PPP sondern auch direkt mittels dem PAN-Profil und dem Bluetooth Network
Encapsulation Protocol via L2CAP in ein Piconetz eingeschleust werden. Ob diese Vielseitigkeit jedoch
ein Vorteil ist, darf bezweifelt werden, da nun die Interoperabilität von mehreren Geräten innerhalb eines
Anwendungsszenarios nicht mehr gegeben ist. Ein nicht zu bestreitender Vorteil ist jedoch, dass die
neuen Profile die Realisierung von Anwendungsszenarien auf einer niedrigeren Ebene im Protokollstack
ermöglich, was eine Vereinfachung der Hardware besonders auf kleinen Endgeräten ermöglicht. So ist es
zum Beispiel möglich, Eingabegeräte wie Mäuse nun via HID-Profil direkt auf L2CAP aufsetzen zu
lassen, wo früher eine Implementierung des Serial Port Profiles mit RFCOMM notwendig war.
Folgende Tabelle sollte noch einmal die Eigenschaften und Einschränkungen von Bluetooth
zusammenfassen:
- 101 -
Tabelle 1: Bluetooth Eigenschaften und Einschränkungen [Bray02]
Eigenschaften
Beschränkungen
Point to Point- und Point to Multipoint-
Beschränkung
Verbindungen
Piconetz, beschränkte Erweiterung via
Scatternetz
Sprach- und Datenverbindungen
Geringe Reichweite
Kompakt und billig
Kein Handover möglich
Geringer Stromverbrauch
Maximale Datenrate von 723,2 kBit/s
Robustes Frequenzsprungverfahren,
Verwendung des überfüllten ISM-
Fehlerkorrektur
Bandes
Profile sichern Interoperabilität auf
Langsamer Verbindungsaufbau
auf
8
Geräte
pro
Anwendungsebene
Hohe Sicherheit durch
Frequenzsprungverfahren,
Verschlüsselung und Authentifizierung
Nutzung des lizenzfreien ISM-Bandes
Viele der noch bestehenden Probleme sollen mit Versionsnummer 2.0, die aber nicht vor 2004
erwartet wird, behoben werden (siehe dazu auch Kapitel 3.6, Bluetooth 2.0).
- 102 -
3 Verwandte Technologien
3.1
IrDA
IrDA (Infra Red Data Association) [67] ist ein Standard zur drahtlosen Datenübertragung mittels
Infrarot-Strahlung. IrDA ist seit 1994 verfügbar und wurde zur drahtlosen Kommunikation mit
Peripheriegeräten und zur Short-Range-Datenübertragung konzipiert. Der Standard steht hinsichtlich
seiner Einsatzgebiete also in direkter Konkurrenz mit Bluetooth.
Es existieren zwei unterschiedliche Standards zur Abdeckung der verschiedenen Einsatzgebiete.
IrDA-DATA wurde zur drahtlosen Übertragung von Daten zwischen zwei Endgeräten konzipiert und
bietet einen maximalen Datendurchsatz von 1,152 MBit/s (SIR, Serial Infrared), 4 MBit/s bei einer
maximalen Reichweite von 2 Metern (FIR, Fast Infrared) oder 16 MBit/s bis maximal 20 cm (VFIR,
Very Fast Infrared). Durch den Einsatz von CRC wird eine fehlerfreie Datenübertragung gewährleistet,
Verschlüsselungsmechanismen sind nicht vorgesehen.
IrDA-CONTROL bietet Funktionalitäten zur drahtlosen Kommunikation mit Endgeräten wie
Tastatur, Maus oder Drucker. Diese Spezifikation bietet einen maximalen Datendurchsatz von 75
kBit/sec bei einer Reichweite von mindestens 5 Metern. Dabei ist ein Multiplexing-Mode vorgesehen, der
eine 1:n-Verbindung mit max. 8 Peripheriegeräten gleichzeitig erlaubt.
IrDA war einige Jahre der Standard zur Lösung des „Last-Meter-Problems“ und steht damit in
direkter Konkurrenz zu Bluetooth: Es bietet zwar höhere Datenraten, benötigt aber eine Sichtverbindung
und hat eine geringere Reichweite als Bluetooth. Auch heute noch kommt fast jedes mobile Endgerät mit
einer IrDA-Schnittstelle. In Bluetooth wurde der weiten Verbreitung von IrDA und der großen Anzahl
von verfügbaren Anwendungen insofern Rechnung getragen, als dass das OBEX-Protokoll, dass aus der
IrDA-Welt kommt, in den Protokollstack mit aufgenommen wurde, um eine reibungslose Transition zu
ermöglichen. [Bray02] [Mobi03]
3.2
WLAN (802.11x)
WLAN (wireless LAN) der IEEE 802.11x-Familie [10] ist eine drahtlose Netzwerkinfrastruktur,
die sich heute weitgehend durchgesetzt hat. Es ist zur Erweiterung oder zum Ersatz von drahtgebundenen
- 103 -
Netzwerken konzipiert. Im Normalfall bestehen WLANs aus mindestens einem Accesspoint, der als
Übersetzer vom drahtgebundene ins drahtlose Netzwerk fungiert, sowie einer Menge von Endgeräten. Es
sind aber auch Peer-to-Peer-Vernetzungen ohne Accesspoint möglich.
Abbildung 55 WLAN-Infrastruktur [Mobi03]
Der aktuelle Standard, der in Europa derzeit zur Anwendung kommt, ist IEEE 802.11b, der eine
Datenübertragung mit bis zu 11 MBit/sec erlaubt. Der kommende Standard IEEE 802.11g ermöglicht
eine Datenrate von bis zu 54 Mit/sec; erste Adapterkarten und Access-Points für diese Technologie sind
bereits verfügbar.
WLAN erlaubt neben der Kommunikation über Access-Points, die untereinander drahtgebunden
vernetzt sind, auch eine Peer2Peer-Vernetzung zum unmittelbaren Datenaustausch zwischen
Endstationen. Optional ist eine Roaming-Funktionalität verfügbar, so dass eine Station, deren Verbindung
schlecht ist, automatisch einen Accesspoint mit besserer Verbindung auffinden und sich mit diesem
verbinden kann.
Problematisch beim IEEE 802.11b-Standard ist die mangelhafte Sicherheit durch den Einsatz der
relativ einfach zu knackenden Wireless Equivalent Privacy (WEP)-Verschlüsselung. Durch ein
ausreichend langes Abhören des Netzwerkverkehres kann mit einfachsten (Software-)Mitteln Zugang zu
einem WLAN erlangt werden. Dies ist umso sicherheitskritischer, als dass der Empfangs- & SendeBereich von WLANs nicht an Gebäudegrenzen endet sondern unter Umständen auch auf angrenzenden
öffentlichen Straßen verfügbar ist.
WLANs sind mittlerweile schon in vielen Unternehmen und Universitäten, aber auch an
öffentlichen Plätzen wie Flughäfen und Bahnhöfen verfügbar. Problematisch ist im Moment noch die
Zugangsregelung zu WLANs, es existiert kein Anbieter-übergreifendes Roaming wie bei GSM-Netzen.
- 104 -
Derzeit ist noch weitgehend eine Registrierung für jedes WLAN notwendig, mit steigender Verbreitung
sollte sich aber auch in diesem Bereich eine Lösung abzeichnen. Technisch gesehen wird sich in den
nächsten Jahren der Standard IEEE-802.11g durchsetzen. [Mobi03]
Bluetooth und 802.11x sind nicht als Konkurrenz zueinander zu sehen, vielmehr ergänzen sie sich
und decken verschiedene Bereiche des Anwendungsspektrums ab.
3.3
DECT
DECT ist eine mittlerweile schon betagte Technologie, die mit niedrigen Kosten, hohem
Datendurchsatz und besonderen technischen Eigenschaften eine interessante Technik für Sprach- und
Daten-Kommunikation darstellt. Das Zugriffsverfahren TDMA (Time Division Multiple Access) erlaubt
sehr viele gleichzeitige Nutzer in einer Zelle. Die Sprach-Codierung ADPCM (Adaptive Differential
Pulse Code Modulation) sorgt für eine hohe Sprachqualität. Das Verfahren, das die Qualität der
Funkkanäle kontrolliert und dafür sorgt, dass diese immer optimal ist, heißt DCS/DCA (Dynamic
Channel Selection / Allocation). Weitere Features sind Verschlüsselung, intelligente Mechanismen, um
die Akku-Lebensdauer mobiler Geräte zu maximieren und Übergänge zu wichtigen anderen Netzen wie
ISDN und GSM. [30]
DECT ist durchaus auch für WPANs zu verwenden, es bietet aber abgesehen von der großen
Verbreitung und der hohen Anzahl verfügbarer Geräte keine Vorteile gegenüber Bluetooth, welches
DECT in beinahe allen Bereichen an Leistung übertrifft. Deshalb ist nicht zu erwarten, dass sich DECT
gegenüber Bluetooth erfolgreich positionieren kann. [DECT02]
3.4
HiperLAN2
HiperLAN2 ist ein 54 Megabit pro Sekunde schneller Standard für WLANs, steht also nicht in
direkter Konkurrenz zu WPAN-Technologien wie Bluetooth oder ZigBee. HiperLAN2 nutzt das 5-GHzBand und wurde von dem ETSI (European Telecommunication Standards Institute) [6] und dem BRAN
(Broadband Radio Access Network) entwickelt. Damit steht HiperLAN2 in direkter Konkurrenz zu IEEE
802.11g, dem Nachfolger des derzeitigen, 11 MBit/s schnellen Standards IEEE 802.11b ("Wi-Fi" [56]).
Anders als z.B. in den USA ist das 5-GHz-Frequenzband in Europa nicht zur allgemeinen Nutzung
freigegeben, sondern für spezielle Kommunikations-Anwendungen wie HiperLAN2 reserviert. Auf diese
Weise kann ein relativ störungsfreier Betrieb gewährleistet werden, da keine anderen Geräte (wie
Funkgeräte oder auch Mikrowellen-Öfen) das Signal stören können. [31]
- 105 -
Trotzdem ist eher nicht zu erwarten, dass sich HiperLAN2 durchsetzen wird, da Netzwerke nach
802.11x heute schon so weit verbreitet sind, dass der Umstieg auf eine vollkommen neue Technologie
eher schwer durchzusetzen sein wird.
3.5
ZigBee
Eine völlig neuartige Technologie zur drahtlosen Datenübertragung ist ZigBee [68]. Sie ist durch
niedrige Übertragungsgeschwindigkeiten, geringe Kosten sowie einen beinahe vernachlässigbaren
Stromverbrauch charakterisiert und eignet sich hauptsächlich für Telemetrie-Applikationen wie
beispielsweise der Fernüberwachung durch automatische Übertragung von Messwerten bzw. Messdaten
und zur Fernsteuerung.
Die Entwicklung des Standards durch die ZigBee Alliance gemeinsam mit dem IEEE (im Rahmen
von 802.15.4) soll noch 2003 abgeschlossen sein; ob dieses Ziel erreicht wird, ist jedoch fraglich. Mit der
Verfügbarkeit des Final-Standards ist eher erst im Laufe des Jahres 2004 zu rechnen, erste Geräte werden
mit Ende 2004 kommerziell erhältlich sein. Das ZigBee-Konzept wurde federführend von Philips,
Motorola, Honeywell und Invensys entworfen. An der Definition des Standards arbeiten mehr als 20
Unternehmen mit, darunter vor allem Halbleiterhersteller und OEMs (Original Equipment
Manufacturers).
Das Netz wird in drei Frequenzbereichen arbeiten können: Im lizenzfreien 2,4 GHz ISM-Band
(Industrial-Scientific-Medical), im europäischen 868 MHz-Band und im US-amerikanischen 915 MHz
ISM. Die Übertragungsgeschwindigkeit erreicht bei 2,4 GHz 250 kBit/s (in den niedrigeren
Frequenzbändern 20 bzw. 40 kBit/s), die Reichweite 10 bis maximal 75 Meter.
Bemerkenswert ist der geringe Energieverbrauch. Bei überwiegendem Stand-by-Betrieb und
jeweils nur kurzen Aktivierungszeiten kann ein ZigBee System mit zwei gewöhnlichen AA-Batterien bis
zu zwei Jahre betrieben werden.
Das mögliche Anwendungsfeld reicht von der Haustechnik mit Steuerung bzw. Regelung von
Heizung / Klima / Lüftung, Beleuchtung und Jalousien, Rauchmeldern und Schadstoffdetektoren über
Türöffner bis zu Alarmanlagen und Notrufsysteme für ältere oder behinderte Menschen. Auch UniversalFernbedienungen für TV-Geräte und HiFi-Anlagen können damit gesteuert werden. Bei entsprechender
Ausstattung von „Weißer Ware“ werden sich auch Waschmaschinen oder Geschirrspüler mit ZigBee
bedienen lassen. ZigBee kennt dabei zwei verschiedene Arten von Devices:
Full Function Devices implementieren die gesamte ZigBee-Funktionalität, können als
Coordinator fungieren und mit jeder der in Abbildung 56 gezeigten Topologien umgehen.
- 106 -
Reduced Function Devices haben eine extrem einfache Architektur und niedrigen
Energiebedarf, können aber nur in Stern-Topologien eingesetzt werden und nur direkt mit
dem Coordinator kommunizieren, der immer ein Full Function Device sein muss.
Abbildung 56: Mögliche Netztopologien in ZigBee [27]
Der niedrige Investitionsaufwand und die mögliche Größe der Netze werden nach den Prognosen
der Initiatoren eine rasche Verbreitung fördern: Die Materialkosten für das Funkmodul werden zunächst
bei 6 USD pro Stück liegen, aber schnell auf 2 bis 3 USD sinken – weniger als jeder andere Prozessor für
Funksysteme kostet. Ein ZigBee Netz kann aus einem Master und bis zu 254 Clients bestehen; am
gleichen Ort können bis zu 100 Netze eingerichtet werden. Die einzelnen Clients – die natürlich von
verschiedenen Herstellern stammen können - lassen sich problemlos anbinden.
Erste Prognosen gehen davon aus, dass in sechs bis sieben Jahren die Haustechnik mit einem
Marktanteil von zwei Drittel das dominierende ZigBee Anwendungsfeld sein wird. Die Zahl der Clients
in einem Haus könnte im Durchschnitt bei 50, nach optimistischen Schätzungen sogar dreimal so hoch
liegen.
Zum Schutz vor unbefugtem Zugriff auf Daten werden vom IEEE gegenwärtig geeignete
Verschlüsselungsmethoden evaluiert, die – abhängig vom konkreten Bedarf – implementiert werden
können.
- 107 -
Die gemeinsame Nutzung des 2,4 GHz Frequenzbandes durch Bluetooth und ZigBee dürfte keine
Probleme verursachen: Da die Arbeitszyklen in ZigBee-Netzen seltener und kürzer sind, ist die
Wahrscheinlichkeit von Störungen einer Bluetooth Übertragung gering. Sollte umgekehrt ein Bluetooth
Datentransfer das konkurrierende ZigBee Netz beeinträchtigen, würden etwa zerstörte Datenpakete
neuerlich gesendet.
Funktechnisch unterscheidet sich ZigBee klar von Bluetooth. Ein Datenpaket ist bei ZigBee mit 28
kByte deutlich kleiner als bei Bluetooth (250 kByte) und die Übertragungsgeschwindigkeit mit 250 kBit/s
gegenüber 1 Mbit/s deutlich niedriger. Hingegen ist ZigBee’s Vernetzungsfähigkeit von insgesamt 250
Geräten (gegenüber acht bei Bluetooth) und die Reichweite mit durchschnittlich 30 m (gegenüber etwa
10 m) höher. Bluetooth ist für die drahtlose Übertragung großer Datenmengen bestimmt, etwa zwischen
Mobiltelefon und Headset. ZigBee kann seine Stärke beim Transport geringer Datenmengen – zum
Beispiel für Steuersignale oder in Sensornetzwerken (Wireless Sensor Networks) – entfalten. In einem
schmalen Segment stehen beide Technologien jedoch durchaus in Konkurrenz zueinander – etwa bei
kabellosen Computertastaturen oder Funk-Mäusen. [FMK02] [27]
3.6
Bluetooth 2.0
Über die Bluetooth-Spezifikation 2.0 ist noch sehr wenig bekannt, es existiert lediglich eine kurze
Stellungnahme des Ericsson-Chefentwicklers Jan Haartsen, die jedoch schon von Mitte 2003 datiert. Es
ist davon auszugehen, dass der Standard zwar schon weitgehend ausgearbeitet ist, da ursprünglich eine
Veröffentlichung schon für Ende 2003 kolportiert wurde; aus der Bluetooth SIG dringen hier jedoch
keine Informationen nach außen. Durch die Veröffentlichung der Spezifikation 1.2 im November 2003 ist
davon auszugehen, dass Bluetooth 2.0 noch einige Zeit auf sich warten lässt.
Dennoch steht wohl schon fest, dass Bluetooth 2.0 mit Bruttotransferraten von 4, 8 und 12 MBit/s
operieren soll. Die Reichweite bleibt jedoch auch weiterhin auf 10 Meter beschränkt. Die höheren
Transferraten erzielt das Verfahren durch die Nutzung eines Schmalbandkanals unter Verzicht auf
Bandspreizung sowie die Nutzung von verteilten MAC-Protokollen, erläuterte Haartsen.
Die
neuen
Protokolle
beseitigen
das
Master/Slave-Problem
derzeitiger
Piconets,
die
zusammenbrechen, sobald der Master das Netz verlässt. Bei Bluetooth 2.0 operiert jedes Device als
"Supervisor" und erhält gegebenenfalls das Piconet aufrecht. Zudem implementieren die Bluetooth 2.0Protokolle die Fähigkeit zu Broad- und Multicasting. [28]
- 108 -
Die neuen Fähigkeiten sind allerdings mit einer gegenüber Bluetooth 1.0 verdoppelten
Stromaufnahme zu bezahlen. Der Chipsatz-Preis soll sich gegenüber den jetzigen Varianten jedoch um
maximal 20 Prozent erhöhen. [28]
3.7
Ultra Wideband
Utra Wideband (UWB) [69] ist ein vollkommen neuer Ansatz für die Übertragung von Daten mit
hoher Geschwindigkeit. Daten werden mittels einer Folge von extrem kurzen Pulsen übertragen, wobei
eine extrem große Bandbreite verwendet wird. Die verwendete Sendeleistung kann dabei jedoch so gering
gehalten werden, dass der Signalanteil auf einzelnen Frequenzen kleiner als das Rauschen in
schmalbandigen Übertragungsverfahren ist und damit keine bestehenden Systeme beeinflussen sollte. In
der Praxis ergeben sich mehr oder weniger große Störungen (je nach untersuchender Stelle).
Abbildung 57: Frequenzspektrum bei Ultra Wideband [29]
UWB wurde im Februar 2003 von der FCC (Federal Communications Commission,
Fernmeldebehörde der USA) zur Verwendung zugelassen, eine weltweite Genehmigung durch die ITU
steht noch aus, auch haben noch keine Staaten außer den USA UWB zur Verwendung freigegeben.
UWB selbst legt nur das Konzept einer breitbandigen Datenübertragung fest, die konkrete
Implementierung wie zum Beispiel auch das eingesetzte Modulationsverfahren bleiben den jeweiligen
Herstellern überlassen. Es existieren jedoch bereits Standardisierungs-Initiativen wie zum Beispiel IEEE
802.15.3a [11], die den Einsatz von UWB für WPANs standardisieren sollen. Dieser Standard soll im 2.
Halbjahr 2004 finalisiert werden.
- 109 -
Allen Varianten von UWB ist jedoch gemein, dass sie zur Übertragung extrem kurze Pulse (<1 ns)
mit hohen Wiederholungsraten (>1 GHz) verwenden, wobei die Codierung von Binärinformationen je
nach eingesetztem Verfahren in verschiedenen Parametern der Pulsfolge liegt.
Theoretisch könnten mit der in den USA genehmigten UWB-Spezifikation bis zu 500 MBit/s auf
eine Distanz von bis zu 100 Metern erreicht werden. Realistisch ist dieses Ziel jedoch mit der heute
verfügbaren Technik noch nicht, es werden im Moment eher 100 MBit/s auf 10 Meter oder bis zu 450
MBit/s auf noch kürzere Distanzen angepeilt.
3.8
WiMedia
WiMedia ist ein Standard, der auf dem IEEE 802.15.3 Standard [11] aufbaut und verwendet
werden soll, um Multimedia-Daten im WPAN-Bereich zu übertragen. Das WiMedia-Konsortium unter
der Mitwirkung von Kodak, HP, Motorola, Philips, Samsung, Sharp und anderen spezifiziert jedoch nicht
die physikalische Übertragungsschicht sondern nur die darauf aufsetzenden Protokolle.
Die Schnittstelle ist das in 802.15.3 spezifizierte MAC-Protokoll, das es in weiterer Folge auch
erlauben wird, WiMedia über UWB nach 802.15.3a zu bertreiben. Im Moment ist jedoch nur die
802.15.3-Spezifikation verfügbar, die wie alle anderen 802.15-Technologien im 2.4 GHz-ISM-Band
operiert und Datenraten von 11, 22, 33, 44 oder 55 MBit/s auf eine Entfernung von bis zu 100 Metern
definiert. Dabei können bis zu 245 Devices in einem ad-hoc-Netzwerk verbunden werden.
Abbildung 58: WiMedia Protokollstack [29]
- 110 -
WiMedia selbst definiert verschiedene Protokolle, die klar für die Übertragung von MultimediaDaten optimiert sind. Die verwendete Topologie ist zentral organisiert und verbindungsorientiert, wobei
eine scheduling media-access TDMA-Technik zum Einsatz kommt, die eine ausgezeichnete Planbarkeit
der zur Verfügung stehenden Ressourcen ermöglicht.
3.9
Zusammenfassung
Zur Zeit konkurrieren mehrere Technologien um die Gunst der Kunden und der Industrie. Dabei
sind die zwei großen Bereiche der WLANs und der WPANs zu unterscheiden, die jeweils verschiedene
Zielsetzungen verfolgen. Lässt man im Folgenden die WLAN-Technologien 802.11x und HiperLAN2
und das betagte DECT außer Acht, so ergibt sich ein klares Bild der konkurrierenden Standards für
drahtlose Datenübertragung über kürzere Distanzen.
Eines scheint sicher zu sein: IrDA wird ob seiner beschränkten Fähigkeiten (max. zwei Geräte,
Sichtverbindung notwendig) in absehbarer Zeit vom Markt verschwinden. Die restlichen drei betrachteten
Technologien sind alle in der Standardisierungsinitiative IEEE 802.15 enthalten und haben durchaus
verschiedene Zielsetzungen, wobei sich die Anwendungsbereiche zum Teil überlappen. Diese
Überlappungen könnten vor allem für das in der „Mitte“ platzierte Bluetooth den Platz reichlich eng
machen.
Von „unten“ greift 802.15.4, also ZigBee die Domäne von Bluetooth an. Es bietet zwar weitaus
geringere Datenraten aber auch einen signifikant geringeren Energieverbrauch, der es vor allem im
Bereich der Haustechnik interessant macht. Aber auch zur kabellosen Anbindung von Peripheriegeräten
an Rechner oder für Sensornetzwerke ist ZigBee wahrscheinlich die bessere Wahl.
Aus der anderen Richtung macht 802.15.3 und das darauf aufsetzende WiMedia Bluetooth die
Anwendungsbereiche streitig. Mit höheren Datenraten, besserem QoS-Management und für Multimedia
optimierten Übertragungsverfahren ist WiMedia die Technik der Wahl, wenn es um die drahtlose
Übertragung von Audio- und besonders Video-Daten geht.
Für Bluetooth selbst bleibt nach dieser Betrachtung nur ein schmales Segment übrig, in dem es
seine Stärken voll ausspielen kann. Doch Bluetooth ist jene Technologie, die am vielseitigsten einsetzbar
ist, von der Mausanbindung bis zur Videoübertragung. Außerdem hat Bluetooth einen nicht zu
vernachlässigenden Vorsprung, was die Markteinführung und die Akzeptanz betrifft. Es bemühen sich
auch alle Konsortien zu betonen, dass die drei genannten Standards nicht in Konkurrenz zu einander
stehen sondern als einander ergänzende Technologien zu sehen sind.
- 111 -
Welche Technologien sich letztendlich durchsetzen werden oder ob alle drei einen Platz auf dem
Markt ergattern werden, ist aus heutiger Sicht schwer abzuschätzen. Der Vorsprung, den Bluetooth hat,
wird jedoch kaum aufzuholen sein, sodass in den nächsten Jahren vieles für den Einsatz von Bluetooth
spricht, auch wenn es für einzelne Bereiche besser geeignete Alternativen geben mag.
In Tabelle 2 ist ein Vergleich der im PAN-Bereich konkurrierenden Technologien zu finden,
wobei jeweils verschiedene Aspekte der Leistungsfähigkeit betrachtet wurden. Es zeigt sich auch in
diesem Vergleich, dass es nicht „den Testsieger“ gibt, sondern dass je nach gewünschtem Einsatzgebiet
verschiedene Technologien Stärken und Schwächen haben, wobei Blueooth als „Multi-Purpose-Lösung“
wohl ungeschlagen bleibt.
Tabelle 2: Vergleich PAN-Technologien
Bluetooth
IrDA
DECT
802.15.1
Technologie
ZigBee
WiMedia
802.15.4
802.15.3(a)
FHSS
Optisch
DSSS
DSSS
?*
max. Reichweite
10/20/100 m
20 cm / 2 m
300 m
30 m
50 – 100 m *
max. Datenrate
1 MBit/s
1-16 MBit/s
128 kBit/s
250 kBit/s
- 55 MBit/s*
max. Teilnehmer
8 aktive
2
8
250
245
Authentifizierung
ja,
gegenseitig
nein
ja, one-way
ja,
gegenseitig
ja,
gegenseitig
Verschlüsselung
bis 128 bit
nein
optional
64 bit
128 bit
(AES)
ja, Stärke
unbekannt
Energiebedarf
eher niedrig
eher niedrig
relativ hoch
sehr niedrig
relativ hoch
sehr gut
sehr gut
gut
noch nicht
noch nicht
ja,
irrelvant, da
nein
nein
ja
Industrieunterstützung
QoS-Support
nur 2 Geräte
* Bei Einsatz von UWB bis zu 480 MBit/s bei Reichweiten von derzeit bis zu 10 m (theoretisch
bis über 100 m bei noch höheren Datenraten)
- 112 -
4 Bluetooth Development
4.1
Open Source-Protokollstacks
4.1.1 BlueZ
BlueZ ist ein Open-Source-Bluetooth-Protokollstack für Linux, der mittlerweile auch in den
Linux-Kernel integriert ist (seit Kernel 2.4.6). Die BlueZ-Distribution wird in mehreren Teilen als
Source-Code ausgeliefert, der vor dem Einsatz auf der Zielplattform compiliert werden muss. Allerdings
werden keine gesteigerten Ansprüche an installierte Bibliotheken gestellt, eine Standardinstallation
inklusive Kernel- und glib-Soucen reicht aus, um das komplette Paket installieren zu können.
BlueZ stellt den gesamten Bluetooth-Stack zur Verfügung, sofern die Protokolle nicht sowieso
schon in Linux verfügbar sind (z.B. PPP, IP, TCP, …). Um die Bluetooth-Funktionalität nutzen zu
können, müssen mehrere Module geladen werden. Im Einzelnen sind dies:
hci_xxx: Die Host-Controller-Interface-Treiber für die Bluetooth-Hardware. Inkludiert
sind:
o
hci_usb: Treiber für USB-Bluetooth-Geräte
o
hci_vhci: Treiber für virtuelle (emulierte) Bluetooth-Geräte
o
hci_uart: Treiber für serielle Bluetooth-Geräte
bluez: Der BlueZ-Core und damit die Basis für alle weiteren Module, die Zugriff auf
die höherschichtigen Bluetooth-Protokolle geben.
l2cap: Stellt die Funktionalität des L2CAP-Protokolls zur Verfügung
sco: Erlaubt den Aufbau von SCO-Verbindungen
rfcomm: Stellt das RFCOMM-Protokoll und somit die Emulation von seriellen
Schnittstellen zur Verfügung.
- 113 -
Abbildung 59: Aufbau von BlueZ [23]
Bei der Installation können diese Module in /etc/module.conf eingetragen werden und
damit bei jedem Systemstart geladen werden. Weiters muss bei der Installation einmalig ein beiliegendes
Script aufgerufen werden, dass die notwendigen Devices unter /dev/ anlegt.
Außerdem stellt BlueZ in den neueren Versionen auch das PAN-Profile und damit das BNEP
(Bluetooth Network Encapsulation Protocol) zur Verfügung, mit dem Ethernet-Traffic direkt (ohne PPP)
in ein Bluetooth-Piconet geroutet werden kann. Will man diese Funktionalität nutzen, so ist es notwendig,
den PAN-Dämon (pand) zu starten.
Bei jedem Systemstart muss auch der ebenfalls beiliegende HCI-Dämon (hcid) gestartet werden,
der Zugriff auf die Bluetooth-Hardware erst ermöglicht.
Ist das System soweit konfiguriert, kann mittels der enthaltenen Tools die Funktionsfähigkeit der
Bluetooth-Geräte getestet werden. Das erste benötigte und auch wichtigste Tool ist hciconfig, dass
entsprechend seinem Netzwerk-Pedant ifconfig für die Konfiguration sowie das Starten und Stoppen
der Bluetooth-Geräte zuständig ist.
- 114 -
Abbildung 60: hciconfig
Sämtliche Kommandos an ein Gerät können mittels hcidump angezeigt werden. Angezeigt
werden auch sämtliche gekapselten Pakete (wie L2CAP oder auch RFCOMM).
Abbildung 61: hcidump
- 115 -
Grundlegende Funktionen des Baseband-Protokolls können mittels hcitool getestet werden.
Neben der Abfrage von diversen Geräteparametern kann auch ein Inquiry bzw. ein Scan gestartet werden
oder eine Verbindung zu einem Remote-Geräte hergestellt werden.
Abbildung 62: hcitool: Anzeige der Connections
Abbildung 63: hcitool: Inquiry
Die nächste zu testende Stufe stellt L2CAP dar, dass rudimentär mit l2ping abgedeckt werden
kann, welches ein Ping auf ein anzugebendes Gerät durchführt dadurch die Latenzzeit ermittelt und wenn
verfügbar auch die erreichte Datenrate ausgibt.
- 116 -
Abbildung 64: l2ping
Auch das SDP kann über die Kommandozeile gesteuert werden, wobei im einfachsten Fall der
Service-Tree eines Remote-Devices abgefragt und ausgegeben werden kann. Es ist jedoch auch möglich,
selbst Services am lokalen Device zu veröffentlichen.
- 117 -
Abbildung 65: SDP Browsing
Neben den gezeigten Kommandozeilen-Tools stellt BlueZ natürlich auch Libraries zum Zugriff
auf den Bluetooth-Stack zur Verfügung, die jedoch nicht getestet wurden. Die zu verwendende
Programmiersprache ist C bzw. C++, wobei der Zugriff auf die Bluetooth-Datenübertragung socketbasiert abgewickelt wird. Von BlueZ werden APIs zum Zugriff auf das HCI, auf L2CAP, auf RFCOMM
sowie auf das SDP zur Verfügung gestellt, die eine Vielzahl von Konstanten und Bibliotheksfunktionen
zum einfacheren und lesbaren Zugriff auf den Bluetooth-Stack bieten. [23]
4.1.2 JBlueZ
JBlueZ ist ein Java-Package, dass mittels Java Native Interface (JNI) die Funktionalität der BlueZBibliotheken in Objekte kapselt und unter Java komfortabel zur Verfügung stellt. Leider ist die
Implementierung bisher nur bis zur HCI-Ebene gediehen und daher nur sehr bedingt einsetzbar. Laut
Auskunft der Entwickler sollte die Portierung der L2CAP-Bibliotheken in den nächsten Monaten
verfügbar sein, doch scheint die Projektaktivität im Moment auf ein Minimum zurückgefahren zu sein.
Selbst wenn L2CAP verfügbar wäre, ist es noch ein weiter Weg zur vollständigen Einsetzbarkeit und so
bleibt ein Open-Source-Java-Bluetooth-Stack auf absehbare Zeit höchstwahrscheinlich noch ein
Wunschtraum. [24]
- 118 -
4.1.3 Weitere Protokollstacks
Neben dem im Linux-Kernel integrierten BlueZ existiert noch eine Reihe weiterer BluetoothStacks für Linux, Windows und andere Plattformen, auf die jedoch nicht weiter eingegangen wird.
Populäre Beispiele sind:
AXIS OpenBT Stack [79]: Open Source Stack für Linux (GNU GPL)
Affix Bluetooth Protocol Stack [80]: Open Source Stack für Linux (GNU GPL)
Altinav Bluetooth Protocol Stack [76]: Kommerzieller Stack für Java ME/SE, Windows
9x, CE und 2K/XP/ME, Linux, ANSI C-API
Rococo Impronto (siehe 4.3.3, Java-Simulator für die Anwendungsentwicklung)
Microsoft Windows XP: Ab Service Pack 1 funktionsfähig, ab Service Pack 2
voraussichtlich integriert
4.2
Bluetooth auf Betriebssystemen für mobile Geräte
4.2.1 Symbian OS 7.0
Symbian OS ist ein Betriebssystem für mobile Endgeräte, das von führenden MobiltelefonHerstellern entwickelt wird und heute auf einer Vielzahl moderner Endgeräte eingesetzt wird. Symbian
OS ist ein 32-bit-Multitasking-System und bietet in der neuesten Version 7.0 neben verbesserten
Multimedia-Fähigkeiten auch Unterstützung für Bluetooth 1.1.
Bis zu den Symbian-Versionen 6.x, die noch auf vielen Mobiltelefonen eingesetzt werden, war der
Bluetooth-Stack kompatibel zur Version 1.0, seit Juni 2003 sind jedoch erste Geräte mit Symbian OS 7.0
verfügbar, dessen Stack wie erwähnt kompatibel zu Bluetooth 1.1 ist.
Der Symbian-Bluetooth-Stack stellt das Generic Access Profile, das Serial Port Profile sowie das
Generic Object Exchange Profile zur Verfügung. Die Stack-Implementierung besteht aus einem
Protokoll-Modul, einem Security-Manager, einem Bluetooth Communication Server und einem SDPServer. Über insgesamt sechs Interfaces ist der Zugriff auf den Stack möglich:
Direkt via HCI (lowest-level)
Bluetooth-Socket-API: Erlaubt Zugriff auf L2CAP oder auf RFCOMM über das
Standard-Socket-Interface des Betriebssystems, bevorzugte und flexibelste Schnittstelle
für „General-Purpose-Verbindungen“
- 119 -
Bluetooth-Serial-Communications-API: Stellt eine emulierte serielle Schnittstelle für
ausgehende Verbindungen zur Verfügung, wird eher selten und nur für spezielle
Anwendungen eingesetzt.
Bluetooth-Manager: Wird eingesetzt, um die Sicherheits-Features von Bluetooth zu
konfigurieren, wobei Security Access Policies eingesetzt werden, um die von diversen
Services benötigten verschiedenen Sicherheitsstufen realisieren zu können.
Bluetooth SDP API: Erlaubt Zugriff auf die Service-Registrierung sowie der ServiceAbfrage
OBEX-API: Bietet Zugriff auf die OBEX-Transport-Layer-Funktionalitäten zum
Austausch von Objekten (nicht nur über Bluetooth sonder auch über IrDA).
Symbian stellt eine Java-Virtual-Machine mit MIDP 2.0 und CLDC zur Verfügung, die
kompatibel zur in Kapitel 4.3.1 beschriebenen Bluetooth-API JSR-82 ist. Somit kann das BluetoothModul eines Symbian-OS-Smartphones aus MIDlets heraus verwendet werden, wobei die
eingeschränkten Möglichkeiten der JSR-82 gelten.
Der
Bluetooth-Stack
kann
natürlich
auch
direkt
nativ
angesprochen
werden,
die
Programmiersprache der Wahl ist unter Symbian OS grundsätzlich C++, wo verhältnismäßig komplexe
aber auch mächtige socket-basierte Libraries zum Einsatz kommen. [77]
4.2.2 Microsoft Windows Mobile 2003
PDA-Hersteller wie HP, Fujitsu-Siemens oder Compaq liefern ihre Produkte mit der neuen
Windows Mobile 2003 Software für Pocket PC (Pocket PC 2003) aus. Dieses Betriebssystem basiert auf
dem Kernel von Windows CE.NET 4.2, das mit dem .NET Compact Framework viele neue
Möglichkeiten bei der Programmierung bietet. Ein SDK kann auf der Microsoft-Website [63]
heruntergeladen werden.
Microsoft bietet einerseits Bluetooth-Support über das Socket-basierte WinSock-Interface an, das
Zugriff auf RFCOMM erlaubt. Andererseits existiert die Möglichkeit, sogenannte „Stack Extension
Layers“ auf der Basis des HCI zu erstellen, mit denen die Funktionalität der Basis-StackImplementierung erweitert werden kann. Zum Beispiel wäre es möglich, selbst SCO-Support für
Windows Mobile 2003 zu implementieren.
- 120 -
Abbildung 66: Bluetooth-Stack in Windows CE 4.2 [78]
Eine Programmierung ist wie bei Microsoft-APIs üblich grundsätzlich mit C bzw. C++ möglich,
das .NET Compact Framework selbst bietet keinen nativen Bluetooth-Support. [78] Mit einer
entsprechenden JVM wäre natürlich auch ein Bluetooth-Zugriff von Java aus möglich, unseres Wissens
stellt jedoch weder Microsoft noch ein anderer Hersteller die dafür benötigt J2ME-Virtual Machine mit
MIDP 2.0 für das aktuelle Windows CE.NET zur Verfügung.
4.3
Bluetooth für Java
Dieses Kapitel soll einen Überblick über die Integration von Bluetooth in Java geben, wobei
insbesondere die Java Bluetooth APIs (JSR-82) behandelt werden. Am Ende des Kapitels wird die
Kombination von Jini und Bluetooth sowie der Einsatz von Bluetooth-Simulatoren bei der
Anwendungsentwicklung diskutiert.
- 121 -
4.3.1 Die Java Bluetooth APIs (JSR-82)
Java Specification Request (JSR)-82 [74] ist der formale Java Community Process (JCP)-Name
der Java APIs für Bluetooth. Die Spezifikation wurde von Motorola geleitet, die zusammen mit der JSR82 Expertengruppe – darunter IBM, Nokia, Sony Ericsson, Sun Microsystems und Symbian – die
offiziellen Bluetooth APIs spezifizierten.
Nach dem JCP ist der Leiter einer Spezifikation für die Entwicklung einer Reference
Implementation (RI) verantwortlich, mit welcher der Nachweis geliefert wird, dass die Spezifikation
implementiert werden kann, sowie eines Technology Compatibility Kits (TCK), das zur Überprüfung der
Kompatibilität von JSR-82-Implementierungen anderer Hersteller verwendet wird. RI und TCK für die
JSR-82 APIs können dementsprechend von der Motorola-Website [75] bezogen werden.
Die JSR-82 Spezifikation besteht aus zwei Teilen, die unabhängig voneinander verwendet werden
können, nämlich javax.bluetooth und javax.obex.
javax.bluetooth
Das Package javax.bluetooth wird für die für die drahtlose Kommunikation über das
Bluetooth-Protokoll benötigt und enthält folgende 13 Klassen bzw. Interfaces:
Interfaces im Package javax.bluetooth:
o
DiscoveryListener: Erlaubt einer Applikation, Device Discovery- und
Service Discovery-Events zu empfangen
o
L2CAPConnection: Repräsentiert einen verbindungsorientierten L2CAPChannel
o
L2CAPConnectionNotifier: Wird serverseitig benötigt, um auf Clients
warten zu können, die sich zu einem L2CAP-Service verbinden wollen
o
ServiceRecord: Beschreibt Eigenschaften eines Bluetooth Service
o
DataElement: Definiert verschiedene Datentypen für Service-Attribute
Klassen im Package javax.bluetooth:
o
DeviceClass: Repräsentiert den Class of Device (CoD)-Record wie er in der
Bluetooth-Spezifikation im Dokument Bluetooth Assigned Numbers definiert
ist, und enthält Informationen über den Typ des Gerätes und der auf diesem
Gerät verfügbaren Dienste.
o
DiscoveryAgent: Stellt Methoden für Device- und Service-Discovery zur
Verfügung
o
LocalDevice: Repräsentiert das lokale Bluetooth-Gerät
- 122 -
o
o
RemoteDevice: Repräsentiert ein entferntes Bluetooth-Gerät
UUID: Definiert 128 Bit große universally unique identifiers (UUIDs); eine
Menge von UUIDs für Protokolle und Service-Klassen sind im Bluetooth
Assigned Numbers-Dokument definiert.
o
BluetoothConnectionException: Diese Exception wird geworfen wenn
eine Bluetooth-Verbindung (L2CAP, RFCOMM oder OBEX) nicht erfolgreich
aufgebaut werden konnte
o
BluetoothStateException: Diese Exception wird geworfen wenn ein
Request an ein Bluetooth-System von diesem im aktuellen Zustand nicht
unterstützt wird
o
ServiceRegistrationException: Diese Exception wird geworfen wenn
beim Hinzufügen eines Service Records zur lokalen Service Discovery Database
(SDDB) oder beim Ändern eines Service Records ein Fehler aufgetreten ist.
javax.obex
Das Package javax.obex wird benötigt um – unabhängig von den darunter liegenden
Transportmechanismen – Objekte zwischen Geräten zu versenden, und enthält folgenden 8 Klassen bzw.
Interfaces:
Interfaces im Package javax.obex:
o
Authentication: Wird benötigt um auf Authentication Challange- und
Response-Headers reagieren zu können
o
ClientSession: Stellt Methoden für OBEX-Requests zur Verfügung
o
Operation: Ermöglicht die Manipulation von OBEX PUT- und GET-
o
HeaderSet: Definiert set- und get-Methoden für OBEX-Headers
Operationen
o
SessionNotifier: Wird serverseitig benötigt um auf Client-Requests
warten zu können
Klassen im Package javax.obex:
o
PasswordAuthentication:
Speichert
Benutzername/Passwort-
Kombinationen
o
ResponseCodes: Enthält eine Liste gültiger Response-Codes, die ein Server
an einen Client schicken kann
o
ServerRequestHandler: Definiert einen Event-Listener für OBEXRequests an den Server
- 123 -
Anwendungsentwicklung
Die Bluetooth-API der JSR-82 ist unabhängig vom darunterliegenden Bluetooth-Stack und der
Hardware, wodurch man Anwendungen ohne Wissen darüber schreiben kann. Zudem ist sie die einzige
standardisierte Bluetooth API, und sie spezifiziert die Schichten HCI, L2CAP, SDP und RFCOMM sowie
die Profile Generic Access Profile, Service Discovery Application Profile, Serial Port Profile und Generic
Object Exchange Profile.
Um nun mit der Bluetooth API arbeiten zu können, benötigt man einen Bluetooth Stack (dieser
muss eine Java-API haben; Stacks, die beispielsweise in C/C++ implementiert sind, müssen ein JavaInterface (JNI) haben) und die Java Bluetooth API (hierbei ist zu beachten, dass JSR-82 nur auf der
J2ME-Plattform implementiert werden kann, da J2SE kein Generic Connection Framework unterstützt;
das wird frühestens für JDK 1.5 erwartet).
Es gibt viele Hersteller für JSR-82-kompatible Java Bluetooth SDKs, wobei nur Atinav [76] und
Rococo [72] beide JSR-82-APIs (javax.bluetooth und javax.obex) sowohl für J2ME als auch
für J2SE unterstützen. Die Stacks beider Hersteller laufen unter Win-32, Linux und Pocket PC; Rococo
unterstützt zudem Palm OS.
Eine Bluetooth-Applikation besteht aus folgenden Teilen:
Stack Initialization: Der erste Schritt bei der Anwendungsentwicklung ist die
Initialisierung des Stacks, um die Bluetooth-Geräte einsatzbereit zu machen. Die
Initialisierung kann in Abhängigkeit vom darunter liegenden Betriebssystem und der
Radio-Schicht stark variieren.
Device Management: Das Gerätemanagement wird durch die Klassen LocalDevice,
RemoteDevice und DeviceClass ermöglicht, mit deren Hilfe man Informationen
über das eigene Gerät sowie entfernte Geräte abfragen kann.
Device
Discovery:
Mit
Hilfe
der
Klassen
DiscoveryAgent
und
DiscoveryListener kann ermittelt werden, welche Bluetooth-Geräte sich in
Reichweite befinden.
Service Discovery: Nachdem die Geräte bekannt sind kann mit Hilfe der Klassen
DiscoveryAgent, DiscoveryListener, ServiceRecord, DataElement
und UUID ermittelt werden, welche Dienste diese anbieten. Die Service Discovery Data
Base (SDBB) ist dabei ein zentrales Repository für alle Service Records auf einem Gerät.
Service Registration: Bevor ein Client die von einem Server zur Verfügung gestellten
Services finden kann, muss dieser seine Services lokal registrieren ( Service
Registration).
- 124 -
Communication: Die Kommunikation via Bluetooth kann beispielsweise über RFCOMM
(streambasiert), L2CAP (paketbasiert) und OBEX (objektbasiert) erfolgen.
Diese Vorgehensweise wird in 4.4 („Ping-Pong“ mit Java unter Symbian OS 7.0) anhand eines
praktischen Beispiels vertieft. [Hopk03]
4.3.2 Bluetooth und Jini
Jini (Java Intelligent Network Infrastructure) [73] ist eine von Sun eingeführte, Java-basierte
Technologie, die dem Benutzer die Möglichkeit geben soll, alle an ein Netzwerk angeschlossenen Dienste
zu nutzen und mit anderen Diensten kombinieren zu können - unabhängig davon, um welche Art von
Diensten es sich handelt und wo diese sich befinden. Dienste können dabei sowohl Software- wie auch
Hardwarekomponenten sein, die über eine gewisse eigene Intelligenz verfügen, damit sie sich
automatisch an einem Netzwerk anmelden (genauer bei einem Lookup Service (LUS) genannten
Zentralregister) und ihre Fähigkeiten den anderen Teilnehmern sofort und ohne spezielle
Treiberinstallation zur Verfügung stellen können.
In der Welt von Jini werden Geräte nicht mehr als solche wahrgenommen. Vielmehr sind die
Dienste die sie zur Verfügung stellen – beispielsweise das Drucken von Dokumenten – von Bedeutung,
die dann in einem Verbund (Föderation) von Jini-Diensten von jedem anderen Dienst genutzt werden
können. Dazu lädt der Benutzer eines Dienstes einen entsprechenden Proxy auf seine JVM und führt den
Code dort aus. Proxy und Dienst kommunizieren dann mittels dem von Java zur Verfügung gestellten
RMI (Remote Method Invocation).
Knoten in einem Jini-Verband verfügen über folgende Mechanismen:
Lookup: Ermöglicht Client das Finden und Aufrufen eines Dienstes
Discovery: Finden eines passenden Lookup Service in einem Jini-Verband
Join: Eintragen eines bereitgestellten Dienstes im Lookup Service
Leasing: Ermöglicht zeitlich begrenzte Allokation und Freigabe von Ressourcen
Transactions: Ermöglicht die Gruppierung von Diensten in Transaktionen
Events: Erweiterung des Event-Modells der JavaBeans-Komponenten
[Fers03a]
- 125 -
Abbildung 67: Bluetooth und Jini im ISO/OSI Referenzmodell [Wang00]
Im Gegensatz zu Bluetooth, das zwar ein komplettes Kommunikationssystem mit Hard- und
Software spezifiziert aber dennoch auf die unteren Schichten des ISO/OSI-Referenzmodells fokussiert ist,
ist Jini auf den höheren Schichten angesiedelt (siehe Abbildung 67).
Jini und Bluetooth sind komplementäre Technologien; Bluetooth ermöglich die spontane, drahtlose
Vernetzung unterschiedlichster Geräte, sobald sich diese in räumlicher Nähe zueinander befinden. Jini
bietet auf der anderen Seite Mechanismen, um eine verteilte Umgebung als einfach zu administrierenden
Pool von Diensten (Hardware und/oder Software) zu betrachten, die durch Clients genutzt werden
können. [Fers03a] [Wang00] Die Kombination von Bluetooth und Jini erlaubt damit die Realisierung
intelligenter Netzwerke, in denen die Geräte flexibler zusammenarbeiten können, ohne durch die
verfügbaren Profile eingeschränkt zu werden. Zudem erlaubt Jini durch Events, Transaktionen und
Leasings die Entwicklung robusterer und fehlertoleranterer Applikationen. [Hopk03]
4.3.3 Java-Simulator für die Anwendungsentwicklung
Bluetooth-Simulatoren abstrahieren von der darunter liegenden Hardware und deren Komplexität,
wodurch sich der Entwickler von Client/Server-Anwendungen nicht um das Konfigurieren und
Administrieren von Bluetooth-Hardware kümmern muss sondern schnell und einfach Algorithmen und
Anwendungen testen kann. In größeren Entwicklungsteams kann ein Simulator aber auch die Kosten
reduzieren, da er die Anschaffung von Bluetooth-Geräten in großen Stückzahlen überflüssig macht.
Ein Bluetooth-Simulator ist aber kein Ersatz für das Testen von Applikationen mit realer
Hardware von verschiedenen Herstellern. Auch reale Umgebungsbedingungen wie Interferenzen mit
IEEE 802.11b/g-Geräten können i.d.R. nicht erfasst werden.
- 126 -
Ein bekannter Simulator ist Impronto von der Firma Rococo [72], der sowohl unter J2SE als auch
unter J2ME läuft. Impronto ist eine 100%ige Java-Anwendung, die es Entwicklern erlaubt, JSR-82kompatiblen Code zu entwickeln, der auf virtuellen Bluetooth-Geräten ausgeführt und die Interaktion
dieser Geräte beobachtet werden kann. Rococo Impronto bietet:
Volle Unterstützung für L2CAP, RFCOMM, OBEX, SDP und HCI
Eine Management-Konsole um das Laufzeitverhalten der simulierten Geräte zu
beobachten (siehe Abbildung 68)
Das Ausführen von JSR-82 Code auf simulierten Bluetooth-Geräten
Umfassende Logging-Funktionalität für Ereignisse
Abbildung 68: Rococo Impronto [72]
Nachdem die Impronto-Umgebung installiert und virtuelle Bluetooth-Geräte („foo“ und „bar“ in
Abbildung
68)
erzeugt
wurden,
kann
mit
dem
- 127 -
Kommandozeilen-Befehl
java
–
Dimprontolocaldevice.friendlyname=<name of the virtual device> <name
of the application> die Java-Applikation mit dem angegebenen virtuellen Gerät (z.B. „foo“)
verknüpft werden. [Hopk03]
4.4
„Ping-Pong“ mit Java unter Symbian OS 7.0
In
Symbian
OS
7.0
ist
wie
bereits
erwähnt
das
JSR-82-Bluetooth-API
integriert
(javax.bluetooth). Dieses API wurde eingesetzt, um eine einfache Beispiel-Applikation zu
erstellen, die über einen L2CAP-Channel Nachrichten austauscht. Im Folgenden wird der Programmcode
erläutert und der Verbindungsablauf anhand von Screenshots erläutert.
4.4.1 Grundlegendes
Die Applikation teilt sich grundsätzlich in einen Client und eine Server auf. Der
Verbindungsaufbau in JSR-82 ist Service-orientiert, d.h. der Client sucht den entsprechenden ServiceRecord am Server, den dieser zuvor veröffentlicht haben muss und erhält von diesem einen ConnectionString, der in Folge zum Verbindungsaufbau verwendet werden kann.
JSR-82 baut wie in Kapitel 4.3 (Bluetooth für Java) erwähnt auf dem Generic Connection
Framework der JME auf und verwendet dieses zum Senden und Empfangen von Daten. Es können
grundsätzlich nur Arrays vom Typ byte ausgetauscht werden.
Um die JSR-82-API nutzen zu können, muss zumindest das Package javax.bluetooth
eingebunden
werden.
Sollen
Verbindungen
aufgebaut
werden,
ist
noch
das
Package
javax.microedition.io, welches das Generic Connection Framework enthält, notwendig. Für
OBEX-Operationen muss das javax.obex-Package verwendet werden, das zwar von der JSR-82-API
stammt, aber nicht unbedingt Bluetooth-spezifisch eingesetzt werden muss.
4.4.2 Vorbereiten des Servers
Die Server-Applikation führt direkt nach dem Starten diverse Initialisierungen durch und verharrt
dann in einem Zustand in dem der Server auf einen Verbindungsrequest des Clients wartet.
Der erste Schritt, um den Bluetooth-Stack eines Gerätes unter Java nutzen zu können, ist das
Erstellen eines LocalDevice-Objektes, das eine Java-API für die grundlegenden Funktionalitäten zur
Konfiguration des Stacks anbietet:
- 128 -
[…]
private LocalDevice myDevice;
[…]
try {
myDevice = LocalDevice.getLocalDevice();
}
catch (BluetoothStateException e) {
System.out.println(e)
}
[…]
Nach dem Holen dieses Objektes kann mit den Vorbereitungen zum Verbindungsaufbau begonnen
werden. Um möglichen Clients das Verbinden zu ermöglichen, muss das Gerät sichtbar gemacht werden.
Dies geschieht durch Setzten eines Geräteflags bzw. durch Aufruf der entsprechenden Methode. Der
Discovery-Mode GIAC (General Inquiry Access Code) legt dabei fest, dass das Gerät für alle anderen
Geräte sichtbar sein soll.
[…]
try {
myDevice.setDiscoverable(DiscoveryAgent.GIAC);
}
catch (BluetoothStateException e) {
System.out.println(e)
}
[…]
Nachdem das Gerät sichtbar ist, muss in weiterer Folge ein L2CAPConnectionNotifier
erstellt werden, mit dem es möglich ist, auf eingehende Verbindungsanforderungen via L2CAP zu
warten. Dieser L2CAPConnectionNotifier wird von der statischen Methode Connector.open
des Generic Connection Framework erstellt, wozu dieser ein Connection-URL übergeben werden muss.
Der Connection-URL spezifiziert das Service, das der Server dem Client anbietet. Mit dem JSR-82-API
kann keine Connection „direkt“ aufgebaut werden (z.B. Verbindung via L2CAP), es muss vielmehr ein
Service definiert werden, das die angebotene Verbindung spezifiziert. Im konkreten Fall ist das
verhältnismäßig einfach, es muss lediglich das verwendete Protokoll (hier: btl2cap) sowie die
gewünschte Service-ID (128 bit) angegeben werden. Diese kann im Wesentlichen frei gewählt werden
(bis
auf
einige
reservierte
Ausnahmen;
00112233445566778899AABBCCDDEEFF
hier
wird
die
Service-ID
gewählt). Um festzulegen, dass die erstellte
Verbindung serverseitig genutzt werden soll, muss im Connection-URL außerdem noch localhost
enthalten sein. :
[…]
try {
list.append("establishing...",null);
L2CAPConnectionNotifier server = (L2CAPConnectionNotifier)
Connector.open
- 129 -
("btl2cap://localhost:00112233445566778899AABBCCDDEEFF");
}
catch (IOException e) {
System.out.println(e)
}
[…]
Ist der L2CAPConnectionNotifier erfolgreich erstellt, so kann mittels der Methode
acceptAndOpen der Klasse L2CAPConnectionNotifier, die von der Klasse Connection des
Generic Connection Framework abgeleitet ist, auf eine Verbindungsanforderung gewartet werden. Diese
Methode ist von der JSR-82-API überschrieben, so dass das spezifizierte Service in die ServiceDatenbank des Geräts eingetragen wird und so via SDP gefunden werden kann.
[…]
try {
list.append("listening...",null);
L2CAPConnection con = server.acceptAndOpen();
}
catch (IOException e) {
System.out.println(e)
}
[…]
Der Server verharrt nun solange in der Methode acceptAndOpen, bis das ein Verbindungsversuch
eines Clients stattfindet. In der Beispielapplikation zeigt sich zu diesem Zeitpunkt der in Abbildung 69
dargestellte Screen.
Abbildung 69: Server erstellt das Service und wartet auf Verbindung via L2CAP
- 130 -
4.4.3 Gerätesuche durch den Client
Die erste Aufgabe des Clients ist es, die verfügbaren Geräte in seiner Umgebung via Inquiry zu
finden. Dazu muss die gleiche Initialisierung wie beim Server durchlaufen werden, bevor ein Inquiry
gestartet werden kann. Dazu ist außerdem ein DiscoveryAgent
notwendig, der vom
LocalDevice-Objekt angefordert wird.
[…]
private LocalDevice myDevice;
private DiscoveryAgent discoveryAgent;
[…]
try {
myDevice = LocalDevice.getLocalDevice();
discoveryAgent = myDevice.getDiscoveryAgent();
}
catch (BluetoothStateException e) {
System.out.println(e)
}
[…]
Das Inquiry wird nun durch das DiscoveryAgent-Objekt gestartet. Der Client wird mittels
Callback-Methode vom Auffinden eines oder mehrer Geräte in Kenntnis gesetzt. Dazu ist es notwendig,
dass der Client das Interface DiscoveryListener implementiert. Dieser Listener (der Client) wird
dem DiscoveryAgent beim Starten des Inquiry übergeben. Außerdem muss noch festgelegt werden,
ob alle Geräte in Reichweite (GIAC) oder nur jene mit einem speziellen Access-Code gefunden werden
sollen.
[…]
try {
discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);
}
catch (Exception e) {
System.out.println(e);
}
[…]
Wird ein Gerät gefunden, so wird die Callback-Methode deviceDiscovered aufgerufen, die
im konkreten Fall lediglich die Geräte-Adresse in eine Liste am Display einträgt. Ist das Inquiry
abgeschlossen, so wird die Methode inquiryCompleted aufgerufen, die „done“ auf dem Display
ausgibt.
[…]
public void deviceDiscovered(RemoteDevice remoteDevice,
DeviceClass deviceClass) {
list.append(remoteDevice.getBluetoothAddress(),null);
}
- 131 -
[…]
public void inquiryCompleted(int int0) {
list.append("done",null);
}
[…]
Nach Abschluss des Inquirys ergibt sich das in Abbildung 70 gezeigte Displaybild, aus dem nun
ein konkretes Gerät, auf dem nun das entsprechende Service gesucht werden soll. Dies ist mittels eines
CommandListeners implementiert, der auf die Auswahl eines Listenelementes reagiert. Die konkrete
Implementierung ist an dieser Stelle irrelevant.
Abbildung 70: Abgeschlossenes Inquiry auf dem Client
4.4.4 Servicesuche durch den Client
Der Client führt nun auf dem ausgewählten Gerät eine Suche nach dem Service mit der ServiceID
00112233445566778899AABBCCDDEEF durch. Dazu wird wiederum der schon zuvor eingesetzte
DiscoveryAgent verwendet, auch für das Service Discovery gibt es im DiscoveryListenerInterface entsprechende Methoden. Für die Service-Suche werden neben der Service-ID auch noch das
RemoteDevice-Objekt des zu durchsuchenden Gerätes sowie das Callback-Objekt (in konkreten Fall der
Client selbst) benötigt:
[…]
UUID[] uuid = new UUID[1];
uuid[0] = new UUID("00112233445566778899AABBCCDDEEFF",false);
RemoteDevice remote = discoveryAgent.retrieveDevices
(DiscoveryAgent.CACHED)[list.getSelectedIndex()];
try {
- 132 -
discoveryAgent.searchServices(null, uuid, remote, this);
}
catch (BluetoothStateException e) {
System.out.println(e);
}
[…]
Wird das Service gefunden, so wird die Callback-Methode servicesDiscovered aufgerufen,
der auch der entsprechende Service-Record als Parameter übergeben wird. Aus diesem Service-Record
wird später der Connection-URL extrahiert, mit dessen Hilfe die Verbindung zum Server aufgebaut
werden kann. In der konkreten Implementierung wird der Connection-URL beim Aufruf der CallbackMethode abgespeichert, um dann nach Ende der Service-Suche, der durch die Callback-Methode
serviceSearchCompleted signalisiert wird, den Verbindungsaufbau zu ermöglichen.
[…]
private String connectionURL = null;
[…]
public void servicesDiscovered(int int0,
ServiceRecord[] serviceRecordArray) {
connectionURL = serviceRecordArray[0].getConnectionURL
(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);
}
[…]
4.4.5 Verbindungsaufbau, Datenaustausch und Verbindungsabbau
Nach Beendigung der Service-Suche stellt der Client – falls das entsprechende Service gefunden
wurde – die Verbindung mit dem Server her, indem mit dem gefundenen Connection-URL eine
L2CAPConnection vom Generic Connection Framework angefordert wird.
[…]
try {
list.append("trying to connect...",null);
L2CAPConnection con = (L2CAPConnection)
Connector.open(connectionURL);
}
catch (IOException e) {
System.out.println(e)
}
[…]
Das Betriebssystem fragt nun – wie in Abbildung 71 zu sehen – beim Benutzer nach, ob der
Anwendung ein Verbindungsaufbau erlaubt werden soll.
- 133 -
Abbildung 71: Verbindungsaufbau (Client)
Wird der Verbindungsaufbau zugelassen, so versucht der Client, eine Verbindung mit dem Server
herzustellen. Serverseitig wird der Benutzer jedoch ebenfalls vom Betriebssystem gefragt, ob er einen
Aufbau der Verbindung wünscht, wie in Abbildung 72 zu sehen ist.
Abbildung 72: Verbindungsaufbau (Server)
- 134 -
Nachdem die Verbindungsanforderung auch serverseitig quittiert ist, wird die Verbindung
aufgebaut und der Datenaustausch kann beginnen. Die Verbindung selbst ist bidirektional und kann über
die Connection-Objekte des Generic Connection Framework (hier durch die Objekte der von
Connection abgeleitete Klasse L2CAPConnection) benutzt werden. Zur Demonstration der Funktion
wurde hier ein trivialer Datenaustausch realisiert, der Server sendet den String „Ping“ worauf der Client
mit dem String „Pong“ antwortet. Nach dem Datenaustausch wird die Verbindung wieder geschlssen
bzw. abgebaut.
Datenaustausch-Code Server:
[…]
try {
// send a few bytes ("Ping")
list.append("connected...",null);
con.send(s.getBytes());
list.append("sending "+s,null);
// receive a few bytes ("Pong").
con.receive(byteArray);
list.append("received "+new String(byteArray),null);
con.close();
list.append("connection closed",null);
}
catch (IOException e) {
System.out.println(e)
}
[…]
Datenaustausch-Code Client:
[…]
try {
// receive a few bytes ("Ping").
con.receive(byteArray);
list.append("received "+new String(byteArray),null);
// send a few bytes ("Pong")
list.append("connected...",null);
con.send(s.getBytes());
list.append("sending "+s,null);
con.close();
list.append("connection closed",null);
}
catch (IOException e) {
System.out.println(e)
}
[…]
Nach erfolgreicher Kommunikation zeigen die Displays beider Telefone folgendes Bild:
- 135 -
Abbildung 73: Ping-Pong
Wichtig ist an dieser Stelle zu bemerken, dass lediglich byte-Arrays übertragen werden können,
was eine Serialisierung der zu übertragenden Daten notwendig macht. Außerdem ist es beim Empfangen
notwendig, die Größe des byte-Arrays im Vorhinein zu kennen, da bei zu kleinem Array eine Exception
auftritt. Zur Übertragung von Objekten wäre das OBEX-Protokoll, das ebenfalls unterstützt wird, besser
geeignet.
- 136 -
5 Bluetooth Markt
Dieses Kapitel hat zum Ziel, die aktuelle Bluetooth-Martksituation zu untersuchen. Hierfür sind
eine Siemens-Studie [Ande03], diverse Bücher [Bray02] [Kral03] [Merk02] [Schi03] sowie eine Vielzahl
von Nachrichtenartikeln [34] - [47], die z.T. auf aktuellen Forrester-, Frost & Sullivan- und GartnerStudien basieren, eingeflossen.
Mitte 1999 waren erstmals Bluetooth-Chips der Version 1.0 in größeren Stückzahlen verfügbar.
Diese hatten aber noch viele Bugs, weshalb ein verbesserter Standard mit der Bezeichnung 1.0b
entwickelt wurde. Seit Februar 2001 ist mit Version 1.1 erstmals ein Bluetooth-Standard verfügbar, der
sogar von der IEEE als gut empfunden wurde, allerdings zu den vorhergegangenen inkompatibel ist; mit
unterschiedlichen Bluetooth-Standards ausgerüstete Geräte sind also nicht in der Lage, miteinander zu
kommunizieren. Daraus resultierte eine vornehme Zurückhaltung potentieller Hersteller Bluetoothkompatibler Geräte, lediglich eine Handvoll davon – vor allem Mobiltelefone und Headsets – war
verfügbar.
Das Anfang 2003 nach wie vor eher spärliche Angebot Bluetooth-fähiger Geräte und die
Kompatibilitätsprobleme, die diese Geräte z.T. miteinander haben, veranlasste Branchenbeobachter schon
zu Spekulationen darüber, dass die Technologie keine große Verbreitung finden würde. Unterstützt
wurden diese Befürchtungen dadurch, dass Anbieter von WLAN-Produkten mit ihren Lösungen
wesentliche schneller auf den Markt gekommen sind und Händler aufgrund der geringen Nachfrage kaum
Bluetooth-Produkte angeboten haben.
Lange wurde auch über die Konkurrenz von Bluetooth und WLAN (IEEE 802.11) diskutiert, ein
aktueller Report von Forrester Research [48] kommt aber zu dem Schluss, dass sich beide Verfahren
ohne Marktrivalität etablieren werden, was nicht zuletzt daran liegt, dass Bluetooth bei seiner Einführung
als Industriestandard im Jahr 1998 als Kabelersatz für die Verbindung unterschiedlicher Geräte und nicht
als Netzwerktechnologie konzipiert wurde. Mehr zur Bluetooth versus WLAN findet sich in Kapitel 3
(Verwandte Technologien).
5.1
Bluetooth kommt langsam, aber stark
Mittlerweile hat sich Bluetooth aber weit von seiner ursprünglichen Funktion entfernt, und der
Markt hat ein beträchtliches Volumen erreicht. Lars Godell von Forrester Research ist sogar der
- 137 -
Auffassung, dass es im Jahr 2006 rund 235 Millionen Bluetooth-Geräte geben wird, im Vergleich zu etwa
22 Millionen WLAN-Produkten.
Auch die internationale Unternehmensberatung Frost & Sullivan [38], welche 1961 gegründet
wurde und seit nunmehr über 40 Jahren verlässliche Marktdaten und Prognosen liefert, sieht in einer
aktuellen Studie vom Oktober 2003, die sich auf der Befragung von über 100 Führungskräften in acht
europäischen Ländern stützt, in Bluetooth einen milliardenschweren Markt für Mobilfunkbetreiber,
Gerätehersteller und Dienstanbieter. Der Studie zufolge hat der Bekanntheitsgrad drahtloser
Technologien zugenommen, und Bluetooth erfreut sich vor allem auf Mobiltelefonen zunehmender
Verbreitung, gefolgt von Computern und Peripheriegeräten. Als Schlüsselanwendung gilt die Verbindung
vom Notebook zum Handy, die den Internetzugang über das Mobilfunknetz ermöglicht. Noch in diesem
Jahr erwartet Forst & Sullivan, dass die Anzahl der produzierten Bluetooth-Chips die 70-MillionenMarke überschreiten wird, 2004 soll sich der Absatz mit 120 Millionen verdoppeln.
Frost & Sullivan sieht ein erhebliches Potenzial vor allem bei Mobiltelefonen und PC-basierten
Anwendungen, Fortschritte bei Sicherheit, Kosten und der Bereitstellung sinnvoller Anwendungen
vorausgesetzt. Zudem werden neue Bereiche wie Industrie- und Automobilanwendungen mit der Zeit
immer mehr an Bedeutung gewinnen (siehe unten) und im Bereich Personal Area Networking (PAN) gibt
es derzeit keine wirkliche Konkurrenz, die Bluetooth in Bezug auf Reichweite und Marktreife das Wasser
reichen könnte. Frost & Sullivan betont auch, dass sich selbst Kritiker schwer tun würden, eine andere
drahtlose Kommunikationstechnologie zu nennen, aus der in nur sechs Jahren eine derartige Vielfalt von
Anwendungen hervorgegangen ist.
Die Nachfrage nach Bluetooth-Geräten im Unternehmensbereich ist allerdings noch ziemlich
niedrig, nur neun Prozent der befragten Unternehmen verwenden es bereits, weitere 22 planen eine
Nutzung in nächster Zeit. Seit der ersten Anwenderanalyse 2001 haben aber der Bekanntheitsgrad und
das Verständnis der Technologie stark zugenommen und immerhin 64 Prozent aller befragten
Unternehmen gaben an, dass drahtlose Datendienste spürbare wirtschaftliche Vorteile bringen.
Das Beratungsunternehmen Gartner [55] sieht für Bluetooth auch die besten Chancen, in
Mobiltelefonen eine Technologie für den Massenmarkt zu werden, rät aber Unternehmen, mit dem
Einsatz von Bluetooth noch abzuwarten, bis de-facto-Standards wie „Wi-Fi“ [56] auftauchen welche die
Interoperabilität zwischen Geräten unterschiedlicher Hersteller sichern.
- 138 -
5.2
Die kritische Masse ist erreicht
Viele Gründe sprechen dafür, dass die kritische Masse für Bluetooth nun erreicht ist. Nach
Angaben der Bluetooth SIG wurde im dritten Quartal 2003 ein Meilenstein gesetzt: Erstmals wurden pro
Woche mehr als eine Million Bluetooth-fähiger Produkte verkauft. Für die SIG ist damit die Marktreife
erreicht, obwohl dieser Erfolg überraschend kommt, zumal die Konsumenten dieser Technologie nach
wie vor eher unbeteiligt gegenüber stehen. [3]
Die Verabschiedung der Bluetooth-Spezifikation v1.1 im März 2001 war eine wesentliche
Voraussetzung für Interoperabilität und Funktionsumfang, um eine breite Akzeptanz bei
den Konsumenten zu schaffen.
Die Übernahme des Bluetooth-Standards v1.1 als IEEE-Norm 802.15.1 im Jänner 2002
dokumentiert den Reifegrad dieser Spezifikation und setzt damit auch ein klares
Marktsignal.
Die Bluetooth-Spezifikation v1.2 vom November 2003 bringt kürzere Verbindungszeiten,
eine höhere Störungssicherheit durch ein adaptives Frequenzsprungverfahren, eine höhere
Fehlersicherheit sowie ein verbessertes Quality of Service (siehe dazu Kapitel 2.6,
Bluetooth 1.2 und Kapitel 2.4.3, Quality of Service) bei gleichzeitiger Kompatibilität zu
Version 1.1. Erste Serienprodukte werden für Mitte 2004 erwartet.
Es existieren bereits Single-Chip-Lösungen, welche die Voraussetzung für ein
platzsparendes Design schaffen. So beispielsweise der „BlueCore2“ genannte Chip der
Firma Cambridge Silicon Radio (CSR) [61], welcher in 0,18 µm Technik gefertigt wird,
Außenmaße von 6 x 6 mm hat und beispielsweise in Fujitsu-Siemens’ PDA Pocket Loox
eingebaut ist; CSR erwartet einen Stückpreis von 6,30 USD bei einer Abnahme von 1
Million Stück. Ein weiteres Beispiel ist der BlueMoon Single PMB8760 von Infineon
[62], der in 0,13 µm-Technik gefertigt ist, einen ARM7-Controller für die Verwaltung
höherer Bluetooth-Protokollschichten, Schnittstellen wie USB und UART sowie einen
Flash-Speicher bereits integriert hat. Der Preis sollte in „hohen Stückzahlen“ unter 4 Euro
liegen. [Kral03]
Die Verfügbarkeit von Bluetooth-Betriebssystemtreibern für MacOS-X, Linux und
Windows XP (mit Service Pack 1 und einer Bluetooth-Erweiterung von Microsoft oder
Service Pack 2, das im ersten Halbjahr 2004 erscheinen sollte) als auch Windows
CE.NET [57] und SymbianOS 7.0 [58] ist für die Akzeptanz von Bluetooth von nicht zu
unterschätzender Bedeutung.
- 139 -
Der angestrebte Preisindex von unter 5 USD für die Bluetooth-Integration für den
Hersteller kommt in Reichweite. Rob Hoeben, Bluetooth Product Manager von Philips
Semiconductors, erwartet langfristig eine Senkung auf rund 3 USD. [Hoeb03]
2001 wurden bereits mehr Bluetooth- als WLAN-Chipsätze verkauft, 2003 wurde die
„Schallmauer“ von einer Million erzeugter Bluetooth-Chips pro Woche durchbrochen.
Im Moment haben unzählige Bluetooth-Geräte ihren Markteintritt, immer mehr Geräte
sind verfügbar. (siehe Kapitel 5.3, Bluetooth im Endgerätemarkt).
Die Entwicklung hocheffizienter SMD-Antennen vermindert zusätzlich den Platzbedarf
bei der Bluetooth-Integration. So bietet beispielsweise Phycomp eine 7,3 x 5,5 x 1,4 mm
große Antenne mit einem Gewicht von nur 0,16 g.
„Bluetooth“ ist zu einem gut bekannten Markennamen geworden, der mit der drahtlosen
Verbindung von Geräten assoziiert wird. Die Allgegenwärtigkeit des Markenzeichens
und die Tatsache, dass nur Geräte die den Standard ordnungsgemäß implementieren
damit gekennzeichnet werden dürfen, verstärkt bei den Konsumenten das Verständnis
dass Bluetooth kein proprietärer Standard ist sondern eine Menge von Firmen Geräte
erzeugt, die untereinander kompatibel sind. Dies ist auch für Herstellerfirmen von
Bedeutung, da das Bluetooth-Markenzeichen andeutet, dass das entsprechende Produkt
einen Mehrwert bietet und mit anderen Bluetooth-Produkten zusammenarbeitet. [Bray02]
5.3
Bluetooth im Endgerätemarkt
Anders als WLAN, das speziell für die Funkvernetzung entwickelt wurde, oder DECT, das
hauptsächlich für Schnurlostelefone genutzt wird, eignet sich Bluetooth mit seiner leicht erweiterbaren
Spezifikation für viele Anwendungen. Derzeit gibt es allein auf dem deutschen Markt hunderte und
weltweit insgesamt über 1200 zertifizierte Bluetooth-Geräte, und die Vielfalt an Produkten ist
mittlerweile kaum mehr zu überblicken. Bluetooth verbindet Mobiltelefone mit Headsets, PDAs und
Freisprecheinrichtungen in Kraftfahrzeugen, Notebooks mit DSL-Modems oder Tastaturen, Mäuse und
Digitalkameras mit dem PC, der mit relativ preiswerten USB-Adaptern Bluetooth-fähig wird. Ericsson
erwartet beispielsweise, dass bereits im kommenden Jahr kaum mehr ein Bluetooth-loses Mobiltelefon
verkauft wird. Es ist aber auch zu erwarten, dass sich aufgrund der Vielseitigkeit von Bluetooth
langfristig zahlreiche neue Anwendungsbereiche ergeben werden.
- 140 -
Gegenüber proprietären Funktechnologien (z.B. Logitech’s „Cordless Desktop“, der eine drahtlose
Verbindung von Tastatur und Maus mit einem PC ermöglicht) kann Bluetooth mit Verschlüsselung,
höherer Reichweite und störungsfreier Kommunikation – auch beim Betrieb mehrer solcher Geräte im
selben Raum – punkten.
Eine Datenbank mit allen derzeit zertifizierten Bluetooth-Produkten ist auf der SIG-Website [60]
zu finden. Auch das Computermagazin c’t [53] hat eine Datenbank [59] gestartet, die sämtliche im
deutschsprachigen Raum erhältlichen Bluetooth-Geräte enthält.
Im Folgenden sind einige aktuelle Produkte mit integriertem Bluetooth-Modul aufgelistet, welche
die zunehmende Verbreitung von Bluetooth untermauern sollen:
Nokia 6600: Tri-Band-Handy, SymbianOS 7.0, Unterstützung der Bluetooth Java API
JSR-82, Videoaufnahmen mit Sound
Nokia 610: Kfz-Einbausatz, der das Bluetooth SIM Access Profile (siehe Kapitel 2.5.18,
SIM Access Profile) unterstützt und damit auf die SIM-Karte eines gekoppelten
Mobiltelefons zugreift, mit dessen Nummer es sich im Mobilfunknetz identifiziert; die
Verbindung wird durch Tastendruck oder das Verlassen des Autos gekappt.
Siemens SX1: Tri-Band-Handy, Symbian OS 7.0, Java J2ME kompatibel
Siemens U10: Dual-Mode GSM/UMTS-Handy, Videostreaming
Nokia NGage: Kombination von Tri-Band-Handy, Spielkonsole und UKW-Radio; Java
J2ME kompatibel
Nokia Digital Pen: Sendet handgeschriebene Nachrichten an ein gepaartes Mobiltelefon,
um sie zu speichern oder per MMS zu verschicken.
HP Deskjet 450WBT: Ermöglicht das Drucken digitaler Fotos, Dokumente,
Telefonbucheinträge, Termine, SMS-Nachrichten etc. via PC, PDA oder Handy. Nokia
stellt für die Smartphones 7650 und 3650 entsprechende Druck-Software zum Download
bereit, die Geschwindigkeit liegt aber mit maximal 723 kBit/s deutlich unter der einer
USB-Verbindung.
Siemens Pocket LOOX 610 / HP iPAQ Pocket-PC H5550: Intel XScale 400MHz
Prozessor, integriertes IEEE 802.11b WLAN, Fast IrDa und USB, Windows Mobile 2003
- 141 -
Fujitsu-Siemens Connect2Air Bluetooth USB Dongle: Sehr kleiner USB Dongle, der zur
Connect2Air-Familie diverser Drahtlosprodukte gehört.
IBM ThinkPad T40p: High-End-Notebook mit integriertem WLAN, Windows XP
Professional
Bluetooth Headset BT2000: 29g leichtes Headset, das sich dank einer speziellen
Basisstation mit einem beliebigen kabelgebundenen Telefon benutzen lässt.
Grundsätzlich eignen sich Headsets auch, um den PC via IP-Telefonie zum Telefonieren
zu benutzen. Stereo-Headsets sind angekündigt, aber noch nicht verfügbar.
AVM BlueFRITZ! AP-DSL: Ermöglicht kabellosen Zugang zu ISDN bzw. DSL via
Bluetooth und eignet sich für die Verwendung mit PC, Scanner, Drucker, BluetoothSchnurlostelefon etc.; alle Geräte haben gemeinsamen Zugriff auf die im Piconetz
freigegebenen Ressourcen.
Logitech diNovo Media Desktop: Kabellose Tastatur, Maus und Multifunktionsblock; das
Ladegerät kann als Bluetooth-Hub verwendet werden.
Allgemein kann man sagen, dass es kaum mehr einen Notebook-, PDA- bzw. Handy-Hersteller,
der kein Modell mit integriertem Bluetooth-Chip anbietet, aber auch im Bereich der PC-Peripherie nimmt
das Angebot an Bluetooth-fähigen Produkten kontinuierlich zu. Weiters fällt auf, dass bei Notebooks und
PDAs Microsoft, bei Smartphones hingegen Symbian die Betriebssystem-Marktführung hat.
Aber auch im industriellen Bereich findet Bluetooth zunehmende Verbreitung. So rüsten derzeit
Firmen wie UPS oder Bofrost ihre Lieferfahrzeuge insofern um, dass die Daten, welche der Fahrer nach
Auslieferung der Ware in seinem mobilen Terminal gespeichert hat, automatisch via Bluetooth und
Mobilfunk an die Zentrale weitergeleitet werden. DaimlerChrysler baut Fahrzeuge, deren
Diagnosesysteme via Bluetooth und Mobilfunk mit dem Service in Verbindung treten, und BMW hat eine
Variante seines Z4 vorgestellt, bei dem es möglich ist, viele Konsolenfunktionen des Autos über ein
Bluetooth-Headset zu steuern, ohne dabei die Hände vom Lenkrad nehmen zu müssen. Auch im Bereich
der Vernetzung von Sensoren, Aktuatoren und Controllern in drahtlosen Netzwerken sowie der
drahtlosen Bedienung und Wartung verteilter Steuerungen sind viele Anwendungsszenarien denkbar.
Für Entwickler hat der zunehmende Erfolg von Bluetooth aber auch die Kehrseite, dass der
Wettbewerb zunimmt, und man für einen längerfristigen Erfolg mittlerweile einen gut durchdachten
Business-Plan braucht. Da die Konsumenten immer besser mit der Technologie zurecht kommen, ist auch
zu erwarten, dass der Kundensupport in den Hintergrund tritt und der Preis wettbewerbsentscheidend
wird. Nach Ansicht von Frost & Sullivan werden sich in den nächsten Jahren die Bluetooth- 142 -
Komponenten immer stärker angleichen, Wachstumschancen sieht man vor allem in der Erschließung
neuer Anwendungsbereiche. Der langfristige Erfolg der Unternehmen wird nach Frost & Sullivan davon
abhängen, ob es gelingt, aus den verschiedenen neuen Anwendungsbereichen genau die richtigen zu
identifizieren, um das Interesse der Kunden zu wecken und einen Kundenstamm aufzubauen.
- 143 -
6 Bluetooth – quo vadis?
Bluetooth-Module, die neben Steuerung und Verschlüsselung auch die komplette Sende- und
Empfangseinheit beinhalten, haben mittlerweile nur noch die Größe einer Zwei-Euro-Münze. In Serie
produziert liegen die Kosten mittlerweile unter 10 Euro, bei der prognostizieren Verbreitung wird der
Preis aber deutlich unter die Fünf-Euro-Marke fallen.
Nach den Vorstellungen der SIG wird Bluetooth zuerst andere schnurlose Techniken im
Nahbereich – allen voran IrDA und DECT – ergänzen, um sie dann mittelfristig abzulösen. [Kral03]
Momentan kämpft Bluetooth aber noch mit einigen Problemen, wobei mit Version 1.2 des BluetoothStandards viele Verbesserungen – vor allem die verbesserte Störungsunempfindlichkeit gegenüber IEEE
802.11b/g – erreicht wurden.
Die Entwicklung des Bluetooth-Standards zeigt mit jeder Version signifikante Verbesserungen,
wodurch seit Version 1.1 Marktreife erreicht ist und sich Bluetooth nun auch am Massenmarkt
explosionsartig verbreitet (siehe Kapitel 5, Bluetooth Markt). Die seit November 2003 veröffentlichte
Version 1.2 schaffte mit durch Verbesserungen bzgl. Störsicherheit und Verbindungsaufbau die
Voraussetzungen für noch breitere Akzeptanz und eine Stärkung der Marktposition.
Eine Herausforderung, der sich die Gerätehersteller und die SIG noch stellen müssen, ist die
mangelhafte Interoperabilität, die darauf zurückzuführen ist, dass die Bluetooth-Spezifikation in den
höheren Schichten des Protokollstack zu viele Implementierungsfreiheiten lässt. Unterstützung bietet hier
beispielsweise die vom Computermagazin c’t betriebene Datenbank [59], die es Käufern ermöglicht, alle
unterstützten Profile eines Bluetooth-Gerätes und dazu kompatible Geräte anzuzeigen. In diese
Datenbank fließen Informationen ein, welche die c’t-Redaktion in ihren Tests sammelt, aber auch
Anwender können ihre Erfahrungen eintragen.
Ein Problem stellen nicht zertifizierte Bluetooth-Artikel dar, vor denen TDK Systems [52] in
einem Presseartikel vom 23. September 2003 warnt. Derzeit würden laut TDK rund 50 Prozent des
Zubehörs entweder den öffentlichen Qualifikations-Prozess nicht durchlaufen oder gegen WarenzeichenVorschriften verstoßen. Das Problem dabei sei, dass diese Produkte oft die Standards für Interoperabilität
und Support nicht erfüllen, was Kunden davor abschrecken könnte, weiterhin Bluetooth-Geräte zu
nutzen. Damit die Benutzer aber Vertrauen in die Technologie fassen, sei es wichtig, dass nur dort
Bluetooth draufsteht, wo wirklich zertifiziertes Bluetooth drin ist. Die Bluetooth SIG hat in diesem
Zusammenhang alle Mitglieds-Unternehmen gebeten, nach gesetzeswidrigen Produkten Ausschau zu
halten.
- 144 -
Auch im Bereich Sicherheit (vor allem in Bezug auf unsichere Konfigurationen und dem
fehlenden Risikobewusstsein der Anwender) sowie den verfügbaren Anwendungen (es gibt noch kaum
überzeugende Anwendungen abseits von Gerätesynchronisation und Internetverbindung via Bluetoothfähige Mobiltelefone) sieht Gartner noch erhebliches Verbesserungspotenzial. Wichtig für den künftigen
Erfolg von Bluetooth wird auch die einfache Bedienung sein, d.h. dass man kein Handbuch für dessen
Verwendung benötigen sollte. Einen wichtigen Schritt in diese Richtung tätigte die Bluetooth SIG
vergangenen Dezember mit dem „Five Minute Ready“- Programm, das eine Herausforderung für alle
Hersteller sein soll, Bluetooth- Produkte zu entwickeln, die innerhalb kürzester Zeit genutzt werden
können. Gartner kritisiert auch die nach wie vor schlechten Benutzerschnittstellen für Verbindungsaufbau
und Sicherheitseinstellungen.
Zudem seien sich die meisten Benutzer über die Möglichkeiten von Bluetooth noch nicht bewusst;
nur ein geringer Prozentsatz davon nutzt derzeit die Bluetooth-Fähigkeiten der gekauften Geräte.
Bluetooth wird in Zukunft mit mehreren Technologien im WPAN-Bereich konkurrieren müssen,
von denen die Wichtigsten voraussichtlich WiMedia und ZigBee sein werden (siehe Kapitel 3,
Verwandte Technologien). Ob Bluetooth den vorhandenen Marktvorsprung wird nutzen können oder ob
sie sich nebeneinander etablieren werden, ist aus heutiger Sicht schwer abzusehen.
Aber was auch immer passiert, eines ist für [Bray02] klar: Bluetooth wird auf jeden Fall sehr groß
werden – entweder als Verbraucher-Flop, oder aber als enormer Erfolg; wir wollen letzteres hoffen 
- 145 -
7 Literaturverzeichnis
Alle Links funktionierten am 2. Dezember 2003.
7.1
Bücher und Publikationen
[And03]
Stephan Anders: “Bluetooth in Enterprises – Gains and Pains”, Siemens CT IRC TIS
Report, 03/2003
[BAVW03a] Bluetooth Audio Video Working Group: “Generic Audio/Video Distribution Profile”,
Revision 1.0, 22.05.2003; Internet:
https://www.bluetooth.org/foundry/specification/docman/
[BAVW03b] Bluetooth Audio Video Working Group: “Advanced Audio Distribution Profile
Specification”, Revision 1.0, 22.05.2003; Internet:
https://www.bluetooth.org/foundry/specification/docman/
[BAVW03c] Bluetooth Audio Video Working Group: “Audio/Video Remote Control Profile”, Revision
1.0, 22.05.2003; Internet: https://www.bluetooth.org/foundry/specification/docman/
[BCIA03]
Bluetooth SIG: “Common ISDN Access Profile”, Revision 1.0, 22.05.03; Internet:
https://www.bluetooth.org/foundry/specification/docman/
[BCOR01]
Bluetooth SIG: “Bluetooth Core Specification”, Revision 1.1, 22.02.2001; Internet:
https://www.bluetooth.org/foundry/specification/docman/
[BCOR03]
Bluetooth SIG: “Bluetooth Core Specification”, Revision 1.2, 05.11.2003; Internet:
https://www.bluetooth.org/spec/
[Beut04]
Jan Beutel, Oliver Kasten et.al.: „Prototyping Sensor Network Applications with
BTnodes“, IEEE European Workshop on Wireless Sensor Networks, Berlin, 01/2004.
Internet: http://www.inf.ethz.ch/vs/publ/papers/prototyping-btnode.pdf
[BHCR03]
Bluetooth SIG: “Hardcopy Cable Replacement Profile”, Revision 1.0a, 22.05.03; Internet:
https://www.bluetooth.org/foundry/specification/docman/
[BPRO01]
Bluetooth SIG: “Bluetooth Profiles Specification”, Revision 1.1, 22.02.2001; Internet:
https://www.bluetooth.org/foundry/specification/docman/
[Bray01]
Jennifer Bray, Charles F Sturman: “Bluetooth – Connect Without Cables”, 2001 Prentice
Hall, ISBN 0-1308-9840-6
- 146 -
[Bray02]
Jennifer Bray, Charles F. Sturman: “Bluetooth 1.1 – Connect Without Cables, Second
Edition”, 2002 Prentice Hall, ISBN 0-13-066106-6
[BSI03]
Bundesamt für Sicherheit in der Informationstechnik (BSI): „Bluetooth – Gefährdungen
und Maßnahmen“, 2003; Internet: http://www.bsi.de/literat/doc/bluetooth/bluetooth.pdf
[BSIM03]
Bluetooth SIG: “SIM Access Profile”, Revision 1.0, 22.05.03; Internet:
https://www.bluetooth.org/foundry/specification/docman/
[DECT02]
DECT Consortium: „Positioning of DECT in relation to other radio access technologies”,
2002; Internet: http://www.dect.org/pdf/dect_positioning_version1.pdf (12.11.2003)
[Eker02]
Johan Eker, Anton Cervin, Andreas Hörjel: “Distributed Wireless Control Using
Bluetooth”, IFAC Conference on New Technologies for Computer Control, Hongkong,
11/2001; Internet: http://www.control.lth.se/documents/2001/eker+01.pdf
[Fers03a]
Alois Ferscha: Vorlesung „Embedded Systems“, Institut für Praktische Informatik –
Abteilung Software, Universität Linz, 2003; Internet: http://www.soft.unilinz.ac.at/Teaching/Lehrangebot/Informatik/
[Fers03b]
Alois Ferscha: Vorlesung „Telekooperation“, Institut für Praktische Informatik – Abteilung
Software, Universität Linz, 2003; Internet: http://www.soft.unilinz.ac.at/Teaching/Lehrangebot/Informatik/
[Fluh01]
Scott R. Fluhrer, Stefan Lucks: „Analysis of the E0 Encryption System”, Selected Areas in
Cryptography – SAC 2001, Las Vegas, USA, 03/2001; Internet: http://th.informatik.unimannheim.de/People/Lucks/ papers/e0.ps.gz
[FMK02]
Forum Mobilkommunikation: „Weißbuch Mobilkommunikation: Bluetooth, ZigBee und
WLAN“, 2003; Internet: http://www.fmk.at
[Gell03]
Hans-Werner Gellersen: „Wearable Computing – Technologie und Anwendungen tragbarer
Rechner“, HMD – Praxis der Wirtschaftsinformatik, 1999, Heft 209; Internet:
http://hmd.dpunkt.de/209/
[Hand03]
Matthias Handy, Marc Haase, Dirk Timmermann: “Der Verlust der informationellen
Selbstbestimmung? Anonymitätsaspekte bei Bluetooth und WLAN“, 4. Informations- und
Kommunikationstechnologie (IuK)- Tage Mecklenburg Vorpommern, 06/2003; Internet:
http://www-md.e-technik.uni-rostock.de/veroeff/20030520_IUK_final.pdf
[Hoeb03]
Rob Hoeben: „Getting Bluetooth Wireless Technology – Below the $4 Dollar Barrier”,
2003; Internet:
http://www.techonline.com/community/tech_topic/bluetooth/tech_paper/29360
[Hopk03]
Bruce Hopkins, Ranjith Antony: “Bluetooth for Java”, 2003 Apress Verlag, ISBN 1-59059078-3
- 147 -
[Kral03]
Arno Kral, Heinz Kreft: „Wireless LANs Networker’s Guide – Bluetooth, HiperLAN,
WLAN & Co.”, 2003 Markt + Technik Verlag, ISBN 3-8272-6329-8
[Laur03]
Adam Laurie, Ben Laurie: “Serious flaws in Bluetooth security lead to disclosure of
personal data”, 2003; Internet: http://bluestumbler.org/
[Lule01]
Martin Luley: Diplomarbeit “Anwendungsszenarien für Bluetooth”, Lehrstuhl für
Informatik IV - RWTH Aachen, 2001
[Matt03]
Friedemann Mattern: Vorlesung „Ubiquitous Computing“, Research Group for Distributed
Systems, ETH Zürich, 2003; Internet:
http://www.inf.ethz.ch/vs/edu/SS2003/UC/index.html
[Merk02]
Andreas Merkle, Anestis Terzis: "Digitale Funkkommunikation mit Bluetooth", 2002
Franzis'-Verlag, ISBN 3-7723-4654-5
[Mill01]
Brent A. Miller, Chatschik Bisdikian: “Bluetooth Revealed – The Insider’s Guide to an
Open Specification for Global Wireless Communications”, 2001 Prentice Hall, ISBN 01309-0294-2
[Mobi03]
MobiLearn Konsortium: “State-of-the-Art Technologietrends & Endgeräte”, 2003; Internet:
http://www.mobilearn.at
[Murp02]
Patrick Murphy, Erik Welsh, Patrick Frantz: “Using Bluetooth for Short-Term Ad-Hoc
Connections Between Moving Vehicles: A Feasibility Study”, IEEE Vehicular Technology
Conference (VTC), Birmingham, 2002; Internet:
http://cmc.rice.edu/docs/docs/Mur2002May5UsingBluet.pdf
[Roth02]
Jürgen Roth: „Mobile Computing“, 2003 Dpunkt Verlag, ISBN 3-8986-4165-1
[Schi03]
Jochen Schiller: "Mobilkommunikation", 2003 Pearson Studium, ISBN 3-8273-7060-4
[Schm03]
Albrecht Schmidt, Frank Siegemund et.al.: „Mobile Ad-hoc Communication Issues in
Ubiquitous Computing – The Smart-Its Experimentation Platform“, Proceedings Personal
Wireless Communication Conference, Venedig, 09/2003; Internet:
http://www.inf.ethz.ch/vs/publ/papers/smart-its-project-presentation.pdf
[Siko01]
Axel Sikora: „Wireless LAN – Protokolle und Anwendungen“, 2001 Addison-Wesley,
ISBN 3-8273-1917-X
[Stef02]
Andreas Steffen: Vorlesung „Signale und Übertragung“, Institut für Technik, Informatik
und Naturwissenschaften, Züricher Hochschule Winterthur, 2002; Internet: http://wwwt.zhwin.ch/it/su/
[Tan02]
Godfrey Tan: “Blueware: Bluetooth Simulator for ns”, MIT Technical Report, MIT-LCSTR-866, Cambridge, 10/2002; Internet: http://nms.lcs.mit.edu/projects/blueware/blueware866.pdf
- 148 -
[Tane00]
Andrew S. Tanenbaum: „Computernetzwerke“, 2003 Pearson Studium, ISBN 3-82737046-9
[Topl02]
Kim Topley: „J2ME in a Nutshell“, 2002 O’Reilly, ISBN 0-596-00253-X
[Wang00]
Zhiyong Wang: „Comparison of Bluetooth and Jini for Use in Wireless Personal Area
Networks”, Individual Project Report, Bradley Department of Electrical and Computer
Engineering, Virginia Polytechnic Institute and State University, Spring 2000; Internet:
http://fiddle.visc.vt.edu/courses/ecpe6504-wireless/projects_spring2000/report_wang.pdf
7.2
Internet
[1]
The Official Bluetooth Wireless Info Site: https://www.bluetooth.com
[2]
Bluetooth Spezifikation: https://www.bluetooth.org/foundry/specification/docman/
[3]
The Official Bluetooth SIG Membership Site: https://www.bluetooth.org/
[4]
Siemens PSE Bluetooth: http://www.siemens.at/bluetooth/
[5]
Siemens SieMo S50037 Bluetooth Modul:
http://www.siemens.at/bluetooth/de/download/bluetooth02v2.pdf
[6]
European Telecommunications Standards Institute (ETSI): http://www.etsi.org
[7]
International Telecommunication Union – Telecommunication Standardization Sector
(ITU-T): http://www.itu.int/ITU-T/
[8]
ITU-T Recommendation Q.931: http://www.itu.int/itudoc/itu-t/com11/implgd/q931.html
[9]
Infrared Data Association (IrDA): http://www.irda.org/
[10]
Institute of Electrical and Electronics Engineers (IEEE) 802.11 Working Group for WLAN:
http://grouper.ieee.org/groups/802/11/
[11]
Institute of Electrical and Electronics Engineers (IEEE) 802.15 Working Group for WPAN:
http://grouper.ieee.org/groups/802/15/
[12]
Digitale Aura … von Menschen und Dingen:
http://www.wissen.jku.at/univationen/0209/ferscha.htm
[13]
Electronic Bill and Payment: http://www.ebpp.at/
[14]
IEEE – Pervasive Computing: http://www.computer.org/pervasive/
- 149 -
[15]
IBM WatchPad 1.5: http://www.trl.ibm.com/projects/ngm/index_e.htm
[16]
The Smart-Its Project: http://www.smart-its.org/
[17]
Palo Wireless Bluetooth Ressource Center: http://www.palowireless.com/bluetooth/
[18]
Heise Online Mobil: http://www.heise.de/mobil
[19]
Wearable Computing at the MIT Laboratory:
http://www.media.mit.edu/wearables/people.html
[20]
Frog Design / Motorola Offspring Wearables Concept (Phone Scoop), 03/2003:
http://www.phonescoop.com/articles/moto_wearables/
[21]
Samsung GPRS Wrist Watch Phone, 03/2003: http://www.samsung.com
[22]
ITU-Recommendation G.711: http://www.itu.int/rec/recommendation.asp
?type=folders&lang=e&parent=T-REC-G.711
[23]
BlueZ: http://bluez.sourceforge.net/
[24]
JBlueZ: http://jbluez.sourceforge.net/
[25]
Verbesserungen der Bluetooth-Version 1.2: https://www.bluetooth.org/spec/?
[26]
Pressemeldung Release Bluetooth-Spezifiaktion 1.2
http://www.bluetooth.com/dev/spec.v12.asp
[27]
ZigBee Ressource Center: http://www.palowireless.com/zigbee/
[28]
tecChannel : Bluetooth 2.0 : http://www.tecchannel.de/news/20020613/thema200206137813.html
[29]
Ultra Wideband and WiMedia : http://www.embedded.com/story/OEG20030319S0019
[30]
DECT: http://www.dect.org
[31]
HiperLAN2-Forum: http://www.hiperlan2.com/
[32]
Tektronix PTW60 Protocol Tester for Bluetooth Solutions; Internet: http://www.tek.com/
Measurement/Products/catalog/2DA_14925/eng/index.html
[33]
TechOnline: „Bluetooth Updates and Changes – V1.2 Illustrated”
http://www.techonline.com/community/tech_topic/bluetooth
[34]
Der Standard Online: http://derstandard.at/
[35]
heise online: http://www.heise.de/
- 150 -
[36]
heise mobil: http://www.heise.de/mobil/
[37]
teltarif.de: http://www.teltarif.net/
[38]
Frost & Sullivan: http://www.wireless.frost.com
[39]
EE Times Online – Weltweiter Industrie-Nachrichtendiens für Elektronikingenieure und
technisches Management: http://www.eetimes.de/
[40]
SYSTEMS-world: http://www.systems-world.de/
[41]
golem.de – IT-News für Profis: http://www.golem.de/
[42]
about IT: http://www.aboutit.de/
[43]
ORF futurezone: http://futurezone.orf.at/
[44]
FMK Forum Mobilkommunikation: http://www.fmk.at/mobilkom/
[45]
Tom’s Hardware Guide: http://www.tomshardware.de/
[46]
Bluetooth World Congress 2003: http://www.ivs.tu-berlin.de/bluetoothWC2003/
[47]
CertificationSuccess.com: http://www.certificationsuccess.com/
[48]
ECIN – Electronic Commerce Info Net: http://www.ecin.de/
[49]
Forrester Research – Technology Research and Advice: http://www.forrester.com/
[50]
Samsonite: http://www.samsonite.com/hardlite/flash/site.html
[51]
RFI Mobile Technologies: http://www.rfi.de/
[52]
TDK Systems Press: http://www.tdksystems.com/corporate/press/
[53]
c’t – magazin für computertechnik: http://www.heise.de/ct/
[54]
Bluejacking Website: http://www.bluejackq.com/
[55]
Gartner: http://www.gartner.com
[56]
Wireless Firelity (Wi-Fi) Alliance: http://www.weca.net/
[57]
Windows CE .NET: http://www.microsoft.com/windows/embedded/ce.net/
[58]
Symbian OS – the mobile operating system:
http://www.tecchannel.de/news/20031021/thema20031021-12204.html
- 151 -
[59]
heise - Bluetooth Datenbank: http://www.heise.de/mobil/bluetooth/db/
[60]
Bluetooth SIG Product Database: http://www.bluetooth.com/tech/products.asp
[61]
Cambridge Silicon Radio (CSR): http://www.csr.com/
[62]
Infineon Technologies AG: http://www.infineon.com/
[63]
MS Windows Embedded: http://www.microsoft.com/windows/embedded/
[64]
Netzwerk-Simulator ns-2: http://www.isi.edu/nsnam/ns/
[65]
BlueHoc – Bluetooth Performance Evaluation Tool: http://oss.software.ibm.com/bluehoc/
[66]
Internet Engineering Task Force (IETF) - RFC Page: http://www.ietf.org/rfc.html
[67]
Infrared Data Association: http://www.irda.org/
[68]
ZigBee Alliance: http://www.zigbee.org/
[69]
Ultra Wideband Working Group: http://www.uwb.org/
[70]
Bluetooth Simulation Project: http://tochna.technion.ac.il/project/bt_sim/html/bt_sim.html
[71]
BlueWare – Support for Self-organizing Scatternets:
http://nms.lcs.mit.edu/projects/blueware/
[72]
Firma Rococo: http://www.rococosoft.com/
[73]
The Community Resource for Jini Technology: http://www.jini.org/
[74]
The Java Community Process Program – JSR 82: http://www.jcp.org/en/jsr/detail?id=82
[75]
Reference Implementation (RI) and Technology Compatibility Kit (TCK) for JSR-82:
http://www.motorola.com/java
[76]
Atinav Inc. – aveLink Bluetooth: http://www.atinav.com/bluetooth/
[77]
Symbian OS: http://www.symbian.com/
[78]
MSDN: http://msdn.microsoft.com/
[79]
AXIS OpenBT Stack: http://sourceforge.net/projects/openbt/
[80]
Affix Bluetooth Protocol Stack: http://affix.sourceforge.net/
- 152 -
8 Abbildungsverzeichnis
Abbildung 1: Bluetooth-Logo [1]................................................................................................................. 4
Abbildung 2: SieMos Bluetooth Modul [5].................................................................................................. 5
Abbildung 3: Telefonie über verschiedene Medien [Lule01]....................................................................... 7
Abbildung 4: Audio-Konfiguration mit Bluetooth [Lule01] ........................................................................ 8
Abbildung 5: PC-Peripherie per Bluetooth [Lule01] ................................................................................. 10
Abbildung 6: Vernetzter Haushalt [Lule01] ............................................................................................... 11
Abbildung 7: Fernbedienung industrieller Geräte [Lule01] ....................................................................... 12
Abbildung 8: Bluetooth als Schlüsselersatz [Lule01] ................................................................................ 13
Abbildung 9: Smart-It „BTNode“ [16] ...................................................................................................... 18
Abbildung 10: The Disappearing Computer [Matt03] ............................................................................... 19
Abbildung 11: Piconetz mit einem Master und einem Slave (a), einem Master und mehreren Slaves (b)
und ein Scatternetz bestehend aus drei Piconetzen [BCOR01] .......................................................... 23
Abbildung 12: Scatternetz (M=Master, S=Slave, P=Parked, SB=Standby) [Schi03] ................................ 24
Abbildung 13: Bluetooth Protokoll Stack [Lule01] ................................................................................... 25
Abbildung 14: Kollision zwischen Bluetooth und HomeRF [Lule01] ....................................................... 30
Abbildung 15: Einteilung der Zeitschlitze [BCOR01] ............................................................................... 30
Abbildung 16: Einteilung der Zeitschlitze bei Multislot-Paketen [BCOR01] ............................................ 31
Abbildung 17: Datenübertragung in einem Piconetz [Lule01]................................................................... 32
Abbildung 18: Paket-Format [Schi03] ....................................................................................................... 33
Abbildung 19: SCO-Pakete [Schi03] ......................................................................................................... 36
Abbildung 20: ACL-Pakete [Schi03] ......................................................................................................... 37
Abbildung 21: Logische (virtuelle) Kanäle zwischen Bluetooth-Geräten [Lule01] ................................... 38
- 153 -
Abbildung 22: Bluetooth Geräteadresse (BD_ADDR) [Lule01] ............................................................... 39
Abbildung 23: Slaves in Piconetz synchronisieren sich mit Uhr des Masters [Schi03] ............................. 40
Abbildung 24: Bluetooth Basisband Zustände [Schi03] ............................................................................ 42
Abbildung 25: Link Controller Zustandsdiagramm [Lule01] .................................................................... 43
Abbildung 26: Link-Manager-Kommunikation [BCOR01] ....................................................................... 45
Abbildung 27: LMP Verbindungsaufbau [BCOR01] ................................................................................. 47
Abbildung 28: Protokoll-Implementierungen Modul und Host [BCOR01] ............................................... 49
Abbildung 29: Bluetooth-Übertragung zwischen zwei Host-Systemen [BCOR01].................................. 50
Abbildung 30: A-Law-Kennlinie (positiver Quadrant) [Stef02] ................................................................ 51
Abbildung 31: L2CAP im Bluetooth-Stack [BCOR01] ............................................................................. 52
Abbildung 32: L2CAP-Verbindungen [BCOR03] ..................................................................................... 54
Abbildung 33: Datenpaket-Formate [Schi03] ............................................................................................ 54
Abbildung 34: Signalisierungs-Datenpaket [Schi03] ................................................................................. 55
Abbildung 35: SDP-Architektur [BCOR03] .............................................................................................. 58
Abbildung 36: Service Record [BCOR03] ................................................................................................. 59
Abbildung 37: Bluetooth Sicherheitsarchitektur und -protokolle [Schi03] ................................................ 64
Abbildung 38: Übertragungstätigkeit im Zustand Hold [Merk02] ............................................................. 72
Abbildung 39: Übertragungstätigkeit im Zustand Sniff [Merk02] ............................................................. 73
Abbildung 40: Übertragungstätigkeit im Zustand Park [Merk02] ............................................................. 73
Abbildung 41: Ablauf einer QoS-Vereinbarung [Bray02] ......................................................................... 76
Abbildung 42: Vertikale Schnitte [Schi03] ................................................................................................ 78
Abbildung 43: Bluetooth Profile (es fehlt: HID Profile im GAP) [18] ...................................................... 79
Abbildung 44: Protokollstack HCRP [BHCR03] ....................................................................................... 82
Abbildung 45: Bluetooth-Stack bei Verwendung von HIDP [BHID03] .................................................... 83
- 154 -
Abbildung 46: Audio/Video-Übertragungsprofile – Abhängigkeiten [BAVW03a] .................................. 84
Abbildung 47: Anwendungsszenario SIM-Profile [17].............................................................................. 87
Abbildung 48: Faster Connections [32] ..................................................................................................... 91
Abbildung 49: Frequency-Maps [32] ......................................................................................................... 92
Abbildung 50: Die neue L2CAP-Architektur [BCOR03] .......................................................................... 93
Abbildung 51: Reichweite vs. Durchsatz [Murp02] ................................................................................... 95
Abbildung 52: Konfiguration des Masters [65].......................................................................................... 97
Abbildung 53: Visualisierung einer Bluetooth-Simulation mit NAM [70] ............................................... 98
Abbildung 54: Gegenüberstellung Bluetooth-Stack und Blueware-Module [Tan02] ................................ 99
Abbildung 55 WLAN-Infrastruktur [Mobi03] ......................................................................................... 104
Abbildung 56: Mögliche Netztopologien in ZigBee [27] ........................................................................ 107
Abbildung 57: Frequenzspektrum bei Ultra Wideband [29] .................................................................... 109
Abbildung 58: WiMedia Protokollstack [29] ........................................................................................... 110
Abbildung 59: Aufbau von BlueZ [23] .................................................................................................... 114
Abbildung 60: hciconfig........................................................................................................................... 115
Abbildung 61: hcidump ............................................................................................................................ 115
Abbildung 62: hcitool: Anzeige der Connections .................................................................................... 116
Abbildung 63: hcitool: Inquiry ................................................................................................................. 116
Abbildung 64: l2ping ............................................................................................................................... 117
Abbildung 65: SDP Browsing .................................................................................................................. 118
Abbildung 66: Bluetooth-Stack in Windows CE 4.2 [78] ........................................................................ 121
Abbildung 67: Bluetooth und Jini im ISO/OSI Referenzmodell [Wang00] ............................................. 126
Abbildung 68: Rococo Impronto [72] ...................................................................................................... 127
Abbildung 69: Server erstellt das Service und wartet auf Verbindung via L2CAP ................................. 130
- 155 -
Abbildung 70: Abgeschlossenes Inquiry auf dem Client ......................................................................... 132
Abbildung 71: Verbindungsaufbau (Client) ............................................................................................. 134
Abbildung 72: Verbindungsaufbau (Server) ............................................................................................ 134
Abbildung 73: Ping-Pong ......................................................................................................................... 136
- 156 -