Studienarbeit - Bluetooth-Anwendungen

Transcription

Studienarbeit - Bluetooth-Anwendungen
Studienarbeit
Bluetooth-Anwendungen
„unplug and connect“
Bearbeiter
Schwerpunkte
Holger Hildebrandt
Kay Pein
1.1, 1.2, 1.3, 2.1, 2.3, 3.1-4 , 4.
1.1, 1.2, 1.4, 2.1-3, 3.1-4
Inhalt
KAPITEL 1 - DER FUNKSTANDARD BLUETOOTH
1.1. EINLEITUNG: WAS IST BLUETOOTH?
1.1.1. MOTIVATION
1.1.2. URSPRUNG
1.1.3. EINORDNUNG DES STANDARDS
1.1.4. ABGRENZUNG ZU ANDEREN FUNKÜBERTRAGUNGSSTANDARDS
1.1.5. VERWENDUNG DER BLUETOOTH-TECHNOLOGIE
1.2. GRUNDLAGEN BLUETOOTH
1.2.1. FAST FREQUENCY HOPPING - VERFAHREN
1.2.2. LEISTUNGSKLASSEN
1.2.3. NETZTOPOLOGIEN
1.2.4. ADRESSIERUNG UND STATUSMODI
1.2.5. KANALTYPEN
1.2.5.1. Synchronous Connection-Orientated (SCO):
1.2.5.2. Asynchronous Connection-Less (ACL)
1.2.6. DIE SICHERHEIT BEI VERWENDUNG VON BLUETOOTH
1.3. STANDARDS UND EVOLUTION
1.3.1. EINLEITUNG
1.3.1.1. Wozu sind Standards nötig?
1.3.1.2. Wer macht die Standards bei Bluetooth?
1.3.2. DIE STANDARDS IM ÜBERBLICK
1.3.2.1. Bluetooth 1.0a und 1.0b
1.3.2.2. Bluetooth 1.1
1.3.2.3. Bluetooth 1.2
1.3.2.3.1. eQoS
1.3.2.3.2. Verbesserter Verbindungsaufbau
1.3.2.3.3. Neuer Übertragungsmodus eSCO
1.3.2.3.4. Interferenzminimierung durch AFH
1.3.2.3.5. Abwärtskompatibilität zu Bluetooth 1.1
1.3.2.3.6. Anlehnung der Wortwahl an IEEE
1.3.2.3.7. Grundlegende Umstrukturierung
1.3.2.3.8. Verabschiedung neuer Profile
1.3.2.3.9. Anonymity Mode
1.3.2.4. Ausblick auf Bluetooth 2.0
1.3.3. BLUETOOTH IN DER IEEE
1.4. BLUETOOTH-PROTOKOLLSTAPEL
1.4.1. EINLEITUNG
1.4.2. DIE PROTOKOLLE DER BLUETOOTH-ARCHITEKTUR
1.4.2.1. Bluetooth Kernprotokolle
1.4.2.1.1. Bluetooth Radio / Baseband
1.4.2.1.2. Link Manager Protocol (LMP)
1.4.2.1.3. Logical Link Control and Adaptation Protocol (L2CAP)
1.4.2.1.4. Das Host Controller Interface (HCI)
1.4.2.1.5. Service Discovery Protocol (SDP)
1.4.2.1.6. Audio
1.4.2.2. Cable Replacement Protocol
1.4.2.2.1. RFCOMM (Radio Frequency Communication)
1.4.2.3. Telefonie-Steuerungs-Protokolle
1.4.2.3.1. Telephony Control – Binary
1.4.2.3.2. Telephony Control – AT Commands
1.4.2.4. Aufgesetzte Protokolle
1.4.2.4.1. OBEX Protocol
1.4.2.4.2. Content Formats vCard und vCalendar
1.4.2.4.3. Internetprotokolle
1.4.2.4.4. PPP (Point to Point Protocol)
1.4.2.4.5. TCP/UDP/IP
1.4.2.4.6. Wireless Application Protocol WAP
1.4.3. PAKETAUFBAU
1.4.3.1. Adressierung
1.4.3.2. Pakete
KAPITEL 2 - VERBINDUNGSANALYSE
2.1 VORSTELLUNG DES BLUETOOTH-PROTOKOLLTESTERS FTS
2.1.1. FTS – AIRSNIFF (BASIC) TUTORIAL
2.1.2. ANMERKUNG
2.2 MSC EINER OBEX DATENÜBERTRAGUNG
2.2.1. DARSTELLUNG
2.2.2. ANMERKUNG
2.3 BLUETOOTH IN DER PRAXIS
2.3.1. KONFIGURATION UND BETRIEB
2.3.2. REICHWEITEN
2.3.3. KANALNUTZUNG IN FFH
KAPITEL 3 - KOEXISTENZ IM ISM-BAND
3.1 EINLEITUNG
3.2 FTS-PAKETANALYSE
3.2.1. STÖREINFLUSS VON WLAN
3.2.2. STÖREINFLUSS EINER MIKROWELLE
3.2.3. FAZIT
3.3 DURCHSATZMESSUNGEN
3.3.1. MOTIVATION
3.3.2. WAHL EINES GEEIGNETEN PROGRAMMS
3.3.3. VORBEREITUNG DES EXPERIMENTS
3.3.4. MESSAUFBAU
3.3.5. DURCHFÜHRUNG
3.3.6. AUSWERTUNG
3.3.7. FAZIT
3.4 CROSS MEASUREMENTS
3.4.1. EINFÜHRUNG
3.4.2. VISUALISIERUNG
3.4.3. FAZIT
KAPITEL 4 - DIE FUNKTIONSWEISE VON AFH
4.1 EINLEITUNG
4.2 MOTIVATION
4.3 KLASSIFIKATION DER FREQUENZKANÄLE
4.3.1. CHANNEL-CLASSIFICATION
4.3.2. CHANNEL-MAP
4.3.2.1. Channel-Classification-Report
4.4 CHANNEL-MAP-ÜBERMITTLUNG UND AKTIVIERUNG VON AFH
4.4.1. FREQUENZAUSWAHL
4.4.2. NICHT-ADAPTIVE SLAVES
4.4.3. ANMERKUNG
4.5 SAME CHANNEL METHOD
4.6 ABWÄRTSKOMPATIBILITÄT ZU BLUETOOTH 1.1
Abkürzungen
A
ACK
ACL
AFH
AM_ADDR
API
ARQ
ARQN
AT
Acknowledge
Asynchron Connection-Less
Advanced Fequency Hopping
Active Member Address
Application Programming Interface
Automatic Repeat Request
Ackknowledge Request Number
Attention (in Telephone Control Commands)
B
BD_ADDR
BT
Bluetooth Device Address
Bluetooth
C
CAC
CC
CCR
ChM
CRC
CSMA/CD
CTP
CTS
CVSD
Channel Access Code
Channel Classification
Channel Classification Report
Channel Map in AFH (eigene Abk)
Cyclic Redundancy Check
Carrier Sense Multiple Access w/ Collision Detection
Cordless Telephony Profile
Clear To Send
Continuos Variable Slope Delta
D
DAC
DH
DM
DSR
DTR
DUN-P
DV
Device Access Code
Data High-rate (Packettyp in ACL)
Data Medium-rate (Packettyp in ACL)
Data Set Ready
Data Terminal Ready
Dial-Up Networking Profile
Data Voice (Packettyp in SCO)
E
eQoS
eSCO
ETSI
EV
enhanced QoS
enhanced SCO
European Telecommunications Standardisation Institute
Enhanced Variable (Packettyp in SCO)
F
FAX-P
FEC
FFH
FTP
Fax-Profile
Forward Error Correction
Fast Frequency Hopping
File Transfer Protocol
G
GFSK
GSM
Gaussian Frequency Shift Keying
Global System for Mobile Communication
H
HCI
HEC
Host Controller Interface
Header Error Check
HF
HTTP
HV
Hochfrequenz
Hyper Text Transfer protocol
High quality Voice (Packettyp in SCO)
I
IAC
ID
IEC
IEEE
IP
IrDA
IrMC
ISDN
ISM
ISO
ITU-T
Inquiry Access Code
Identification
International Electrotechnical Commission
Institute of Electrical and Electronics Engineers
Internet Protocol
Infra-red Data Association
Ir Mobile Communication
Integrated Services Digital Network
Industrial, Science, Medical
International Standardization Organisation
International Telecommunication Union – Telecom Standardization
L
L2CAP
LAN
LAP
LC
LCP
LLC
LM
LMANSC
LMP
LSB
Logical Link and Control Adaption Protocol
Local Area Network
Lower Address Part
Link Controller
Link Control Protokol
Logical Link Controller
Link Manager
LAN/MAN Standards Committee
Link Manager Protocol
Least Significant Bit
M
MAC
MAN
MSB
MSC
MTU
Medium Access Control
Metropolitain Area Network
Most Significant Bit
Message Sequence Chart
Maximum Transfer Unit
N
NAK
NAP
Negative Acknowledgement
Non-significant Address Part
O
OBEX
OSI
Object Exchange Protocol
Open Systems Interconnection
P
PAN
PC
PCI
PCM
PCMCIA
PDA
PDU
PER
PIN
PM_ADDR
PPP
Personal Area Network
Personal Computer
Peripheral Component Interconnect
Pulse Code Modulation
Personal Computer Memory Card International Association (PC Card)
Personal Digital Assistent
Potocol Data Unit
Packet Error Rate
Personal Indetification Number
Parked Member Address
Point-to-Point Protocol
Q
QoS
Quality of Service
R
RF
RFC
RFCOMM
RS232
RSSI
RTS
Rx
Radio Frequency
Request for Comments
Radio Frequency Communication
COM-Schnittstellenstandard
Received Signal Strength Indication
Ready To Send
Receiver
S
SAR
SCO
SDDB
SDP
SDU
SEQN
SIG
SIM
Segmentation and Reassembly
Synchronous Connection-Orientated
Services Discovery Data Base
Services Discovery Protocol
Service Data Unit
Sequence Number
Special Interest Group
Subscriber Identy Module
T
TCP
TCS
TCS-bin
TDD
TG
Tx
Transport Control Protocol
Telephony Control Services
Telephony Control Services - binary
Time Division Duplex
Task Group
Transmitter
U
UAP
UDP
USB
UUID
Upper Address Part
User Datagram Protocol
Unversal Serial Bus
Universal Unique Identifier
W
WAE
WAP
WBMP
WLAN
WML
WPAN
WAP Application Environment
Wireless Application protolcol
WAP Bitmap
Wireless LAN
Wireless Meta Language
Wireless Personal Area Network
Kapitel 1 - Der Funkstandard Bluetooth
1.1. Einleitung: Was ist Bluetooth?
1.1.1. Motivation
Ein hohes Kommunikationsaufkommen führt letztendlich zu einem größeren Verlangen nach
Informationsaustausch zwischen verschiedenen Geräten. Dafür notwendige
Kommunikationskanäle werden durch mechanisch anfällige und oft wenig komfortable
Kabelverbindungen realisiert. Doch ist dieser auftretende „Kabelsalat“ für moderne mobile
Anwendungen und auch bei anderen interagierenden Geräten teilweise überaus lästig. Eine
der aufstrebenden Funkkommunikationslösungen, die dies im Nahbereich ohne Kabel
möglich machen, ist Bluetooth.
Weg und Ziel dieses Standards soll hier kurz beschreiben werden. Die inhaltlichen Fakten
stützen ich dabei, bis auf wenige gekennzeichnete Ausnahmen, vollständig auf die
Spezifikationen des Bluetooth-Standards [1, 2, 3]. Begründet ist diese Beschränkung der
verwendeten Literatur durch sehr häufige und oft gravierende Widersprüche in verschiedenen
Lektüren zum generellen Thema Bluetooth. Für Illustrationsmöglichkeiten und
weiterführende Informationen wurden sehr begrenzt die unter [4] bis [19] aufgeführten
Quellen als Vorlage verwendet. Bezogen auf Erfahrungsberichte, Marktneuheiten, Ausblicke
und Interoperabilitätsprobleme, flossen zum Bearbeitungszeitpunkt aktuelle Informationen
aus verfügbaren technischen Newstickern mit in die Ausarbeitung ein.
1.1.2. Ursprung
Die Bluetooth-Technologie geht zurück auf einen Entwurf, der bereits 1994 von der Firma
Ericsson entwickelt wurde. Ericsson trat nach der grundsätzlichen Konzeption dieser
Technologie an andere Hersteller von vorrangig tragbaren elektronischen Geräten heran. Ziel
war dabei eine weltweite Standardisierung durchzusetzen.
Im Jahr 1998 wurde von Ericsson gemeinsam mit Nokia, IBM, Toshiba und Intel die
Bluetooth Special Interest Group (SIG) gegründet, die im Mai 1998 erstmals an die
Öffentlichkeit trat und der sich mittlerweile weltweit mehr als 2100 Unternehmen durch eine
Bluetooth-Anwender-Übereinkunft angeschlossen haben und aktiv die Entwicklung und
Anpassung vorantreiben.
Aufgrund der Vielzahl von Möglichkeiten, die dieser Standard zu verbinden versucht, wurde
der Name Bluetooth (Blauzahn) gewählt. Dieser soll an den Dänischen König erinnern, der
im zehnten Jahrhundert erstmals alle dänischen Provinzen unter seiner Krone vereinte. Dieser
Vereinigungsgedanke soll in diesem Konzept des Datenaustausches weitergetragen werden.
Um von Umgebungs- und Betriebsbedingungen möglichst unabhängig zu sein, wurde die
Funktechnologie gegenüber der zu diesem Zeitpunkt bereits populäreren Infrarotübertragung
favorisiert. Dadurch wurden Kurzstreckenfunkverbindungen auch ohne direkten Sichtkontakt
möglich. Ferner ist dieser Standard eher anwendungsspezifisch gestaltet. Man kann ihn daher
aus reiner Vermarktungssicht zwischen IrDA und WLAN ansiedeln.
1
1.1.3. Einordnung des Standards
Der Industriestandard Bluetooth wird von der IEEE unter dem Namen IEEE 802.15 in die
bestehende Landschaft der IEEE-802-Normen eingereiht. Diese Klasse bezeichnet alle
Benutzerszenarien, die durch ad-hoc-Konnektivität gekennzeichnet sind.
Die Bluetooth-Technologie zeichnet sich durch die folgenden wesentlichen Designaspekte
aus.
Weltweite Nutzbarkeit
Die drahtlose Bluetooth-Technologie verwendet das weltweit lizenzfrei verfügbare ISMFunkfrequenzband. In den meisten Nationen liegt dieses Band im Frequenzbereich von 2400
MHz bis 2483,5 MHz. Das ISM-Band (Industrial, Science, Medical) allgemein ist ein
Frequenzbereich, der nicht der staatlichen Regulierung unterliegt und lizenzfrei für
industrielle, wissenschaftliche und medizinische Anwendungen genutzt werden darf.
Lediglich müssen Auflagen bezüglich der Sendeleistung und der Störung benachbarter
Frequenzbereiche eingehalten werden. Somit dürfen Bluetooth-Geräte weltweit zulassungsfrei
betrieben werden. Es muss aber mit Störungen durch andere Geräte gerechnet werden, die im
gleichen Frequenzband arbeiten (z.B.: Mikrowellenherde, 802.11 WLANs, Medizinische
Geräte, etc.). Diesen Störfaktoren wirken diverse Verfahren entgegen, sodass ein
störungsfreier Betrieb gewährleistet ist bzw. genannte Störungen verkraftet werden.
Sprach- und Datenunterstützung
Bluetooth ist jeweils speziell für die Übertragung von Sprache und Daten konzipiert.
Ad-hoc-Konnektivität
Geräte sollen alleine andere Geräte in Reichweite finden und sich mit ihnen verbinden.
Außerdem müssen mehrere Verbindungen gleichzeitig möglich sein.
Sicherheit
Mit Authentifizierung und Verschlüsselung soll derselbe Sicherheitsstandard wie bei
Kabelverbindungen realisiert werden.
Geringe Größe und kostengünstige Serienfertigung
Im Vergleich zu anderen (Daten-) Funktechnologien, wie z.B. GSM, wird bei Bluetooth ein
einfaches RF-Design verwendet, vergleichbar mit IrDA. Man ging beim Entwurf davon aus,
dass sich ein Bluetooth-Sender/Empfänger fast immer in einem Mikroprozessor gesteuerten
Endgerät befindet. Somit wurde die Steuerung und Fehlerkorrektur der Funkübertragung auf
nachgeschaltete digitale Komponenten (Hardware und entsprechende Software) verlagert.
Sehr geringe Leistungsaufnahme (und Sendeleistung)
Um mobil zu werden, sollte die Leistungsaufnahme einer Bluetooth-Einheit, verglichen mit
dem Host-Gerät, sehr klein sein um die Akkulaufzeit nicht unnötigerweise zu verringern. Dies
wird durch die sehr geringe Sendeleistung im 2,4GHz-Band realisiert, wodurch der Einsatz in
elektro-magnetisch-kritischen Umgebungen, wie z.B. in Kraftwerken, Krankenhäusern,
Flugzeugen (Lufthansa), ermöglicht wird.
1.1.4. Abgrenzung zu anderen Funkübertragungsstandards
Im Bereich der drahtlosen Datenkommunikation gibt es mittlerweile diverse Standards,
welche teilweise ein eigenes Einsatzgebiet besitzen und mit den anderen Standards nicht viel
2
gemeinsam haben. In nachfolgender Tabelle wird eine Gegenüberstellung der vier wichtigsten
Technologien Bluetooth, IrDA, IEE 802.11b und Home-RF gegenübergestellt.
Bluetooth
IrDA
IEE802.11b
Home RF
Spread Spectrum
(Frequency
Hopping)
Infrarot
Spread Spectrum
(Freqency
Hopping
oder Direct
Seqence)
Spread Spectrum
(Freqency
Hopping
oder Direct
Seqence)
ISM-Band
Optisch, 850
nm
ISM-Band
ISM-Band
Übertragungsleistung 1 mW
100 mW
100 mW
100 mW
max. Datendurchsatz
16 Mb/s
(VFIR)
11 Mb/s
2 Mb/s
300 m
Verbindungstyp
Spektrum
1 Mb/s
kleiner
Winkel
(max 30°)
max. Reichweite
(hindernisfrei)
Sichtverbindung
nötig
Unterstütze
Stationen
10 m
0,7 m
(bald 54 Mb/s bei
802.11g)
100 m
nein
ja
nein
nein
8 pro Piko-Netz
2
Mehrere Geräte
pro Access-Point;
mehrere AP’s
Netzwerk
127 pro Netzwerk
Sprachkanäle
3
1
nur Voice over IP
6
Datensicherheit
Authentifizierung: keine
128 Bit;
(enger
Winkel,
(optional)
Verschlüsselung: kleine
Reichweite)
mit 8-128 Bit
Adressierung
MAC-Adresse
mit 48 Bit.
AM_ADDR
mit 3 Bit
Authentifizierung: BlowfishVerschlüsselungsChallengealgorithmus
Response
über WEP;
Verschlüsselung:
standard 40 Bit,
optional 128 Bit.
Physikalische MAC-Adresse
ID
mit 48 Bit.
mit 32 Bit.
Bemerkungen
MAC-Adresse
mit 48 Bit.
in Europa nicht
durchgesetzt,
in USA verbreitet
Tabelle 1.1 – Vergleich Funkstandards
Wie aus der Tabelle ersichtlich wird, steht der IrDA-Standard konkurrierend zum BluetoothStandard, doch hat dieser die „schlechteren Karten“, was durch die deutlich höhere
Sendeleistung und den immer notwendigen Sichtkontakt, daraus resultierend nur eine Punktzu-Punkt-Verbindung möglich, begründet ist.
3
Im Gegensatz zu Bluetooth hat IEEE 802.11b (WLAN) grundsätzlich ein völlig anderes
Einsatzgebiet. Bluetooth-Geräte verbrauchen weniger Strom und sind für die Übertragung
geringer Datenmengen über kürzere Distanzen entwickelt worden Kommunikationskabelersatz. WLAN dagegen bietet Verbindungen bis zu 54 Mb/s für
breitbandige Kommunikation über Distanzen von mehreren hundert Metern.
1.1.5. Verwendung der Bluetooth-Technologie
Nutzbar ist Bluetooth für eine Vielzahl von Szenarien. So könnten z.B. alle Geräte im Büro
ohne Kabelprobleme frei im Raum platziert werden. Sie bilden dann ad hoc ein so genanntes
Piko-Netz. Das beschreibt die spontane Interaktion von bis zu 8 aktiven Geräten in der
Reichweite eines dieser Geräte (dem Master).
Bluetooth ist somit bereits heute eine etablierte Funktechnik für den Nahbereich, die die
drahtlose Anbindung mobiler Endgeräte wie Notebooks, Drucker und Mobiltelefone
ermöglicht, so dass sie untereinander Daten austauschen können. Aber auch andere Geräte,
wie z.B. Headsets, Tastaturen und ähnliches, kann man mit dieser Technik ausstatten.
Damit lassen sich künftig zwei der größten Hindernisse beseitigen, die gegenwärtig die
Benutzerfreundlichkeit solcher Geräte für Kunden einschränken. Dies wären zum einen die
herstellerspezifischen Anschlusskabel und zum anderen die notwendigen Einstellungen und
Eingaben, die für den Aufbau der Kommunikation notwendig sind. Dies wird durch so zu
nennende anwendungsspezifische Profile realisiert.
1.2. Grundlagen Bluetooth
In diesem Kapitel wird ein Überblick über die grundlegende Funktionsweise von Bluetooth
anhand des Standard Bluetooth 1.1 gegeben. Auf Änderungen bezüglich des im November
2003 veröffentlichten Standards 1.2 wird in einem späteren, hierauf aufbauenden Kapitel
eingegangen.
1.2.1. Fast Frequency Hopping - Verfahren
Wie bereits einführend erwähnt wurde, arbeiten Bluetooth-Transceiver im lizenzfreien ISMFrequenzband, dem ein Frequenzbereich von 2400 MHz bis 2483,5 MHz zugewiesen ist.
Bei der Übertragung bedient man sich des Fast Frequency Hopping Verfahrens (FFH). Dabei
wird das zur Verfügung stehende Frequenzband in 79 gleich große Kanäle à 1 MHz
aufgeteilt, zwischen denen 1600 Mal pro Sekunde gewechselt wird.
Abbildung 1.1 – Bluetooth-Kanäle im ISM-Band
In wenigen Ländern z.B. Japan, Frankreich oder Spanien ist das verwendbare Band schmaler.
Dieser Sonderfall ist im weltweiten Bluetooth-Standard berücksichtigt und führt zur Nutzung
von nur 23 Kanälen.
4
* with exceptions / mit Ausnahmen - Quelle: Bluetooth Core-Specification 1.1
Abbildung 1.2 – nationale Frequenzbeschränkungen
FFH bietet gegenüber anderen Verfahren drei entscheidende Vorteile:
1. Größere Unempfindlichkeit gegenüber schmalbandiger Störstrahlung:
Idealisiertes Beispielszenario: Ein Mikrowellenherd strahlt mit einer bestimmten Frequenz
im 2,45Ghz-Bereich ab. Somit ist der Kanal mit dem entsprechenden Frequenzbereich
durch die Mikrowelle gestört. Bei Bluetooth würde die Daten- oder Sprach-Übertragung
nur für eine 1/1600 Sekunde (625µs) gestört bzw. unterbrochen sein, da es in 79 Kanälen
das gesamte zur Verfügung stehende ISM-Band nutzt.
Abbildung 1.3 – Schmalbandige Störung
2. Höhere Datensicherheit:
Die schnellen Frequenzwechsel und der dahinter stehende Algorithmus sind nur mit sehr
aufwendiger Technik zu erfassen und schwer zu decodieren.
3. Dominant gegenüber anderen Funkverbindungen:
Da Bluetooth 1600 Mal pro Sekunde den Frequenzkanal wechselt, ist auch die
Wahrscheinlichkeit, dass Bluetooth eine WLAN-Übertragung blockiert höher, als dass
WLAN Bluetooth stört. Im praktischen Teil dieser Arbeit detailliert gezeigt.
5
Als Modulationsverfahren kommt das Gaussian-Frequency-Shift-Keying (GFSK) zum
Einsatz. Diese weiche, nebenwellenarme Frequenzumtastung erreicht durch das
Zwischenschalten Gauss'scher Filter eine höhere spektrale Effizienz.
Bluetooth unterstützt Voll-Duplex-Verbindungen durch Anwendung von Time Division
Duplex (TDD). Die entstehenden Zeitfenster werden zyklisch von 0 bis 227 (Festlegung)
durchnummeriert.
Dabei ist festgelegt, dass der Master immer in den geraden (Master-to-Slave-Slot) und ein
Slave in den ungeraden Zeitfenstern (Slave-to-Master-Slot) sendet.
Der Informationsaustausch findet in Paketform statt, wobei jedes Paket hauptsächlich in
einem eigenen Zeitschlitz, welcher genau zwischen zwei Frequenzsprüngen liegt, gesendet
wird (single-slot packet).
Quelle: Bluetooth Core-Specification 1.1
Abbildung 1.4 – Time Slots
Große Pakete, zum Beispiel zum Datentransfer, können im ACL-Modus auch 3 oder 5 solcher
Zeitschlitze einnehmen (multi-slot packet). In diesem Fall wird für das komplette Paket die im
ersten Zeit-Slot festgelegte Frequenz zur Übertragung genutzt. Die InterferenzStöranfälligkeit nimmt mit jedem Multi-Slot-Paket durch die resultierende Verringerung der
Frequenzsprünge weiter zu.
6
Quelle: Bluetooth Core-Specification 1.1
Abbildung 1.5 – Multislot-Pakete
1.2.2. Leistungsklassen
Um unterschiedliche Senderadien für räumliche Netzstrukturen zu erzielen, wurden für
Bluetooth-Geräte drei Leistungsklassen bezüglich ihrer Sendeleistung spezifiziert. Die für
eine Verbindung zur Verfügung stehende maximale Senderate (von 1Mb/s) ist bei allen drei
Leistungsklassen jedoch identisch.
Folgende Übersicht stellt die drei spezifizierten Leistungsklassen, bezüglich der
Sendeleistung und maximalen Reichweite, gegenüber:
Bluetooth-Typ
Sendeleistung
max. Reichweite
(optimale Bedingungen)
Class 1 Geräte
Class 2 Geräte
Class 3 Geräte
High
Medium
Low
100 mW (20 dBm)
2.5 mW (4 dBm)
1 mW (0 dBm)
100 m
20 m
10 m
Tabelle 1.2 – Sendeleistungsklassen
Die Class1-Version wird auch als „Long-Range-Bluetooth“ bezeichnet, doch die derzeit am
meisten verbreitete Leistungsklasse ist die preiswertere und stromsparende Class3.
1.2.3. Netztopologien
Interagieren zwei Bluetooth-Systeme, kommunizieren sie in einer Punkt-zu-PunktVerbindung miteinander, indem ein Gerät die Rolle des Masters übernimmt.
Sobald eine Interaktion von mehr als zwei Geräten erforderlich ist, spricht man von einem
Piko-Netz. Dies wird ebenfalls von einem Master verwaltet bzw. kontrolliert, indem sich bis
zu sieben aktive Slaves auf ihn synchronisieren (Sprungtakt und Sprungabfolge).
Die maximale Anzahl an zusätzlich eingebuchten Slaves, inaktiv im so genannten Parkmodus,
ist je Piko-Netz auf 255 technisch beschränkt.
7
Jedes Bluetooth-Gerät hat eine eindeutige Hardware-Adresse von 48 Bit Länge (MACAdresse), deren Aufbau nach dem IEEE 802 Standard geregelt ist. Durch die Bluetoothdevice-adress (BD_ADDR) des Masters wird die Frquenzsprung-Reihenfolge (frequency
hopping sequence) und der channel access code abgeleitet, welcher ein Piko-Netz eindeutig
identifiziert. Darüber hinaus bestimmt der Master anhand seiner hardwareinternen Systemuhr
das Timing der Frequenzänderungen für die Sprungsequenz und kontrolliert den
Datenverkehr auf dem Kanal mittels eines Polling-Verfahrens.
Unbedingt erwähnt werden sollte, dass alle Bluetooth-Geräte identisch aufgebaut sind und
lediglich ein Gerät als „Master“ bezeichnet wird, dass den Verbindungsaufbau zu einem bzw.
mehreren anderen Geräten (dann Slaves genannt) initiiert hat. Im späteren Verlauf einer
Kommunikation ist der Tausch der Master-Slave-Rollen theoretisch möglich, um zum
Beispiel eine weggefallene Master-Einheit zu ersetzen und dessen Aufgaben zu übernehmen.
Abbildung 1.6 – Vernetzungstopologien
Ein Piko-Netz ist durch ein individuelles Hopping-Schema geprägt und stellt daher
theoretisch die Möglichkeit der lokalen Überdeckung mehrerer Piko-Netze dar. Zwei
wenigstens partiell überlagerte Piko-Netze können durch mindestens ein gemeinsam
genutztes Gerät zu einem so genannten Scatter-Netz verbunden werden. Der Master eines
Piko-Netzes kann also auch Slave eines anderen Masters des anderen Piko-Netzes. In diesem
Falle muss er sich aber in Reichweite des anderen Masters befinden. Wiederum gibt es auch
die Möglichkeit eines gemeinsamen Slaves beider Netze, wodurch es nicht zwingend
notwendig ist, dass die beiden Master der zu verknüpfenden Netze direkt kommunizieren
können. Es ist jedoch nicht ausführbar, dass ein Gerät die Master-Rolle mehrerer Piko-Netze
übernimmt.
Somit ist es unter anderem möglich:
1. ein ausgelastetes Piko-Netz durch ein weiteres Teilnetz zu erweitern,
2. zur Überbrückung von räumlichen Distanzen mehrere Netze zu kaskadieren, sowie
3. mindestens ein Gerät von mehreren Netzen aus (mit deren Mastern in Reichweite)
gemeinsam zu nutzen.
Anwendungsszenarien zu den oben genannten möglichen Ausprägungen eines Scatter-Netzes
wären:
8
Zu 1.) In einem Büro sollen mehr als acht Bluetooth-Geräte miteinander
kommunizieren (nicht im Parkmodus). Durch die Limitierung von maximal acht
aktiven Teilnehmern pro Piko-Netz muss ein Slave für ein neues Piko-Netz, zur
Integration der übrigen (maximal wiederum 7) Geräte, als Master bzw. Slave des
neuen Netzwerkes fungieren.
Zu 2.) Ein Scanner befindet sich außerhalb der maximalen Reichweite eines PikoNetzes (sendeleistungsabhängige Distanz/Senderadius von Master zu Slaves), doch
gibt es einen Slave dieses Netzes welcher in Reichweite zum Scanner liegt. In diesem
Falle kann dieser Slave in einem neuen Piko-Netz als Master für den Scanner
fungieren.
Zu 3.) Zwei Büros, die ihre eigenen Piko-Netze betreiben, möchten auf einen
gemeinsamen Drucker zugreifen. Das gemeinsam genutzte Gerät sollte für beide
Parteien ein Slave sein, da es nicht zur Kommunikation zwischen zwei Netzen dienen
soll, sondern lediglich von beiden Netzten aus verfügbar sein sollte.
1.2.4. Adressierung und Statusmodi
Einzelne Bluetooth-Geräte werden, wie in allen IEEE 802 kompatiblen Standards (Ethernet,
Token Ring, WLAN), über eine weltweit eindeutige 48 Bit breite Adresse, die BluetoothDevice Address (BD_ADDR) angesprochen. Weiterhin adressiert ein Master alle aktiven
Einheiten eines Piko-Netzes über die Active Member Address (AM_ADDR) der Größe 3 Bit,
wobei die „0“ dieses Adressraumes als Broadcast an alle aktiven Slaves verstanden wird. Alle
nicht aktiven Geräte in einem Piko-Netz werden mit der 8 Bit breiten Parked Member
Address (PM_ADDR) erreicht.
Interessant ist noch, dass mehrere Betriebszustände für ein Bluetooth-Gerät existieren.
Betriebsmodi
Standby-Modus:
Das Gerät ist nicht mit einem Piko-Netz verbunden. In diesem Modus
ist der Energiebedarf des Gerätes äußerst gering, da nur der
Mastertimer des Gerätes läuft. Der Standby-Modus wird nur durch ein
Inquiry oder Paging eines anderen Masters aufgehoben oder durch die
Station selber, wenn sie ein Inquiry einleitet, um andere Stationen zu
finden.
Inquire-Modus:
Ein bisher nicht verbundenes Gerät ermittelt alle Bluetooth-Einheiten,
die sich in Reichweite befinden. Dabei sendet es in vorgegebenen
Zeitschritten seine Inquiry-Nachrichten aus und wartet auf Antwort.
Page-Modus:
In diesem Zustand befindliche Master will sich mit einem bestimmten,
ihm bekannten (Device Access Code) Gerät verbinden. Ist er dann mit
diesem Slave oder mehreren verbunden, begibt er sich in den
Connected-Modus.
Page Scan:
Gerät horcht auf Paging eines Masters (in einem Scan Window nach
eigenem Device Access Code).
9
Zustände im Verbindungsmodus
Connected-Modus:
Ein Master hat eine Verbindung mit einem bzw. mehreren Slaves
etabliert.
Active-Modus:
Ein Slave steht aktiv in Verbindung zum Master.
Drei weitere Energiesparmodi stehen für den Fall zur Verfügung, dass ein Gerät die
Verbindung zu einem Master bereits hergestellt hat, aber nicht mehr als aktives Gerät in der
Verbindung benötigt wird. Der Hold-, der Sniff- und der Park-Modus unterscheiden sich
beispielsweise hinsichtlich des Arbeitszyklus des Gerätes, d.h. in dem zeitlichen Abstand, in
welchem das Gerät auf einen Masteraufruf "horcht". Damit lassen sich Erreichbarkeit und
Stromverbrauch individuell beeinflussen.
Sniff-Modus:
Ein Slave lauscht in regelmäßigen Abständen, ob Aktivität im PikoNetz vorhanden ist oder nicht, ob ein Paket für ihn ankommt oder nicht.
Dies wird über folgende zwei Parameter kontrolliert:
a)
Sniff-Attempt (Sniff-Versuch) legt fest, wie viele Zeitschlitze der
Slave belauschen muss, unabhängig davon, ob die Pakete für ihn
bestimmt sind oder nicht.
b)
Sniff-Timeout bestimmt, wie viele Zeitschlitze noch zusätzlich
belauscht werden müssen, wenn er ein Paket mit seiner Adresse
im Header bekommen hat.
Wenn ein Paket an seine Adresse adressiert wurde, dann antwortet das
Slave-Gerät dem Master.
In diesem Modus wird die zuvor zugewiesene Active Member Address
beibehalten und der Stromverbrauch beläuft sich im Durchschnitt auf
300 µA.
Hold-Modus:
Eine bestehende ACL-Verbindung zwischen 2 Bluetooth-Einheiten
kann für eine bestimmte Zeit auf Hold gesetzt werden, wenn keine
Notwendigkeit besteht Daten zu senden bzw. zu empfangen. Während
dieser Zeit kann kein Paket empfangen werden. Die Datenübertragung
kann bei Bedarf wieder aktiviert werden, indem der Slave von sich aus
seinen Zustand wieder verlässt. Auch in diesem Modus bleibt die zuvor
zugewiesene Active Member Adress bestehen und der Stromverbrauch
liegt bei nur 60µA.
Park-Modus:
Ein Slave soll an einem Kanal nicht teilnehmen, aber immer noch über
das Frequenzsprungverfahren synchronisiert bleiben. Wird ein Slave
allerdings in den Park-Modus versetzt, so gibt er seine Active Member
Address auf und eine eindeutige Parked Member Address wird ihm
vom Master zugewiesen, die er benutzen wird, um den Slave wieder in
den Active-Modus zu versetzen. Der Stromverbrauch liegt bei
respektablen 30 µA.
10
Die folgende Abbildung liefert einen zusammenfassenden Überblick über die bestehenden
Betriebs-Modi eines Slaves, respektive Masters.
Abbildung 1.7 – Betriebszustände
Angemerkt sei, dass bis zum Inquiry noch keine Rollenvergabe stattgefunden hat. Wird ein
aktiviertes Gerät Master, bleibt es immer im so genannten Connected Mode.
1.2.5. Kanaltypen
Die Verbindung zwischen dem Master und den Slaves kann, je nach Anwendung, in zwei
verschiedenen Kanaltypen realisiert werden. Somit kann die mögliche Datenrate von 1 Mbit/s
einer Verbindung zum Master auf bis zu 3 synchrone verbindungsorientierte Kanäle und
einen asynchronen verbindungslosen Kommunikationskanal aufgeteilt werden:
1.2.5.1. Synchronous Connection-Orientated (SCO):
Dieser Übertragungs-Modus bietet eine symmetrische Punkt-zu-Punkt-Verbindung zwischen
dem Master und einem ausgewählten Slave im Piko-Netz. Es erfolgt eine Reservierung von
zwei Zeitschlitzen in regulären Zeitintervallen (einer für Vorwärts-, einer für Rückrichtung),
wodurch eine leitungsvermittelte Verbindung zwischen Master und Slave ermöglicht wird.
Die Spezifikation legt maximal 3 synchrone Kanäle mit je 64 kbit/s fest. Die Bandbreite für
jeden Kanal ist fest reserviert und jeweils in Sende- und Empfangsrichtung gleich groß.
SCO dient typischerweise der zeitkritischen Übertragung von isochronen Datenströmen wie
zum Beispiel Sprache. Daher wird auf die Verwendung von Prüfsummen verzichtet. Es ist
nicht sinnvoll verlorene oder fehlerbehaftete Segmente eines kontinuierlichen
Sprachdatenstroms erneut zu senden.
Bluetooth verwendet hierbei zwei verschiedene Arten von Sprachkodierung, mit denen es
möglich ist, die menschliche Stimme zu digitalisieren: PCM (Pulse Code Modulation) und
CVSD (Continuous Variable Slope Delta).
Um die fixe Datenrate von 64kbit/s zu realisieren, werden unterschiedlich viel Information
enthaltende Pakete in unterschiedlichen Zeitschlitz-Perioden gesendet.
11
Abbildung 1.8 – SCO-Paketperioden
Type
HV1
HV2
HV3
DV
AudioInformation
(Byte)
10
20
30
80
Payload
(bit)
FEC
CRC
ZeitschlitzPeriode
240
240
240
230
1/3
2/3
no
nur Datenfeld
no
no
no
nur Datenfeld
2
4
6
16
Tabelle 1.3 – SCO-Pakettypen
Das DV-Paket kombiniert Daten und Sprache. Das Nutzdatenfeld ist in 80bit für Sprache und
bis zu 150bit transparente Daten aufgeteilt, welches durch eine 16-bit-CRC und 2/3 FEC
gesichert ist.
1.2.5.2. Asynchronous Connection-Less (ACL)
Dieser asynchrone verbindungslose Übertragungsmodus setzt auf eine paketorientierte Punktzu-Mehrpunkt-Verbindung auf. Dabei verfügt der ACL-Kanal über die Datenrate, die nach
Abzug der maximal drei reservierbaren SCO-Datenraten von je 64 kbit/s verbleibt. Somit
findet die ACL-Datenübertragung nur in den nicht für SCO reservierten Zeitschlitzen statt.
12
Abbildung 1.9 – ACL-Pakete bei SCO-Verbindung
Der Zugriff der Slaves auf den besagten Kanal wird vom Master durch ein implizites PollingVerfahren kontrolliert. Empfängt ein Slave ein an ihn adressiertes Daten-Paket vom Master,
dann wird er im nächsten freien Slave-to-Master-Slot das nächste Paket seiner anstehen Daten
senden. Wenn ACL-Pakete nicht an einen dedizierten Slave adressiert sind, werden sie als
Broadcast-Information für alle Slaves angesehen. Über den ACL-Kanal werden Nutzer- oder
Steuerdaten übertragen. Folgende Pakettypen existieren:
Quelle: Bluetooth Core-Specification 1.1
Abbildung 1.10 – ACL-Pakettypen
13
Abbildung 1.11 – ACL-Paketperioden
1.2.6. Die Sicherheit bei Verwendung von Bluetooth
Wie bei allen Funktechnologien ist es auch bei diesem Verfahren möglich den Datenstrom
zwischen den kommunizierenden Einheiten abzuhören oder gar zu stören. Allein schon um
eine Zulassung für das ISM-Band zu bekommen, muss jede Funktechnik von ihrer
Konzeption her eine Abdeckung dieses gesamten Frequenzbands sicherstellen. Dies hat den
Vorteil, dass Störungen von anderen ISM-Funkstandards (wie WLAN) nicht zur einer
Nichtverwendbarkeit bei Überlagerung führen. Bei Bluetooth ermöglicht das genannte
Frequenzsprungverfahren einen Wechsel zwischen allen national möglichen Frequenzkanälen
und ist somit unanfällig gegen schmalbandige Störer, wie z.B. Mikrowellenöfen.
Diese Robustheit ist auch zur Abwehr von nicht autorisierten Zugriffen auf den Datenverkehr
hilfreich, da nur auf den Master synchronisierte Geräte der eindeutigen und einmaligen
Sprungsequenz durch das gesamte Frequenzband folgen. Dies erfordert natürlich eine
Anmeldung über eine nur den beiden Kommunikationspartnern bekannte ausreichend sichere
PIN bei jedem Verbindungswunsch zu einem bisher noch nicht autorisierten Partner –
Gerätepaarung oder Pairing.
14
Abbildung 1.12 – Gerätepaarung (Schema)
Jedes Bluetooth-Gerät authentifiziert sich mit seiner öffentlich zugänglichen weltweit
eindeutigen, aber nicht fälschungssicheren MAC und kann somit immer wieder zugeordnet
werden.
Weiterhin ist es erforderlich seine Daten gegenüber anderen Teilnehmern auf der aktuell
genutzten Frequenz zu verschlüsseln. Dies wird in Bluetooth optional mittels eines
nichtstandardisierten Zufallsalgorithmus angeboten, ist aber nur auf die in den ACL-Paketen
verpackten Nutzdaten beschränkt. Die Paket-Header müssen aufgrund der Adressierung im
Pico- bzw. Scatter-Netz allen Teilnehmern zugänglich sein.
Insgesamt werden drei Sicherheitsklassen (low, medium, high) im Bluetooth-Standard
genannt. In der Stufe geringster Sicherheit kann jedes Bluetooth-Gerät mit jedem anderen in
Verbindung treten und auf die auf dem anderen Gerät bereitgestellten Services zugreifen. BTEinheiten, die höhere Sicherheitsstufen verwenden, lassen nur spezifizierte Geräte zur
Anmeldung respektive autorisierte Zugriffe auf die Dienste zu.
Hieraus lassen sich einige Empfehlungen zur besseren Sicherheit beim Einsatz von Bluetooth
in der Datenkommunikation ableiten. Neben den allgemeinen Hinweisen, wie keine
unsicheren Voreinstellungen oder zu erratende PINs zu verwenden und ähnliche Fehler zu
begehen, sollte bei Bluetooth die Sendeleistung sowie die freigegebenen Dienste
weitestgehend eingeschränkt werden. Gegen bekannte Sicherheitslücken, wie z.B.
Bluejacking, einen Text auf das Display eines gefundenes Geräts in Reichweite senden, oder
unbekannte Angriffe, z.B. durch manipulierte Geräteadressen (Spoofing), kann sich der
Anwender, neben dem Abschalten der Bluetooth-Funktionen, nur schwer schützen.
15
1.3. Standards und Evolution
1.3.1. Einleitung
In diesem Kapitel soll auf die allgemeine Standardisierung der Bluetooth-Technologie näher
eingegangen werden. Dabei steht die Entwicklung der verschiedenen aufeinander folgenden
Bluetooth-Kernspezifikationen im Mittelpunkt der Betrachtungen. Es sollen grundlegende
Eigenschaften und Verbesserungen bzw. Anpassungen an neue Aufgaben vorgestellt werden.
1.3.1.1. Wozu sind Standards nötig?
Standards sind zwingend notwendig um eine Kompatibilität zwischen Produkten
verschiedener Hersteller für einen sehr langen Zeitraum, und dies möglichst weltweit,
herzustellen. Aus der Sicht der Käufer von standardisierten Produkten bedeuten diese
Festlegungen eine Ungebundenheit an einen bestimmten Hersteller und somit die freie
Auswahl von gleichartigen Produkten anderer Hersteller auf dem Markt.
Kurz gesagt: Nur in einer standardisierten Form kann sich die Bluetooth-Technologie als ein
drahtloser Kabelkiller etablieren bzw. gegenüber anderen „short-distance“-Funktechnologien
durchsetzen.
1.3.1.2. Wer macht die Standards bei Bluetooth?
Allgemein werden folgende Typen von Standards unterschieden:
•
•
•
•
•
Internationale Standards
Nationale Standards
Empfehlungen (Recommendations)
Request for Comments (RFC)
Industriestandards (durch Herstellervereinigung)
Der lizenzfreie Bluetooth-Standard reiht sich in die Gruppe der Industriestandards ein, da
dessen Festlegungen in einem Zusammenschluss zahlreicher interessierter Firmen, in der
sogenannten „Bluetooth Special Interest Group“ (Bluetooth SIG), getroffen werden.
Diese Spezifikation schreibt nur vor, wie sich Bluetooth-Geräte verhalten sollen, wobei die
konkrete Realisierung den Herstellern selbst überlassen ist.
Die 1998 gegründete SIG hat inzwischen in vier Kategorien insgesamt über 2000 Mitglieder,
darunter die fünf Initiatoren: Ericsson, Nokia, Toshiba, Intel und IBM.
Im Rahmen der einheitlichen Entwicklung des Funkverbindungssystems und Bildung eines
breiten Produktspektrums umfasst der Aufgabenbereich des Bluetooth-Konsortiums:
•
•
•
•
die Spezifizierung des Protocol-Stacks und der Anwendungsprofile,
die Veranstaltung von Entwicklertreffen,
das Marketing und
die Sicherstellung der Interaktion von Geräten verschiedener Hersteller (Certification)
Letzterer Punkt wir durch eine Konformitätsprüfung, nach Kriterien der Bluetooth-SIG
erzielt. Die so genannte Bluetooth-Qualification kann bei berechtigten Dienstleistern, wie
beispielsweise in Deutschland der Firma 7layers, erfolgen. Somit darf ein Hersteller sein
16
Produkt (Hardware bzw. Software) erst nach bestandener Prüfung mit dem geschützten
Bluetooth-Logo versehen und als Bluetooth-zertifiziert ausgeben.
Für tiefgründigere Informationen über die Bluetooth-SIG, deren Vorgehensweise bei der
Standardisierung und die vier Mitgliederkategorien wird auf die Homepage des Konsortiums
verwiesen: Æ https://www.bluetooth.org/admin/bluetooth2/faq/search_faq.php
1.3.2. Die Standards im Überblick
Vorweg sei angemerkt, dass die Gegenüberstellung der Entwicklungsstufen des BluetothStandards sich trotz ausgedehnter Recherche in Detailfragen als sehr schwierig erwies, da
speziell zu den Versionsunterschieden kaum detaillierte Informationen zu finden waren. In
themenrelevanten Quellen fanden sich in Abschnitten zu eigentlich vergleichbaren Passagen
teils starke Widersprüche. Außerdem war die Glaubwürdigkeit der meisten unabhängigen
Ausarbeitungen zum Thema meist fragwürdig.
Auch die Inhalte der Archive offizieller Informationsseiten sind in Bezug auf die Darstellung
aufgetretener Probleme und deren Lösungen oft unzureichend dokumentiert. Es wird meist
nur mit der Einführung des nachfolgenden verbesserten Standards durch Auflisten
verkaufsfördernder Begriffe geworben. So konnte z.B. zu den bekannten anfänglichen
Kompatibilitätsproblemen zwischen Bluetooth-Geräten unterschiedlicher Hersteller, kein
direktes Statement oder gar eine Erörterung gefunden werden. In dem öffentlichen OnlineForum der SIG-Homepage konnte in der Zeit der Recherche leider auch keine Information
dazu erworben werden. Nur durch zeitaufwendiges Vergleichen der detailreichen
Spezifikationsbeschreibungen könnten spezifische Änderungen identifiziert werden. Erst in
der Dokumentation zum Standard 1.2 findet sich ein Abschnitt über die aktuellen technischen
Neuerungen.
1.3.2.1. Bluetooth 1.0a und 1.0b
Nach der Gründung der Bluetooth Special Interest Group im Februar 1998 folgte im Mai des
gleichen Jahres die offizielle Bekanntgabe des Bluetooth-Projekts. Diese viel versprechende
Ankündigung führte in ihrer Art und Weise zu entsprechend hohen Erwartungen an den
Kabelkiller. Am 26. Juli 1999 wurde auf der Homepage der SIG die Spezifikation des ersten
offiziellen Standards, Bluetooth 1.0a, veröffentlicht.
Diese Gesamtspezifikation ist in zwei Teilabschnitte unterteilt:
„Core Specification (Volume I)“
In der Kernspezifikation werden die Grundfunktionen
der Bluetooth-Geräte und deren Kommunikation über
Protokolle, sowie die Anbindung an Hosts und
einheitliches Fachvokabular festgelegt.
„Profile Definitions (Volume II)“
Hier werden Festlegungen für die Profile getroffen,
welche in dieser Arbeit nicht näher erläutert werden.
Der Bluetooth-Standard 1.0a wird durch folgende Basis-Eigenschaften (Kernspezifikation),
auf welche bereits im Kapitel Funktionsweise näher eingegangen wurde, charakterisiert:
• FFH mit 1600 Sprüngen je Sekunde und TDD
• Bruttotransferrate von 1 Mbit/s
• ACL/ SCO-Übertragungen
17
•
•
•
Drei Sendeleistungsklassen (1mW, 2,5mW und 100mW)
Piko-Netz- (Master mit bis zu 7 Slaves) und Scatter-Netz-Topologie
zusätzliche Sicherheitsmaßnahmen
Die Erwartungen der Interessenten wurden bei weitem nicht erfüllt, da zum Zeitpunkt der
Vermarktung die Entwicklungen noch nicht weit genug gediehen waren. Hauptursachen
waren Fehler bei der Kompatibilität, der Implementierung von Piko-Netzen bzw. ScatterNetzen, sowie einer eindeutigen Master-Slave-Zuweisung zwischen den Geräten.
Man konnte nicht von marktreifen Produkten sprechen, da es kaum Geräte verschiedener
Hersteller auf dem Markt gab, die miteinander kommunizieren konnten.
Nach nur sechs Monaten folgte am 1. Dezember 1999 ein überarbeiteter Bluetooth-Standard
der Version 1.0b, welcher leider auch die grundlegenden Probleme der ersten offiziellen
Version nicht lösen konnte.
1.3.2.2. Bluetooth 1.1
Durch die teils schwerwiegenden Probleme von Bluetooth 1.0a und 1.0b blieb der ersehnte
Durchbruch dieser „short-distance“-Funktechnologie aus. Die ganze Hoffnung der BluetoothSIG lag nun auf dem neu überarbeiteten Standard Bluetooth 1.1, welcher genau ein Jahr
später, am 1. Dezember 2000 veröffentlicht wurde. Dieser ist nicht abwärtskompatibel zu den
Vorgängerversionen 1.0a und 1.0b, obwohl die bereits erwähnten Basis-Eigenschaften
beibehalten wurden. Die besagten Probleme der Vorgängerversionen wurden weitestgehend
behoben, doch die Implementierung der Scatter-Netze ist noch nicht fehlerfrei bzw. nicht
vollständig spezifiziert.
Es wurden auch weitere Profile festgelegt. Die Vorgänger-Standards von Bluetooth 1.1
waren, in Bezug auf die Profile, lediglich als Kabelersatz, z.B. zwischen PC und
Peripheriegeräten, gedacht. Die erweiterten Profile waren weitestgehend für die Übertragung
von Bildern, Video-Clips oder HiFi-Audio-Signalen gedacht, die das Anwendungsspektrum
dieser viel versprechenden Übertragungstechnologie deutlich vergrößerten.
Durch die von der SIG verbesserte Interoperabilität zwischen Geräten verschiedener
Hersteller und die nun erweiterte multimediale Anwendungsvielfalt, konnte sich Bluetooth als
Funk-Übertragungstechnologie allmählich etablieren. Auf dem Markt konnte man zunehmend
Produkte von Herstellern finden, die nun auf diese Technologie setzten.
Ein Meilenstein für die Akzeptanz dieses Funk-Übertragungsstandards war der Ende März
2002 vereinbarte Lizenzvertrag zwischen der Bluetooth-SIG und dem IEEE, welcher auf der
Kernspezifikation der Version 1.1 beruht. Die Arbeitsgruppe 802.15 des Institute of Electrical
and Electronics Engineers (IEEE) erkannte dieser Technik den Rang eines IEEE-Standards
zu, der in so genannten Wireless Personal Area Networks (WPAN) zum Zuge kommen soll.
Von diesem Zeitpunkt an kann man von einer Zusammenarbeit der beiden Einrichtungen,
bezüglich der Weiterentwicklung des WPAN-Standards, sprechen.
1.3.2.3. Bluetooth 1.2
Am 5. November 2003 ist nun der durchaus als robust zu bezeichnende Standard Bluetooth
v1.1 durch die derzeit aktuelle Version 1.2 abgelöst worden. Die neue Spezifikation führt
vorwiegend neue Features bzw. Verbesserungen vorhandener mit sich, welche den Betrieb in
der Praxis reibungsloser gestalten. Bei der Entwicklung dieser Nachfolgergeneration flossen
etliche Empfehlungen des Institute of Electrical and Electronics Engineers (IEEE) ein.
18
Folgend aufgeführte neue Merkmale sind prägend für Bluetooth 1.2 und werden anschließend
näher erläutert:
•
•
•
•
•
•
•
•
•
Enhanced Quality of Service (eQoS)
Verbesserter Verbindungsaufbau
Neuer Übertragungsmodus eSCO
Interferenzminimierung durch AFH
Abwärtskompatibilität zu Bluetooth 1.1
Anlehnung der Wortwahl an IEEE
Grundlegende Umstrukturierung/Umpartitionierung des Inhalts der Spezifikation
(um Übersicht/Änderbarkeit/Protocols and Core)
Zeitgleiche Verabschiedung und Streichung nicht benötigter Profile
Anonymity Mode
1.3.2.3.1. eQoS
Mit „Enhanced Quality of Service“ soll, laut der SIG, eine leistungsfähigere Punkt-zuMultipunkt-Anwendung ermöglicht werden.
Im Gegensatz zu dem implementierten QoS der Vorgängerversionen können nun zwischen
dem Master und mehreren Geräten Prioritäten zugewiesen werden. Somit wird die
gleichzeitige Bedienung mehrerer Clients, durch ein besseres Verkehrs-Management,
optimiert.
Sind beispielsweise ein Drucker und ein Lautsprechersystem via Bluetooth mit einem PC
(Master) verbunden, kann durch eine Prioritätenvergabe eine unterbrechungsfreie
Musikwiedergabe erfolgen, während der Drucker kurzfristig auf Daten verzichten muss.
1.3.2.3.2. Verbesserter Verbindungsaufbau
Laut der Vorgängerspezifikation v1.1 mussten innerhalb von 4 Sekunden 80 Prozent aller
Geräte gefunden werden, die sich in Reichweite des suchenden Geräts befinden. Mit der
Version Bluetooth 1.2 sollen nun alle im Umkreis befindlichen Geräte innerhalb von ca. 2
Sekunden entdeckt werden.
Weiterhin hat man den Zeitbedarf des Verbindungsaufbaus zwischen zwei Geräten von 1
Sekunde auf eine 1/10-Sekunde reduziert - Enhanced Synchronization Capability.
Weiterhin wurden Flusskontrolle und Fehlererkennungsmechanismen durch verschiedene
Maßnahmen verbessert. In der Spezifikation werden nur Begriffe wie „Enhanced Error
Detection and Flow Control“ sowie „Enhanced Flow Specification“ genannt.
1.3.2.3.3. Neuer Übertragungsmodus eSCO
Mit eSCO (Extended Connection Orientated) ist nun, neben dem normalen SCO, ein zweiter
verbindungsorientierter Übertragungsmodus spezifiziert worden. Beide Modi zeichnen sich
durch eine logische Punkt-zu-Punkt-Verbindung zwischen einem Master und einem
bestimmten Slave aus.
Die Verbindung kann ebenfalls als leitungsvermittelt angesehen werden, da ähnlich dem
SCO-Übertragungsmodus eine Reservierung von Zeitschlitzen erfolgt. Doch im Gegensatz
zur normalen SCO-Übertragung bietet eSCO zusätzlich eine begrenzte Retransmission
defekter oder nicht angekommener eSCO-Pakete.
19
Ist eine Retransmission erforderlich, findet diese in einem so genannten RetransmissionsFenster statt (mehrere Zeitschlitze), welches sich unmittelbar hinter den reservierten
Zeitschlitzen befindet. Innerhalb des Retransmissions-Fensters wird das gleichartige PollingVerfahren verwendet, wie es auf dem ACL-Kanal Anwendung findet: ein Slave darf erst auf
dem eSCO-Kanal (im Slave-zu-Master-Zeitschlitz) sein Paket senden, wenn er unmittelbar
zuvor ein an ihn adressiertes Paket vom Master (Master-zu-Slave-Zeitschlitz) erhalten hat.
Sollten Zeitschlitze eines Retransmissions-Fensters nicht für die erneute Versendung von
eSCO-Paketen benötigt werden, stehen sie für den anderen Daten-Verkehr zur Verfügung.
Darüber hinaus bietet das erweiterte SCO gegenüber dem normalen SCO eine flexiblere
Kombination von Pakettypen und Dateninhalten, des Weiteren wählbare Perioden für die
reservierten Zeitschlitze, wodurch eine Unterstützung diverser synchroner Bitraten erfolgen
kann.
Folgende eSCO-Pakete sind definiert und können sowohl für die 64kbit/s-Sprachübertragung
als auch für den transparenten Datentransport mit 64kbit/s oder einer anderen Bitrate genutzt
werden:
EV3
- variable Paketgröße zwischen 1 und 30 Byte und zusätzlich 16 Bit CRC
- keine FEC
- Paket darf maximal einen Zeitschlitz einnehmen
EV4
- variable Paketgröße zwischen 1 und 120 Byte und zusätzlich 16 Bit CRC
- 2/3 FEC
- Paket darf maximal drei Zeitschlitze einnehmen
EV5
- variable Paketgröße zwischen 1 und 180 Byte und zusätzlich 16 Bit CRC
- keine FEC
- Paket darf maximal drei Zeitschlitze einnehmen
Angemerkt sei, dass bei den herkömmlichen SCO Datenpaketen grundsätzlich fixe
Paketgrößen definiert sind, welche auch nur einen Zeitschlitz einnehmen dürfen und auch
keine CRC-Fehlererkennung beinhalten.
Die beim Verbindungsaufbau ausgehandelte Bandbreite eines eSCO-Kanals ist fest reserviert
und kann in Sende- und Empfangsrichtung entweder gleich groß (symmetrisch) oder
unterschiedlich groß (asymmetrisch) ausfallen. Letzteres wird vom bekannten SCO nicht
unterstützt.
Quelle: Bluetooth Core Specification 1.2
Abbildung 1.13 – Symmetrischer Datenverkehr
20
Quelle: Bluetooth Core Specification 1.2
Abbildung 1.14 – Asymmetrischer Datenverkehr
Fazit:
In der Praxis bedeutet der neu spezifizierte Übertragungsmodus eSCO eine verbesserte und
flexiblere Übertragung, welche (begrenzte) Retransmissionen mit einem sehr geringen
„Echtzeit-Verlust“ bietet.
1.3.2.3.4. Interferenzminimierung durch AFH
Die Zunahme von Funkfrequenztechniken, welche sich des gemeinsam genutzten ISM-Bands
(2,4GHz) bedienen, führt zu einem Problem – Interferenzen zwischen parallel eingesetzten
Techniken.
Bluetooth-Geräte, die das herkömmliche Frequenzsprung-Verfahren (Frequency Hopping)
nutzen, merken aufgrund ihrer robusten Modulation wenig vom benachbarten Funkverkehr,
aber beeinträchtigen diesen spürbar. In diesem Zusammenhang sollte der Funkstandard
WLAN (IEEE 802.11b) genannt sein, welcher teils starke Leistungseinbußen durch Bluetooth
hinnehmen muss. Häufig findet dieser seinen Einsatz in Umgebungen, wo auch BluetoothGeräte parallel kommunizieren. Ein Beispielszenario wäre ein Laptop, der mittels WLAN
eine Internetverbindung herstellt und Druckaufträge via Bluetooth an einen Drucker sendet.
Neben dem Aspekt, dass diese Bluetooth-Übertragungen Interferenzen verursachen, werden
auch sie durch Interferenzen gestört. Daraus folgt beispielsweise ein Einbruch des
Datendurchsatzes im ACL-Modus, verursacht durch die häufige Retransmission von verloren
gegangenen oder defekten Datenpaketen. Ein weiteres Beispiel ist die Audio-Übertragung
(SCO) über ein Bluetooth-Headset. Hierbei machen sich Interferenzen durch ein teilweise
unangenehmes Rauschen im Kopfhörer bemerkbar.
21
Quelle: „carmeq - Introduction to Bluetooth“ 12.06.2003 [19]
Abbildung 1.15 – Beispiel: WLAN und BT v1.1 Interferenzen
Auf diese Problematik hat das Herstellerkonsortium reagiert und stellte ein Verfahren namens
Adaptive Frequency Hopping AFH vor, worauf am Ende dieser Arbeit in einem gesonderten
Kapitel eingegangen wird. Mit AFH soll eine Kommunikation von Bluetooth-Geräten
erfolgen, welche Rücksicht auf andere benachbarte Funktechnologien nimmt und fest
genutzten Frequenzbändern von schmalbandigen Störungen ausweicht.
1.3.2.3.5. Abwärtskompatibilität zu Bluetooth v1.1
Der neue Standard soll abwärtskompatibel zu Bluetooth 1.1 sein, verspricht das BluetoothHerstellerkonsortium. Doch kann ein Gerät der Version 1.1 nicht in einem Piko-Netz der
neuen Generation als Master agieren. Diese Einschränkung ist durch das neue adaptive
Frequenzsprungverfahren begründet.
1.3.2.3.6. Anlehnung der Wortwahl an IEEE
Viele Teilabschnitte von vorangegangenen Bluetooth-Spezifikationen erschwerten den
Lesern, durch eine unpräzise oder inakkurate Wortwahl, das Herauslesen wichtiger
Informationen. Durch die Anlehnung der Wortwahl an die Empfehlungen der IEEE kann nun
deutlich vereinfacht zwischen zwingend notwendigen Implementierungsinformationen und
Hintergrundinformationen differenziert werden.
Nähere Informationen dazu können
- in der Bluetooth 1.2 Core-Specification auf Seite 149
22
-
und im IEEE Style Guide ( http://standards.ieee.org/guides/style/ ), welcher als
Grundlage für die Verbesserung der Wortwahl diente,
nachgeschlagen werden.
1.3.2.3.7. Grundlegende Umstrukturierung
Die grundlegende Umstrukturierung der Gesamtspezifikation besteht aus zwei wesentlichen
Punkten:
1. Flexiblere Spezifizierung von Profilen und Protokollen
Wie bereits im entsprechenden Abschnitt erwähnt, bestand die BluetoothGesamtspezifikationen der Versionen 1.0x und 1.1 aus zwei Hauptteilen, CoreSpecification (Volume I) und Profile Definitions (Volume II), welche immer gleichzeitig
und zusammenhängend publiziert wurden.
Nach der Veröffentlichung von Bluetooth 1.1 bestand die Notwendigkeit einer flexibleren
Spezifizierung und Veröffentlichung neuer bzw. verbesserter Profile und Protokolle,
welche zeitlich unabhängig von der Publikation der Core-Specification erfolgen kann.
Man beschloss die Profile und die Protokolle (welche nicht Bestandteil der
Kernspezifikation sind) als jeweils einzelne Teilspezifikationen zu führen, welche mit
einer Versionsnummer versehen sind, die mit jeder Änderung erhöht wird. Mit diesem
Schritt ermöglicht die SIG ein Hinzufügen und Abändern von Profilen und Protokollen zu
jeder Zeit.
2. Restrukturierung der Bluetooth-Core-Specification 1.2
Der Inhalt dieser derzeit aktuellen Kernspezifikation ist in einer deutlich veränderten
Struktur dargestellt, welche eine bessere Folgerichtigkeit und Lesbarkeit sicherstellen soll.
Die wichtigsten Umstrukturierungen fanden im Bereich Baseband, LMP, HCI und L2CAP
statt, wobei die Information in einer logischeren Reihenfolge präsentiert wird, als es bei
den Vorgängerversionen der Fall war. Diese Restrukturierung fiel uns bei unserer
Recherche als sehr positiv auf.
1.3.2.3.8. Verabschiedung neuer Profile
Zum Zeitpunkt der Veröffentlichung der Bluetooth-1.2-Kernspezifikation wurden fast
zeitgleich eine Reihe weiterer Profile definiert, welche der Funktechnik neuen Schub
verleihen könnte. Drei neue Profile, darunter das „Advanced Audio Distribution Profile“
(A2DP), gelten der Verbesserung von Audioanwendungen. Damit sowie mit Hilfe von
Kompression lassen sich Stereosignale mit hoher Qualität übertragen. Des Weiteren
verabschiedete die SIG das „Audio/Video Remote Control Profile“, das für die
Fernsteuerung von Audio- und Videogeräten ausgelegt ist.
Neu sind auch das „Hands Free Profile“ (HFP) und das „SIM Access Profile (SAP)“, die auf
den Automarkt zielen: Damit können Fahrzeug-Freisprecheinrichtungen Handys kontrollieren
bzw. Profile und Adressen eines Mobiltelefons an das Autotelefon überwiesen werden, ohne
dass hierzu die SIM-Karte gewechselt werden muss.
1.3.2.3.9. Anonymity Mode
In der Version 1.2 gibt es die Möglichkeit, ein Bluetooth-Gerät im so genannten Anonymity
Mode zu betreiben. Dieser ist ein optionales Sicherheitsmerkmal, welches vom Hersteller
angeboten werden kann, und verbirgt die eigentliche MAC-Adresse. Es wird, z.B. zum
23
paarweisen Datenaustausch, eine zufällig ermittelte fiktive Adresse gleichen Formats
verwendet, welche dann auch periodisch neu generiert wird. Da die Kern-Spezifikation keine
Festlegungen hierzu trifft, ist es den Herstellern überlassen wie diese Möglichkeit
implementiert wird.
1.3.2.4. Ausblick auf Bluetooth 2.0
Im Rahmen eines Bluetooth-Kongresses, welcher Mitte Juni 2003 stattfand, sickerten erste
Details zu den bislang sorgsam gehüteten Spezifikationen der Bluetooth-Version 2.0 durch.
Es wird erwartet, dass Bluetooth 2.0 mit Bruttotransferraten von bis zu 4, 8 und 12 Mb/s, bei
gleich bleibender Reichweite, operieren soll, was ihm den Beinamen Highrate einbringt.
Die neue Spezifikation 2.0 bietet ebenfalls neue Kommunikationsmodi, welche auf dem
derzeit verwendeten System aufbauen. Sie ermöglichen, durch Nutzung eines
Schmalbandkanals unter Verzicht auf Bandspreizung sowie von verteilten MAC-Protokollen,
schnellere Antwortzeiten und eine integrierte QoS. Dieses neuartige verteilte Protokoll dient
der Verminderung derzeit bestehender Probleme hinsichtlich der Master/Slave-basierten PikoNetze, wobei aus dem Verlust des Masters ein Zusammenbruch des Piko-Netzes resultiert.
Bluetooth 2.0 verzichtet auf die Master-Rolle und erhebt jede Einheit zum so genannten
Supervisor, wodurch eine kontinuierliche Kommunikation innerhalb des Piko-Netzes
ermöglicht wird. Des Weiteren soll es eine Broadcast- bzw. Multicast-Unterstützung bieten.
Die neuen Fähigkeiten sind allerdings mit einer gegenüber Bluetooth 1.0 verdoppelten
Stromaufnahme zu bezahlen. Bei der Entwicklung wird die Kompatibilität bzw. paralleler
Einsatz zu den „low-rate“-Versionen ab 1.1 angestrebt.
1.3.3. Bluetooth in der IEEE
Das 1963 gegründete Institute of Electrical and Electronics Engineers (IEEE) ist ein Gremium
für Normungen in elektrischen und elektronischen Verfahren, deren weltweit mehr als
360.000 Mitglieder sich in erster Linie ebenfalls aus Herstellern sowie
Forschungseinrichtungen rekrutieren.
In diversen Arbeitsgruppen ist das IEEE eine der führenden Organisationen bezüglich der
Standardisierung auf dem Gebiet der Raumfahrt, Computer und Telekommunikation,
biomedizinischen Ingenieurstechnik, elektrischen Energie und elektronischen Geräten.
Einer der bekanntesten und wichtigsten Interessenbereiche des IEEE ist das IEEE 802
LAN/MAN Standards Committee, auch LMANSC genannt, welches sich mit der
Standardisierung für Kommunikations-Netzwerke beschäftigt. Es wurde um 1980 aus der
Notwendigkeit gegründet, die Vielfalt aller möglichen Netzwerk-Systeme, z. B. in der
Verkabelung, der Übertragungsgeschwindigkeit und -technik zu standardisieren. Seine Arbeit
beschränkt sich zum größten Teil auf die zwei untersten Schichten des bekannten ISO/OSIModells.
Die IEEE 802 ist hierarchisch in Arbeitsgruppen unterteilt. Einige wichtige seien hier
genannt:
• IEEE 802.3 Ethernet / CSMA/CD-Zugriffsverfahren
• IEEE 802.11 WLAN – Wireless Local Area Network
• IEEE 802.15 WPAN – Wireless Personal Area Network
Letzt genannte Arbeitsgruppe befasst sich mit kabelloser Nahbereichskommunikation, z.B.
für portable Geräte wie PDAs. Das Ziel ist auch hier, Standards, Empfehlungen und
Anleitungen auszuarbeiten, welche die Gesichtspunkte der Interoperabilität und Koexistenz
24
zu anderen Datenübertragungs-Standards sicherstellen sollen. In den Bereich von WPAN
reiht sich neben anderen die Bluetooth-Technologie ein. Sie wurde, aufgrund eines
Lizenzabkommens zur Kompatibilität zwischen Bluetooth-SIG und IEEE, im März 2002 mit
dem Standard 1.1 in den Rang eines IEEE-Standards erhoben. Diese Zusammenarbeit teilt
sich generell in die Aufgabenfelder technische Weiterentwicklung und Integration der
Bluetooth-Technologie seitens der Bluetooth-SIG und Prüfung nach eigenen Kriterien und
Entwicklung von Änderungsempfehlungen seitens der zuständigen IEEE 802.15 Task Groups
(TG). Die TGs bearbeiten jeweils eine spezielle Aufgabe.
Die TG IEEE 802.15.1 hat den Bluetooth-Standard 1.1 geprüft und in die IEEESpezifizierungen übernommen. Die Übernahme erfolgte auf Basis der Kernspezifikation,
welche die physikalische Schicht, in diesem Fall RF, und die MAC-Layer, die das Baseband,
das L2CAP sowie das LMP umfasst. Weiterhin wurde ein Satz von allgemeinen SAPs
entwickelt, welche das auf die MAC-Schicht aufsetzende ISO/IEC 8802-2 LLC ermöglicht.
Der bereits von der Bluetooth-SIG verabschiede Standard 1.2 soll durch die TG IEEE
802.15.1a eingegliedert werden.
Mit der Sicherstellung der Koexistenz von IEEE 802.15 WPAN und IEEE 802.11 WLAN
befasst sich die TG IEEE 802.15.2. Diese Expertengruppe entwickelt KoexistenzMechanismen für Transceiver, wodurch gegenseitige Interferenzen von WLAN und WPAN
ausgeschlossen werden sollen. Bei Entwicklung eines Interferenz-minimierenden
Übertragungsverfahrens (AFH) für Bluetooth 1.2, durch die Bluetooth-SIG, flossen
Empfehlungen von dieser Task-Group mit ein.
1.4. Bluetooth-Protokollstapel
1.4.1. Einleitung
Der Aufbau der Protokollarchitektur des Bluetooth-Standards folgt der Grundidee der
kabelersetzenden Funkdatenübertragung und orientiert sich auch am bekannten ISO/OSI
Schichtenmodell. Daher wurden die verwendeten Protokolle nach der besten Verwendbarkeit
für eben diese Aufgabe entworfen bzw. übernommen. Der gesamte Protokollstapel für
Bluetooth-Verbindungen kann in vier Hauptgruppen nach ihren allgemeinen Aufgaben
eingeteilt werden. Diese sind, wie auch in folgender Tabelle verdeutlicht, die Bluetooth-Kerndas Kabelersatz-, die Telefonie-Steurungs- und weitere aufgesetzte anwendungsspezifische
Protokolle.
Schicht
Protokoll
Bluetooth Kernprotokolle
Baseband, LMP, L2CAP, SDP
Cable Replacement
Protocol
RFCOMM
Telefonie
TCS-bin, AT-Kommandos
Aufgesetzte Protokolle
PPP, UDP/TCP/IP, OBEX, WAP, vCard, vCal, IrMC, WAE
Tabelle 1.4 – Die Protokolle und Schichten im Bluetooth-Protokoll-Stapel
25
Der der komplette Stapel enthält zwei Kategorien von Protokollen. Zum einen die Bluetoothspezifischen wie LMP (Link Manager Protocol) und L2CAP (Logical Link and Control
Adaption Protocol), und zum anderen die nichtspezifischen wie OBEX (Object Exchange
Protocol) und UDP (User Datagram Protocol). Um einen einfachen und wenig aufwendigen
Standard zu schaffen, wurden für die höheren Schichten bereits vorhandene und erprobte
Protokolllösungen verwendet. Diese Wiederverwendung existierender Protokolle hilft vor
allen Dingen den bereits existierenden Applikationen die Bluetooth-Technologie einzubinden.
Der Integrationsaufwand wird damit erheblich verringert. Da die Spezifiktion von Bluetooth
offen und allen frei zugänglich ist, steht es allen Entwicklern frei, sie zu verwenden.
1.4.2. Die Protokolle der Bluetooth-Architektur
Die Bluetooth-Kernprotokolle (Core) umfassen alle Bluetooth-spezifischen Protokolle, die
von der Bluetooth SIG entwickelt wurden. RFCOMM und TCS wurden auch von dieser SIG
entwickelt, basieren aber auf ETSI TS 07.10 und der ITU-T Recommendation Q.931. Diese
Protokolle und Bluetooth-Radio, als physikaliche Realisierung, sind die wichtigsten und somit
der Kern des Standards. Sie sind in allen Bluetooth Geräten gleichermaßen integriert. Der
Rest der Protokolle wird nur verwendet, wenn die Verwendung für bestimmte Anwendungen
dies verlangt. Wie schon vorhin erwähnt, ist die Bluetoothtechnologie eine offene
Technologie. Somit ist es den Entwicklern möglich eigene Zusatzprotokolle zu entwerfen
(wie etwa HTTP oder FTP). Diese werden dann hierarchisch gesehen auf den Stapel
aufgesetzt. Entsprechende typische Kombinationen werden in den Bluetooth-Profilen
vorgeschlagen.
Anwendungen
WAE
WAP
ATCommands
TCS-bin
SDP
Software
vCard/vCal
OBEX
TCP UDP
IP
PPP
Kabelersatzprotokoll (RFCOMM)
HCI
LMP
Basisband & Link Control
Bluetooth Radio
Abbildung 1.16 – Die Protokollarchitektur
26
Hardware
L2CAP
ACL
SCO
Audio
1.4.2.1. Bluetooth Kernprotokolle
1.4.2.1.1. Bluetooth Radio / Baseband
Die physikalische Schicht repräsentiert sich durch die Hardware (Bluetooth RF Funktechnik) und das darauf aufsetzende Basisband (Baseband/Link Control). Die zu
nutzenden Funkfrequenzen werden zur Verfügung gestellt und alle physikalischen Kanäle
sowie Verbindungen hiermit verwaltet.
Die Funktechnik stellt die Kompatibilität zwischen allen Bluetooth-Transceivern sicher, da
der Aufbau aller Geräte einer Standardversion gleich ist. Sie realisiert die 79 bzw. 23
möglichen Funkkanäle im vorgegebenen Frequenzband, die Modulation und Übertragung des
eigentlichen Signals, sowie die erforderliche Signalstärke in den bereits genannten
Sendeleistungsklassen. Bei dem verwendeten sehr einfachen und somit preisgünstigen
Gaussian Frequency Shift Keying (GFSK)-Verfahren wird eine negative
Frequenzabweichung von der jeweiligen Trägerfrequenz als eine "0" und demnach eine
positive Frequenzabweichung als eine "1" interpretiert.
Die Baseband-Spezifikation definiert die Paketformate, die physikalischen und logischen
Kanäle, die Fehlerkorrektur, die Synchronisation zwischen Sender und Empfänger, die
unterschiedlichen Operationsmodi und Zustände, die den Daten- und Sprachtransport
ermöglichen.
Es ist Aufgabe des Basisbandes, die zu verwendende Frequenz für die aktuelle Übertragung
einzustellen und die quasi-zufällige Frequenzsprungfolge (Pseudo Random Frequency
Hopping) im Zeitfenster-Duplex-Betrieb (Time Division Duplex TDD) über das spezifizierte
Master-Gerät zu steuern. So wird es ermöglicht, die Verbindung in dedizierte Zeitschlitze von
625 Mikrosekunden und einer bis zu 1600mal pro Sekunde wechselnden
Übertragungsfrequenz einzuteilen und abwechselnd dem Master selbst oder einem der
verbundenen Slave zum Senden zur Verfügung zu stellen. Die so genannten timeslots werden
zur synchronisierten Übermittlung von leitungs- sowie paketvermittelten
Übertragungskanälen genutzt. Dies kann unter Einbeziehung der möglichen
Vorwärtsfehlerkorrektur (Forward Error Correction FEC) und Prüfsummen (CRC) geschehen.
Somit ist die unterste Schicht des Standards in ihrer Gesamtheit für die Bereitstellung sowie
Sicherung und Sicherheit der Verbindung zuständig.
Es können daraus resultierend nur bis zu fünf Kanäle in einer aktiven Verbindung seitens
eines Bluetooth-Gerätes bestehen. Die Verbindungssteuerung (Link Control LC) belegt einen
Kanal zum L2CAP und das Verbindungsmanagement (Link Management) mit bis zu drei
Sprachkanälen und dem Datenkanal, zum Link Manager Protocol (LMP), die restlichen vier
möglich.
Die folgenden Protokolle arbeiten parallel:
• LMP, das Link Manager Protocol koordiniert Verbindungsauf- und -abbau,
Sicherheitsfunktionen, Packetgrößensteuerung.
• L2CAP - Logical Link Control and Adaptation Protocol - eigentliche
Datenübertragung, außer bei reinen Sprachanwendungen.
• Audio - reine Sprachübertragung wird direkt implementiert
• HCI ist Schnittstelle zwischen Host und Bluetooth-Gerät.
• RFCOMM emuliert serielles Kabel nach RS-232-Standard und dient der
modemähnlichen Datenübertragung.
• TCS, Steuerungsschicht für Telefonieanwendungen.
• SDP, Service Discovery Protocol, fragt die von anderen Geräten angebotenen Dienste
ab.
27
•
•
•
OBEX ist ein Modell zum Austausch digitaler Objekte (z.B. virtuelle Visitenkarten).
AT-Befehle werden von Applikationen benutzt, die Telefon- oder Faxfunktionen
bieten.
PPP ermöglicht den Internetzugriff über das Bluetooth-Interface.
1.4.2.1.2. Link Manager Protocol (LMP)
Das LMP kann auch als im L2CAP integriert betrachtet werden, jedoch sind die Aufgaben
beider Protokolle trennbar. Der Link Manager (LM) ist verantwortlich für den
Verbindungsaufbau und die Sicherheit von Bluetooth-Links. Es wird eine Authentifizierung
und Verschlüsselung mittels Sicherheitscodes durchgeführt. Ebenso ist er verantwortlich für
die Kontrolle und Aushandlung der Basisband-Paketgröße. Weiterhin regelt das LMP die
benötigte Sendeleistung der HF und verwaltet die angemeldeten Stationen eines Piconetzes.
Das Link-Manager-Protocol koordiniert die zur Verfügung gestellten Dateneinheiten und
verwaltet die Links. Sämtliche Aktivitäten zum Verbindungsaufbau und zur Verwaltung des
Piconets werden durch das LMP behandelt. Zur Verwaltung des Piconets gehören das
Einstellen der Verbindungsgüte, der mögliche Tausch der Master/Slave-Rollen sowie der
Uhrenabgleich. Weitere Aufgaben des LMPs sind die Authentifizierung und die
Verschlüsselung zur Gewährleitung der Sicherheit. LMP-Daten haben eine höhere Priorität
als Nutzerdaten und erreichen niemals höhere Schichten auf Empfängerseite.
Der LM behandelt die Autentifizierung einer Verbindung und die Verschlüsselung, das
Management eines Piconetzes (synchrone/asynchrone Verbindung, Steuerung der
Übertragungsqualität), das Aufsetzen einer Verbindung (asynchrone/synchrone Pakettypen,
Namen/ID-Austausch), den Einsatz von Multislot-Paketen und die Zustands- und
Moduswechsel eines Gerätes (active/hold/sniff/park).
1.4.2.1.3. Logical Link Control and Adaptation Protocol (L2CAP)
L2CAP unterstützt sowohl verbindungsorientierte als auch verbindungslose (loopback)
Datendienste für die höheren aufsetzbaren Protokollschichten. Zum weiteren
Funktionsumfang dieser Protokollschicht gehören die Segmentierung und das
Zusammensetzen von Telegrammen. Es zerlegt Pakete von bis zu 64kByte und fügt sie am
Empfänger wieder zusammen. Weiterhin ermöglicht sie das Multiplexen von Verbindungen
(gleichzeitige Benutzung mehrere Protokolle und Verbindungen) und erlaubt den Austausch
von Qualitätsinformationen zwischen zwei Geräten.
L2CAP kann bis zu 64 kByte große Datenpakete entgegennehmen und diese in geeignete
kleinere Datenpakete für die Basisband-Schicht umsetzen. Die Größe der Datenpakete ist
dahingehend von Bedeutung, dass sich unmittelbar oberhalb der L2CAP-Schicht die
Netzwerk-Schicht befindet. Hier werden 64 kByte große Datenpakete verwendet, um die
Kompatibilität zu IP-Paketen zu gewährleisten.
Das L2CAP bietet eine abstrakte Schnittstelle für die Datenkommunikation. Es ist für
aufgesetzte Protokolle irrelevant, wie die übergeben Daten übertragen werden bzw. wurden.
Dieses Protokoll verbindet die höher liegenden Schichten des Stapels mit dem darunter
liegenden Basisband. Es arbeitet wenn nötig parallel zum LMP und stellt den aufgesetzten
Schichten Dienste zur Verfügung, die nicht durch LMP-Nachrichten realisiert werden können.
Weitere wesentliche Aufgaben dieser Schicht sind die Bereitstellung definierter Dienstgüten
(Paketrate, Paketgröße, Latenz, Verzögerungsschwankungen, maximale Verbindungsrate),
sowie die Verwaltung von Nutzergruppen. Ein paar Einschränkungen des Funktionsumfanges
dieser Schicht sollen allerdings nicht ungenannt bleiben. Die L2CAP-Schicht ermöglicht
28
keinen Transport von Audiosignalen, d.h. von Daten synchroner Übertragungskanäle.
Weiterhin ist eine Kommunikation mit Gruppen nur mit einem Broadcast möglich, eine
Multicast-Verbindung ist hingegen bislang noch nicht verfügbar, wird aber voraussichtlich
zum Funktionsumfang von Bluetooth 2.0 gehören.
1.4.2.1.4. Das Host Controller Interface (HCI)
Zusätzlich zu den obigen Protokollen existiert noch ein Host Controller Interface (HCI).
Dieses Interface entspricht einem Kommando-Interface für den Baseband Controller, Link
Manager, und zu den Hardware-Status- und Kontrollregistern.
Das Host Controller Interface (HCI) liefert einen gemeinsamen standardisierten Übergang
zwischen einem Host und einem Bluetooth-Gerät, spezifiziert für verschiedene Schnittstellen,
wie USB, RS232, PCI u.a. .
Das bedeutet für den Anwender, wenn eine PC-Card als Bluetooth Adapter-Card verwendet
wird, dass er damit auch an entsprechende Sende-/Empfangsmodule dieses Herstellers
gebunden ist, da hier die Schnittstelle zwischen Adapter und BT-Modul vom Hersteller
spezifiziert werden kann. Entscheidet man sich aber für eine serielle Lösung, so kann man
sich dank des standardisierten HCI den Hersteller aussuchen.
Die folgende Abbildung zeigt noch einmal die verschiedenen Anschlussarten der BluetoothModule. Man sieht deutlich wie vom Betriebsystem des Hosts über die verschiedenen
Interfaces (USB, RS232 oder PC-Card) ein Anschluss an die Bluetooth-Module erfolgt.
Abbildung 1.17 – Anschluss an einen Host
29
1.4.2.1.5. Service Discovery Protocol (SDP)
Das Service Discovery Protocol (SDP) erlaubt es Anwendungen, die Dienste und
Eigenschaften anderer Bluetooth-Geräte zu erkennen. Diese Dienste können dann durch
andere Protokolle genutzt werden.
Das SDP ist Basis aller Verbindungsmöglichkeiten höherer Verbindungen. Es stellt in einer
Services Discovery Datenbank (SDDB) die Dienste-Struktur eines Bluetooth-Gerätes bereit,
wodurch Ad-hoc-Netzwerke überhaupt erst ermöglicht werden. Eine zentrale Verwaltung von
Dienstleistungsinformationen auf einem oder mehreren Kommunikationseinheiten
widerspricht dem Gedanken eines dynamischen Ad-hoc-Netzwerkes. Deshalb geht kein Weg
daran vorbei, dass jedes Bluetooth-Gerät selbst Informationen darüber verwaltet, welche
Dienste es zur Verfügung stellt.
Nachdem das Bluetooth-Gerät die Dienste, welche von anderen (verbundenen) BluetoothGeräten in seiner direkten Umgebung angeboten werden, entdeckt hat, kann eine Auswahl der
gewünschten Dienste getroffen werden. Danach kommt es zum Verbindungsaufbau mit einem
oder mehreren Bluetooth-Geräten, um den ausgewählten Dienst zu nutzen. Die weitere
Kommunikation läuft dann ohne Beteiligung des SDPs.
Dieser Service stellt die Grundlage aller Bluetooth-Nutzermodelle dar und ist der wichtigste
Teil des gesamten Protokoll-Rahmenwerks. Über SDP werden alle für die Datenübertragung
nötigen Informationen ausgetauscht, um dann eine Verbindung zwischen zwei oder mehreren
Bluetooth-Projekten einzurichten.
1.4.2.1.6. Audio
Die Audio-Spezifikation definiert die Sprachübertragung, speziell die Kodierung und
Dekodierung. Audiodaten können zwischen mehreren Geräten direkt übertragen werden.
Dabei werden die Daten nicht erst durch die L2CAP-Schicht geschickt. Audiotransfers sind
im Allgemeinen recht einfach realisierbar.
Für Kopfhöreranwendungen gibt es ein PCM-Rohdatenformat, welches im Direktmodus an
allen Protokollen vorbeigeführt werden kann (SCO). Diese Audiodaten können parallel zu
anderen Daten verschickt werden und mit verschieden Fehlerkorrekturverfahren behandelt
werden. Durch Öffnen eines Audio-Links kann jede Station zu einer anderen "Sprache"
übertragen. Die resultierenden Paketformate werden später näher vorgestellt.
1.4.2.2. Cable Replacement Protocol
1.4.2.2.1. RFCOMM (Radio Frequency Communication)
Als Schnittstelle zur realen Applikation ist das Kabelersatzprotokoll RFCOMM von
besonderer Bedeutung. Es stellt der Hostseite virtuelle serielle Verbindungen bereit. Dazu
simuliert RFCOMM bis zu 60 virtuelle serielle Schnittstellen nach dem RS-232-Standard mit
einer maximalen Geschwindigkeit von 115 kbps, wodurch eine breite Unterstützung
beliebiger höherer Protokollschichten erreicht wird. Dabei wird allerdings nur eine
Untermenge der möglichen Features des abgewandelten ETSI-Standards TS 07.10 durch
Bluetooth verwendet.
Die Ablaufsteuerung zur Steuerung der Verbindung erfolgt entweder durch Software in Form
von XON/XOFF-Steuerzeichen oder über einen Hardwarehandshake wie RTS/CTS oder
DTR/DSR. (RTS: "Ready To Send", CTS: "Clear To Send", DTR: "Data Terminal Ready",
DSR: "Data Set Ready")
Durch BENP (Bluetooth Encapsulation Network Protocol) um direkt PPP zu ersetzen und
HID-Profile zur Emulation von USB-Schnittstellen, sowie der direkten Anbindung von
30
Peripherie-Geräten über Hardcopy Replacement Protocol (HCRP) wird RFCOMM im
Standard 1.2 erheblich entlastet.
Über den Schnittstellen RFCOMM und L2CAP sitzen dann Protokolle wie IP, WAP oder
Kartenterminalanwendungen, um mittels spezieller Anwendungen Daten über die
Funkschnittstelle auszutauschen. Dabei laufen die Anwendungen über eine oder mehrere
vertikale Kanäle des Protokoll-Stapels. Der Grund-Stapel bis RFCOMM wurde, wie bereits
erwähnt, so konzipiert, dass bereits vorhandene und bewährte Protokolle darauf aufsetzen
können, um maximale Kompatibilität zu erreichen. Durch die Offenheit des Standards ist
vorauszusehen, dass eine Menge verschiedener Anwendungen den Markt erobern werden,
welche die Möglichkeiten der Bluetooth-Technologie voll ausnutzen können. In sogenannten
Profilen werden die zu verwendenden Protokolle je nach Anwendungsfall empfohlen.
1.4.2.3. Telefonie-Steuerungs-Protokolle
Die Telephony-API (Application Programming Interface) ermöglicht die Verwendung der
Telefon-Funktionen innerhalb der Bluetooth-Umgebung. Damit konnte der Zielstellung
Rechnung getragen werden, dass Bluetooth nicht nur im Bereich der Netzwerk- und
Computertechnik sondern auch bei den Telefonanwendungen Anklang finden soll. Die
Abwicklung der Telefonie-Dienste wurde durch zwei verschiedene Protokollarten umgesetzt.
1.4.2.3.1. Telephony Control – Binary
TCS-BIN stellt ein bitorientiertes Protokoll zum Auf- und Abbau von Sprach- und
Datendiensten zwischen zwei Geräten zur Verfügung. TCS-BIN baut auf Q.931 der ITU-T
auf und enthält Rufkontrolle, Verbindungsaufbau, Sprachübertragung und Datenübertragung.
Q.931 ist auch Grundlage für die Rufsteuerung bei ISDN. Die Telephony Control Protocol
Specification (TCS) ermöglicht die Signalisierung für die Herstellung und Unterhaltung von
Daten- und Sprachverbindungen (Terminal, Gateway, Lautstärke, Auflegen/Abheben,...).
1.4.2.3.2. Telephony Control – AT Commands
AT-Befehle nutzen zu ihrer Übertragung in der Regel eine serielle Port-Emulation über das
RFCOMM-Protokoll. Die AT-Befehle, basierend auf V.250 und ETS 300 916 der ITU-T,
wurden von der Bluetooth-SIG erweitert und ermöglichen verschiedene Varianten zur
Nutzung von Mobiltelefonen und Modems. Ein Beispiel ist die Nutzung eines Faxdienstes.
1.4.2.4. Aufgesetzte Protokolle
Eine Vielzahl von Protokollen sind auf die beschriebenen Basisdienste aufgesetzt. Es sei hier
eine Auswahl genannt:
• OBEX (Object Exchange Protocol) wird zum Dateitransfer und zur
Datensynchronisation benutzt.
• TCP/IP wird in Internet-Anwendungen eingesetzt.
• Eine Menge von AT-Kommandos ermöglicht die Steuerung über eine TerminalVerbindung.
• WAP unterstützt mobile Anwendungen
Die so genannten angepassten Protokolle werden unverändert vom Industriestandard
übernommen. Sie führen zur eigentlichen Applikation, womit sie die Interoperabilität mit
31
bisherigen Systemen sicherstellen. Dabei lassen sich prinzipiell zwei Gruppen dieser
Anwendungsprotokolle unterscheiden. Die erste Gruppe umfasst die Internet-Welt, die zweite
Gruppe die Anwendungsprotokolle für den (direkten) Datei- und Objektaustausch.
1.4.2.4.1. OBEX Protocol
OBEX ist das Object Exchange Protocol und spielt für den Datei- und Objektaustausch bei
Bluetooth eine wichtige Rolle. Es handelt sich dabei um eine Sitzungsschicht ähnlich dem
HTTP (HyperText Transfer Protocol) nach dem Client-Server Modell, unabhängig von der
Transportart und der Transport-API, die umfangreich und effizient zugleich ist. Es ermöglicht
Objekte und Verzeichnisse mit anderen Objekten darin auszutauschen, und auch
Verzeichnislistings sind möglich, um alle Objekte zu erreichen. Da OBEX bereits im
Zusammenhang mit der IrDA-Schnittstelle verwendet wurde, greift Bluetooth zum einen auf
bisherige Erfahrungen zurück und kann zum anderen OBEX-basierte Applikationen aus dem
IrDA-Umfeld direkt integrieren.
Aktuell wird OBEX im Protokollstapel oberhalb von RFCOMM verwendet. Zukünftig sollen
OBEX-Dienste aber auch direkt auf TCP aufsetzen können.
1.4.2.4.2. Content Formats vCard und vCalendar
vCard und vCalendar sind offene Spezifikationen von Internet Mail Consortium und
definieren nicht den Transportmechanismus, sondern das Format, welches übertragen wird.
Andere über OBEX laufende Formate sind vMessage und vNote. Diese sind offene
Spezifikationen und bereits in der IrMC Spezifikation definiert. IrMC definert auch eine Art
Log-File-Format.
1.4.2.4.3. Internetprotokolle
Unter Internetprotokollen versteht man heute eigentlich eine große Vielfalt von
unterschiedlichen Protokollen auf diversen Kommunikationsebenen. Die folgenden
Ausführungen sollen einen kurzen Überblick geben.
1.4.2.4.4. PPP (Point to Point Protocol)
Das PPP ist ein im Internet benutztes Sicherungsprotokoll. Es wird beispielsweise implizit
verwendet, wenn man sich mit dem Computer oder dem PDA per Modem ins Internet
einwählt. Hierbei wird über die serielle Modemverbindung eine Punkt-zu-Punkt-Verbindung
aufgebaut. Es setzt ebenfalls auf der RFCOMM auf und ist für die Tunnelung von IP Packeten
gedacht (wie auch bei Modems üblich).
1.4.2.4.5. TCP/UDP/IP
Die weit verbreitete Protokoll-Kombination TCP/IP wird oft in Verbindung mit PPP zur
Kommunikation im Internet verwendet und ermöglicht Einbindung von Bluetooth-Geräten in
LANs oder WANs. Mit dem IP werden Datagramme zwischen verschiedenen Endsystemen
transportiert, wobei die Vermittlung durch IP-Router erfolgt. Das TCP gewährleistet die
Datenintegrität und die Korrektheit der Reihenfolge der IP-Datenpakete. Das TCP ist ein
verbindungsorientiertes, zuverlässiges Ende-zu-Ende-Protokoll. Das User Datagramm
Protocol UDP realisiert die IP-Kommunikation verbindungslos und als transaktionsorientierte
Datagramme.
32
1.4.2.4.6. Wireless Application Protocol WAP
Das WAP wurde für verschiedene kabellose WANs entwickelt und stellt eine
Anwendungsumgebung für Kleinstgeräte wie beispielsweise Mobiltelefone oder PDAs dar.
Dabei wird innerhalb von WAP frei definiert, wie Informationen aus dem Internet (von Server
abgerufen) auf den Kleinstgeräten angezeigt werden und somit sind auch versteckte
Funktionen wie z.B. remote control möglich. WML wird als universelles Software Kit
verwendet. Weitere direkt unterstützte Formate sind WAP-BitMaP WBMP, vCard, vCal.
Spezielle Eigenschaften der Kleinstgeräte wie ein eingeschränktes Display, geringe
Verarbeitungsleistung und Kanalbandbreite werden bei der Umsetzung in besonderem Maße
berücksichtigt. Alle Erweiterungen und Subformate zusammen sind das WAP Application
Environment (WAE)
1.4.3. Paketaufbau
1.4.3.1. Adressierung
Abbildung 1.18 – Aufbau Bluetooth Device Adresse
Die Bluetooth Device Address (BD_ADDR) ist in die folgenden 3 Bereiche eingeteilt:
• LAP lower address part – unterer Adressbereich (Herstellerimplementation)
UAP upper address part – oberer Adressbereich (1.Teil Herstellerkennung)
• NAP non-significant address part – nichtsignifikanter Adressbereich (2.Teil
Herstellerkennung)
1.4.3.2. Pakete
Abbildung 1.19 – allgemeiner Aufbau der Pakete in Bluetooth
33
Jedes Paket beginnt mit einem Zugangscode (Access Code) zur Signalisierung, bestehend aus
4-Bit-Preamble zum Gleichstromausgleich, 64-Bit-Synchronisationsword, welches je nach
Signalisierungstyp von der verwendeten Bluetooth Device Address abgeleitet wird, und
einem 4-Bit-Trailer, ebenfalls zur Gleichstromkompensation, insofern ein Paketheader folgt.
Dieser Code insgesamt dient somit der Zuordnung eines Pakettypes, der Synchronisation und
der Offset-Kompensation bei der Übertragung eines Pakets zwischen zwei BluetoothTransceivern.
Ein Paket besteht also immer aus dem Zugangscode (wenn allein, dann als shortened Access
Code zur Synchronisation in Paging-, Inquiry- und Park-Modi) und kann weiterhin nur einen
Paketheader oder Header und Payload enthalten.
Man unterscheidet bei der Signalisierung folgende drei Typen des Access Codes:
• Channel Access Code (CAC)
o identifiziert eindeutig ein Pico-Netz
o LAP-Teil der Masteradresse verwendet
• Device Access Code (DAC)
o Signalisierung für ein bestimmtes Gerät
o LAP-Teil der Adresse des angesprochenen Gerätes verwendet
• Inquiry Access Code (IAC)
o Ermittlung aller erreichbaren Geräte (Global-IAC) oder
o Ansprechen von Gruppen (Dedicated-IAC)
o für den globalen Rundruf reservierter Wert als LAP verwendet
o bei einem der 63 möglichen dedizierten Aufrufe der dedizierte LAP-Wert
Im Header befindet sich die Information zur Paketnummerierung und -bestätigung, für den
Automatic Repeat Request (ARQ) zur erneuten Anforderung bei fehlerhafter Übertragung,
sowie die Geräteadressierung, Flusskontrolle und weitere Fehlerkorrekturmaßnahmen wie
Forward Error Correction FEC – hier 1/3 FEC wodurch aus den in der Skizze aufgezählten
18Bits 54Bits werden.
Die verwendeten Bezeichnungen bedeuten:
• AM_ADDR - Active Member Address
• Type - Pakettyp
• Flow - Flusskontrolle
• ARQN - Acknowledge Indication - Bestätigung
• SEQN - Sequenznummer
• HEC - Header Error Check – Fehlerkontrolle des Paketkopfes
Die folgenden, bis zu 2745 Bit Payload enthalten die transportierten, vom Pakettyp
unabhängigen Nutzdaten. Sie entsprechen entweder Daten oder Sprache und können ebenfalls
durch ein 16bit Cycling Redundancy Check CRC gesichert werden.
34
Kapitel 2 - Verbindungsanalyse
2.1 Vorstellung des Bluetooth-Protokolltesters FTS
Zur Visualisierung der Kommunikation von Bluetooth-Geräten wurde das Frontline Test
System „FTS for Bluetooth“ von Frontline Test Equipment verwendet. Diese weit verbreitete
Software wird vorwiegend zur Entwicklung und Zertifizierung von Bluetooth-Anwendungen
und -Geräten herangezogen. Es findet daher auch im sogenannten BQB Bluetooth
Qualification Process Anwendung.
FTS bietet grundsätzlich zwei verschiedene Möglichkeiten des Mitschneidens der
Kommunikation zwischen Bluetooth-Transceivern. Es handelt sich dabei immer um
Kommunikationspaare bestehend aus Master und Slave.
• Airsniff:
Das Monitoring der Luftschnittstelle erfolgt berührungsfrei über eine spezielle Hardware –
Comprobe am USB-Port des überwachenden Rechners.
• via HCI:
Hierbei findet ein Mitschnitt des Verlaufs aller Informationen durch Überwachung des Host
Controllers statt. Dies kann einerseits durch Verbindung beider beteiligter Host mit dem
überwachenden Rechner mittels serieller Kabel oder der direkten Erfassung der
Kommunikation über Host Controller eines beteiligen Bluetooth-USB-Gerätes.
Auf Grund von gravierenden Treiberproblemen für die programmspezifische Ansteuerung der
COM-Schnittstellen war die Realisierung des HCI serial sniff nicht möglich. Die Wahl fiel
somit auf das erstgenannte Verfahren – Airsniff.
2.1.1. FTS – Airsniff (basic) Tutorial
Ein PC überwacht mit Hilfe des Comprobes und des installierten FTS die Luftschnittstelle
(Baseband) des Kommunikationspaares. Der Comprobe ist als ein nicht vollwertiges
Bluetooth-Gerät zu verstehen. Dieser findet alle aktiven Geräte der Umgebung, wobei er
selbst für diese „unsichtbar“ bleibt, synchronisiert sich auf das zu kontrollierende MasterSlave-Paar ein und protokolliert alle empfangenen Pakete. Dabei beteiligt er sich an jeglicher
Bluetooth-Kommunikation nicht.
Der Comprobe sollte möglichst zwischen den beiden Kommunikationspartnern positioniert
werden, um das Problem der Nichtregistrierung von Paketen zu vermeiden.
35
Abbildung 2.1 – Messanordnung Airsniff
Ebenso kann es vorkommen, dass bei ungünstiger Konstellation (Distanz, Interferenzen) eines
der überwachten Geräte ein vom Comprobe korrekt empfangenes Paket gestört oder gar nicht
empfängt.
Ist das Verhalten eines Kommunikationsteilnehmers von speziellem Interesse, so sollte der
Comprobe in dessen unmittelbarer Nähe aufgestellt werden.
Zur Überwachung mehrerer Gerätepaare ist die Verwendung ebenso vieler Comprobes
erforderlich. Dadurch ist ab der FTS for Bluetooth Version 3.20 die Überwachung von Picorespektive Scatter-Netzen, sowie Mixed Pico-Netzen (v1.1 und v1.2-Geräte mit aktiviertem
AFH) möglich.
Auch an die gesetzten Systemvoraussetzungen sollte man sich streng halten, da sonst der
Mess-PC nicht in einer tolerierbaren Performance oder sogar mit Fehlern arbeitet. Es hat sich
ebenso als günstig erwiesen, so weit möglich einen nicht an der zu überwachenden
Kommunikation beteiligten PC als Mess-PC einzusetzen.
Nach der erfolgreichen Installation der Software FTS for Bluetooth und der folgenden
Hardwareinstallation des Comprobe, sollte man sich die Zeit nehmen, sich mit den Bedienund Ausgabefenstern der Software vertraut zu machen. Folgende kurze Erläuterungen sollen
dabei helfen die Produktvariante FTS for Bluetooth air sniffer (basic) und darauf aufbauende
schnell effektiv bedienen zu können.
FTS wird von einem Hauptfenster aus organisiert und greift auf ein weiteres Fenster mit der
Datenquelle (Datasource window), im beschriebenen Fall verwaltet dieses den Comprobe, zu.
Vom genannten Hauptfenster aus kontrolliert man die gesamte Datenerfassung und hat
Zugriff auf alle Darstellungsvarianten. Die beiden Erfassungsmethoden, in Arbeitsspeicher
oder in Datei schreiben, unterscheiden sich nicht wesentlich, da sich bei Wahl der Pufferung
im Speicher das Ergebnis auch anschließend noch, sogar beim Schließen der gesamten
Anwendung automatisch erfragt, in eine Datei exportieren lässt. Lediglich die
Kapazitätseinschränkung seitens des vorhandenen Arbeitsspeichers gegenüber dem sofortigen
Schreiben auf Festplatte kann sich bei großen Datenmengen nachteilig auswirken. Die
Nutzung der Speichervariante ist daher, bei mehrmaligen kurzen Tests, aufgrund des weit
geringeren Datei-Management-Aufwandes zu bevorzugen. Man kann am Ende einer Messung
entscheiden, ob sich die Speicherung der Protokollierung lohnt.
36
Bevor man Daten erfassen kann, muss die Datenquelle mit allen möglichen Parametern
eingestellt und der Comprobe mit dem überwachten Pico-Netz synchronisiert werden. Dies
geschieht natürlich direkt im „Datasource“-Fenster. Der Button „Hardware Settings“ erlaubt
die Auswahl eines aus der List aller angesteckten Test-Devices, sollte sich aber im Normalfall
auf den eingesteckten Comprobe beschränken. Es kann zu Problemen mit der Erkennung
eines Coprobes kommen, sobald dieser seit dem letzten Systembootvorgang neu eingesteckt
wurde. Hier empfiehlt sich die manuelle Erkennung mit Hilfe der Listenauswahl. Ist ein
Comprobe erkannt, so können über den Button „Set I/O Parameters“ die Einstellungen zur
Synchronisationsmethode mit dem Pico-Netz, Filterung bestimmter Elemente des
Datenstromes und Entschlüsselung vorgenommen werden. Weiterhin sind hier das Auffinden
von aktiven Geräten und die Auswahl des zu überwachenden Mast-Slave-Paares auszuführen.
Die Button „Resync“ und „Reset“ sind bei Problemen mit der Synchronisation behilflich. Die
Taste „Channel Map“ zeigt die Kanalliste der verwendeten Frequenzkanäle und ist daher nur
bei Verwendung von Bluetooth-v1.2-Geräten und Aktivierung von AFH sinnvoll. Zum
Starten bzw. Stoppen des Comprobes sind die entsprechend benannten Tasten zu drücken.
Der Comprobe wird allerdings noch nicht gestartet, da erst die Erfassung der Daten aktiviert
werden sollte.
Zur Erfassung von Daten ist nur das Hauptfenster mit seinen Steuerknöpfen und dem darunter
befindlichen Statusbereich erforderlich. So wählt man mit
[start capture to buffer] oder
[start capture to disk] den Beginn der Erfassung in den Speicher oder in eine gleich darauf
neu angelegte Datei. Daraufhin sollte der Comprobe im „Datasource“-Fenster gestartet
werden. Das Symbol in diesem Fenster zeigt dabei den Status der Synchronisation mit dem
Pico-Netz an. Hierbei bedeutet das durchgestrichene rote das der Comprobe nicht aktiv ist, rot
die Initialisierung, gelb einen Resynchronisationsversuch und grün den Stand-by-Zustand des
aktiven Comprobe, also die Zeit innerhalb welcher der Start der Bluetooth-Kommunikation
erfolgen sollte. Ist dies rechtzeitig geschehen, erkennt man das Mitschneiden einer laufenden
Kommunikation des vorher ausgewählten Master-Slave-Paares respektive die korrekte
Synchronisierung am blauen Symbol.
Das Anhalten der Erfassung und gleichzeitige Löschen des Speicherpuffers geschieht mit
[Close]. Zum Anhalten der Datenerfassung,
[Clear], respektive Schließen der Datei mit
um beispielsweise den Mitschnitt vorläufig zu beenden oder nur den Inhalt des Puffers nun zu
speichern, bedient man
[Pause/Resume] und setzt sie durch erneutes Drücken fort. Die
Anzeige über den Füllstand des Puffers/der Datei im unteren Status-Teil des Hauptfensters
sollte man immer im Auge behalten, da bei Überschreiten der Maximalkapazität entweder die
ältesten Daten mit den neuen überschrieben werden oder bei Nichtaktivierung dieser Funktion
(Options -> System Settings -> Wrap Buffer/File) keine weiteren Daten mehr erfasst werden.
[Open file] geöffneten,
Zur Auswertung aktuell erfasster oder aus einer, mit Hilfe von
existierenden Datei geladenen Daten, stehen mehrere Fenster mit verschiedenen
Darstellungsformen zur Verfügung. Bei Bedarf können diese auch live zur Auswertung
herangezogen werden, was in gegebenem Fall zur Entscheidung des Abbruchs der
Registrierung oder zumindest der Kenntnis über den Verlauf des Tests behilflich sein kann.
Statistics Display
Frame Display
Protocol Navigator
Event Display
– statistische Informationen zu Datenfluss-Parametern
– textbasierte Informationen einzelner Frames
– textbasierte Informationen mehrerer Frames
– Analyse auf Byte-Ebene
37
Statistics Display
Es gibt eine Übersicht der angefallenen Datenmengen, verwendeten Framegrössen,
Kanalnutzung, Übertragunsraten und Frameraten auf Master und Slave aufgeschlüsselt. Des
Weiteren ist die Gesamtzahl der fehlerhaften und der erneut übertragenen Pakete ersichtlich.
Abbildung 2.2 – Screenshot FTS-Statistics Display
Die drei verschiedenen Karteikarten haben folgende Verwendung:
Session
– Statistik über die komplette Sitzung bis Programmende
Resetable
– manuelles Rücksetzen der Statistik durch
[reset] jederzeit möglich
Buffer
– Statistik über aktuell gepufferten Daten
Zusätzlich lassen sich die Frame-Größen auch graphisch in einem extra Fenster darstellen,
welches über den Button
erreichbar ist. Vor Beginn eines Capturings kann auch Einfluss
Frame-Grössen-Bereiche der Statistik genommen werden (Options -> Set Frame
auf die
Size Ranges).
Frame Display
Die enthaltene Information eines in der oberen Fensterhälfte ausgewählten Frames, auch nach
den enthaltenen Protokollen gefiltert, kann hier eingesehen werden. Es gibt 3 spezielle
Anzeige-Filtermöglichkeiten:
38
-
alle Pakete mit generellen Informationen anzuzeigen,
in der Menge aller nur die relevanten eines Protokolls markiert und ausgewertet zu
haben (Summary Layer)
nur die Frames eines Protokolls über die Karteikarten auszuwählen
Es hat sich als vorteilhaft erwiesen, im Bereich der dekodierten Information (Decode Pane)
entsprechende Teilbäume mit Details zu Protokollen, welche nicht von Interesse sind, einfach
zu reduzieren und nicht unbedingt über die fensteransichtspezifische Filterfunktion
auszublenden.
Abbildung 2.3 – Screenshot FTS-Frame Display
Die optional im unteren Fensterbereich gezeigten Informationen lassen sich beliebig aus
mehren Ansichtsbereichen (Panes), z.B. die dekodierte Information in Textform oder die
Ausgabe des Frame-Inhalts in binär, hex oder ASCII-Format, zusammenstellen und
einblenden.
Protocol Navigator
39
Der Vergleich protokollbezogener Information kompletter Frames oder auf der Ebene eines
gemeinsam verwendeten Protokolls ist hier effizient möglich. Eine spezielle Filterung wird
ebenfalls durch gleichzeitige Auswahl anzuzeigender und zu verbergender Protokolle oder
Verwendung der Liste vordefinierter Filter (Named Filters), welche durch eigene Filter
beliebig erweitert werden kann, unterstützt.
Abbildung 2.4 – Screenshot FTS-Protocol Navigator
Event Display
Der in einem Fenster der anderen beiden Darstellungsformen ausgewählte Frame(-Ausschnitt)
kann in nicht decodierter Form unter anderem in hex oder ASCII angezeigt werden. Hier sind
ebenfalls die Zuordnung der fortlaufenden Frame-Nummerierung und die Rollenverteilung
klar ersichtlich. Eine Zusammenfassung des Ausgewählten Bytes ist in der Statuszeile
dargestellt.
40
Abbildung 2.5 – Screenshot FTS-Event Display
Die
Suchoption erleichtert in allen drei genannten Darstellungsfenstern das gezielte
Auffinden spezifischer Informationen. Die Live-Betrachtung der Daten eines aktuellen
Capturings wird durch die
Einfriersteuerung von lästigem Zurückscrollen zur
gewünschten Stelle im Fenster befreit.
Filteregeln bezüglich des Protokolls und der allgemeinen
[Apply Filters] Liste
vordefinierter Filter werden nur in den Fenstern des Frame Displays und Protocol Navigator
der ersten Instanz fensterübergreifend zugewiesen. Dies gilt nicht für das jeweils
fenstereigene Verbergen von Detailinformationen (Protocol to Hide / Hidden From View).
Weitere Instanzen der drei Darstellungsfenster können mit
[Duplicate] erzeugt und
beliebig zur Anzeige spezifischer Informationen gefiltert werden. Eine neue Fensterinstanz
mit abweichender Filterung kann auf Wunsch („Apply to: New Frame Display“ – verwirrend,
denn auch auf Protocol Navigator anwendbar!) auch bei direktem Zuweisen eines
vordefinierten Filters erstellt werden.
FTS bietet Window Synchronisation. Dies bedeutet, dass die zu der in einem der drei
Darstellungsfenster - ebenfalls erster Instanz - markierten Information die zugehörigen
Informationen in den beiden anderen gleichzeitig angezeigt werden.
2.1.2. Anmerkung
Es ist zu empfehlen, schon vor der Installation von FTS for Bluetooth oder SerialBlue sich
mit dem „Quick Start Guide“ von FTS vertraut zu machen. Dies erleichtert den Umgang mit
41
Fragen hinsichtlich der Zuordnung von Bezeichnungen der verschiedenen Produktvarianten
und den entsprechenden Verwendungen, sowie den Ablauf des Installationsvorganges selbst.
Weiterhin bietet sich der Besuch der Homepage von FTE (fte.com/blu01.asp) an, um einige
nützliche Hintergrundinformationen zu Änderungen und vor allem die neuste Version der
Software oder Updates zu erhalten und zur Installation zu nutzen.
Neue Produkte wie Bluetooth-Geräte oder Software auf dem Mess-PC können auch nur von
einer neuen Version von FTS und dementsprechend der neuesten Firmware des Comprobe
unterstützt werden.
Bei der Änderung der seriellen Treiber zur Anwendung von HCI serial sniff oder SerialBlue
ist auf jeden Fall die aktuellste Version dieser FTS-eigenen Treiber zu verwenden, da mit den
bis zum Testzeitpunkt verfügbaren keine erfolgreiche Ersetzung der MS Windows-eigenen
seriellen Treiber bei verschiedenen MS Windows-Versionen (ohne weiteren Aufwand)
erreicht werden konnten.
2.2 MSC einer OBEX Datenübertragung
2.2.1. Darstellung
Für den Transfer von digitalen Daten zwischen zwei Bluetooth-fähigen Hosts ist eine
Verbindung der Bluetooth-Geräte und der Aufbau der Kommunikation aller verwendeten
Protokolle notwendig. Im folgenden Kapitel soll der Ablauf einer Bluetooth-Verbindung zum
Versand einer 1kB-Datei gezeigt werden.
Wie schon genannt, sucht der Dateisender – folgend Master – in seiner Umgebung nach
aktiven Bluetooth-Geräten. Es erfolgt bei diesem Inquiry im Link Manager Protocol die
Anfrage nach dem zugewiesenen Gerätenamen an alle gefundenen Geräte unter Verwendung
der MAC-Adressen. In der folgenden Abbildung ist dieser Abruf am späteren Dateiempfänger
– folgend Slave genannt – dargestellt.
Master
1
2
3
4
5
Slave
LMP_name_req(offset=0)
BB_retransmitted_LMP_packet
Abruf des Gerätenamens
mit Überlänge
LMP_name_res(offset=0,Len=20,"TU-Laptop_Expl")
LMP_name_req(offset=14)
LMP_name_res(offset=14,Len=20,"orer_B")
6
LMP_detach
LM-Verbindungsabbau
Abbildung 2.6 – MSC-Frame 1-6
Die Aufzeichnung der Kommunikation beginnt mit dem LMP-Request nach dem Namen des
Slaves. Es folgt eine Wiederholung desselben Paketinhaltes bevor der adressierte Slave mit
einem LMP-Name-Response, welches den Beginn des Namens (Offset=0) kennzeichnet,
seine gesamte Länge und die ersten maximal möglichen 14Byte dieses angibt. Wie ersichtlich
wird handelt es sich im verwendeten Beispiel um einen Namen, der aufgeteilt werden muss.
Folglich sendet der Master erneut einen LMP-Name-Request mit dem einzigen Unterschied
des Name-Offset, notwendigerweise 14, da ab hier der Name fortgesetzt werden soll. Unter
Berücksichtigung dieses Offset sendet der Slave erneut ein Response mit den Parametern
Beginn (Offset=14), selber Gesamtlänge und dem zweiten Teil des Namens. Hat der Master42
Host der MAC-Adresse des Slave den Namen zugeordnet so beendet er diese LMPVerbindung vorerst mit dem LMP-Detach. Es folgt noch die gegenseitige Information über
die verwendete Version des LM-Protokolls mit Hilfe von einem Master-Request und dem
entsprechenden Slave-Response.
Erfolgt nun der Verbindungswunsch durch den Master-Host (Host-Connection-Reqest),
sobald der Datentransfer gestartet wird, so sendet der Master dieses als LMP- HostConnection-Reqest an den Slave. Dieser akzeptiert und bestätigt genau diese Anfrage mit
einer LMP-Accepted-Antwort. Hierauf folgt die Abfrage der Zeitmessgenauigkeit des
Masters an den Slave, welcher mit dem entsprechenden Response und den erfragten
Parametern Abweichung (drift) und Zittern (jitter) antwortet. Der Master sowie der Slave
senden sich nun nacheinander die Initialisierungsende-Information zu.
7
8
9
10
11
12
13
14
LMP_version_req(vers=1.1-215,compID="Digianswer A/S")
LMP_version_res(vers=1.1-215,compID="Digianswer A/S")
LMP_host_connection_req
LMP-Versionsaustausch
Host-Verbindungsaufbau
LMP_accepted (LMP_host_connection_req)
LMP_timing_accuracy_req
LMP_timing_accuracy_res(drift=20ppm,jitter=1µs)
LMP_setup_complete
Vergleich der Zeitmessung
Ende der Initialisierung
LMP_setup_complete
Abbildung 2.7 – MSC-Frame 7-14
Da die Verwendung von mehreren Zeitschlitzen für ein Paket von der restlichen
Kommunikation und der Verwendung von möglichen SCO-Kanälen abhängig ist, muss der
Master seinen hieraus resultierenden Maximalwert – hier 5 da keine weitere Kommunikation
mit anderen Slaves oder SCO-Verbindungen existierten – als gewünschte Einstellung mittels
eines LMP-Max-Slot-Request(5) an den Slave senden. Dieser bestätigt nur den Erhalt dieses
Requests erneut mit einem LMP-Accepted, woraufhin der Master den LMP-Befehl, dass die
Maximalzahl an Slots ist für beide Kommunikationspartner bis zur nächsten Änderung 5 ist,
sendet. Die LM-Einstellungen sind damit auf beiden Seiten gleich und abgeschlossen.
15
16
17
LMP_max_slot_req(5)
max. Zeitschlitze f. ein Paket
LMP_accepted (LMP_max_slot_req)
LMP_max_slot(5)
Abbildung 2.8 – MSC-Frame 15-17
Für einen OBEX-Datentransfer benötigt man nun eine Verbindung der OBEX-Dienste beider
Seiten. Dies erfolgt, wie aus dem Protokollstapel von Bluetooth ersichtlich wird, unter
Verwendung mehrerer untergeordneter Protokolle angefangen beim Logical Link Control &
Adaption Protocol (L2CAP). Dieses baut für jedes aufsetzende Protokoll einen eigen
logischen Kanal auf.
Bevor die für den Dateiversand erforderlichen Dienste des verbundenen Geräts genutzt
werden können, müssen sie dem versendenden Gerät auch als angebotene Dienste bekannt
sein. Dieser Vorgang des Dienstauffindens ist bekanntlich durch das Service Discovery
Protocol (SDP) realisiert.
Durch ein L2CAP-Connection-Request(SDP) wird dem Slave der Wunsch nach einer L2CAP
Verbindung für eine folgende SDP-Verbindung angezeigt, worauf dieser mit dem
zugehörigen L2CAP-Connection-Response und einer Verbindung-erfolgreich-Meldung
43
antwortet. Für diesen entstandenen logischen Kanal zu SDP wird in den folgenden 4 Paketen
zuerst masterseitig dann slaveseitig die Einstellung der Parameter Maximal Transfer Unit
(MTU) und Puffer-Verwurf-Zeit (Flush Timeout) mit L2CAP-Configure-Requests gesendet
und jeweils durch L2CAP-Configure-Responses bestätigt.
18
19
L2CAP_connection_req(SDP)
L2CAP_connection_res(connection_successful)
20
L2CAP_cofigure_req(MTU=65535,FlushTimeout=65535)
21
L2CAP_configure_res(success)
22
L2CAP_cofigure_req(MTU=65535,FlushTimeout=65535)
23
SDP Verbindungswunsch
L2CAP Init f. SDP
L2CAP_configure_res(success)
Abbildung 2.9 – MSC-Frame 18-23
Zur optimalen Einstellung des Stromverbrauchs sendet jedes kommunizierende BluetoothGerät – ob mobil oder nicht – , gesteuert durch seinen Link Manager, Anfragen zur
Verringerung der Sendeleistung an den Kommunikationspartner. Dies geschieht im Beispiel
zum ersten Mal im folgend abgebildeten Frame und wiederholt sich bis beide Seiten ihr
Minimum oder eine zur gesicherten Übertragung mindest notwendigen Sendeleistung erreicht
haben. Im weiteren Verlauf wird dieses Wissen über die unbestätigten LMP-Power-DecreaseRequests vorausgesetzt.
24
LMP_power_decr_req
Sendeleistungverminderung
Abbildung 2.10 – MSC-Frame 24
Die zuvor über einen logischen L2CAP-Kanal aufgebaute SDP-Verbindung wird nun zur
Abfrage der notwendigen Dienste genutzt. Dies geschieht bei unterschiedlichen Herstellern zu
unterschiedlichen Zeitpunkten. In Frage kommen dabei zu Beispiel zum Ersten der Moment
nach dem Auffinden eines aktiven und bisher unbekannten Geräts, zum Zweiten erst bei
manueller Auswahl aus der Host-Liste aller bekannten und aktiven Bluetooth-Geräte im
Umfeld zur Verwendung eines unterstützten Dienstes oder zum Dritten wie hier auch
dargestellt bei Verwendung einer dienstspezifischen Software (hier nur OBEX) beim Zugriff
auf diese Dienste. Unter Verwendung von SDP-Service-Search-Attribute-Requests nach den
Diensten OBEX-Push, OBEX File Transfer und Imaging Responder seitens des Masters und
SDP-Service-Search-Attribute-Responses seitens des Slaves werden die jeweiligen
Protokollreihenfolgen und der zugeordnete logische RFCOMM-Kanal zugewiesen.
25
26
27
28
29
30
31
32
SDP_SSARequest(OBEXPush)
SDP_SSAResponse(L2CAP,RFCOMM(2),OBEX)
SDP_SSARequest(OBEX File Trans)
SDP_SSAResponse(L2CAP,RFCOMM(3),OBEX)
SDP_SSARequest(Imaging Responder)
SDP_SSAResponse(L2CAP,RFCOMM(4),OBEX)
LMP_power_decr_req
LMP_power_decr_req
Abbildung 2.11 – MSC-Frame 25-32
44
Abfrage v. OBEX-Diensten
SSA .. ServiceSearchAttribute
Nachdem die zu verwendenden Services logischen RFCOMM-Kanälen zugewiesen sind,
erfolgt der masterseitige Verbindungswunsch nach einem L2CAP-Kanal zum RFCOMM
(Kabelersatzprotokoll) erneut mittels eines L2CAP-Connection-Request, welches wieder mit
dem zugehörigen Response und der Erfolgsmitteilung beantwortet wird. Hierauf folgt
ebenfalls wieder die gegenseitige Initialisierung dieses logischen Kanals durch L2CAPConfigure-Requests & -Responses.
33
34
35
36
37
38
39
L2CAP_connection_req(RFCOMM)
L2CAP_connection_res(connection_successful)
L2CAP_cofigure_req()
L2CAP_configure_res(success)
RFCOMM Verbdg.-wunsch
L2CAP Init f. RFCOMM
Parameter wie SDP (siehe oben)
LMP_power_decr_req
L2CAP_cofigure_req()
L2CAP_configure_res(success)
Abbildung 2.12 – MSC-Frame 33-39
Der Start des RFCOMM-Multiplexers erfolgt durch Senden eines RFCOMM-SetAsynchronous-Balanced-Mode-Frames auf dem Kontrollkanal (CH 0), welches von einem
RFCOMM-Unnumbered-Acknoledgement für diesen Kanal bestätigt wird. Es folgen weitere
Bluetooth-spezifische RFCOMM-Parameter-Einstellungen mittels RFCOMM-UnnumberedInformation-with-Header-Check-Commands. Zu diesen gehören das ausschließliche Nutzen
von UI mit Header Check, da die Fehlerkorrektur des ETSI TS 07.10-Protokolls im
Bluetooth-RFCOMM nicht verwendet wird, Antwortzeiten für Kontroll- wie Datenkanal, die
Unterstützung kreditrahmenbasierter Flusskontrolle (CFC Credit based Flow Control) und
Maximale Frame-Größe.
40
41
42
43
RFCOMM_SABM (CH 0)
RFCOMM_UA (CH 0)
SABM .. SetAsyncBalanceMode
RFCOMM_UIH(CMD(Param.Negot.))
UA .. UnnumberedACK
RFCOMM_UIH(CMD(Param.Negot.))
UIH .. UnnumberedInfo +
HeaderCheck
Abbildung 2.13 – MSC-Frame 40-43
Es folgt nun der Aufbau des RFCOMM-Datenkanals (CH 2) in der selben Art und Weise wie
schon der Kontrollkanal erstellt wurde. In den folgenden Frames werden die Modem Status
Commands und respektive Responses dazu genutzt die Kontrollsignale sowie das BreakSignal der emulierten RS-232 Schnittstelle durchzureichen. Gefolgt wird dies von einer
gegenseitigen Zusendung der ersten Kreditrahmen für CFC und weiteren Modem Status
Commands.
45
44
45
46
47
48
49
50
51
52
53
54
55
56
RFCOMM_SABM (CH 2)
RFCOMM_UA (CH 2)
RFCOMM_UIH(CMD(ModemStatus))
RFCOMM_UIH(CMD(ModemStatus))
RS232-Signalemulation
RFCOMM_UIH(RESP(ModemStatus))
RFCOMM_UIH(RESP(ModemStatus))
RFCOMM_UIH(Credits(30))
RFCOMM_UIH(Credits(30))
RFCOMM_UIH(CMD(ModemStatus))
RFCOMM_UIH(CMD(ModemStatus))
RFCOMM_UIH(RESP(ModemStatus))
RFCOMM_UIH(RESP(ModemStatus))
LMP_power_decr_req
Abbildung 2.14 – MSC-Frame 44-56
Erst nach Abschluss dieser vorbereitenden Protokollverbindungen kann der Master seinen
OBEX-Verbindungswunch zum Datentransfer (FTP File Tranfer Protokol) an den Slave
mittels OBEX-Connect(FTP) senden. Dies wird durch eine Erfolgsmeldung und Bestätigung
des gewählten Protokolls FTP beantwortet. Darauf folgend erfragt der Master den Inhalt des
Zielordners auf dem Slave-Host durch OBEX-Get(FolderListing) was ihn aus Sicht des FTP
zum anfragenden Client macht. Somit ist der Slave hier FTP-Server welcher den erfragten
Inhalt, im Beispiel leerer Ordner, als Erfolgsmeldung OBEX-Success(FTP-Server(Folder
Listing) zurücksendet. Nun folgen die eigentlichen Daten. also der Inhalt der 1kB-Datei sowie
ihre Attribute und Parameter in den nächsten Multislot-Paketen, was wiederum durch OBEXSuccess(FTP) bestätigt wird und nun auf dem Slave-Host als Datei im eingestellten StandardDatenaustausch-Ordner zu finden ist. Es folgt eine erneute Abfrage des Ordnerinhalts seitens
des Masters und die gewohnte Bestätigung das Slave, welche jetzt einen nichtleeren
Ordnerinhalt auflistet. Die Datei ist erfolgreich kopiert worden.
57
58
59
60
61/62
63/64
65
66
67
OBEX_Conn(FTP)
OBEX Verbindung m. FTP
OBEX_Sucess(FTP)
OBEX_Get(FolderListing)
OBEX_Sucess(FTP_Server(FolderListing))
OBEX_Put(FTP_Client(Data))
OBEX_Put(FTP_Client(Data))
OBEX_Sucess(FTP)
OBEX_Get(FolderListing)
OBEX_Sucess(FTP_Server(FolderListing))
Abbildung 2.15 – MSC-Frame 57-67
Auf der Masterseite wird nun kein Zugriff mehr auf das SDP benötigt, was sich im Abbau des
zugehörigen L2CAP-Kanals mittels L2CAP-Disconnection-Request und –Response
wiederspiegelt.
46
68
69
L2CAP_disconnection_req()
L2CAP_disconnection_res(success)
L2CAP Verbindungsabbau 1
Abbildung 2.16 – MSC-Frame 68/69
Nun wird das OBEX-Protokoll ebenfalls durch OBEX-Disconnect und bestätigende OBEXSuccess-Meldung getrennt.
OBEX_Disconnect
70
71
OBEX Verbindungsabbau
OBEX_Sucess
Abbildung 2.17 – MSC-Frame 70/71
Auf der RFCOMM-Ebene muss nur der Datenkanal abgebaut werden, was durch RFCOMMDisconnect(CH 2) und die entsprechende Bestätigung mittels Unnumbered Acknowledgement
realisiert wird.
72
73
RFCOMM_Disconnect (CH 2)
RFCOMM_UA (CH 2)
RFCOMM Verbindungsabbau
Abbildung 2.18 – MSC-Frame 72/73
Beim Aufruf zum Abbau des verbliebenen L2CAP-Kanals für RFCOMM ist im
Nutzdatenbereich des gesendeten Pakets ein Fehler aufgetreten, wobei allerdings die
beinhalteten Informationen nachweislich wiederhergestellt werden konnten. Der L2CAPDisconnection-Request wurde erneut durch das entsprechende Response vom Slave bestätigt.
74
75
L2CAP_disconnection_req() Payload Error
L2CAP_disconnection_res(success)
L2CAP Verbindungsabbau 2
Abbildung 2.19 – MSC-Frame 74/75
Erst jetzt wurde nach weiteren Anfragen nach Sendeleistungsverminderung seitens des Slaves
das Minimum der Leistung erreicht was mit der ebenfalls unbestätigten LMP-Min-PowerMeldung dem Master angezeigt wird. Selber sendet der Slave aber weiterhin noch eine
Anfrage seinerseits. Diese Verbindung wird nach Lösen aller Verbindungen der anderen
Protokolle auch auf Link Manager-Ebene durch das endgültige LMP-Detach geschlossen.
76
77
78
79
LMP_decr_power_req
LMP_min_power
LMP_decr_power_req
Sendeleistungsmin. erreicht
LMP_detach
LMP Verbindungsende
Abbildung 2.20 – MSC-Frame 76-79
2.2.2. Anmerkung
Aufgrund der bereits genannten Schwierigkeiten mit dem Einsatz der seriellen Sniff-Variante
und den daraus resultierenden Beschränken auf die Luftschnittstelle, konnten nur korrekt oder
fehlerhaft empfangene Pakete in die Auswertung einfließen. Daher ist es nicht möglich, die
47
genaue Anzahl verlorener Pakete einer gestörten Übertragung zu bestimmen. Weiterhin sei
angemerkt, dass FTS nicht vorrangig zur Visualisierung von überwachten BluetoothVerbindungen geeignet ist, sondern zum Testen verschiedenster Geräte oder
Kommunikationsprotokolle im Entwurf, sowie zur Bluetooth-Zertifizierung von
Neuentwicklungen dient. Dementsprechend umfangreich und somit komplex fällt dieses
Programm und dessen Entwicklungsumgebung (freiprogrammierbar) aus.
Zum Zwecke der schnellen visuellen Darstellung eignen sich Protocol Analyzer mit der
Ausrichtung auf den Endanwender, wie Kontrolle und Monitoring, erheblich besser. Eines
dieser Werkzeuge ist der BlueAnalyzer der Firma IVT mit seinen Unter-Varianten BlueTester
und BlueUnitTesting. Diese stellen die aufgenommenen Daten in Echtzeit direkt in MessageSequenz-Charts und ebenfalls detaillierte Informationen in weiteren Fenstern geordnet dar.
Daraus lassen sich dann einfach detailreiche, an die eigenen Wünsche angepasste Reporte
erstellen. Natürlich sind diese Funktionen im selben Maße wie FTS zum Testen von
Protokollen geeignet. Somit sollte ein Vergleich der angebotenen Sniffer-Software
hinsichtlich der Hauptverwendung und dem Erfüllen daraus resultierender Anforderungen
genau geführt werden.
Zur Erstellung eines solchen MSC wäre ein o.g. Monitoring-Programm mit automatischen
Visualisierungsfunktionen hilfreich gewesen. Bei Anwendung von FTS for Bluetooth ist dies
nur mittels aufwendiger Exportierung und Aufbereitung durch eine weitere Software (Visio
und Grafikprogramm) manuell möglich.
2.3 Bluetooth in der Praxis
Im folgenden Kapitel soll der Bluetooth-Standard und seine Verwendung in der Praxis näher
beleuchtet werden. Hierbei soll im ersten Teil auf die Konfiguration, herstellerspezifische
Unterschiede, Probleme bei alltäglichen Anwendungen und Optimierungsempfehlungen
eingegangen werden. Darauf folgen die Ermittlung resultierender Reichweiten ausgewählter
Sendeleistungsklassen und eine Veranschaulichung der Kanalnutzung einer
Beispielverbindung.
Folgende Geräte wurden unter Windows 2000/XP getestet:
- ACER BT500 USB, Class 2
- ComOne Bluetooth PC-Card MC310, Class 1
- D-Link DBT 120 USB, Class 3
- Sony-Ericsson T-610 Mobiltelefon, Bluetooth Class 3 integriert
- Toshiba BT-PC-Card PA3053, Class 1
- Toshiba Portegé3500 Laptop, Bluetooth Class 2 integriert
Bluetooth-Anwender-Software:
- jeweils im Lieferumfang enthaltene Original-Software
- Widcomm Vers 1.4.3.4 (weit verbreitet)
- BlueSoleil Vers 1.4.7 (weit verbreitet)
- Toshiba Vers 3.00.12 (nur für Toshiba-Geräte)
2.3.1. Konfiguration und Betrieb
Bei der Installation, der Einstellung und dem Einsatz der zur Verfügung gestandenen
Bluetooth-Endgeräte wurde ein ansehnlicher Erfahrungsschatz zusammengetragen. Aus
diesem seien nur einige generelle Resultate vorgestellt.
48
Um einen störungsfreien Betrieb der Funk-Hardware zu gewährleisten, sollten nach
Möglichkeit folgende Punkt beachtet werden:
- Störung durch interferierenden Funk (Im folgenden Kapitel näher untersucht)
- kein gleichzeitiges Inquiry der beiden Kommunikationspartner
- unnötige USB-Geräte vom Laptop trennen (Problem der Stromversorgung)
- ungeschirmte USB-Verlängerung
- Abschirmungen und Reflexionen verringern Reichweite (Signalleistung)
Ist mit Vermeidung dieser physikalischen Fehlerquellen die Interaktion der Geräte auch dann
noch nicht einwandfrei möglich, so ist die Ursache meist in der eingesetzten Software (inkl.
Treiber) zu suchen.
In erster Linie ist das spürbare Problem der Interoperabilität verschiedener Bluetooth-Geräte
zu nennen. Obwohl alle eingesetzten Geräte dem derzeit neuesten generell verfügbaren
Standard v1.1 entsprechen, kam es jeweils in mindestens einem Fall zu Inkompatibilitäten,
sobald diese Produkte verschiedener Hersteller waren. Beispielsweise waren beidseitig
unterstützte Dienste nicht oder nur in eine Richtung verwendbar, da sie entweder nicht
gefunden oder zur Verbindung gebracht werden konnten. Dies kann u. a. auch auf gravierende
Unterschiede in der Realisierung der eigentlichen Dienste zwischen den Herstellern
entsprechender Komplettpakete (Treiber, Anwendersoftware) zurückgeführt werden.
Ähnliche Probleme waren auch bei der Verwendung identischer Hardware desselben
Herstellers, aber unterschiedlicher Original-Treiber- bzw. -Software-Versionen zu
beobachten.
Darüber hinaus kam es häufig während Treiber-Tests zu Systemabstürzen.
Für all die oben aufgeführten Probleme sind vorrangig alte Versionen der eingesetzten
Treiber, Soft- und Firmware verantwortlich zu machen. Es empfiehlt sich daher, die
Bluetooth-Geräte immer mit den aktuellsten Treibern zu betreiben und die gleiche
Anwendersoftware zu verwenden. Leider kann teilweise ein einfaches Update dieser
Versionen durch fehlende produktspezifische Lizenzvereinbarungen verhindert werden. Dies
war bei einem Aktualisierungsversuch der Widcomm-Software für den ACER BT500 der
Fall. Durch Ausweichen auf eine herstellerunabhängige Software, wie beispielsweise die
lizenzfreien BlueSoleil (IVT Systems) sowie die für spezifische Produkte lizenzierte
Widcomm-Software, oder nach Möglichkeit ein Upgrade auf die neueste Firmware kann eine
Lösung herbeigeführt werden. Ein Firmwareupgrade kann das Problem einer fehlenden
Lizenz, zur Nutzung der aktualisierten Software, beheben. Leider wurde im Falle des ACER
BT500 keine neue Firmware angeboten und BlueSoleil unterstützte den Chipsatz nicht.
Eine uneinheitliche Bedienbarkeit der Anwendungssoftware begründet sich aus sehr
unterschiedlicher Strukturierung ihrer Komponenten und Darstellung der
Anwendermöglichkeiten. So realisiert die Software von Toshiba jeden Dienst in einzelnen
Graphical User Interfaces (GUIs), die genannte lizenzfreie Software BlueSoleil alles in einem
Applikationsfenster und die ebenfalls getestete Widcomm-Software die unterstützten Dienste
durch direkte Einbindung ins Betriebssystem.
Es wurde festgestellt, dass bei allen getesteten Anwendungen nur die Änderung elementarer
Verbindungseinstellungen, wie zum Beispiel Sicherheitslevel, Com-Ports, sowie IP-Adresse,
möglich war. Doch es konnte keine Einflussnahme auf weiterführende
Übertragungsparameter getätigt werden. Wünschenswert wäre u. a. die Wahl zu
verwendender Pakettypen, und somit die direkte Beeinflussung der ACL Datenraten
(symmetrisch/asymmetrisch).
49
Darüber hinaus erschwerten zumeist der Verlust manueller Einstellungen und wenig
aussagekräftige Fehlermeldungen seitens der gestesteten Bluetooth-Software die
Konfiguration und Verwendung dieser.
2.3.2. Reichweiten
Zur Untersuchung der Auswirkungen der bekannten unterschiedlichen Sendeleistungsklassen
und die jederzeitige Minimierung der Sendeleistung von Bluetooth-Endgeräten auf die
mögliche Reichweite der Übertragung, wurden die bereits erwähnten Geräte-Paare ACER
BT500 USB und Toshiba BT-PC-Card PA3053, welche Class 2 respektive Class 1
zuzuordnen sind, verwendet. Dies wurde im Rahmen eines Freifeldversuchs durchgeführt, um
etwaigen Störungen und Interferenzen auszuweichen. Hierfür kamen ebenfalls die beiden
bereits aufgeführten Laptops HP Omnibook zum Einsatz.
Mit Hilfe des Software-Tools „iPerf“ (im folgenden Kaptitel näher vorgestellt), welches in
Verkehrsmessungen IP-basierter Netzwerke Anwendung findet, wurde der maximale
durchschnittliche Durchsatz in Abhängigkeit von der Entfernung zweier BluetoothTranceiver ermittelt. Als Übertragungsprotokoll wurde UDP verwendet, da es die beste
Möglichkeit für einen Rückschluss auf die maximal erreichbare Bandbreite einer
Datenübertragung bietet. Als ausreichende Messdauer und somit die Mittlungszeit der
Datenrate wurden 20 Sekunden ermittelt und entsprechend angewendet.
Je nach verwendeter Literatur werden für die beiden eingesetzten Klassen 10 bis 20 Meter
bzw. 100 Meter als erreichbare Distanz unter optimalen Bedingungen dargestellt. Auf
Grundlage dieser Erwartungswerte wurden die Schrittweiten der Messung zum besseren
Vergleich der Ergebnisse angepasst. So sollten die ersten zehn bis zwanzig Meter in beiden
Messungen mit den unterschiedlichen Geräte-Paaren in Ein-Meter-Schritten erfolgen und
darüber hinaus für die Klasse 1 aller 10 Meter bzw. ab 100 Meter aller 20 Meter ein Messwert
bestimmt werden. Aufgrund der in den folgenden Diagrammen gezeigten Abweichungen von
diesen genannten Erwartungen, wurden die Messwertanzahl und auch die Distanz der
Einzelmessungen während des Experiments angepasst.
50
Abbildung 2.21 – Reichweitenvergleich 1
Bei Betrachtung des Vergleichs auf den ersten 10 Metern des Übertragungsweges fällt leicht
die Konstanz der Durchsatz-Beträge der Class-1-Toshiba PC-Cards auf. Unerwarteter Weise
hat das ACER USB-Paar schon bei den geringeren Distanzen mit starken
Durchsatzeinbrüchen zu kämpfen und bereits bei 9 Meter konnte keine Verbindung mehr
aufrecht erhalten werden. Dabei wurden die Erwatungen bei Weitem unterschritten, da nicht
einmal das Kriterium für Class-3-Geräte mit geforderter Optimal-Reichweite von bis zu 10
Meter erfüllt wurde.
Abbildung 2.22 – Reichweitenvergleich 2
51
Demgegenüber sehr positiv überraschend war das hier dargestellte Ergebnis der Toshiba PCCards. Es wurde nicht nur spielend die angestrebte Distanz erreicht, sie wurde auch mit fast
gleich bleibender Übertragungsqualität überschritten. Erstaunlicherweise erst weit nach
Überschreiten der doppelten zu erwartenden Reichweite ist die Verbindung endgültig
zusammengebrochen.
Generell war festzustellen, dass sich eine Sichtverbindung der kommunizierenden Geräte
günstig auf die resultierende Reichweite, welche schon durch die geringere
Sendeleistungsklasse beider eingesetzten Transceiver begrenzt wird, auswirkt.
2.3.3. Kanalnutzung in FFH
Um den Einfluss schmalbandiger Störquellen auf eine Bluetooth-Verbindung so gering wie
möglich zu halten, muss sich das bis Version 1.1 alleinig angewandte Fast Frequency
Hopping über das gesamte ISM-Band erstrecken. Dieser Aspekt der Frequenzwahl wurde
untersucht und im folgenden Kapitel dargestellt.
Zur Visualisierung dieser pseudozufälligen Sprungsequenz, wurde eine
Beispielkommunikation zweier Geräte in ungestörter Umgebung mit Hilfe der vorgestellten
Software FTS for Bluetooth aufgezeichnet. Aus der resultierenden Log-Datei wurden die
Pakete mit den zugehörigen Kanalnummern, Paketindex und Zeitstempeln extrahiert. Es
bestanden dadurch grundsätzlich zwei Möglichkeiten der Darstellung des
Kanalnutzungsverlaufs. Das Auftragen der Kanalnutzung in Abhängigkeit vom Paketindex
hätte allgemein für diese Untersuchung ausgereicht, doch wurde die Darstellung über der
Zeitachse gewählt, um den zeitlichen Verlauf der Verbindung sichtbar zu machen.
Die im Hex-Format vorliegende Zeitangabe wurde mittels eines zuvor bestimmten
Korrekturfaktors in Millisekunden umgerechnet. (Das genaue Vorgehen wird im folgenden
Kapitel näher beschrieben.)
Abbildung 2.23 – Kanalnutzung, Verlauf
52
In diesem Diagramm wird die Verteilung über das gesamte Band zu jedem Zeitpunkt deutlich.
Somit ist die Wahrscheinlichkeit der Interferenz mit einem potentiellen Störer fast so gering
wie mit der Nutzung von 79 Kanälen möglich. Es besteht also für jedes Paket immer wieder
nahezu die gleiche Chance auf einem bestimmten Kanal gesendet zu werden.
Ausgehend von der Kanalsprungsequenz, wurden, zur näheren Untersuchung der
resultierenden Häufigkeiten der Verwendung jedes Frequenzkanals, diese in folgendem
Histogramm aufgetragen, welches allerdings nicht den Zeitpunkt der Nutzung der Kanäle
widerspiegelt. Es kann annähernd eine Gleichverteilung interpretiert werden, welche bei
größeren Paketzahlen deutlicher wird. Hier wurde jedoch zum Zwecke einer überschaubaren
Sprungsequenz darauf verzichtet.
Abbildung 2.24 – Kanalnutzung, Histogramm
53
Kapitel 3 - Koexistenz im ISM-Band
3.1 Einleitung
Bluetooth agiert bekanntermaßen im lizenzfreien ISM-Band. Somit wird es gestört und ist
gleichzeitig auch ein Störer für andere Funktechnologien, welche die gleichen Frequenzen
beanspruchen.
Die Beeinflussung durch Interferenzen äußert sich grundsätzlich in mehr oder weniger starken
Durchsatzeinbrüchen und höheren Latenzzeiten, respektive bei Audio-Übertragungen in der
Tonqualität durch ein unangenehmes Knacken und Rauschen. Diese Auswirkungen werden in
der Bluetooth-Technologie bis Version 1.1, im Falle schmalbandiger Störung, durch Fast
Frequency Hopping weitest möglich minimiert. Dabei wird das komplette, zur Verfügung
stehende Frequenzband nahezu gleichmäßig für die pseudo-zufällige Kanalsprungreihenfolge
ausgenutzt.
In diesem Kapitel sollen die Konsequenzen gegenseitiger Interferenzen für Bluetooth und
anderen schmalbandigen ISM-Funk aufgezeigt werden. Vorrangig soll dabei der gleichzeitige
Betrieb von WLAN (IEEE 802.11b) und Bluetooth als Beispiel betrachtet werden.
Für die Visualisierung der gegenseitigen Einflüsse wurden zwei verschiedene Ansätze
gewählt:
1. Paketanalyse mittels „FTS for Bluetooth“
2. Durchsatzmessungen unter Zuhilfenahme von iPerf
3.2 FTS-Paketanalyse
Aufgrund von Interferenzen mit anderem Funk kommt es zur Verfälschung oder gar zum
Verlust der im empfangenen Signal enthaltenen Information. Dies hat das fehlerhafte Erfassen
oder Nichterkennen von gesendeten Paketen am Empfänger zur Folge.
Als Beispiel für diese Tatsache sei die nachstehende Darstellung paralleler Bluetooth- und
WLAN-Kommunikation gezeigt.
54
Quelle: „carmeq - Introduction to Bluetooth“ 12.06.2003
Abbildung 3.1 – Beispiel: WLAN und BT v1.1 Interferenzen
Während auf der Abszisse die laufende Nummer eines Pakets aufgetragen ist, zeigt die
Ordinate den Frequenz-Kanal, auf dem das Paket gesendet wurde. Dabei stellen ein grünes
Kreuz ein korrekt empfangenes und ein blauer Stern respektive ein rotes Dreieck ein defektes
Paket dar. Es ist der Interferenz-Bereich der beiden konkurrierenden
Funkübertragungstechnologien in diesem Mitschnitt auf der Ebene des Basisbandes sehr gut
ersichtlich.
Mittels des bereits vorgestellten Protokollanalysators FTS for Bluetooth wurde versucht, den
oben dargestellten Zusammenhang in einem eigenen Versuch nachzustellen. Es wurde dafür
eine durch WLAN, respektive eine Mikrowelle gestörte Bluetooth-Datenübertragung
aufgezeichnet.
Aufbauend auf umfangreiche Tests im Vorfeld sind folgende Anforderungen an
Messanordnung und –umgebung ermittelt worden, um aussagekräftige Ergebnisse zu erzielen:
- Positionierung der Geräte für einen gut sichtbaren Effekt der gewünschten Einflüsse
- Sichtkontakt und Vermeidung von Reflektion zwischen Sendern und Empfängern
- weitestgehend anderen Funk vermeiden
- statischer Aufbau (keine Bewegung der Aktoren während Messung)
Im Falle von Interferenzen besteht ein Problem, sobald ein Comprobe einen räumlichen
Abstand zu einem überwachten Gerät hat, da er empfangene bzw. gesendete Pakete
abweichend von diesem registriert. Um ein möglichst unverändertes Aufzeichnen der
empfangen Pakete eines Gerätes zu gewährleisten, muss der Comprobe unmittelbar neben
dem überwachten Bluetooth-Gerät positioniert werden. Doch umgekehrt vergrößert sich die
Wahrscheinlichkeit der Abweichung zu den vom anderen Gerät des Kommunikationspaares
empfangenen Paketen.
55
Somit wurde im betrachteten Fall ein besonderer Messaufbau verwendet, welcher nur eine
unidirektionale Überwachung der Master-Slave-Kommunikation zulässt. Durch die
entsprechende Positionierung des Comprobe wurden für ihn die geforderten gleichen
Empfangsvorrausetzungen wie für den Datei-Empfänger erzielt und es wurde nur die gestörte
Empfangssituation für den Datei-Empfänger betrachtet.
Die Daten über alle registrierten Pakete mussten dann exportiert und aufbereitet werden. Der
Export wurde, ohne Umwege über weitere Dateien, mittels der Kopieren-in-dieZwischenablage-Funktion von Microsoft Windows zu Microsoft Excel realisiert. Die
Datensätze bestanden, auch auf Grund der Unterschiede zwischen deutscher und englischer
Zahlennotation, zum größten Teil aus Text. Um die Information in Form von Zahlen zurück
zu gewinnen, waren verschiedene Manipulationen und Umrechnungen, z.B. der Zeit von Hexin dezimales Format, sowie die Korrektur der verwendeten Einheit zu Millisekunden,
notwendig.
Die gezeigten Darstellungen sind also keine direkten Extrakte von FTS, sondern bauen
lediglich auf die mit dieser Software gesammelten Daten auf.
In diesen Informationen von FTS ist auch, neben Paketindex und Zeitstempel, die Kanalzahl
in Verbindung mit der resultierenden Frequenz enthalten. Es ist bei dieser BasisbandÜberwachung wenig von Interesse welche Protokolle verwendet wurden. Um eine Aussage
über den Zustand der Verbindung machen zu können, ist lediglich der so genannte Paketstatus
– bei Empfang – auszuwerten. Die möglichen Angaben sind dabei OK, Payload Error und
Length Error. Die beiden letztgenannten wurden zu „Status: error“ zusammengefasst. Nach
diesen Merkmalen und der Senderichtung wurden die Datensätze sortiert und wie auch im
folgenden Diagramm in Abhängigkeit von der betrachteten Übertragungsrichtung dargestellt.
3.2.1. Störeinfluss von WLAN
Diese Messung des Störeinflusses von WLAN auf eine Bluetooth-Verbindung wurde mit
folgenden Geräten realisiert.
Für Bluetooth-Kommunikation, Abstand 2m:
- Acer BT500 (Class 2) USB an Toshiba Portegé3500
- Acer BT500 (Class 2) USB an Fujitsu Siemens CELSIUS Mobile
Für WLAN (IEEE802.11b)-Kommunikation, Abstand 5m:
- 3com Airconnect PC-Card an HP OmniBook 4000series
- Roamabout PC-Card an HP OmniBook 4000series
FTS-Airsniff wurde auf dem Toshiba Portegé3500, an dem somit der Comprobe
angeschlossen war, betrieben.
56
Abbildung 3.2 – Messaufbau WLAN-Einfluss
Zur Messung wurde auf beiden gekreuzten Kommunikationssystemen gezielt IP-Traffic
erzeugt und die gerichtete Bluetooth-Übertragung, wie einleitend beschrieben, am DatenEmpfänger überwacht.
In folgendem Diagramm ist ein Verbindungsausschnitt mit 7923 der registrierten Pakete und
deren Empfangsstatus, in Abhängigkeit von Frequenz-Kanal und Zeit, aufgetragen.
Abbildung 3.3 – zeitlicher Verlauf der WLAN-Störung
Die Interferenzen im 20MHZ-Band des benutzten WLAN-Kanals sind sehr gut zu erkennen.
In diesem Bereich ist ebenfalls das Herausbilden von Lücken, also weniger Pakete, sichtbar.
57
Dies ist im Nichtregistrieren von gesendeten Paketen seitens der beiden Empfänger –
überwachtes Bluetooth-Gerät und Comprobe – zu begründen. Zu diesem Paketverlust kommt
es aufgrund nichtdetektierbarer verfälschter Signale oder Pakete, die vom Empfänger nicht als
an ihn adressiert interpretiert werden.
Das anschließende Histogramm soll die Mengen der korrekt oder fehlerhaft empfangenen und
nicht registrierten Pakete näher verdeutlichen.
Abbildung 3.4 – Histogramm der WLAN-Störung
Im Interferenzbereich ist ein Verlust je Kanal bis zu 50 Prozent der zu erwartenden
Paketmenge deutlich zu erkennen. Die restlichen, registrierten Pakete sind zudem größtenteils
fehlerbehaftet. Die Fehler außerhalb des beschriebenen Bereichs sind auf Reflektionen im
Raum zurückzuführen.
3.2.2. Störeinfluss einer Mikrowelle
Die Mikrowelle ist ein weiterer praktischer Störer, welcher eine Bluetooth-Verbindung
beeinträchtigen könnte, da ihr Frequenz-Spektrum ebenfalls im ISM-Band angesiedelt ist.
Der Grad der möglichen Beeinflussung soll hier untersucht werden.
Umfangreiche Vorversuche haben gezeigt, dass aufgrund der geforderten hochgradigen
Schirmung der Mikrowelle, nur in unmittelbarer Nähe messbare Einflüsse auf eine BluetoothKommunikation nachzuweisen waren. Dementsprechend wurde folgender Messaufbau
gewählt:
Für Bluetooth-Kommunikation, Abstand 4m:
- jeweils ein Acer BT500 (Class 2) USB an HP OmniBook 4000series
Mikrowelle: Moulinex B85, 750 Watt, 2,450GHz
58
FTS-Airsniff wurde weiterhin auf dem nun eigenständigen Toshiba Portegé3500
durchgeführt.
Abbildung 3.5 – Messaufbau Mikrowelle
Die in einen Meter Abstand platzierte Mikrowelle wurde für die Dauer der OBEXÜbertragung einer 512kB großen Datei auf maximaler Leistungsstufe betrieben. Der
Sichtkontakt der Bluetooth-Transceiver war jederzeit gewährleistet.
Wie bereits aus dem WLAN-Versuch bekannt, ist der jeweilige Paketstatus in Abhängigkeit
von Zeit respektive Häufigkeit auf dem zugehörigen Kanal dargestellt.
Abbildung 3.6 – zeitlicher Verlauf Mikrowellenstörung
59
Wiederum ist der beschriebene Paketverlust durch den Volllastbetrieb bis ca. 9.000ms gut
sichtbar. Anschließend wurde die Bluetooth-Verbindung weniger behindert. Unerwarteter
Weise ist die registrierte Störung verteilt und verschoben. Wie sehr gut im folgenden
Histogramm ersichtlich, ist die maximale Paketauslöschung etwa bei Kanal 8 (2,410GHz), die
größte Zahl fehlerhaft empfangener Pakete um Kanal 28 (2,430GHz) und ein geringeres
lokales Extremum beim erwarteten Kanal 48 (2,450GHz) angesiedelt, welcher vom Hersteller
der Mikrowelle als Arbeitsfrequenz angegeben wird.
Abbildung 3.7 – Histogramm Mikrowellenstörung
Die Verteilung der Störeinflüsse ist auf eine schlechte Frequenzfiltercharakteristik und die
20MHz-Abstände der Störungsmaxima auf die Frequenzquelle der Mikrowelle
zurückzuführen.
3.2.3. Fazit
Die Interferenz-Störeinflüsse wurden mittels Paketanalyse gut visualisiert, doch konnte durch
die Anwendung der einzig verfügbaren Monitoring-Methode Airsniffing auftretenden
Paketverluste kein eindeutiger Zusammenhang zwischen den Anzahlen der gesendeten und
empfangenen Pakete dargestellt werden.
Der einleitend beschriebene Weg der Datenaufbereitung kann durch Verwendung einer
Scriptsprache, wie Perl, für große Datenmengen optimiert werden, da eine begrenzte
Datensatzkapazität von 65536 je Mappe in Microsoft Excel besteht und gegebenenfalls
umfangreiche Datenmanipulationen große Rechenzeiten verursachen können.
3.3 Durchsatzmessungen
60
3.3.1. Motivation
Aufgrund von Störungen durch Interferenzen, wie im vorangegangenen Kapitel
veranschaulicht, kommt es generell bei einer Funkübertragung zur Verringerung der effektiv
nutzbaren Bandbreite, da Information in verfälschten oder verlorenen Paketen nicht verwertet
werden kann. Somit ist der unter gegebenen Bedingungen erreichbare Durchsatz ein
Nachweis und Maß des Störeinflusses. Die nähere Untersuchung dieses Zusammenhangs
stellt einen wichtigen Teil dieser Arbeit dar.
Als interferierende Funktechnologie zu Bluetooth wurde WLAN gewählt, da eine Zunahme
der parallelen Verwendung beider Standards in der Praxis zu verzeichnen ist. Die Wahl
dieses, mindestens ebenso weit verbreiteten, Vertreters begründet sich im praktischen Bezug
dieser Ausarbeitung. Ein oft zu findendes Beispielszenario ist hierfür ein Laptop mit
Internetzugang mittels WLAN und gleichzeitige Datensynchronisation mit einem Handheld
oder Versenden eines Druckauftrages an den kabellosen Office-Drucker über Bluetooth.
Es soll in diesem Kapitel der Grad der gegenseitigen Beeinflussung beider
Übertragungsverfahren betrachtet werden.
3.3.2. Wahl eines geeigneten Programms
Für die Durchsatzmessung ist ein spezielles Programm nötig, welches folgenden Ansprüchen
genügt:
- Darstellung des aktuellen Datendurchsatzes
- Unterstützung der Transportprotokolle TCP und UDP
- Festlegung von Durchsatzraten bei Verkehrserzeugung
- Unterstützung der verwendeten Betriebssysteme
- effektive Bedienbarkeit
Eine Recherche nach diesen genannten Kriterien lieferte drei Programme in der näheren
Auswahl, wobei die Wahl auf das letztgenannte fiel:
- Qcheck von IXIA, http://www.ixiacom.com
- Shareware-Version, somit erheblich eingeschränkte Funktionen (einige Funktionen
komplett gesperrt, zeitlich begrenzter Stream, wertbegrenzte Traffic-Erzeugung)
- keine direkte Erzeugung von Logfiles
- primitive Bedienung
- IPTraffic von ZTI, http://www.zti-telecom.com
- Shareware-Version, begrenzte, zu kurze Nutzungsdauer von 14 Tagen
- umfangreiches Funktionsspektrum mit vielen Einstellmöglichkeiten
- übersichtliche Bedienung
- Grafische Auswertung möglich
- iPerf von NLANR, http://dast.nlanr.net/Projects/Iperf
- Freeware
- MS-DOS-Anwendung
- sehr umfangreiches Funktionsangebot
- sehr gute Dokumentation
- einfache und effektive Bedienung
61
Die Entscheidung fiel, aufgrund der genannten Beschränkungen, gegen die beiden
erstgenannten Programme. Neben dem Aspekt, dass iPerf ein Freeware-Tool ist, spricht die
flexible Anwendung als Terminal-Programm sehr für diese Wahl. Zur Messung stand die
Version 1.7.0 zur Verfügung.
Die Funktionsweise ist erwartungsgemäß einfach. iPerf arbeitet nach dem bekannten ClientServer-Modell. Ein Client erzeugt Traffic in Richtung des Servers, welcher lediglich
Empfangsinformationen zurücksendet. Zuvor muss iPerf auf dem Empfangs-Rechner als
Serverdienst gestartet werden.
Das gesamte Funktionsangebot wird über Kommandozeilen erreicht. Hierbei ist unter
anderem die einfache Parametereinstellung, das mögliche Zusammenfassen in Batchdateien,
freie Namensgebung für die Aufzeichnungsdateien und optionale direkte Überwachung im
Terminalfenster von großem Vorteil. Die hauptsächlich benutzten Einstellungs-Parameter
waren:
- gewünschtes Transportprotokoll (TCP/UDP)
- Zuweisung der Server-/Client-Rolle
- Überwachungsintervall im Log (Bildschirm wie Datei)
- Ziel- und bei Bedarf (mehrere Netz-Adapter) Quell-IP
- Bandbreite und Dauer des erzeugten Verkehrs
Abbildung 3.8 – Parameter des iPerf-Aufrufs
3.3.3. Vorbereitung des Experiments
62
Folgende Geräte standen unter Windows 2000/XP zur Verfügung:
- ACER BT500 USB (Class 2), Bluetooth (v1.1) (2 Stück)
- ComOne Bluetooth PC-Card (Class 1), Bluetooth (v1.1)
- D-Link DBT120 USB (Class 3), Bluetooth (v1.1)
- Toshiba BT-PC-Card PA3053 (Class 1), Bluetooth (v1.1) (2 Stück)
- Toshiba Portegé3500 Laptop (Class 2), Bluetooth (v1.1)/WLAN (IEEE802.11b) integr.
- 3com Airconnect WLAN PC-Card (IEEE802.11b)
- HP OmniBook 4000series (2 Stück)
Bluetooth-Anwender-Software:
- Widcomm Vers 1.4.3.4 (weit verbreitet)
- Toshiba Vers 3.00.12 (nur für Toshiba-Geräte)
- ComOne Treiber und Zugangssoftware
Ausgehend vom zitierten Beispiel zur parallelen Kommunikation von WLAN und Bluetooth,
wurde der als praxisnah angestrebte Aufbau mit drei Laptops festgelegt. Dabei musste der
leistungsstärkste (CPU- und Batteriekapazität) der drei zur Verfügung gestandenen Laptops,
somit der Toshiba, beide Übertragungen über WLAN und Bluetooth durchführen.
Dementsprechend war die Rollenverteilung der Laptops festgelegt, wobei der interne WLANAdapter des Toshiba-Laptops problemlos zur Kommunikation mit der 3com-PC-Card
eingesetzt werden konnte. Aus den verbliebenen Bluetooth-Geräten mussten die
verlässlichsten ausgewählt werden. Von der weiteren Verwendung der Adapter von ComOne
und D-Link wurde aufgrund von Kompatibilitätsproblemen und, bereits durch FTS-Messung
festgestellten, hohen Fehlerraten, auch bei ungestörter Umgebung, abgesehen. Des Weiteren
wurden die Bluetooth-Adapter-Sets aufgrund der durch den selbigen Hersteller und die
gleiche Treiberversionen garantierten Interoperabilität favorisiert. Aufbauend auf
vorangegangene Tests war die schlechte Performance, hinsichtlich Reichweite und Durchsatz,
der ACER BT500 USB bereits bekannt. Somit wurde das Toshiba PA3053 PC-Card-Set für
den Versuch verwendet.
Nachdem die Festlegung der Aktoren erfolgt war, mussten Überlegungen zu einer
aussagekräftigen Konstellation gemacht werden. Für einen praxisnahen Anwendungsfall
sollte der Abstand der Bluetooth-Geräte vorwiegend geringer als der der WLAN-Geräte sein.
Da hier aber Bluetooth-Class-1-Geräte verwendet wurden, sollte auch die Kommunikation
über eine größere Distanz gewählt werden, um überhaupt eine gewisse Signalabschwächung
zu erreichen. Es müssen die Senderichtungen in Bezug auf die sich störenden Verbindungen
betrachtet werden, da beispielsweise ein sendendes Gerät den gleichzeitigen Empfang mittels
der anderen interferierenden Übertragungstechnik stören kann. Demzufolge mussten
signifikante Positionen der Geräte für den Freifeldversuch gefunden werden.
Die Wahl des Übertragungsprotokolls fiel mit Blick auf den Praxisbezug, entgegen der
üblichen Verwendung von UDP in Netzwerkdurchsatzmessungen, schnell auf TCP. Die
Messdauer sollte für eine gute Messwertmittlung entsprechend lang sein, da verschieden
starke Schwankungen in den umfangreichen Testmessungen zu registrieren waren.
3.3.4. Messaufbau
Die aufgeführten Vorüberlegungen bestimmten die folgenden, für das Experiment unter
Windows 2000/XP verwendeten Geräte.
Für die Bluetooth-Kommunikation:
- HP OmniBook 4000series mit Toshiba PA3053 PC-Card (Bluetooth v1.1, Class 1)
63
- Toshiba Portegé3500 mit Toshiba PA3053 PC-Card (Bluetooth v1.1, Class 1)
- Toshiba Bluetooth-Software Vers 3.00.12
Für die WLAN-Kommunikation:
- Toshiba Portegé3500 mit integriertem WLAN-Adapter (IEEE 802.11b)
- HP OmniBook 4000series mit 3com AirConnect PC-Card WLAN (IEEE 802.11b)
Abbildung 3.9 – Anordnung (Schema)
Repräsentative Distanzen, welche von den beiden Tranceivern der jeweiligen
Übertragungstechnologie im gestörten Fall überbrückt werden müssen, wurden in den
Vorraustests ermittelt. Bei WLAN handelt es sich um die beiden Entfernungsstufen 20 und 40
Meter, welche in den vorbereitenden Tests zu den Störeinflüssen kaum überschritten wurden.
Für Bluetooth sind drei praxisnahe Stufen mit 1, 20 und 40 Meter festgelegt worden. Da es
sich beim Bluetooth-Kommunikationspaar um die sendeleistungsstärkste Geräteklasse
handelt, stellt dies die ungünstigste Störung von WLAN dar.
Die beiden Übertragungstechniken sind richtungsabhängig zu betrachten und somit ergeben
sich mit je zwei Richtungen vier Kombinationen.
Der Richtungssinn des erzeugten Datenverkehrs wurde dabei auf den Toshiba-Laptop,
welcher beide Technologien nutzt, bezogen. Somit stellt dieser für alle weiteren
Betrachtungen den einzigen Bezugspunkt dar, woraus folgendes Bezeichnungsformat
resultiert:
- Bluetooth in – Bluetooth-Verkehr zum Toshiba-Laptop hin, kurz: Bi
- Bluetooth out – Bluetooth-Verkehr vom Toshiba-Laptop weg, kurz: Bo
- WLAN in – WLAN-Verkehr zum Toshiba-Laptop hin, kurz: Wi
- WLAN out – WLAN-Verkehr vom Toshiba-Laptop weg, kurz: Wo
Abbildung 3.10 – Konstellationen bei Durchsatzmessung
Zusammengefasst ergaben sich aus daraus folgende Bezeichnungen der vier Kombinationen
gleichzeitiger Kommunikation:
- Bi/Wi
- Bi/Wo
- Bo/Wi (Toshiba-Laptop sendet über Bluetooth und empfängt mittels WLAN)
- Bo/Wo
64
In jeder dieser Senderichtungskombinationen müssen jeweils die 6 möglichen DistanzKombinationen realisiert werden. Zusätzlich wurde der Messaufbau in der Positionierung der
beiden HP-Laptops zueinander verändert. Befanden sich diese beiden Laptops aus Sicht des
Toshiba-Laptops in der gleichen Himmelsrichtung, entsprach dies dem eingeführten Winkel
α=0 Grad zwischen ihnen. Der umgekehrte Fall mit α=180 Grad entsprach der Anordnung in
entgegen gesetzten Himmelsrichtungen. Bei α=0 Grad waren die größten und entsprechend
bei α=180 Grad die geringsten Interferenzen zu erwarten.
Die aus diesen Vereinbarungen resultierenden Einzelmessungen charakterisieren sich also
durch:
- die jeweilige Entfernungsstufe der beiden Übertragungstechnologien,
- die Kombination der Senderichtungen und
- die Ausrichtung der beiden HP-Laptops zueinander (Winkel α).
Dies entspricht einer Summe von 48 Einzelmessungen. Da weiterhin zum Vergleich jeweils
die ungestörten, maximal erreichbaren Durchsatzraten in den 5 jeweiligen Stufen der
Reichweiten ermittelt werden müssen, erhöht sich die Gesamtzahl der verschiedenen
Einzelmessergebnisse auf 53, die mindestens durchgeführt werden müssen.
Entsprechend der vorausgegangenen Tests, fielen die Erwartungen an die erreichbaren
Durchsätze unterschiedlich aus. Es hatte sich hierbei schon gezeigt, dass Bluetooth weniger
stark von einer parallelen WLAN-Verbindung beeindruckt wird.
3.3.5. Durchführung
Zum eigentlichen Experiment wurde sich, entsprechend der o. g. Charakterisierung, auf eine
tabellarische Übersicht der Einzelmessungen geeinigt. Diese war ebenfalls Grundlage für eine
einheitliche Namensgebung für die Aufzeichnungsdateien.
Für die Durchsatzmessung sollte IP-Traffic generiert werden, welcher in Falle von Bluetooth
über eine Netzwerkverbindung des Kommunikationspaares (Dienst: Netzwerkzugang)
verwirklicht wurde.
Dementsprechend lag die weitere Vorbereitung in der Erstellung von Batchdateien. Diese
wurden für jedes einzelne Messszenario und jeden der drei Laptops spezifisch vorgefertigt,
um am Messort effektiv und mit weniger Fehlerquellen arbeiten zu können. Sie enthielten die
iPerf-Kommandozeile mit den charakteristischen Parametern wie Rollenzuweisung
(Client/Server), Ziel- sowie bei Bedarf Quelladresse, Transportprotokoll, Wert zu erzeugender
Bandbreite, Messintervall von 0,5 Sekunden, den Namen der Log-Datei und Dauer der
Messung. Letztere wurde auf 60 Sekunden festgelegt, da dies der Forderung nach
repräsentativen Mittelwerten genügt.
Beispiel-Kommandozeile Bluetooth-Client:
iperf -c 192.168.81.2 -B 192.168.81.1 -i 0.5 -t 60 > TCP_Bi1_Wi20_bt.txt
Im oben abgebildeten Beispiel ist der iPerf-Aufruf mit der Client-Option und dazugehöriger
Zieladresse des Servers (-c 192.168.81.2), Bindung auf einen Ausgangs-Netzwerkadapter (-B
192.168.81.1), Intervall der Darstellung der Messwerte (-i 0.5), Dauer der Verkehrserzeugung
und –messung (-t 60) und der Export in eine benannte Aufzeichnungsdatei
(>TCP_Bi1_Wi20_bt.txt) zu sehen.
65
Beispiel-Kommandozeile Bluetooth-Server:
iperf -s -B 192.168.81.2
Auf der Gegenseite wird der entsprechende Server, wie gezeigt, durch die Server-Option (-s)
und der Bindung an den überwachten Ausgangs-Netzwerkadapter (-B 192.168.81.2) initiiert.
Die möglichen Störeinflüsse der Umgebung, wie z.B. anderer ISM-Funk, wurden bei der
Ortswahl für die Freifeldmessung weitestgehend minimiert. Um die Affinität der Ergebnisse
zu gewährleisten wurden die Messbedingungen so weit durchführbar konstant gehalten. So
blieb z.B. der Bodenabstand der kommunizierenden Komponenten bei einem Meter und die
Aufstellung der Geräte wurde jeweils auf den, immer an selbiger Position aufgestellten,
Bezugslaptop ausgerichtet.
Jede, etwa 2 Minuten durch Umpositionierung und Messzeit in Anspruch nehmende,
Einzelmessung wurde mindestens dreimal, aber auch bis zu zehnmal durchgeführt, was die
Anzahl der gesamt durchgeführten einzelnen Messungen auf wenigstens 159 brachte, damit
immer mehrfach bestätigte Ergebnisse verwendet werden konnten. Durch den
ausschließlichen Batterie-Betrieb der Laptops im Freifeld war ein Messzyklus auf etwa 2
Stunden beschränkt. Hierdurch erklärt sich die Verteilung auf mehrere Messtage. Somit
mussten die Tageszeit und Wetterbedingungen zum Messzeitpunkt für alle einzelnen
Messungen ähnlich realisiert werden.
3.3.6. Auswertung
Nachdem alle Messungen abgeschlossen waren, wurde mit der Auswertung der Ergebnisse
begonnen. Aus den entsprechenden Log-Dateien wurden, mit jeweils 5 Sekunden Toleranz an
Anfang und Ende, nur 50 Sekunden der Aufzeichnung aufbereitet, um den nicht immer
gleichzeitigen Start der parallelen Kommunikationen zu berücksichtigen. Die von der
jeweiligen Übertragungstechnik erreichten Durchsätze sind anteilmäßig an der ungestörten
Verbindung aufgetragen worden. Diese Darstellung wurde zweckmäßig für eine
übersichtliche und prägnante Präsentation der Ergebnisse bestimmt.
Es gab zur Darstellung der Resultate natürlich alternative Wege, welche allerdings unter
anderem aufgrund von eingeschränkten Vergleichsmöglichkeiten einzelner Zusammenhänge
und zu aufwendigem Gesamtvolumen nicht zur Anwendung kamen.
66
Abbildung 3.11 – Auswertungstabelle zu α = 180°
Abbildung 3.12 – Auswertungstabelle zu α = 0°
Hier dargestellt ist der relative Durchsatz beider Übertragungstechniken in Bezug auf die
distanzabhängig jeweils ermittelte maximal erreichbare ungestörte Datenrate in kbit/s. Die
Messergebnisse sind aufgrund des verwendeten Überwachungstools iPerf in gewisser Weise
quantisiert und wurden bei Werten größer als 1000kbit/s in Mbit/s ausgegeben und
entsprechend gerundet. Eine erzwungene Ausgabe in kbit/s hätte keine größere Genauigkeit
erzielt, da im Programm nur nachträglich in die entsprechende Einheit umgewandelt worden
wäre. Eine ausreichende Messgenauigkeit für die Darstellung der gefundenen
Zusammenhänge ist durch diesen Fakt nicht gefährdet.
67
Zur besseren Veranschaulichung der einzelnen Spalten der tabellarischen Darstellung der
Messergebnisse in Abhängigkeit der beiden Ausrichtungen der äußeren Laptops seien hier
noch einmal die vier Senderichtungskonstellationen mit den jeweils eingenommenen
Entfernungsstufen und Ausrichtungswinkeln schematisch illustriert.
Bo/Wi:
oder
Abbildung 3.13 – Konstellation Bo/Wi
Abbildung 3.14 – Messwerte in Bo/Wi
Wie den obigen Tabellen zu entnehmen, ist in dieser Konstellation der Senderichtungen der
ungünstigste Fall für die WLAN-Kommunikation eingetreten, da der Bezugs-Laptop WLAN
empfängt und gleichzeitig Bluetooth sendet. Sobald WLAN zusammenbrach, konnte
Bluetooth nahezu ungestört senden. Gerade in der gleichrichtigen Anordnung der äußeren
Laptops ist die Unterdrückung durch das robuste Bluetoth-Sprungverfahren sehr gut zu
erkennen. Die Bluetooth-Durchsatzeinbrüche bei geringerer oder gleicher Weite mit WLAN
sind einerseits durch größere Störanfälligkeit bei größerer Weite und andererseits bei α = 180
Grad mit dem weiteren Abstand zum sonst stärker unterdrückten WLAN zu erklären.
Bi/Wi:
oder
Abbildung 3.15 – Konstellation Bi/Wi
Abbildung 3.16 – Messwerte Bi/Wi
68
Der WLAN-Verkehr hat bei dieser direkten Konkurrenz der Signale kaum eine Chance zu
bestehen. Im Falle ankommenden Funks beider Standards sind die direkte Abschwächung bei
größeren Entfernungen und der geringere Einfluss der Winkelausrichtung klar ersichtlich. Die
dennoch besseren Bluetooth-Ergebnisse für α = 0 Grad sind mit öfter aussetzenden WLANFunk zu begründen.
Bo/Wo:
oder
Abbildung 3.17 – Konstellation Bo/Wo
Abbildung 3.18 – Messwerte Bo/Wo
In dieser Konstellation ebenfalls übereinstimmender Senderichtungen ist die, gegenüber den
beiden anderen genannten stärkere Schwächung von Bluetooth sichtbar. Dies ist darin
begründet, dass beide Bluetooth-Transceiver vor dem Beginn der Taffic-Generierung und Messung die bei geringem Abstand minimal mögliche Sendeleistung, zum Zwecke der
Stromverbrauchsoptimierung, ausgehandelt haben, da weit weniger störender WLAN-Einfluss
bestand. Nichtsdestoweniger war der Anteil an den möglichen Durchsätzen bei Bluetooth in
allen entsprechenden Einzelmessungen (teilweise noch erheblich) größer als beim
konkurrierenden WLAN.
Bi/Wo:
oder
Abbildung 3.19 – Konstellation Bi/Wo
Abbildung 3.20 – Messwerte Bi/Wo
69
Diese vierte und letzte betrachtete Konstellation stellt, wie schon in den
Gesamtergebnistabellen zu erkennen, den ungünstigsten Fall für die Bluetooth-Übertragung
dar. Hier wirkt sich ebenfalls die vor dem jeweiligen Test verringerte BluetoothSendeleistung negativ aus. Das vom gleichzeitigen Bluetooth-Empfänger gesendete WLANSignal kann daher bei geringen Abständen der Bluetooth- und WLAN-Geräte das
ankommende Signal des Bluetooth-Senders erheblich mehr stören. Hierfür wirkt sich die
gleichrichtige Aufstellung der äußeren Laptops in allen Entfernungskombinationen ebenfalls
WLAN-günstig aus.
3.3.7. Fazit
In erster Linie ist zusammenfassend die erschreckend starke Durchsatzeinbuße von WLAN in
allen Tests zu erkennen. Gerade in den Fällen ankommenden WLAN-Verkehrs (Wi) am
Bezugs-Laptop ist mit dem nahezu totalen Verlust der hierüber gesendeten Daten zu rechnen.
Ebenso leicht ist die erwartungsgemäße Abhängigkeit der Störanfälligkeit der WLANTransceiver von ihrer Entfernung zueinander in allen Senderichtungs-Konstellationen
ersichtlich. Auch die verwendeten Winkelanordnungen erfüllten mit den erreichten Werten
die gesetzten Erwartungen, dass gleiche Ausrichtung zum gemeinsamen
Kommunikationspartner, also schlimmste gegenseitige Störung, die „Überlegenheit“ der
Bluetooth-Übertragung hervorhebt. Die geringeren Bluetooth-Durchsatzraten bei gleichen
Konstellationen und entgegen gesetzter Ausrichtung sind daher durch geringer gestörten
WLAN-Verkehr zu begründen. Die Dominanz von Bluetooth verdeutlicht sich auch in dem
Aspekt, dass diese Technologie, entgegen WLAN, in nahezu allen Einzelmessungen
mindestens halben und sogar in mehr als der Hälfte aller Tests wenigstens drei viertel des
möglichen Durchsatzes erreicht hat.
Dieses teilweise überraschend extreme Ergebnis unterstreicht die Forderung nach einer für
anderen ISM-Funk verträglicheren Bluetooth-Funktechnologie. Folgend soll dieser
Zusammenhang noch einmal kurz in einer Gegenüberstellung von Parallelbetrieb gestörtem
und ungestörtem Datenverkehr zusammengefasst werden.
3.4 Cross Measurements
3.4.1. Einführung
Als kleine eigenständige Verdeutlichung des im obigen, sehr komplexen Versuch
dargestellten Zusammenhangs von Durchsatz der beiden ISM-Übertragungstechniken
Bluetooth und WLAN und ihrer gegenseitigen Beeinflussung soll in diesem Abschnitt der
direkte Vergleich von ungestörtem und parallelen Betrieb dieser kurz gezeigt werden.
Es wurden die Konsequenzen für den aktuellen Durchsatz beider Technologien in zwei aus
dem Ergebnis des Hauptexperiments ausgewählten Konstellationen untersucht. Hierfür
wurden die verwendete Hardware und die weiteren Messparameter beibehalten.
Die Entfernungsstufen 1 Meter für Bluetooth und 20 Meter für WLAN, sowie TCP als
Transportprotokoll wurden aufgrund des schon erwähnten geforderten Praxisbezugs
festgelegt. Es fand die Analyse in zwei unterschiedlichen Senderichtungskonstellationen,
wobei je eine die ungünstigste für einen der beiden Funktechnologien darstellt.
70
1. Fall - ungünstigste Senderichtungskonstellation für Bluetooth:
Über Bluetooth wird vom Bezugs-Laptop empfangen und über WLAN gesendet.
Abbildung 3.21 – Anordnung Cross Measurement 1
2. Fall - ungünstigste Senderichtungskonstellation für WLAN:
Der Bezug-Laptop sendet Bluetooth und empfängt WLAN.
Abbildung 3.22 – Anordnung Cross Measurement 2
3.4.2. Visualisierung
Über eine Gesamtmesszeit von 90 Sekunden wurde in beiden Messungen erneut über beide
Verbindungen 60 Sekunden lang Datenverkehr erzeugt und der Durchsatz in 0,5-SekundenIntervallen überwacht. Hierbei wurde jeweils die am meisten durch eine Parallelübertragung
gehinderte Funktechnologie 30 Sekunden vor der anderen, als begünstigt erwarteten, gestartet.
Wie in den folgenden Darstellungen gut zu erkennen ist, erfüllte sich hierbei ebenfalls die
Aussicht auf den mit Bluetooth verglichen stärkeren Zusammenbruch des WLANDurchsatzes.
Abbildung 3.23 – Darstellung Fall 1
71
Abbildung 3.24 – Darstellung Fall 2
3.4.3. Fazit
Bluetooth hatte erwartungsgemäß erheblich geringeren Einbruch der Datenrate aufgrund
seines robusten Übertragungsverfahrens zu verzeichnen. Dagegen ist der WLAN-Durchsatz
überraschend deutlicherer als erwartet eingebrochen, sowie ein Verbindungsverlust auch in
der für Bluetooth ungünstigeren Anordnung eingetreten. Dies bestätigt die Aussage zum
generellen Problem der Koexistenz von BT mit anderen ISM-Funkstandards, welche kein
ähnliches Frequenzsprungverfahren anwenden.
Eine Lösung bietet das AFH (Adaptive Frequency Hopping). Hierbei erkennen die BluetoothTransceiver gestörte/belegte Frequenzen. Dies geschieht mittels der Einführung einer PicoNetz-spezifischen Kanalliste, welche vom Master verwaltet wird und gegebenenfalls durch
Anfordung lokaler Statusreporte aller AFH-fähigen aktiven Slaves die von der Sprungsequenz
auszuschließenden sowie alle als ungestört erkannten Kanäle mit der entsprechenden
Kennzeichnung speichert.
Die Konsequenz der Anwendung dieser Kanalliste ist das Ausweichen auf die offensichtlich
ungestörten Frequenzen und die Meidung dieser für die Sprungsequenz, welche in Form von
gleichem Kanal für Hin- und Rückslot eines Master-Slave-Master-Paketaustauschs – SameChannel-Method – abgeändert wird.
Dieses erweiterte Sprungverfahren ist in der im November 2003 von der Bluetooth-SIG
verabschiedeten Version 1.2 enthalten. Zum Zeitpunkt dieser Arbeit waren erstaunlicherweise
noch keine entsprechenden Geräte oder Firmwareupdates für weitere Tests verfügbar.
Im folgenden, letzten Kapitel wird detailliert auf die Funktionsweise dieses
interferenzvermeidenden Verfahrens eingegangen.
72
Kapitel 4 - Die Funktionsweise von AFH
4.1 Einleitung
In diesem Kapitel soll die allgemeine Funktionsweise dieses neuen, adaptiven
Frequenzsprung-Verfahrens erläutert und am Beispiel der verbesserten Koexistenz von
Bluetooth und WLAN verdeutlicht werden.
4.2 Motivation
Bluetooth-Geräte der Vorgängerversionen, welche das konventionelle FrequenzsprungVerfahren (FFH) anwenden, nutzen immer alle 79 festgelegten Kanäle des 2,4GHz-ISMBandes (Ausnahme Frankreich, Japan usw.). Dabei wird der Kanal 1600 Mal pro Sekunde in
einer zufälligen Sprung-Reihenfolge gewechselt.
Sobald ein anderer Funkverkehr, wie WLAN, in der Umgebung vorhanden ist, führt diese Art
des Frequenzsprunges unweigerlich zu unregelmäßigen Kollisionen. Ohne AFH war bisher
keine Möglichkeit gegeben, sich der Umgebung anzupassen und somit diese Konflikte zu
verhindern. Die folgende Illustration offenbart die resultierenden Interferenzen. Hierbei sei
kurz angemerkt, dass WLAN (IEEE 802.11b) eine Bandbreite von 20MHz vereinnahmt und
kein Frequenzsprung-Verfahren anwendet.
Abbildung 4.1 – Überlagerung BT und WLAN
73
Im Gegensatz zur obigen, findet in der folgenden Illustration eine Bluetooth-Kommunikation
der neuen Generation statt. Das in Bluetooth v1.2 verwendete Adaptive Frequency Hopping
ermöglicht nun eine Anpassung an die Umgebung. Hierbei werden die Kanäle, welche durch
andere Interferenz-Quellen belegt sind, im Frequenzsprung-Verfahren ausgeschlossen. Dieser
Prozess des „Re-Mappings“ beinhaltet somit auch eine Reduzierung der Anzahl der vom
Kabelkiller nutzbaren Kanäle. Dabei ist die Mindestzahl dieser Kanäle durch die
Spezifikation auf 20 beschränkt. Während der Verwendung von AFH ist die Same-ChannelMethod, worin ein Slave-to-Master-Slot im selben Frequenzkanal wie der vorangegangene
Master-to-Slave-Slot liegt, vorgeschrieben. Es wird am Ende dieses Kapitels näher darauf
eingegangen.
Abbildung 4.2 – Ausweichen vor WLAN durch AFH
4.3 Klassifikation der Frequenzkanäle
4.3.1. Channel-Classification
Jedes AFH-fähige Bluetooth-Gerät kann individuell eine so genannte Channel-Classification
durchführen. Es findet hierbei eine Klassifikation statt, welche jeden einzelnen Kanal als
„unknown“, „good“ oder als „bad“ einstuft. Diese Entscheidung wird anhand der lokalen
Information möglicher Interferenzen getroffen, welche auf folgende Weise erworben werden
kann:
Kanal-Einschätzung (Channel-Assessment):
Alle 79 spezifizierten Kanäle (Kanal = 1MHz) werden auf mögliche Interferenz-Quellen
abgesucht. Zwei häufig genutzte Detektionsmethoden sind:
- RSSI (Received Signal Strength Indication), aktiv
74
- PER (Packet Error rate), passiv
Ausschluss belegter Kanäle durch Host-Controller:
Beispielsweise bei einem Laptop mit WLAN und Bluetooth parallel in Betrieb, kann der HostController dieses Gerätes via HCI-Befehl das Auslassen der von WLAN belegten Frequenzen
anordnen. (Host-Controller weiß, ob WLAN in Nutzung ist und welche Frequenzen es belegt)
Æ AFH-Host-Channel-Classification
Die bereits erwähnte Klassifikation jedes einzelnen Kanals erfolgt nach bestimmten Kriterien:
Unknown:
Die Messungen der Kanal-Einschätzung (Channel-Assessment) sind nicht
ausreichend, um eine verlässliche Einstufung des Kanals zu gewährleisten.
Bad:
Das Channel-Assessment detektiert Interferenzquellen oder es erfolgte ein
Ausschluss des Kanals durch Host-Controller des Geräts.
Good:
Der Kanal ist weder als „unknown“ noch als „bad“ eingestuft.
4.3.2. Channel-Map
Der Master eines Piko-Netzes, in dem das adaptive Frequenzsprung-Verfahren eingesetzt
wird, muss eine AFH-Channel-Map erstellen, welche eine Aufstellung von Kanälen enthält,
die bei der adaptierten Sprungsequenz genutzt werden dürfen oder ausgelassen werden
müssen. Diese Liste kann er anhand der Kombination folgender Informationsquellen erstellen:
•
•
Lokal, mittels seiner eigenen Channel Classification (Channel-Assessment oder HC)
Von ausgewählten aktiven Slaves, die im verwalteten Netz AFH nutzen, via LMPKommandos angeforderter Channel-Classification-Reports (CCR)
Die Anforderung der CCR eines bestimmten AFH-Slaves erfolgt durch die vom Master
gesendete LMP_channel_classification_req-PDU, welche folgende drei Parameter beinhaltet:
•
•
•
AFH_Reporting_Mode
AFH_Min_Interval
AFH_Max_Interval
Aktivierung fortlaufender CCR oder Deaktivierung CCR
Wert für die Mindestzeit zwischen zwei CCR
Wert für die Maximalzeit zwischen zwei CCR
4.3.2.1. Channel-Classification-Report
Ein Channel-Classification-Report des Slaves erfolgt in einer LMP_channel_classificationPDU, in der die erworbene Information in folgender Weise dem Master übermittelt wird.
Die 79 spezifizierten Frequenzkanäle sind von 0 bis 78 durchnummeriert. Im Rahmen der
Channel-Classification wird jedem Kanal n ein binärer Wert zugeordnet, welcher die
Kanaleinstufung definiert:
„unknown“
„good“
Æ 00
Æ 01
Æ 11
(10 ist reserviert)
„bad“
Die besagte PDU verfügt nur über 40 2-Bit-Felder, welche mit 0 bis 39 indexiert sind. Ein
Feld mit dem Index n definiert die Klassifikation der Kanäle 2n und 2n+1. Eine Ausnahme
75
bildet das Feld 39, welches nur die Einstufung des Kanals Nr.78 beinhaltet. Dies bedeutet (mit
Ausnahme Feld 39) eine Kombinierung der Kanaleinstufungen eines „geraden“ und dem
unmittelbar folgenden „ungeraden“ Kanals. Dabei sind folgende Festlegungen getroffen:
„good“
„good“
„bad“
„bad“
„unknown“
(01)
(01)
(11)
(11)
(00)
und
und
und
und
und
„good“
„unknown“
„bad“
„unknown“
„unknown“
(01)
(00)
(11)
(00)
(00)
Æ „good“ (01)
Æ „good“ (01)
Æ „bad“ (11)
Æ „bad“ (11)
Æ „unknown“ (00)
„good“
(01)
und
„bad“
(11)
Æ Implementierungsache
Ein Slave, welcher sich in einem aktivierten AFH-Reporting-Mode befindet, übermittelt
fortlaufend dem Master, in seinem vorgegebenen Zeitintervall, seine Channel-Classification
(PDU). Dies tut er solange, bis der Master das CC-Reporting deaktiviert.
Abbildung 4.3 – LMP Channel Classification Befehle
Wann und ob ein Master überhaupt die regionalen Kanaleinstufungen von Slaves, bei seiner
Erstellung der AFH-Channel-Map, in Anspruch nimmt, ist von der Spezifikation nicht
vorgeschrieben und somit ist die Implementierung dem Hersteller überlassen. Darüber hinaus
sind auch keine Festlegungen für den Algorithmus der AFH-Channel-Map-Generierung
getroffen, doch darf die Mindestzahl von 20 erlaubten Kanälen nicht unterschritten werden.
4.4 Channel-Map-Übermittlung und Aktivierung von AFH
Die fertig generierte AFH-Channel-Map (ChM) besteht aus 79 1-Bit-Feldern wobei jedes Feld
den Wert „0“ für entsprechender Kanal ist erlaubt (used) oder „1“ für verboten (unused)
enthält. Diese wird anschließend vom Master über den LMP-Befehl „LMP_set_AFH“-PDU
einzeln an alle AFH-tauglichen Slaves seines Piko-Netzes gesendet. Diese Slave-spezifische
PDU enthält folgende Kommandos:
• AFH_Instant:
Wert für den Zeitpunkt der Übernahme der neuen ChM
(welche zeitgleich im gesamten Piko-Netz erfolgen muss)
76
• AFH_Mode:
• AFH_Channel_Map:
AFH-Aktivierung oder -Deaktivierung für diesen Slave
(Verbindungsaufbau mit v1.1-Frequnzauswahl und
anschließende Aktivierung von AFH möglich);
enthält aktuelle ChM;
Nachdem alle AFH-aktivierten Transceiver nun über die aktualisierte Kanalliste verfügen,
muss jeder einzelne seine Sprungreihenfolge zum vorgegebenen Zeitpunkt so abändern, dass
die verbotenen Kanäle ausgelassen werden (Hop Sequence Modification).
Diese Modifikation erfolgt nach einem bestimmten Algorithmus, wodurch sichergestellt wird,
dass alle Teilnehmer in Zeit und Frequenz synchronisiert bleiben.
4.4.1. Frequenzauswahl
Der so genannte Adapted-Hop-Selection-Kernel, welcher die Frequenz (Kanal) für den
nächsten Zeitschlitz bestimmt, basiert auf dem bewährten Kernel von Bluetooth 1.1
(unverändert übernommen), welcher durch eine Re-Mapping-Funktion ergänzt wurde. Alle
Inputs des adaptiven Sprung-Auswahl-Kernels, mit Ausnahme der hinzugefügten Kanalliste,
sind identisch mit dem nicht-adaptiven der Version 1.1. Die folgende Abbildung zeigt den
Ablaufplan, wie dieser neue Kernel, unter Berücksichtigung der AFH-Channel-Map, die
Auswahl des nächsten zu nutzenden Kanals trifft.
Quelle: Bluetooth 1.2 Core Specification
Abbildung 4.4 – Frequenzwahl bei AFH
Der Ablauf der Bestimmung eines Frequenz-Kanals ist wie folgt:
Der grundlegende Hop-Selection-Kernel 1.1 wählt pseudo-zufällig (aus GeräteAdresse des Masters abgeleitet) einen Kanal fk. Dieser wird anschließend einer
Abfrage unterzogen, ob er zu dem gegebenen Satz von nutzbaren Kanälen in der
AFH-Channel-Map zählt. Das Ergebnis entscheidet ob die Re-Mapping-Funktion
angewendet werden muss:
fk ist ein zulässiger Kanal Æ fk wird für den nächsten Zeitschlitz genutzt
77
fk ist ein verbotener KanalÆ durch einen bestimmten Algorithmus (Bluetooth
1.2 Core Specification Vol 2 Part B Seite 78)
wird aus dem gegebenen Satz erlaubter Kanäle
ein alternativer Kanal fk’ gewählt, der für den
nächsten Zeitschlitz verwendet wird.
4.4.2. Nicht-adaptive Slaves
Aus den vorangegangenen Ausführungen wird ersichtlich, dass die nicht-adaptive
Sprungsequenz immer mit der adaptiven identisch ist, sobald erlaubte Kanäle durch den 1.1er
Hopping-Kernel generiert werden. Diese Eigenschaft ermöglicht es nicht-adaptiven Slaves
eines Piko-Netzes synchronisiert zu bleiben, wobei die restlichen Slaves die adaptive
Sprungsequenz nutzen. (Das Piko-Netz ist nun durch eine adaptive und eine nichtadaptive
Sprungsequenz charakterisiert.)
4.4.3. Anmerkung
Es ist von bedeutender Notwendigkeit, dass ein Master die Channel-Map in bestimmten
Zeitabständen aktualisiert. Dadurch wird erst eine adaptive Abänderung der Sprungsequenz
eines Piko-Netzes, als Reaktion auf Veränderungen in dessen Einsatzumgebung
(Interferenzquellen hinzu oder weg), möglich.
Nationale Restriktionen bezüglich des ISM-Frequenzbandes werden bereits über den HostController in die Kanalklassifikation übernommen. Für diesen Zweck existiert der HCI-Befehl
HCI_Read_Country_Code. Dieser definiert in welchem Bereich des Frequenzbandes im
jeweiligen Land Bluetooth operieren darf. Die bisherige Forderung nach einer 23-KanalSprungsequenz in Ländern wie z.B. Frankreich und Japan konnte somit verworfen werden,
wobei Japan zwischenzeitlich (in der Bluetooth-Spezifikation) nicht mehr als Land mit
Frequenzbeschränkungen genannt wird.
4.5 Same Channel Method
Während des Einsatzes von AFH wird von der Bluetooth-Spezifikation 1.2 eine
Gerätekommunikation nach der Same-Channel-Method zwingend vorgeschrieben.
Hierbei findet die Übertragung eines Master-zu-Slave-Paketes und dessen unmittelbar
folgenden Slave-zu-Master-Paketes auf demselben Kanal (gleiche Frequenz), und nicht wie
gewohnt auf verschiedenen Kanälen, statt. Folgende Illustration soll diesen Sachverhalt näher
verdeutlichen.
78
Quelle: Bluetooth 1.2 Core Specification
Abbildung 4.5 – Paketsequenz mit gleichen Frequenzen
Durch Anwendung der Same-Channel-Methode reduzieren sich die Frequenzsprünge um 50
Prozent in Bezug auf Single-Slot-Pakete, von ehemals 1600 auf 800 pro Sekunde. Bei
Verwendung von Multi-Slot-Paketen verringert sich die Sprunganzahl je Zeiteinheit noch
zusätzlich. Durch diese Abnahme der Frequenzwechsel wird die Anfälligkeit gegenüber
zufälligen Störern erhöht, wobei der Gewinn dieses Verfahrens zum Ausweichen vor
schmalbandigen permanenten Störungen diesen kleinen Nachteil überwiegt.
Diverse Quellen begründen den Einsatz dieser Kommunikations-Methode mit: „Es soll der
Fall vermieden werden, in dem der Master auf einer ‚guten’ Frequenz gesendet hat und die
Antwort des Slaves auf einer gestörten Frequenz erfolgt, da dies zu zahlreichen
Retransmissionen führt“, was allerdings bereits bei der Kanalauswahl auf Basis der ChM
vermieden werden sollte. Diese Methode kann zur Klassifizirung der Kanäle genutzt werden.
Erhält ein Slave kein oder ein fehlerhaftes Paket auf der ihm (durch die Sprungsequenz)
bekannten Frequenz, kann er diese als gestört in seiner Channel-Classification einordnen
(Packet-Error-Rate). Ebenso verhält es sich mit dem Master, welcher bei einem fehlenden
oder fehlerhaften Antwortpaket des Slaves die verwendete Frequenz ebenfalls als gestört
einstuften und gegebenenfalls auf Channel-Classification-Reports durch die Slaves verzichten
kann.
4.6 Abwärtskompatibilität zu Bluetooth 1.1
Der neue Standard soll zu Bluetooth 1.1 abwärtskompatibel sein. Beispielsweise kann auch
ein Bluetooth-1.1-Gerät, mit seiner nichtadaptiven Sprungsequenz, in einem Piko-Netz
eingebucht sein, wo das rücksichtsvolle Adaptive Frequenzsprung-Verfahren in Benutzung
ist, doch kann es darin nur als Slave agieren. Dies ist dadurch begründet, dass AFH zwingend
einen AFH-fähigen Master voraussetzt, welcher die erlaubten bzw. verbotenen Frequenzen
für die adaptive Sprungsequenz festlegt. Soll ein Bluetooth-1.1-Transceiver als Master eins
Piko-Netzes agieren, kann kein AFH aktiviert werden und Slaves, die AFH unterstützen
könnten, müssen das nichtadaptive Frequenzsprungverfahren anwenden.
79
Abbildungen
ABBILDUNG 1.1 – BLUETOOTH-KANÄLE IM ISM-BAND
ABBILDUNG 1.2 – NATIONALE FREQUENZBESCHRÄNKUNGEN
ABBILDUNG 1.3 – SCHMALBANDIGE STÖRUNG
ABBILDUNG 1.4 – TIME SLOTS
ABBILDUNG 1.5 – MULTISLOT-PAKETE
ABBILDUNG 1.6 – VERNETZUNGSTOPOLOGIEN
ABBILDUNG 1.7 – BETRIEBSMODI
ABBILDUNG 1.8 – SCO-PAKETPERIODEN
ABBILDUNG 1.9 – ACL-PAKETE BEI SCO-VERBINDUNG
ABBILDUNG 1.10 – ACL-PAKETTYPEN
ABBILDUNG 1.11 – ACL-PAKETPERIODEN
ABBILDUNG 1.12 – GERÄTEPAARUNG (SCHEMA)
ABBILDUNG 1.13 – SYMMETRISCHER DATENVERKEHR
ABBILDUNG 1.14 – ASYMMETRISCHER DATENVERKEHR
ABBILDUNG 1.15 – BEISPIEL: WLAN UND BT V1.1 INTERFERENZEN
ABBILDUNG 1.16 – DIE PROTOKOLLARCHITEKTUR
ABBILDUNG 1.17 – ANSCHLUSS AN EINEN HOST
ABBILDUNG 1.18 – AUFBAU BLUETOOTH DEVICE ADRESSE
ABBILDUNG 1.19 – ALLGEMEINER AUFBAU DER PAKETE IN BLUETOOTH
ABBILDUNG 2.1 – MESSANORDNUNG AIRSNIFF
ABBILDUNG 2.2 – SCREENSHOT FTS-STATISTICS DISPLAY
ABBILDUNG 2.3 – SCREENSHOT FTS-FRAME DISPLAY
ABBILDUNG 2.4 – SCREENSHOT FTS-PROTOCOL NAVIGATOR
ABBILDUNG 2.5 – SCREENSHOT FTS-EVENT DISPLAY
ABBILDUNG 2.6 – MSC-FRAME 1-6
ABBILDUNG 2.7 – MSC-FRAME 7-14
ABBILDUNG 2.8 – MSC-FRAME 15-17
ABBILDUNG 2.9 – MSC-FRAME 18-23
ABBILDUNG 2.10 – MSC-FRAME 24
ABBILDUNG 2.11 – MSC-FRAME 25-32
ABBILDUNG 2.12 – MSC-FRAME 33-39
ABBILDUNG 2.13 – MSC-FRAME 40-43
ABBILDUNG 2.14 – MSC-FRAME 44-56
ABBILDUNG 2.15 – MSC-FRAME 57-67
ABBILDUNG 2.16 – MSC-FRAME 68/69
ABBILDUNG 2.17 – MSC-FRAME 70/71
ABBILDUNG 2.18 – MSC-FRAME 72/73
ABBILDUNG 2.19 – MSC-FRAME 74/75
ABBILDUNG 2.20 – MSC-FRAME 76-79
ABBILDUNG 2.21 – REICHWEITENVERGLEICH 1
ABBILDUNG 2.22 – REICHWEITENVERGLEICH 2
ABBILDUNG 2.23 – KANALNUTZUNG, VERLAUF
ABBILDUNG 2.24 – KANALNUTZUNG, HISTOGRAMM
ABBILDUNG 3.1 – BEISPIEL: WLAN UND BT V1.1 INTERFERENZEN
ABBILDUNG 3.2 – MESSAUFBAU WLAN-EINFLUSS
ABBILDUNG 3.3 – ZEITLICHER VERLAUF DER WLAN-STÖRUNG
ABBILDUNG 3.4 – HISTOGRAMM DER WLAN-STÖRUNG
ABBILDUNG 3.5 – MESSAUFBAU MIKROWELLE
ABBILDUNG 3.6 – ZEITLICHER VERLAUF MIKROWELLENSTÖRUNG
ABBILDUNG 3.7 – HISTOGRAMM MIKROWELLENSTÖRUNG
ABBILDUNG 3.8 – PARAMETER DES IPERF-AUFRUFS
ABBILDUNG 3.9 – ANORDNUNG (SCHEMA)
ABBILDUNG 3.10 – KONSTELLATIONEN BEI DURCHSATZMESSUNG
ABBILDUNG 3.11 – AUSWERTUNGSTABELLE ZU α = 180°
ABBILDUNG 3.12 – AUSWERTUNGSTABELLE ZU α = 0°
ABBILDUNG 3.13 – KONSTELLATION BO/WI
ABBILDUNG 3.14 – MESSWERTE IN BO/WI
ABBILDUNG 3.15 – KONSTELLATION BI/WI
ABBILDUNG 3.16 – MESSWERTE BI/WI
ABBILDUNG 3.17 – KONSTELLATION BO/WO
ABBILDUNG 3.18 – MESSWERTE BO/WO
ABBILDUNG 3.19 – KONSTELLATION BI/WO
ABBILDUNG 3.20 – MESSWERTE BI/WO
ABBILDUNG 3.21 – ANORDNUNG CROSS MEASUREMENT 1
ABBILDUNG 3.22 – ANORDNUNG CROSS MEASUREMENT 2
ABBILDUNG 3.23 – DARSTELLUNG FALL 1
ABBILDUNG 3.24 – DARSTELLUNG FALL 2
ABBILDUNG 4.1 – ÜBERLAGERUNG BT UND WLAN
ABBILDUNG 4.2 – AUSWEICHEN VOR WLAN DURCH AFH
ABBILDUNG 4.3 – LMP CHANNEL CLASSIFICATION BEFEHLE
ABBILDUNG 4.4 – FREQUENZWAHL BEI AFH
ABBILDUNG 4.5 – PAKETSEQUENZ MIT GLEICHEN FREQUENZEN
QUELLEN
[1]
Bluetooth Specification - Core Specification v1.0B, 12-1999
www.bluetooth.org/spec/
[2]
Bluetooth Specification - Core Specification v1.1 vol 1, 02-2001
www.bluetooth.org/spec/
[3]
Specification of the Bluetooth System - Core Specification v1.2 vol 0-3, 11-2003
www.bluetooth.org/spec/
[4]
Vertiefungsarbeit Bluetooth, Tobias Stumpp
wi.ba-loerrach.de/~karguti/Arbeiten/Vertiefung/4_VT_Bluetooth_Stumpp.pdf
[5]
„Eingebettete Systeme – Bluetooth“ - Lothar Thiele, Jan Beutel
www.tik.ee.ethz.ch/tik/education/lectures/ES/WS00/Bluetooth.pdf
[6]
„Bluetooth”, Martin Pradella
www.uni-weimar.de/~pradella/mymobile/mm_bluetooth.htm
[7]
„Was ist Bluetooth?“ Jörn Stuphorn
www.holtmann.org/lecture/bluetooth/
[8]
Bluetooth - Universelle Funktechnologie zur Kommunikation
www.avm.de
[9]
„Enhancing ISM Band Performance Using AFH”, Eric Meihofer
www.motorola.com/semiconductors/
[10] „Adaptive Frequency Hopping for Reduced Interference between Bluetooth® and
Wireless LAN” – white paper, Charles Hodgdon, Fa. Ericsson
[11] The Bluetooth Special Interest Group (SIG): BLUETOOTH SPECIFICATIONS
www.bluetooth.com
[12] „Bluetooth - Connect Without Cables”, Jennifer Bray, Charles F. Sturman
[13] „Bluetooth - Überblick über Techniken, Gerätespektrum, Zukunftsaussichten“,
Ayhan Cil
[14] „Bluetooth Protocol Architecture”, Sachin Garg – VLSI-EDA
[15] „Mobile Systeme und drahtlose Netzwerke“, Frank Golatowki – Vorlesung an
Universität Rostock
wiss.informatik.uni-rostock.de/standard/ieee802.15.html
[16] „Bluetooth - Gefährdungen und Sicherheitsmaßnahmen“, Bundesamt für Sicherheit
in der Informationstechnik, Projektgruppe "Local Wireless Communication"
www.bsi.de/literat/doc/bluetooth/
[17] Ausarbeitung zum Proseminar IBM-PC (SS 2000), Martin Kirst - Technische
Universität Chemnitz, Fakultät für Informatik
www-user.tu-chemnitz.de/~kirst/prosem/docs/main.htm
[18] Informationen zum Standard Bluetooth und der Arbeit der IEEE802.15-Taskgroups
grouper.ieee.org/groups/802/15/
[19] Carmeq Software & Systems – Introduction to Bluetooth, Kirsten Metheus, 06-2003
www.dcl.hpi.uni-potsdam.de/teaching/ mobilitySem03/slides/BluetoothTutorial.pdf
Weiterführende Informationen rund um den Standard Bluetooth und seine Auswirkungen:
http://www.tecchannel.de/hardware/724/index.html
http://www.de.tomshardware.com/network/20030319/bluetooth-ueberblick-01.html
http://www.allesklar.de/l.php?xref_path=100-532-1014-28316-84135
http://www.tecchannel.de/hardware/477/index.html
http://www.tecchannel.de/netzwerk/networkworld/technologyupdate/174/
http://www.embeddedstar.com/press/content/2003/6/embedded9078.html
http://www.eetimesnetwork.com/
http://www.bluetooth.com/news/releases.asp?A=2&PID=995&ARC=1
http://www.bluetooth.com/news/releases.asp?A=2&PID=870&ARC=1&ofs=
http://www.dslweb.de/Bluetooth-1-20-gestartet--news.htm
http://www.heise.de/mobil/newsticker/meldung/print/37364
http://www.tecchannel.de/news/20020613/thema20020613-7813.html
http://www.geek.com/news/geeknews/2002Jul/bpd20020708015276.htm
http://www.mwee.com/printableArticle/?doc_id=OEG20020611S0033
http://internet.motlabs.com/pipermail/bluetooth/2001-February/000031.html
http://www.802wirelessworld.com/index.jsp