Das InfoTip Kompendium

Ein kostenloser Service der InfoTip Service GmbH

Zum Anfang der
Seite scrollen

Bluetooth

Inhaltsverzeichnis

 

1. Allgemeine Systembeschreibung

Bluetooth Logo
Abb. 1.01: Bluetooth Logo [1]

Bluetooth ist ein Kurzstrecken-Kommunikationssystem (WPAN = Wireless Personal Area Network) im lizenzfreien ISM-Band (Industrial, Scientific and Medical Band) zwischen 2,402 GHz und 2,480 GHz. Bluetooth unterstützt die Übertragung von Sprache und Daten. Bluetooth wurde mit dem Ziel entwickelt, portable Geräte wie Mobiltelefone, PDAs, Notebooks etc. durch Funkverbindungen niedriger Leistung miteinander zu verbinden.

Ausschlaggebend für die Entwicklung von Bluetooth war die Idee für einen drahtlosen Kopfhörer durch den schwedischen Physiologen Dr. Johan Ulman, der Kontakt zum Technischen Direktor des schwedischen Telekommunikationsausstatters Ericsson hatte.

Das positive Ergebnis einer Machbarkeitsstudie von Ericsson führte 1998, zusammen mit IBM, Intel, Nokia und Toshiba, zur Gründung der Bluetooth Special Interest Group (SIG). Heute besteht diese Interessengemeinschaft aus mehr als 8000 Firmen. Die SIG arbeitet die Bluetooth-Standards aus und legt sie in verbindlichen Spezifikationen fest. Erste marktgerechte und in der Praxis verwendbare Produkte erschienen 2001 (Bluetooth 1.1). Da sich Bluetooth-Geräte bald durch ihre einfache Bedienbarkeit und Zuverlässigkeit auszeichneten, konnte es sich gegen das konkurrierende IrDA, ein auf Infrarotlicht basierendes Kommunikationssystem, durchsetzen.

Der Name Bluetooth ist auf den dänisch/norwegischen König Harald Blauzahn (Harald Blåtand) zurück zu führen. Dieser vereinte im 10. Jahrhundert Teile von Dänemark und Norwegen. In Anlehnung daran wurde das moderne Bluetooth so getauft, weil es viele Kommunikationsprotokolle in einem universellen Standard vereint.
Das Logo von Bluetooth besteht aus den Runen Hagalaz und Berkano, der Initialen Harald Blauzahns.

Einsatzbereiche von Bluetooth

Bluetooth ist seit seiner Einführung einen langen Weg gegangen und hat sich, wenn auch nach einigen Anlaufschwierigkeiten, in vielen Bereichen fest etabliert. Es gibt kaum praktische Anwendungen, wo nicht Bluetooth eingesetzt werden kann: Game-Controller, Freisprechanlagen, DECT-Telefone, Computer-Peripherie, medizinische Mess- und Überwachungsgeräte, Kassen- und Bezahlsysteme, in der industriellen Produktion, Hausautomation (IoT = Internet der Dinge), Freizeit- und Sportgeräte u.v.a.m.

Ein GPS-Logger sendet per Bluetooth Geokoordinaten an einen kleinen Bluetooth-Empfänger am USB-Port einer Spiegelreflex-Kamera.
Abb. 1.01: Bluetooth-Anwendungen: Ein GPS-Logger sendet per Bluetooth Geokoordinaten und Zeitstempel an einen Bluetooth-Empfänger (im Kreis) am USB-Port einer Spiegelreflex-Kamera. Die Daten werden in die EXIF-Metadaten des Bildes eingebettet. [1]

1.1 Bluetooth-Netze

Die Grundeinheit eines Bluetooth-Systems ist ein Pikonetz (Piconet). Das Bluetooth System gliedert sich in Punkt-zu-Punkt-Verbindungen (Single Slave Piconet) oder Punkt-zu-Mehrpunktverbindungen (Multi-Slave Piconet). In einer Punkt-zu-Punktverbindung wird der physische Übertragungskanal von beiden Bluetooth-Geräten gemeinsam verwendet ("shared"). In einer Punkt-zu-Mehrpunktverbindung teilen sich mehrere Geräte einen physischen Kanal. Das Gerät, das eine Verbindung initiiert hat, ernennt sich zumeist zum Master, die anderen Geräte sind Slaves. Ein Piconet kann bis zu 255 Teilnehmer umfassen. Acht Teilnehmer dürfen gleichzeitig aktiv sein. Die nicht aktiven Geräte befinden sich im "Park-Modus", sind aber noch mit dem Master synchronisiert. Der Netzzugriff von aktiven und geparkten Slaves wird vom Master gesteuert. Ein Master darf an alle Slaves Daten in seinem Piconet senden und Daten von ihnen anfordern. Slaves dürfen nur an ihren Master Daten senden und Daten von ihm empfangen. Slaves können nicht mit anderen Slaves kommunizieren.

Abb. 1.02: Strukturen von Bluetooth-Netzen
Abb. 1.02: Strukturen von Bluetooth-Netzen

Jedes Piconet hat einen einzigen Master. Slaves können im Zeitmultiplex an mehreren Piconets teilnehmen. Ein Gerät, das in einem Piconet Master ist, kann in einem anderen Piconet Slave sein. Piconets, die gemeinsame Geräte haben, werden als Scatternets (to scatter = verteilen, zerstreuen) bezeichnet. Piconets sind untereinander nicht synchronisiert und jedes Piconet hat seine eigene Frequenz-Hopping-Sequenz.

Über den speziellen verbindungslosen Slave Broadcast Physical Link können Daten als Broadcast an eine unbegrenzte Anzahl von Slaves in einem Kanal übertragen werden.

1.2 Bluetooth-Varianten

Es gibt zwei unterschiedliche Bluetooth Technologien. Die am weitesten verbreitete Implementierung ist das Basic Rate/Enhanced Data Rate (BR/EDR). Bluetooth Low Energie (LE) ist eine relativ junge Entwicklung. Beide Bluetooth-Technologien haben unterschiedliche Anwendungsbereiche und verwenden unterschiedliche Hard- und Software.

  • Bluetooth BR/EDR baut Verbindungen mit relativ kurzer Reichweite auf, die länger bestehen. Ein Beispiel wäre das Streamen von Audiosignalen zu einem drahtlosen Kopfhörer. Die Kanalbandbreite beträgt 1 MHz. Die aktuell gültige Implementierung von Bluetooth BR/EDR wurde in den Spezifikationen 2.0/2.1 definiert.
  • Bluetooth LE sendet kurze Impulsbündel mit hoher Reichweite. Die Kanalbandbreite beträgt 2 MHz. Weil mehr Bandbreite zur Verfügung steht, kann mit niedrigeren Sendepegeln eine höhere Reichweite erzielt werden. Bluetooth LE eignet sich daher besonders für den Aufbau einer Sensorik-Infrastruktur, wie sie für das Internet der Dinge (IoT = Internet of Things) benötigt wird. IoT-Anwendungen brauchen in der Regel keine kontinuierlichen Verbindungen, sind aber auf eine lange Batterielaufzeit angewiesen. Bluetooth LE wurde in den Standards Bluetooth 4.0/4.1/4.2 spezifiziert.
  • Dual Mode-Geräte verwenden beide Bluetooth-Varianten. Zu diesem Typ gehören beispielsweise Mobiltelefone. Sie können sowohl Audio zu Kopfhörer streamen (BR/EDR), als auch Informationen zur Smart Watch (LE) schicken.

1.3 Die Entwicklung von Bluetooth

Jahr Version Bemerkung
1999 Bluetooth 1.0/1.0B Die ersten Bluetooth-Geräte im Markt wiesen noch viele Schwächen auf. Die Interoperabilität von Geräten unterschiedlicher Hersteller war nicht immer gewährleistet.
Die obligatorische Übertragung der physischen Bluetooth Geräteadresse (Bluetooth Hardware Device Address Transmission (BD_ADDR) = MAC-Adresse) beim Verbindungsaufbau stellte eine Sicherheitslücke dar und behinderte die Einführung einiger Dienste.
Maximale Datenübertragungsrate: 732 kbit/s
2002 Bluetooth 1.1 Mit der Bluetooth-Spezifikation 1.1 wurden etliche Fehler in den Vorgängerversionen korrigiert.
Um die Auslastung des Bluetooth Frequenzbandes zu verbessern wurde eine Signalstärkenmessung (Received Signal Strength Indicator = RSSI) eingeführt.
Einführung unverschlüsselter Kanäle
Maximale Datenübertragungsrate: 732 kbit/s
2003 Bluetooth 1.2 AFH (Adaptive frequency-hopping spread spectrum = bandbreitengespreiztes adaptives Frequenzsprungverfahren) verringert die Störemfindlichkeit gegenüber Funkquellen wie WLAN oder DECT durch Vermeidung von belegten Kanälen in der Hopping-Sequenz.
eSCO (Extended Synchronous Connections) verbessert die Sprachverständlichkeit, da korrupte Datenpakete nochmals gesendet werden. Wegen der Rekombination musste die Audio-Latenzzeit erhöht werden.
Maximale Datenübertragungsrate: 1MBit/s
2004 Bluetooth 2.0 + EDR Die Einführung von Enhanced Data Rate (EDR) verspricht eine Verdreifachung der theoretischen Datenrate auf 3 Mbit/s. In der Praxis werden aber nur ca. 2,1 Mbit/s erreicht.
2007 Bluetooth 2.1 + EDR Mit Vers. 2.1 wird das Secure Simple Pairing (SSP) eingeführt, was das Pairing von Bluetooth-Geräten vereinfacht und gleichzeitig die Sicherheit erhöht.
Durch Extended inquiry response (EIR) erhalten Bluetooth-Geräte mehr Information während der Inquiry-Phase mit anderen Geräte über deren Eigenschaften. Dies erlaubt eine bessere Filterung vor der Verbindungsaufnahme.
Sniff Subrating veringert die Leistungsaufnahme im Low-Power-Modus.
2009 Bluetooth 3.0 + HS Ab Vers. 3.0 wird ein zusätzlicher High-Speed-Kanal AMP (Alternative MAC/PHY) über eine 802.11-Verbindung verfügbar. Die Datenrate steigt auf (theoretisch) 24 Mbit/s bei Benutzung von WLAN. Bluetooth wird nur zum Aufbau und der Steuerung der Verbindung verwendet. Eine mögliche Verwendung von UWB (Ultra Wide Band) mit bis zu 480 MBit/s wurde wieder verworfen.
2010 Bluetooth 4.0 Mit der Bluetooth 4.0-Spezifikation wird die Bluetooth-Welt in drei Bereiche geteilt:
- Classic Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR)
- Bluetooth High Speed über WLAN
- Bluetooth Low Energie (BLE) oder Bluetooth Smart
BLE zielt auf Anwendungen mit geringen Stromverbrauch, keine hohen Datenraten benötigen und nicht auf einen kontinuierlichen Datenstrom angewiesen sind. Man verzichtet bewusst auf hohe Reichweite (50 m statt 100 m) und Datendurchsatz (0,27 MBit/s statt 2,1 MBit/s) um die Leistungsaufnahme so gering wie möglich zu halten. Ein Beispiel für BLE sind Smartwatches.
Der Bluetooth 4.0 ist nicht rückkompatibel zu allen Vorgängerversionen.
2013 Bluetooth 4.1 Das Update Vers. 4 ist softwareorientiert und soll Bluetooth um mehr verbraucherfreundliche Funktionen erweitern.
2014 Bluetooth 4.2 Eines der Key-Features von Bluetooth 4.2 ist die Unterstützung für einen direkten Internet-Zugang über IPv6.
Neue Sicherheitsmaßnahmen erhöhen den Schutz der Privatsphäre vor Beacons in öffentlichen Bereichen.
Einige Features für das Internet der Dinge (IoT = Internet of Things) werden implementiert.
2016   Bluetooth 5.0 wird angekündigt. Versprochen werden eine Verdreifachung der Reichweite und eine Verdoppelung der Übertragungsrate bei Low Energie-Verbindungen. Neue Funktionen für das IoT, standortbezogene Informationen und Navigation sollen eingeführt werden.

Tabelle 1.01: Die Entwicklung von Bluetooth

2. Technische Beschreibung

2.1 Systemarchitektur

Die Grundstruktur eines Bluetooth-Systems besteht aus einem Host, z.B. ein PC auf dem eine Bluetooth-Anwendung läuft, und dem Bluetooth-Controller, der eine Schnittstelle in die physische Welt darstellt. Um die Interoperabilität zwischen den Bluetooth-Geräten zu gewährleisten, sind Host und Controller in Ebenen unterteilt, die die in den Spezifikationen und Protokollen vorgegebenen Funktionen erfüllen. Die wichtigsten Protokolle für den Betrieb sind im Bluetooth-Kern zusammengefasst. Diese sind im Controller

  • das Funkprotokoll im Radio Layer,
  • das Link Control (LC) Protokoll,
  • das Link Manager Protokoll

und auf dem Host

  • das Logical Link Controller & Adaptation Protocol (L2CAP)

In den meisten Standardanwendungen von Bluetooth werden Host und Controller durch das Host to Controller Interface (HCI) verbunden. Das HCI ermöglicht eine bidirektionale Kommunikation zwischen beiden Systemteilen.

Abb. 2.01: Der Bluetooth Protokoll-Stapel
Abb. 2.1: Der Bluetooth Protokoll-Stapel

Ergänzt werden die Protokolle durch die sogenannten Profile. Profile sind standardisierte Lösungen für bestimmte Nutzungsszenarien z.B. A2DP (Advanced Audio Distribution Profile) Streaming von Audiodaten oder HFP (Hands Free Profile) für die schnurlose Telefonie im Auto. Profile verknüpfen nur diejenigen Protokolle miteinander, die benötigt werden um eine spezielle Funktion zu erfüllen.

2.2 Funkschicht (Radio Layer)

2.2.1 Frequenzband und Kanäle

Abb. 2.02: Die Funkschicht / Radio Layer Protokolle
Abb. 2.02: Die Funkschicht / Radio Layer Protokolle

Die Funkschicht ist die physische Verbindung zwischen zwei oder mehr Punkten. Sie beschreibt die zur Übertragung benötigten fundamentalen Parameter wie die genutzten Frequenzen, die Übertragungs- und Modulationsverfahren und die Sendeleistungen.

Bluetooth verwendet das weltweit lizenzfreie ISM-Band (Industrial, Scientific and Medical Band) im Frequenzbereich von 2,402 GHz bis 2,480 GHz, in dem auch WLAN und Short Range Devices (SRD) wie Funkmäuse usw. senden. Eine gegenseitige Beeinflussung, bzw. Störung, ist somit nicht ausgeschlossen.

Für den Basic Rate / Enhanced Data Rate (BR/EDR)-Betrieb ist der ISM-Frequenzbereich in 79 je 1 MHz breite Kanäle und für den Low Energie (LE)-Betrieb in 40 Kanäle (mit je 2 MHz Kanalbandbreite) unterteilt.

Bluetooth unterscheidet zwei Kanaltypen:

  • Daten-Kanäle dienen zur Übertragung von Daten nachdem eine Verbindung zwischen den Geräten aufgebaut wurde. Hierfür stehen 79 (BR/EDR) bzw. 37 (LE) Kanäle auf den Frequenzen 2404-2424 MHz und 2428-2478 MHz bereit.
  • Advertising-Kanäle werden von Bluetooth LE verwendet um in der Nähe befindliche Bluetooth-Geräte zu erkennen und Daten (Informationen von lokalem Interesse oder Werbung) verbindungslos als Broadcast anzubieten. Bei einer Verbindungsanfrage werden über die Advertising-Kanäle die Verbindungsparameter ausgetauscht. Nach dem Aufbau der Verbindung werden die regulären Daten-Kanäle zur Kommunikation verwendet.
    Es gibt drei feste Frequenzen für den Advertising-Dienst: 2402 MHz (Kanal 37), 2426 MHz (Kanal 38) und 2480 MHz (Kanal 39). Wie in Tabelle 2 zu erkennen ist, liegen die Advertising-Kanäle in unterschiedlichen Teilen des Frequenzspektrums. Diese Maßnahme erhöht die Störsicherheit gegenüber WLAN.
Tabelle 2: Bluetooth Frequenzspektrum mit Low Energie (LE)-Kanalaufteilung. WLAN b/g und SRD-Geräte funken im gleichen Frequenzbereich.
Tabelle 2: Bluetooth Frequenzspektrum mit Low Energie (LE)-Kanalaufteilung. WLAN b/g und SRD-Geräte funken im gleichen Frequenzbereich.

2.2.2 Modulation und Frequenz-Hopping

Da, wie bereits beschrieben, Bluetooth die gleichen Frequenzen verwendet wie WLAN und Short Range Devices (SRD), besteht eine hohe Wahrscheinlichkeit von frequenzselektiven Störungen durch Einstrahlungen benachbarter Sender. Als recht sichere Modulationsverfahren in einer in solch kritischen Umgebung haben sich Multiträgerverfahren besonders gut bewährt. Bluetooth BR verwendet GFSK (Gaussian Frequency Shift Keying) eine Variante der Frequenzumtastung. Bei Bluetooth EDR und den neueren Bluetooth-Versionen kommt Quadraturphasenumtastung (QPSK) zum Einsatz.

Um die Störfestigkeit und die Sicherheit zu erhöhen wird FHSS (Bandbreitenspreizung durch Frequenzsprung) zur Funkübertragung verwendet. Bei diesem Verfahren springt die Trägerfrequenz des Bluetooth-Senders 1600 mal pro Sekunde zwischen den 37, bzw. 79, Datenkanälen hin und her. Ein Kanal ist somit in 625 μs lange Intervalle (sog. Slots) geteilt. Die Umschaltreihenfolge wird durch eine Pseudozufallszahlen-Sequenz bestimmt, die Sender und Empfänger bekannt sein müssen. Bei Bluetooth sind sechs Typen von Hop-Sequenzen definiert. Welche Sequenz letztlich verwendet wird, ist von mehreren Faktoren, wie z.B. der Hardwareadresse (Bluetooth Device Address) des Masters (BD_ADDR) abhängig.
Die Übertragung der Daten erfolgt im Time Division Duplex-Verfahren (TDD) bei dem Master und Slave abwechselnd senden.

Ab Bluetooth 1.1 kann Bluetooth erkennen, welche Kanäle von anderen Netzen bereits belegt sind oder gestört sind. Die Hopping-Sequenz wird dann entsprechend angepasst (daher auch die Bezeichnung Adaptive Frequency Hopping).

Beim Time Division Duplex-Übertragungsverfahren wechseln sich Master und Slave beim Senden ab.
Abb. 2.03: Beim Time Division Duplex-Übertragungsverfahren wechseln sich Master und Slave beim Senden ab.

2.2.3 Sendeleistung und Reichweiten

Tab. 2.01: Bluetooth Sendeleistung und typische Reichweiten
Tab. 2.01: Bluetooth Sendeleistung und typische Reichweiten

Bluetooth-Geräte werden in drei Leistungsklassen eingeteilt. In welche Leistungsklasse ein Gerät eingeordnet wird, ist vom Hersteller und vom Anwendungsprofil des Gerätes abhängig. Peripheriegeräte wie Mäuse oder Tastaturen sind zumeist mit einer geringen Sendeleistung ausgestattet, während stationäre Geräte höhere Leistungen abgeben können.

2.2.4 Datenraten

Tab. 2.02: Bluetooth Datenraten
Tab. 2.02: Bluetooth Datenraten

Die Bandbreite eines physikalischen Bluetooth-Kanals beträgt 1 MHz, was für den Benutzer eine Nettodatenrate von 0,7232 MBit/s bedeutet. Mit Bluetooth 2.0/2.1 wurde die Geschwindigkeit auf 2,1 Mbps verdreifacht. Die noch höheren Geschwindigkeiten ab Bluetooth 3 werden nur über eine Kombination mit WLAN erreicht. Bluetooth dient dabei nur zum Aufbau und Unterhalt der Verbindung mit dem WLAN.

2.3 Basisband (Baseband Link Controller)

Die Baseband Protokollebene
Abb. 2.04: Die Baseband Protokollebene

Das Basisband behandelt die Mechanismen des Verbindungsaufbaus, der Datenstruktur und das Timing. Hier werden Datenpakete entsprechend ihrem Typ mit Headern versehen und in Rahmen paketiert. In dem Header stehen die Zieladresse des Pakets und diverse Steuerinformationen wie die Piconet-ID, Geräteadresse und Informationen über das Paket selber. Es gibt mehrere Typen von Bluetooth-Paketen mit unterschiedlichen Inhalten.

2.3.1 Bluetooth-Geräteadressen

Jedes Bluetooth-Gerät hat eine weltweit eindeutige, 48-Bit lange Geräteadresse. Wie die LAN-MAC-Adresse besteht sie aus drei Feldern. Der untere Adressteil (Lower Address Part = LAP) mit 24 Bit wird den Geräteherstellern auf Antrag zugewiesen. LAP und der 8 Bit lange obere Adressteil (Upper Address Part = UAP) bilden den so genannten signifikanten Teil (significant part) einer Bluetooth-Geräteadresse. Der nicht signifikante Adressteil (Non-significant Address Part = NAP) und UAP können von den Herstellern frei generiert werden.

Die individuelle Hardwareadresse eines Bluetooth-Gerätes bestimmt auch die Frequenz-Hopping-Sequenz
Abb. 2.05: Die individuelle Hardwareadresse eines Bluetooth-Gerätes bestimmt auch die Frequenz-Hopping-Sequenz

2.3.2 Physikalische Verbindungen

Bluetooth kann mit unterschiedlichen physischen Verbindungsarten unterschiedliche Vermittlungstechniken einsetzen. Hinzu kommen noch diverse Broadcast-Verfahren.

Synchronous Connection Oriented Link (SCO-Link)

Synchronous Connection Oriented Link (Synchrone leitungsvermittelte Verbindung) ist eine symmetrische Punkt-zu-Punkt-Verbindung, in der der Master dem Slave in regelmäßigen Zeitabständen einen Slot zur Datenübertragung zuweist. Dadurch, dass Slots fest reserviert sind, wirkt die Kommunikation wie in einem leitungsvermittelten Netz. Aufgrund der Punkt-zu-Punkt-Verbindung benötigen SCO-Datenpakete keine Adressinformation, was den Datenoverhead reduziert.

SCO ist fürs Streaming ausgelegt und wird für die Übertragung von Sprach- und Audiodaten über Headsets eingesetzt. Übertragungsfehler müssen vom Empfänger kompensiert werden. Da dies nicht immer möglich ist, können Störungen auftreten.
Qualitativ hochwertiges, ein- oder mehrkanaliges Audiosignal, wie es z.B. an einen Kopfhörer geht, wird deshalb unter der dem Advanced Audio Distribution Profile (A2DP) in einem eSCO-Link übertragen.

Es können bis drei Datenströme gleichzeitig übertragen werden. Ein Master kann somit mit bis zu drei Slaves parallel kommunizieren. Ein Slave kann mit einem Master über drei Streams oder mit zwei Master mit jeweils einen Stream verbunden sein. SCO-Links sind auf die Übertragung von Sprache ausgelegt. Die Datenrate beträgt in beiden Richtungen jeweils 64 kBit/s für jede Verbindung. Eine Überprüfung der übertragenen Daten findet nicht statt. Bis Bluetooth 1.2 gab es nur drei unterschiedliche Paket-Typen (HV1 - HV3), die sich der Güte der Fehlerkorrektur und in der Menge der übertragenen Sprachdaten pro Paket unterschieden.
Da Hin- und Rückkanal bei einem SCO-Link die gleiche Bandbreite haben, wird sie auch als symmetrische Verbindung bezeichnet (siehe Abb. 2.06 oben).

Extended Synchronous Connection-Oriented Link (eSCO-Link)

Extended Synchronous Connection Oriented Link (Erweiterte synchrone leitungsvermittelte Verbindung) wurde mit Bluetooth 1.2 eingeführt. eSCO reserviert, wie SCO, feste Slots und kann also ebenfalls als leitungsvermittelt bezeichnet werden. Zusätzlich unterstützt eSCO eine zyklische Redundanzprüfung (Cyclic Redundancy Check = CRC) und ein Zeitfenster unmittelbar nach einem reservierten Slot, in dem Daten nochmals übertragen werden können.

Asynchronous Connection-Oriented Logical Link (ACL-Link)

Bei einer ACL (Asynchrone paketvermittelte Verbindung) kann ein Master slotweise mit jedem Slave im Piconet in den Slots, die nicht für einen synchronen Datentransport reserviert sind, Datenpakete austauschen. Die paketorientierte Kommunikation kann synchron als auch asynchron verlaufen. Für die meisten ACL-Pakete ist eine Sendewiederholung möglich, wenn der Empfänger kein Acknowledge (Empfangsbestätigung) zurücksendet

ACL wird für die gesicherte Übertragung von Daten und Dateien eingesetzt. Übertragungsfehler können durch ein wiederholtes Übertragen defekter Pakete zu 100% korrigiert werden. Auch qualitativ hochwertiges Audio kann über ACL übertragen werden.


ACL-Pakete, die nicht an einen spezifischen Slave gerichtet sind, sind als Broadcast zu betrachten und sind von allen Slaves im Piconet zu empfangen.
Hin- und Rückkanal eines ACL-Links können, müssen aber nicht, unterschiedliche Bandbreiten haben. Sie können daher sowohl symmetrisch als auch asymmetrisch betrieben werden (siehe Abb. 2.06 unten).

Physikalische Verbindungen
Abb. 2.06: Physikalische Verbindungen

2.3.3 Bluetooth Datenpakete

Die Strukturen der in einem Piconet verwendeten Datenpakete, bzw. Frames (Rahmen), sind eng mit dem logischen Verbindungstyp mit dem sie verwendet werden, verknüpft. Sechzehn verschiedene Pakettypen in vier Gruppen sind zu unterscheiden. Die erste Gruppe ist für Kontroll-Pakete reserviert. Alle Kontroll-Pakete belegen einen Time-Slot. Die zweite Gruppe ist für Pakete, die einen Slot besetzen, die Dritte für Pakete mit drei Slots und die Vierte mit fünf Slots.
Neben Paketen für Nutzdaten in SCO-Links, ACL-Links und LE gibt es auch gemeinsame Pakete zur Abfrage von Slaves, zur Synchronisation der Sprungfolge und zur Bestätigung von Datentransfers.

Bluetooth BR

Die Grundstruktur von Bluetooth-Paketen im Basisband besteht aus drei Feldern:

  • Access-Code (Zugriffscode)
    Der 68 bzw. 72 Bit lange Access-Code (je nachdem ob ein Zusatzfeld "Trailer" (Anhang) übertragen wird oder nicht) dient zur Identifizierung und Synchronisation des Piconets, zum Geräteaufruf und -abfrage.
  • Header (Paketkopf)
    Der Header mit 54 Bit enthält die Zieladresse, die Kennung des Pakettyps, Informationen für die Flusssteuerung und Prüfsummen (Header Error Check / HEC).
    Da der Header essentielle Daten für den Transport des Pakets enthält, ist er mittels FEC (Forward Error Correction) besonders geschützt.
  • Payload (Nutzdaten)
    Die Feldlänge des Nutzdaten-Segments eines Bluetooth-Pakets ist abhängig vom Pakettyp und dem Verbindungsverfahren.

Während der Übertragung Bluetooth BR wird nur GFSK (Gaussian Frequency Shift Keying) eingesetzt.

Aufbau der Datenpakete von Bluetooth BR
Abb. 2.07: Aufbau der Datenpakete von Bluetooth BR
Bluetooth EDR

Der grundsätzliche Aufbau der Datenpakete im Enhanced Data Rate Mode entspricht dem des Basic Rate-Modes. Charakteristisch ist aber, dass die Modulationsart innerhalb des Paketes geändert wird. Der Access Code und der Header werden wie im Basic Rate Mode mit 1 MBit/s GFSK übertragen. Die Synchronisationsphase, die Payload (Nutzdaten) und der Trailer (Anhang) hingegen werden mit DSPK (Differential Phase-Shift Keying) moduliert.  Der Modulationswechsel wird innerhalb eines 5 μs langen Schutzintervalls vorgenommen.
Durch die Verwendung von DSPK kann die Symbolrate erhöht werden. Das wesentlich längere Payload-Feld reduziert den Datenoverhead. Dadurch kann die Datenrate auf 2 MBit/ bzw. 3 MBit/s gesteigert werden.

Aufbau der Datenpakete von Bluetooth EDR
Abb. 2.08: Aufbau der Datenpakete von Bluetooth EDR
Bluetooth LE

Für Bluetooth LE wird nur ein Paketformat verwendet. Jedes Paket umfasst vier Felder: die Präambel (1 Byte), den Access-Code (4 Bytes), die Protocol Data Unit PDU (2-257 Bytes) und den CRC (Cyclic Redundancy Check). Das kürzeste Paket kann 80 Bits lang sein, das längste 2120 Bits.
Je nach Betriebsmodus des Gerätes (Advertising oder Verbunden) hat die PDU unterschiedliche Länge und Aufbau.

Advertising PDUs werden in den verschiedenen Typen des Advertising-Dienstes eingesetzt. Je nach Event ist das Payload-Feld in zwei unterschiedlich große Datenblöcke aufgeteilt.

Data Channel PDUs haben einen 16 Bit langen Header und bis zu 251 Bytes an Payload. Ein 64 Bit langes MIC (Message Integrity Check (Nachrichten Integritätsprüfung)) kann folgen. Data Channel PDUs können Daten PDUs oder Control PDUs sein. Beide Pakettypen sind an den L2CAP (Logical Link Control & Adaption Protocol-Layer) gerichtet.

Aufbau der Datenpakete von Bluetooth LE
Abb. 2.09: Aufbau der Datenpakete von Bluetooth LE

2.4 Link Layer

Der Link Layer mit dem Link Manager Protocol.
Abb. 2.11: Der Link Layer mit dem Link Manager Protocol.

Das Link Manager Protocol im Link Layer (Logische Verbindungsebene) steuert den Verbindungsaufbau zwischen zwei Geräten, die Verbindungsverwaltung und die Sicherheits- und Authentifizierungsfunktionen. Zu den Aufgaben gehört das Überwachen des Channel Status (Kanalstatus) und das Verarbeiten von Kontrollbefehlen. Der Link Manager kann verschiedene Kommunikationsverbindungen, wie synchron, asynchron oder Streams, aufbauen, managen und beenden.

2.4.1 Gerätezustände

Die Funktionsweise des Link Layers kann mit einer Statusmaschine verglichen werden. Es können fünf Zustände unterschieden werden. Ein Bluetooth-Gerät darf sich immer nur in einem dieser Zustände befinden.

  • Standby-Modus
    Ein Gerät im Standby-Modus sendet oder empfängt keine Pakete. In den Standby-Modus kann aus allen anderen Zuständen eingetreten werden.
  • Advertising-Modus
    Ein Gerät im Advertising-Modus sendet Pakete auf dem Advertising-Kanälen und lauscht und reagiert auf von den Advertising-Paketen ausgelösten Antwortpaketen. Der Advertising-Modus kann aus dem Standby-Modus erreicht werden.
  • Scanning-Modus
    Ein Gerät im Scanning-Modus lauscht auf den Advertising-Kanälen nach Advertising-Paketen. Der Scanning-Modus kann aus dem Standby-Modus erreicht werden.
  • Initialisierungsmodus (Initiating State)
    Ein Gerät im Initialisierungsmodus lauscht auf den Advertising-Kanälen nach Advertising-Paketen von speziellen Geräten und antwortet um eine Verbindung zu initialisieren. Der Scanning-Modus kann aus dem Standby-Modus erreicht werden.
  • Verbindungsmodus (Connection State)
    Ein Gerät kann nur aus dem Initialisierungsmodus oder aus dem Advertising-Modus in den Verbindungsmodus gelangen. Innerhalb des Verbindungsmodus sind zwei Rollen festgelegt. Ein Gerät, das aus dem Initialisierungsmodus in den Verbindungsmodus wechselt, erhält die Rolle des Masters. Ein Gerät, das aus dem Advertising-Modus in den Verbindungsmodus wechselt, erhält die Rolle des Slaves.

• Der Master kommuniziert mit dem Slave und legt das Timing für die
  Übertragungen fest.
• Der Slave darf nur mit einem Gerät in der Master-Rolle kommunizieren.

Der Link Layer verhält sich wie eine Statusmaschine: Geräte dürfen nur einen Status zur selben Zeit haben und dürfen aus ihrem Status nur in vorgeschriebene andere wechseln.
Abb. 2.12: Der Link Layer verhält sich wie eine Statusmaschine: Geräte dürfen nur einen Status zur selben Zeit haben und dürfen aus ihrem Status nur in vorgeschriebene andere wechseln.

2.4.2 Verbindungsverwaltung (Link Manager Protocol)

Der Aufbau einer Verbindung zwischen zwei Bluetooth-Geräten erfordert die Einrichtung von einem gemeinsamen physischen Kanal (= Funkverbindung) und einem logischen Kanal zur Steuerung.

Der Aufbau einer Verbindung zwischen zwei Bluetooth-Geräten erfolgt in mehreren Stufen, in dem drei Betriebszustände durchlaufen werden.

  1. Inquiry (Anfrage) - Wenn zwei Bluetooth-Geräte keinerlei Informationen voneinander haben, muss eine Anfrageroutine gestartet werden. Möchte ein Gerät (bzw. dessen Nutzer) ein eigenes Piconet aufbauen, sendet das Gerät einen Inquiry Access Code (IAC) aus. Dieser Code wird vom Gerät nacheinander auf festen 32 Frequenzen gesendet. Jedes Bluetooth-Gerät kennt diesen Code und wenn es diesen empfängt antwortet es mit seiner Adresse und einer Zeitinformation.
    Ein Gerät, das bereits in Bereitschaft ist, wechselt periodisch in den Inquiry-Modus um auf den 32 Frequenzen nach IAC-Nachrichten zu lauschen. Nachdem das Gerät eine IAC-Nachricht empfangen hat, sendet es seine Adresse und Informationen, die für den Master für einen Verbindungsaufbau relevant sind. Das Gerät selber wird zum Slave.
  2. Paging (Verbindungsaufbau) - Paging (to page = ausrufen) ist der Prozess des Aufbaus einer Verbindung zwischen zwei oder mehr Bluetooth-Geräten. Der Master berechnet eine Sprungfolge über die er alle Geräte in seinem Piconet erreichen kann und teilt sie den Slaves mit. Die Slaves synchronisieren sich mit dem Clock des Masters. Hat sich ein Slave in das Piconet eingefügt, geht er in den Connected- (Verbunden-) Modus.
  3. Connection (Verbunden) - Nachdem ein Gerät den Paging-Prozess durchlaufen hat und verbunden ist, kann es entweder aktiv im Piconet teilnehmen oder in einen der Energiesparmodi gehen.

Active Mode - Der Active Mode (Aktiver Modus) ist der normale "Verbunden"-Modus. Das Gerät kann senden und empfangen.
Sniff Mode - Der Sniff Mode ("Schnüffelmodus") ist ein Energiesparmodus, in dem das Gerät schläft und in vom Master vorgegebenen Intervallen (z.B. alle 100 ms) aufwacht und nach Übertragungen lauscht. Der Sniff Modus hat die höchste Leistungsaufnahme.
Hold Mode - Der Hold (Halten-) Modus ist ein zeitweiliger Schlaf des Gerätes. Die Dauer des Schlafes wird vom Master vorgegeben. Nach Ablauf der Periode geht das Gerät wieder in den "Verbunden"-Zustand.
Park-Mode - Der Park-Modus ist der tiefste Schlafmodus. Das Gerät wird inaktiv und nimmt nicht mehr an der Kommunikation im Piconet teil. Erst wenn der Master den Befehl gibt, wird der Slave wieder aktiv.

Bluetooth Betriebsmodi
Abb. 2.13: Bluetooth Betriebsmodi

2.4.3 Pairing und Bonding (Paarbildung und Bindung)

Bluetooth-Geräte, die häufig miteinander kommunizieren, können eine Bindung eingehen (Bonding = Bindung, Verschmelzung). So können sich die Bluetooth-Freisprechanlage im Auto oder die Bluetooth-Lautsprecher im Arbeitszimmer automatisch, ohne betätigen von irgendwelchen Bedienteilen, mit dem Smartphone verbinden und ihren Dienst beginnen.

Die Liste gepairter Geräte auf einem Smartphone
Abb. 2.14: Die Liste gepairter Geräte auf einem Smartphone

Der einmalige Vorgang um zwei oder mehr Geräte zu bonden wird als Pairing (Paarbildung) bezeichnet. Während des Pairing-Prozesses tauschen die Geräte ihre Adressen, Namen und Profile untereinander aus und speichern diese für zukünftige Verbindungen. Zusätzlich wird ein gemeinsamer Schlüssel generiert, der es ihnen erlaubt, irgendwann in der Zukunft wieder zu bonden.
Das Pairing erfordert normalerweise das Durchlaufen einer Authentifizierungsprozedur, in der der Benutzer die Bindung zwischen den Geräten genehmigen muss. Das Prozedere der Authentifizierung ist von Gerät zu Gerät unterschiedlich und hängt auch von den verfügbaren Schnittstellen und Bedienoberflächen der Geräte ab. Manchmal, z.B. bei Bluetooth-Kopfhörern, reicht ein Tippen auf ein OK-Button, bei anderen Geräten muss ein sechsstelliger Code eingegeben werden. Ältere Geräte fordern die Eingabe einer PIN in jedes Gerät. Die Komplexität der PIN reicht dabei von vier Zeichen numerisch bis zu 16 alphanumerischen Zeichen.

2.5 Host Controller Interface (HCI)

Das Host Control Interface ist die Schnittstelle zwischen Soft- und Hardware.
Abb. 2.15: Das Host Control Interface ist die Schnittstelle zwischen Soft- und Hardware.

Das Host Controller Interface definiert die bidirektionale Schnittstelle zwischen den Protokollen des Hosts und den Protokollen des Controllers und entkoppelt den Host vom Controller. Es sind mehrere Standards für das HCI als Hardware beschrieben. Als häufigste physische Schnittstelle dient USB.

Über das HCI tauschen der HCI-Treiber auf dem Host  und die HCI-Firmware auf dem Controller Daten, Statusinformationen und Steuerbefehle aus. Das HCI unterstützt nur verbindungsorientierte asynchrone Datenübertragungen (ACL).

2.6 Logical Link Control and Adaptation Layer (L2CAP)

Der Logikal Link Control and Adaptation Layer
Abb. 2.16: Der Logikal Link Control and Adaptation Layer

Das Logical Link Control and Adaptation Layer Protocol (L2CAP) dient zum Aufbau und Management von einer oder mehreren logischen Verbindungen. Mehrere logische Kanäle werden zu einem physischen Kanal gemultiplext. Jedes Paket eines logischen Kanals bekommt einen Verbindungs-Identifier (CID), damit später beim Demultiplexen im Empfänger erkannt werden kann, zu welchem Kanal das Paket gehört.

Die höheren Protokolle können wesentlich höhere Datentransferraten haben als über die Bluetooth-Funkstrecke übertragen werden kann. Lange Datenpakete (bis zu 64kBit/s) aus den oberen Protokollschichten werden im L2CAP in kürzere Pakete segmentiert ehe sie an den Link Layer oder Baseband Layer geschickt werden. Hierdurch erzielt man eine Flusskontrolle, die ein Überlaufen der Buffer im Bluetooth-Controller verhindern soll.
Vom HCI empfangene Daten werden zunächst im L2CAP in die ursprüngliche Anzahl von logischen Kanälen gedemultiplext. Segmentierte Datenpakete werden re-assembliert und an die entsprechenden Anwendungen weitergeleitet. Auch hier wirkt das L2CAP als Flusskontrolle wenn der Host die vom Controller kommenden Pakete nicht so schnell verarbeiten kann, wie sie gesendet werden.

2.7 Service Discovery Protocol (SDP)

Das Service Discovery Protocol
Abb. 2.17: Das Service Discovery Protocol

Nicht alle möglichen Verbindungen zwischen Bluetooth-Geräten sind sinnvoll. Wenn ein Game Controller versuchen würde sich mit einer Autofreisprechanlage zu verbinden, wäre dies von geringem Nutzen. Um solche "Fehlverbindungen" zu vermeiden gibt es das Bluetooth Service Discovery Protokoll (SDP). Dieses Protokoll dient dazu, dass ein Bluetooth-Gerät erkennen kann, welche Dienstleistungen andere in Reichweite befindlichen Bluetooth-Geräte anbieten.

In allen Geräten, die Dienste oder Funktionen anbieten sollen, ist eine Datenbank, das sog. Service Record, integriert. In dieser Datenbank sind alle notwendigen Attribute aufgeführt, die die Eigenschaften des Gerätes beschreiben. Jede der Eigenschaften ist mit einer 32 Bit langen ID versehen.

Ein Gerät, das auf der Suche nach einem bestimmten Dienst ist, bekommt auf Anfrage die Informationen aus dem Service Record von dem des Dienste anbietenden Gerätes übermittelt. Danach kann das Dienste suchende Gerät unmittelbar eine Verbindung mit dem passenden Dienst aufnehmen.

2.8 Telephony Control Protocol Specification (TCS)

Telephony Control Protocol Specification (TCS)
Abb. 2.18: Telephony Control Protocol Specification (TCS)

Die Telephony Control Protocol Specification (Achtung! TCS und nicht TCP! Verwechslungsgefahr mit dem Netzwerkprotokoll "Transmission Control Protocol") beschreibt die Signalisierung zwischen einem Bluetooth-Telefonmobilteil und dessen Basisstation beim Aufbau, Halten und Abbau einer Telefonverbindung.
Das TSC-Protokoll basiert in weiten Teilen auf dem Q.931-Standard, der für öffentliche ISDN-Netze entwickelt wurde.

Abb. 2.19 zeigt wie das TCS-Protokoll eine Telefonverbindung zwischen Mobilteil und Basisstation emuliert. Zuerst initiiert TCS eine logische Verbindung über L2CAB zum Basisteil. Ist die Verbindung aufgebaut, werden über ACL die Daten der Telefonnummer des Ziels übermittelt.

Logische und physische Verbindungen bei einem Bluetooth Telefon
Abb. 2.19: Logische und physische Verbindungen bei einem Bluetooth Telefon

Im gleichen physischen Kanal wird nun eine zweite logische Verbindung aufgebaut, in der die Audiosignale übertragen werden sollen. Das analoge Sprechsignal wird im Mobilteil digitalisiert und in einem Encoder komprimiert. Über die zweite logische Verbindung, ein SCO oder eSCO-Link, wird das digitale Sprachsignal zur Basisstation gefunkt. Dort wird es dann wieder dekodiert. Das hereinkommende Sprachsignal wird ebenfalls digitalisiert und komprimiert und in der gleichen logischen Verbindung an das Mobilteil gesendet.

2.9 Radio Frequency Communication Protocol (RFCOMM)

Das RFCOMM-Protokoll ist der Unterbau für weitere Bluetooth-Kommunikationsprotokolle
Abb. 2.20: Das RFCOMM-Protokoll ist der Unterbau für weitere Bluetooth-Kommunikationsprotokolle

RFCOMM ist ein Prozess und Satz von Steuerbefehlen die eine serielle Schnittstelle ähnlich einer RS-232 emulieren. Hierzu wird eine Punkt-zu-Punkt-Verbindung per Funk installiert. RFCOMM kommt immer dann zum Einsatz, wenn Bluetooth als Kabelersatz verwendet wird oder wenn eine serielle Datenverbindung genutzt werden soll. Es ist eins der wichtigsten Bluetooth-Protokolle.

Adaptierte Protokolle

Aufgrund seiner Einfachheit und Zuverlässigkeit setzen viele weitere Protokolle, die eine bitweise Übertagung vornehmen, auf RFCOMM auf. Hierzu gehören die sogenannten "Adaptierten Protokolle" PPP, TCP, IP, UDP usw. Auch das OBEX (OBject EXchange) baut auf RFCOMM auf. OBEX ist ein Kommunikationsprotokoll um binäre Objekte wie elektronische Visitenkarten, Daten und Dateien zwischen zwei Geräten auszutauschen.

Die RFCOMM- und die adaptierten Bluetooth-Protokolle greifen in den höheren, anwendungsorientierten Schichten auf bereits bestehende und verbreitete Protokolle zurück. Dieses hebt Bluetooth von einem einfachen Funknetz ab, weil diese Dienste Bluetooth zu einem flexiblen Funksystem machen.

RFCOMM emuliert eine serielle Schnittstelle
Abb. 2.21: Logische und physische Verbindungen: RFCOMM emuliert eine serielle Schnittstelle

2.10 Bluetooth-Profile

Wie bereits in der Einleitung dieses Kapitels beschrieben, sind Bluetooth-Profile standardisierte Lösungen für bestimmte Nutzungsszenarien. Profile beschreiben das generelle Verhalten eines Bluetooth-Gerätes bei der Kommunikation mit einem anderen Gerät. Es steht mittlerweile eine hohe Anzahl von Profilen für viele Anwendungen unterschiedlicher Art und einem weiten Feld von Verwendungszwecken.

Abb. 2.22: Bluetooth Profile verknüpfen Protokolle
Abb. 2.22: Bluetooth Profile verknüpfen Protokolle

Ein Profil ist eine Mindestbeschreibung dessen, welche Abhängigkeiten von anderen Profilen bestehen und welche Teile des Bluetooth Protokollstapels benutzt werden. Jedes Profil hat eigene Optionen und Parameter auf jeder Ebene, die verwendet wird. Zudem werden das Verhalten von Anwendungen und Datenformate definiert. Nur wenn zwei Geräte (z.B. unterschiedlicher Hersteller) alle Anforderungen eines Profils entsprechen, ist die Interoperabilität einer Anwendung gewährleistet.

Generic Access Profile (GAP)

Das Bluetooth-System definiert ein Basisprofil, das in allen Bluetooth-Geräten implementiert ist. Das Generic Access Profile (GAP) definiert die grundlegenden Erfordernisse eines Bluetooth-Gerätes. So bestimmt es z.B. dass ein BR/EDR-Gerät bestimmte Protokolle aus den Radio, Baseband-, Link Manager-, L2CAP- Schichten und das Service Discovery Protocol zu verwenden hat. GAP legt die allgemeinen Prozeduren fest wie sich Bluetooth-Geräte gegenseitig entdecken können und wie der Aufbau der Verbindung abläuft. Zudem bestimmt GAP verschiedene Prozeduren, die abhängig vom Sicherheitslevel sind.

BR/EDR und GATT/ATT

Mit der Einführung Bluetooth Low Energy (BLE) mit der Spezifikation 4.0 wurde eine neue Einteilung der Profile vorgenommen. Neben den "klassischen" Profilen für BR/EDR-Geräte wurde eine neue Klasse, die GATT- (Generic Attribute-) Profile, gestellt. GATT baut auf dem ATT- (Attribute-) Protokoll auf. ATT ist ein Protokoll, das Profile miteinander so verknüpft, dass daraus ein Dienst wird. Die auf GATT beruhenden Profile bilden ein Rahmenwerk nur für BLE-Geräte zum gegenseitigen Erkennen, Verbindungsaufbau und Datenaustausch.

Es gibt bereits Dutzende von Profilen für Bluetooth BR/EDR und LE und es kommen ständig weitere hinzu.

Beispiele für BR/EDT-Profile
Zeichen Profil Beschreibung
A2DP Advanced Audio Distribution Profile Beschreibt wie ein Audiosignal von einer Audioquelle an eine Senke (Wiedergabe- oder Aufnahmegerät) gestreamt werden kann.
AVRCP Audio/Video Remote Control Profile Standardisierte Schnittstelle zur Steuerung von AV-Geräten
BPP Basic Printing Profile Ermöglicht Geräten das Senden von Text, Mails, Bilder usw. an einen Drucker
DUN Dial-Up Network Profile Erlaubt den Zugang ins Internet oder zu Wähldiensten über Bluetooth
HFP Hands-Free Profile Schnittstelle zur Medienlandschaft in einem Auto: z.B. Freisprecheinrichtungund Sprachsteuerung fürs Mobiltelefon, GPS, PDA usw.
HID Human Interface Device Profile Beschreibt die Mensch-Maschine-Schnittstelle für Tastaturen, Mäuse, Zeigegeräte, Game Controller usw.
HSP Headset Profile Beschreibt wie ein Bluetooth-Headset mit anderen Bluetooth-Geräten zu kommunizieren hat.
PAN Personal Area Networking Profile Beschreibt wie zwei oder mehr Geräte ein Ad Hoc-Netzwerk bilden können
SPP Serial Port Profile Beschreibt wie eine virtuelle serielle Verbindung zwischen zwei Geräten aufgebaut werden kann
SYNC Synchronization Profile Synchronisation von Kalenderdaten und Adressen zwischen zwei Bluetooth-Geräten

 

Beispiele für GATT-basierte Profile
Zeichen Profil Beschreibung
ANP Alert Notification Profile Ermöglicht es einem Client verschiedene Alarme und Information über Ereignisse zu empfangen
ANS Alert Notification Service Liefert verschiedene Typen von Alarmen
BAS Battery Service Liefert den Batteriestatus eines Gerätes
BLS Blood Pressure Service Liefert die Blutdruckwerte und andere Daten von einem professionellen oder Consumer-Blutdruckmessgerät
PXP Proximity Profile Liefert einen Alarm wenn zwei Geräte sich voneinander entfernen und ein Verbindungsabbruch droht
RTUS Reference Time Update Service Beschreibt wie ein Client ein Update von einem Zeitserver anfordern kann

2.11 Übertragung von Audiosignalen

Bluetooth Headset
Abb. 2.23: Bluetooth Headset [3]

Bluetooth Audio war mit die erste Bluetooth-Anwendung, die sich im Consumer-Markt durchsetzen konnte. Bluetooth Headsets standen lange als Synonym für Bluetooth. Mit Bluetooth fiel das störende Verbindungskabel zwischen Headset und Mobiltelefon weg, man hatte beide Hände frei und das Telefonieren während des Autofahrens war auch ohne aufwändige Freisprechanlage zulässig.
Allerdings war die Tonqualität alles andere als Hi-Fi. Die ersten Bluetooth-Audiospezifikationen hatten eindeutig den Mobilfunk als Zielanwendung und dementsprechend wurden die Systemparameter ausgelegt. Der Audiofrequenzgang war praktisch deckungsgleich mit dem von GSM. Mit der weiteren Entwicklung von Bluetooth wurden weitere Profile geschaffen, die die Tonqualität erheblich verbesserten.

Prinzip der Übertragung von digitalen Audiosignalen

In unserem Beispiel, es folgt dem Bluetooth Headset-Profil, soll ein Sprachsignal per Bluetooth vom Mikrofon zum Kopfhörer übertragen werden. Hierzu werden zunächst die Schallwellen in einem Wandler, hier ein Mikrofon, in ein analoges elektrisches Signal umgewandelt. Ein Analog/Digital-Wandler tastet anschließend die elektrische Wellenform ab. An dieser Stelle entscheidet sich, mit welcher Qualität unser digitales Audiosignal übertragen wird. Das Nyquist-Shannon-Abtasttheorem besagt, dass ein Signal mit mindestens der doppelten Frequenz abgetastet ("gesampled") werden muss, als die Frequenz, die reproduziert werden soll. Beim vollen menschlichen Hörumfang von ca. 30 Hz - 20.000 Hertz müsste die Samplefrequenz folglich bei über 40 kHz liegen. Für die Übertragung von Sprache mit akzeptabler Verständlichkeit, wie es für das Headset-Profil vorgesehen ist, wird bei einem Frequenzumfang von 200 Hz bis 4 kHz eine Samplefrequenz von etwa 8 kHz benötigt. Musik hat bei diesem Frequenzgang dann natürlich den sprichwörtlichen Telefonsound.
In unserem Signalfluss folgt ein Filter zum Beseitigen von Artefakten und ungewünschten Frequenzanteilen. Ein programmierbarer Verstärker (PGA = Programmable Gain Amplifier) sorgt für den korrekten Signalpegel um den erlaubten Schalldruck zu erzeugen.
Eine hohe Samplingfrequenz und eine hohe Signalauflösung können ein Audiosignal zwar am besten reproduzieren, resultieren aber auch in einer großen Datenmenge. Da Bluetooth aber nur über eine sehr begrenzte Bandbreite verfügt, müssen die Daten komprimiert, d.h. verdichtet, werden. Dieses geschieht mittels mathematischer Algorithmen, die das tatsächliche Signal mit einem internen physiologischen Model vergleichen und nur die Differenz zwischen beiden übertragen. Je nach Anwendungsfall können verschiedene Modelle mit unterschiedlichen Übertragungsqualitäten zum Einsatz kommen. Im einfachsten Bluetooth Audio-Profil, dem sogenannten Headset-Profil, sind dies die CVSD (Continuously variable slope delta modulation), die eine lineare 16-Bit PCM liefert oder eine 8-Bit PCM mit logarithmischer A-law- oder μ-law-Quantisierungskennlinie.
Der so erzeugte Bitstream wird paketiert und vom Bluetooth Radio-Layer in einem synchronen SCO-Link gesendet. Der Aufbau, Unterhalt und Abbau der Verbindung mit dem Empfänger wird über ACL und dem HCI gesteuert. Da bei SCO keine wiederholte Übertragung von verlorenen oder korrupten Datenpaketen möglich ist, wird versucht mit einer Vorwärtsfehlerkorrektur (FEC) das Signal so robust wie möglich zu machen.


Im Empfänger wird das Signal im Decoder dekomprimiert, im Digital/Analogwandler in seine analoge Form zurückgebracht und auf die Lautsprecherkapsel im Kopfhörer gegeben.

Abb. 2.24: Bluetooth Audio-Signalfluss im Headset-Profil

Die Grenzen, die SCO aufwies (keine Übertragungswiederholung, wenige Codecs) wurden mit Bluetooth 1.2 und dem enhanced SCO (eSCO) beseitigt. eSCO erlaubt Übertragungswiederholung, eine höhere Datenrate (bis zu 288 kBit/s) und unterstützt mehr und bessere Codecs mit höherer Bandbreite.

Die Bluetooth Audio-Profile

Im Laufe der Jahre wurden für Bluetooth weitere Profile geschaffen, die mehr Funktionalitäten und eine bessere Tonqualität brachten. In jedem Bluetooth-Profil werden den beteiligten Geräten bestimmte Rollen zugewiesen, die zumeist nicht austauschbar sind, denn ein Gerät muss immer die Kontrollfunktion übernehmen.

Headset-Profil

Das Headset-Profil beschreibt welche Protokolle und Prozeduren verwendet werden sollen um eine Vollduplex-Audioverbindung zwischen Geräten einzurichten. Mit Steuerbefehlen sollen einfache Gerätefunktionen kontrolliert werden können. Beispiele hierfür wären Headsets, PCs, PDAs und Mobiltelefone.
Die Rollen bei den Bluetooth-Audioprofilen sind der PC o.ä. als Audio-Gateway (AG) und das Headset als abgesetzte Audio-Ein- und Ausgabeeinheit.
Die grundlegende Funktionsweise einer Verbindung mit dem Headset-Profil wurde am Anfang dieses Kapitels beschrieben.

Hands-Free-Profil

Das Hands-Free-Profil beschreibt wie ein Freisprechen auf der Basis einer Punkt-zu Punkt-Verbindung zu realisieren ist. Die Rollen im Hands-Free-Profil sind der Audio-Gateway und das Car-Kit. Das Audio-Gateway ist normalerweise ein Mobiltelefon, das sich automatisch mit dem Car-Kit verbindet. Das Headset ist ein fernbedientes Mikrofon und ein fernbedienter Kopfhörer. Über Steuerbefehle können Anrufe angenommen und beendet werden, gewählt und die Lautstärke eingestellt werden.

Das Hands-Free-Profil verwendet einen großen Teil der Technologien wie sie auch das Headset-Profil verwendet. Das Audiosignal wird über einen SCO-Link übertragen, die Steuerbefehle über ACL. Auch das Hands-Free-Profil kann Audiosignale nur in Sprachqualität übertragen.

Das Headset-Profil und das Hands-Free-Profil verwenden nahezu die gleichen Protokolle
Abb. 2.25: Das Headset-Profil und das Hands-Free-Profil verwenden nahezu die gleichen Protokolle
Advanced Audio Distribution Profile (A2DP)

A2DP verwendet einen eSCO-Link um Audiosignale in hoher Qualität zu übertragen. Die Übertragung erfolgt in nur eine Richtung. Die Steigerung der Audioqualität gegenüber dem Headset- und Hands-Free-Profil wurde durch die Verwendung einer besseren Fehlerkorrektur mit Übertragungswiederholung und die Verwendung besserer Codecs wie MP3, AAC, MPEG-2 und ATRAC ermöglicht.

Gerätekonfiguration bei A2DP
Abb. 2.26: Gerätekonfiguration bei A2DP

Im A2DP-Profil sind die Rollen der Geräte als Quelle (Source) und Senke (Sink) definiert: Ein Music-Player ist eine Quelle und ein Kopfhörer ist eine Senke. Ein Mikrofon ist eine Quelle und ein Recorder ist eine Senke. Einige A2DP-Geräte können beides sein, aber nicht gleichzeitig. Teilweise können die Geräte auch das Headset- und Hands-Free-Profil erfüllen. Auch hier ist nur ein Profil zurzeit möglich.

Die Protokolle im A2DP-Profil
Abb. 2.27: Die Protokolle im A2DP-Profil

2.12 Bluetooth Advertising

Bluetooth Advertising ist eine neue Form des mobilen Marketings, das die Bluetooth-Technologie einsetzt um Nachrichten, Informationen oder Werbung an mobile Geräte wie Smartphones, Tablet oder Laptop zu verteilen.

Bluetooth Advertising verschickt von kleinen, stationären Funkstationen auf speziellen Advertising-Kanälen Dateien unterschiedlichen Inhalts (Bilder, Klingeltöne, vCards, Java-Anwendungen, Text, ...). Die Aufstellungsorte reichen von Einkaufszentren über Flughäfen zu Marktplätzen und Museen. Die Reichweite, die abhängig von Leistungsklasse des Senders und der Empfindlichkeit des Bluetooth-Empfängers ist, liegt zwischen 10 und 250 Meter.

Es gibt zwei Methoden von Bluetooth Advertising:

  • Beim Passive Scanning werden die Daten zusammen mit einer ID von einer Bluetooth Beacon (Bake, Funkfeuer) versendet. Alle Empfänger in Reichweite, die die ID kennen, können die Advertising-Datenpakete empfangen und verarbeiten. Eine Verbindung zwischen Bluetooth Beacon und Mobilgerät wird nicht aufgebaut.
  • Beim Active Scanning möchte das Mobilgerät vielleicht mehr vom Advertiser wissen und sendet ein spezielles Datenpaket (Scan Request GAP Protocol Data Unit (PDU)), was in etwa "erzähl mir mehr" bedeutet. Der Advertiser sendet daraufhin ein Scan Response PDU, das mehr Informationen enthält.

Die Wirksamkeit von Bluetooth Advertising hängt natürlich davon ab, wieviele Empfänger erreicht werden können. Hier zeigt sich die Schwäche von Bluetooth Advertising: Um die Batterie im Mobilgerät zu schonen, schalten die meisten Benutzer die Bluetooth-Funktionen in ihren Geräten ab. Eine weitere Voraussetzung ist, dass der potentielle Empfänger seinem Mobilgerät erlaubt Bluetooth Advertising-Nachrichten zu empfangen.

3. Bluetooth Sicherheit

Die Bluetooth-Sicherheit beruht aus einer Mischung von Autorisierung, Authentifizierung, Verschlüsselung und einer abgestuften Zugriffskontrolle.

Autorisierung

Autorisierung ist ein Prozess in dem ein Bluetooth-Gerät entscheidet, ob ein anderes Gerät Zugang zu einen bestimmten Dienst bekommt. Autorisierung baut auf Authentifizierung auf, da die Authentifizierung dem Gerät die Identität gibt, die es für den Zugang benötigt.

Authentifizierung

Authentifizierung ist ein Challenge-Response-Verfahren in dem ein Schlüssel in einem zweistufigen Protokoll verifiziert wird.

Verschlüsselung

Bluetooth verwendet einen Link-Key (Sitzungsschlüssel), der bei jeder Verbindung neu generiert wird. Nutzdaten werden mittels eines E0-Cipherstreams verschlüsselt.

Zugriffskontrolle

Die Bluetooth-Spezifikation sieht drei Stufen von Vertrauenswürdigkeit vor:

  • Trusted (vertrauenswürdig): Das Gerät wurde authentifiziert und der Zugriff auf Services ist erlaubt.
  • Untrusted (nicht vertrauenswürdig): Das Gerät ist authentifiziert, aber der Zugriff auf Dienste sind eingeschränkt.
  • Unknown (unbekannt): Unbekanntes Gerät, das nicht authentifiziert wurde und somit nicht als vertrauenswürdig angesehen werden kann.

Integrität

Um sicher zu stellen, dass Daten korrekt übertragen werden, wird jedes Paket daraufhin geprüft, ob

  • das Paket an die korrekte Adresse geliefert wurde (Access Code)
  • der Header im Paket fehlerfrei ist (Header Error Check / HEC)
  • die Payload (Nutzdaten) fehlerfrei sind (CRC)

Sicherheitsmodi

Bluetooth kennt vier Sicherheitsmodi:

Mode 1: Keine Sicherheit

Den einzigen Schutz in diesem Modus bietet das Frequenzsprungverfahren. Mit einer Funk-Reichweite von weniger als 10 Meter und 1600 Frequenzsprüngen (Hops) in der Sekunde ist das Belauschen einer Kommunikation zwar nicht unmöglich, aber mit hohem Aufwand verbunden.

Mode 2: Service Level Enforced Security

Der Zugriff auf Dienste hängen vom Gerät ab: Vertrauensvolle Geräte dürfen alle Dienste nutzen, nicht vertrauenswürdige Geräte nur eingeschränkt. Es werden drei Service Security Levels unterschieden:

  • Level 1: Offen für alle Geräte. Es ist ein Default-Modus, der auch veraltete Anwendungen zulässt.
  • Level 2: Authentifizierung notwendig, ein fest installierter PIN ist ausreichend.
  • Level 3: Erfordert Authentifizierung und Autorisierung. Ein PIN muss eingegeben werden.
Abb. 3.01: Bluetooth Sicherheitsstruktur
Abb. 3.01: Bluetooth Sicherheitsstruktur

Der Sicherheitsmodus 2 wird aktiviert, wenn das Link Manager Protokoll (LMP) schon einen physischen Link eingerichtet hat, aber bevor ein L2CAP-Link eingerichtet wurde.  In diesem Sicherheitsmodus überwacht ein zentraler Sicherheitsmanager den Zugriff auf bestimmte Dienste und Geräte. Der Sicherheitsmanager kann über variable Sicherheitsrichtlinien und Vertrauensebenen Anwendungen mit unterschiedlichen Sicherheitsbedürfnissen parallel überwachen.

Mode 3: Link Level Security Enforced Security Mode

Sicherheitsmodus 3 wird vor der Vollendung des Aufbaus eines physikalischen Links initiiert. Eine Authentifizierung und Verschlüsselung ist in beiden Richtungen erforderlich.
Die Sicherheit wird durch einen symmetrischen Schlüssel (Link Key) in einem Challenge-Response-Verfahren hergestellt.

Mode 4: Link Level Enforced Security with Encrypted Key Exchange

Sicherheitsmodus 4 ist wie Sicherheitsmodus 2 ein Service Level Enforced Modus in dem die Sicherheitsprotokolle nach dem Link-Aufbau fassen. Im Sicherheitsmodus 4 werden für Schlüsselerzeugung und Schlüsselaustausch spezielle kryptografische Verfahren eingesetzt.

Abb. 3.02: Nach der Authentifizierung werden beim Pairing zwischen den Geräten frisch generierte Schlüssel ausgetauscht und dauerhaft gespeichert (links PC, rechts Smartphone)
Abb. 3.02: Nach der Authentifizierung werden beim Pairing zwischen den Geräten frisch generierte Schlüssel ausgetauscht und dauerhaft gespeichert (links PC, rechts Smartphone)

 

 

REFERENZEN

Abbildungen

[1] Abb. 1.01:
     Das Bluetooth Logo ist ein geschütztes Warenzeichen der Bluetooth SIG
      Quelle: https://www.bluetooth.com

[2] Abb. 1.02:" Bluetooth-Anwendungen: Ein GPS-Logger sendet per Bluetooth ..."
      Quelle: InfoTip / Tschirschwitz

[3] Abb. 2.23: "Bluetooth Headset":
      Lizenz: Creative Commons Attribution-Share Alike 3.0 Unported (CC-BY-SA-3.0)
      Quelle: https://commons.wikimedia.org/wiki/File:Bluetooth_headset.jpg

Weblinks

1. Bluetooth Core Spezification 4.2

2. Klassische Profile, GATT-Based Specifications

3. EE Times - Bluetooth 4.0: An introduction to Bluetooth Low Energy-Part I

4. EE Times - Bluetooth 4.0: An introduction to Bluetooth Low Energy—Part II

5. Artikel auf elektroniknet.de: Sichere und robuste Bluetooth-Kommunikation

6. Security | Bluetooth Development Portal

7. Guide to Bluetooth Security

8. BluetoothSecurity

 

Zuletzt bearbeitet am 2. Sept. 2016

Rechtshinweis

Sofern auf dieser Seite markenrechtlich geschützte Begriffe, geschützte (Wort- und/oder Bild-) Marken oder geschützte Produktnamen genannt werden, weisen wir ausdrücklich darauf hin, dass die Nennung dieser Marken, Namen und Begriffe hier ausschließlich der redaktionellen Beschreibung bzw. der Identifikation der genannten Produkte und/oder Hersteller bzw. der beschriebenen Technologien dienen.

Alle Rechte an den in diesem Kompendium erwähnten geschützten Marken- und/oder Produktnamen sind Eigentum der jeweiligen Rechteinhaber und werden hiermit ausdrücklich anerkannt. Alle in unseren Artikeln genannten und ggfs. durch Dritte geschützte Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts sowie den Besitzrechten der jeweiligen eingetragenen Eigentümer.

Die Nennung von Produktnamen, Produkten und/oder der jeweiligen Produkthersteller dient ausschließlich Informationszwecken und stellt keine Werbung dar. InfoTip übernimmt hinsichtlich der Auswahl, Leistung oder Verwendbarkeit dieser Produkte keine Gewähr.

Sollten dennoch wider unserer Absicht Rechte Dritter verletzt werden, so bitten wir um eine Benachrichtigung ohne Kostennote.