Praktikumsversuch Bluetooth -...

25
Praktikumsversuch Bluetooth Dr.-Ing. Maik Debes M.Sc. Markus Hager Dipl.-Ing. Karsten Renhak 30. Oktober 2015

Transcript of Praktikumsversuch Bluetooth -...

PraktikumsversuchBluetooth

Dr.-Ing. Maik DebesM.Sc. Markus Hager

Dipl.-Ing. Karsten Renhak

30. Oktober 2015

Inhaltsverzeichnis i

Inhaltsverzeichnis

1 Versuchsziel 1

2 Allgemeines 1

3 Der Bluetooth Protocol Stack 23.1 Das Basisband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3.1.1 Der Link Controller . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.2 Frequenzen und Kanäle . . . . . . . . . . . . . . . . . . . . . . . 2

3.2 Das Host Controller Interface (HCI) . . . . . . . . . . . . . . . . . . . . 33.3 Das Link Manager Protocol (LMP) . . . . . . . . . . . . . . . . . . . . 33.4 Das Logical Link Control and Adaptation Protocol (L2CAP) . . . . . . 33.5 Das Service Discovery Protocol (SDP) . . . . . . . . . . . . . . . . . . 33.6 Serial Port Emulation (RFCOMM) . . . . . . . . . . . . . . . . . . . . 33.7 Bluetooth Network Encapsulation Protocol (BNEP) . . . . . . . . . . . 43.8 Weitere Protokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.9 Piconets und Scatternets . . . . . . . . . . . . . . . . . . . . . . . . . . 43.10 Verbindungsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.10.1 SCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.10.2 ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Bluetooth-Profile 54.1 Generic Access Profile (GAP) . . . . . . . . . . . . . . . . . . . . . . . 64.2 Personal Area Network (PAN) . . . . . . . . . . . . . . . . . . . . . . . 64.3 Serial Port Profile (SPP) . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5 Pairing 6

6 Vergleich der verschiedenen Bluetooth-Versionen 7

7 Versuchsaufbau 87.1 Der Bluetooth Protokollanalysator . . . . . . . . . . . . . . . . . . . . 87.2 Erklärung zu den verwendeten Kommandos . . . . . . . . . . . . . . . 97.3 Hinweise zur PC-Bedienung . . . . . . . . . . . . . . . . . . . . . . . . 107.4 Übersicht der Bluetooth-Dongles . . . . . . . . . . . . . . . . . . . . . 11

8 Vorbereitungsaufgaben 12

9 Häufig verwendete Kommandos 13

10 Praktikumsaufgaben 14

Abkürzungsverzeichnis 22

Literatur 23

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

1 Versuchsziel 1

1 VersuchszielIn diesem Versuch soll grundlegendes Wissen zum Thema Bluetooth vermittelt und ge-festigt werden. Mit Hilfe von Bluetooth-Geräten werden Versuche durchgeführt, die dieEigenschaften und Besonderheiten von Bluetooth verdeutlichen. Dazu zählen vor allemdie Koexistenz von Bluetooth- und WLAN-Geräten sowie das Bluetooth-Protokoll, dasmit dem BPA500 Bluetooth-Analysator ausgewertet wird.

2 AllgemeinesBluetooth ist eine Technik zur drahtlosen Verbindung von Geräten. Durch fertige Ein-Chip-Lösungen sind sehr preisgünstige Implementationen möglich. Bluetooth ist keinproprietäres Verfahren sondern ein offener Standard, der gesicherte Verbindungen zwi-schen Geräten wie Druckern, PCs, Smartphones, Headsets usw. ermöglicht. Auch dasEinbinden von Geräten in Netze oder der Aufbau von Ad-Hoc-Netzen wird von Blue-tooth unterstützt.

Namensgeber: Harald Blåtand (dänisch für Blauzahn) (geb. um 910, gest. 1.11.986)vereinte 983 Dänemark und Norwegen.

Geschichtliche Entwicklung [6]:1994 Erste Untersuchungen bzgl. kabelloser Geräteverbindungen von EricssonFeb. 1998 Gründung der Bluetooth SIG (Special Interest Group)20.05.1998 Offizielle Ankündigung von Bluetooth26.06.1999 Bluetooth 1.0a01.12.1999 Bluetooth 1.0b01.12.2000 Bluetooth 1.105.11.2003 Bluetooth 1.208.11.2004 Bluetooth 2.001.08.2007 Bluetooth 2.121.04.2009 Bluetooth 3.030.06.2010 Bluetooth 4.0

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

3 Der Bluetooth Protocol Stack 2

3 Der Bluetooth Protocol StackDer Bluetooth-Protokollstapel stellt das Regelwerk dar, nach dem sich alle Bluetooth-Geräte richten müssen. Er enthält alle standardisierten Protokolle und Schnittstellen(Siehe Abbildung 1).Die Identifikation eines Bluetooth-Gerätes erfolgt über seine Adresse. Diese ist, ähn-

lich wie die MAC-Adresse bei Ethernet, sechs Byte lang und hat folgende hexadezimaleDarstellungsform: 01:23:45:67:89:AB.

LMP

L2CAP

RFCOMM BNEP TCSSDP

Audio

SC

O

AC

L

HCI

wei

tere

Pro

toko

lle

Anwendung

PPP TCP/IP

So

ftw

are

Pro

toko

lleB

luet

oo

th

Bluetooth Radio / RF

Har

dw

are Link Controller

Baseband

Abbildung 1: Hierarchie des Bluetooth-Protokollstapels [4]

3.1 Das BasisbandDas Basisband ist die physikalische Schicht des Stacks. Es enthält den RF Sende- undEmpfangsteil.

3.1.1 Der Link Controller

Der Link Controller steuert die Funkkanäle, die Frequenzwechsel und die Funkverbin-dungen. Zu seinen Aufgaben gehören auch die Fehlerkorrektur (Forward Error Correc-tion FEC) und das Data-Whitening (Mischung der Bits eines Pakets, um kurze 0 bzw.1 Sequenzen zu erzeugen).

3.1.2 Frequenzen und Kanäle

Bluetooth funkt bei 2,4 GHz im lizenzfreien ISM-Band (Industrial Scientific Medical).Die in Deutschland zur Verfügung stehende Bandbreite von 83.5 MHz (in anderenLändern teilweise eingeschränkt) wird auf 79 RF Kanäle im Abstand von 1 MHz auf-geteilt. Die Datenübertragung erfolgt mit TDD (Time Division Duplex). Es sind beiBluetooth 1.1 und 1.2 Übertragungsraten bis zu 1 MBit/s, bei Bluetooth 2.0 sogar 3MBit/s, bei einer Reichweite von 10 cm bis 100 m erreichbar. Die Version 3.0+HS kann

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

3 Der Bluetooth Protocol Stack 3

im Highspeed-Modus sogar bis zu 24 MBit/s erreichen (im Bluetooth-Modus hingegenweiterhin 3 MBit/s).Bluetooth (bis Version 1.1) nutzt Frequency Hopping Spread Spectrum (FHSS).

Das heißt, nach jedem Paket wird die Frequenz, durch Pseudozufallszahlen gesteuert,gewechselt (1600 mal pro Sekunde). Dies ermöglicht eine geringe Störempfindlichkeitdurch schmalbandige Störer (z.B. WLAN) und erschwert das Abhören der Kommuni-kation.Seit Bluetooth Version 1.2 wird statt FHSS das so genannte Adaptive Frequency

Hopping (AFH) verwendet. Zusätzlich zur Funktionalität von FHSS ermöglicht AFHden Ausschluss von bestimmten Kanälen aus der Sprungsequenz, falls diese von anderenGeräten (z.B. WLAN 802.11b/g) belegt bzw. gestört werden.

3.2 Das Host Controller Interface (HCI)Das HCI ist das Command-Interface für den Link-Manager und den Basisband-Con-troller. Es stellt einheitliche Zugriffsmethoden auf Basisbandfunktionen zur Verfügung,indem es für die elektrische/physikalische Ansteuerung der Hardwareschnittstelle sorgt,mit der das Endgerät das Bluetooth-Device ansteuert. Bei einer Bluetooth-PC-Cardist dies zum Beispiel der Cardbus-Steckplatz bzw. Cardbus-Controller im Notebook.

3.3 Das Link Manager Protocol (LMP)Das LMP ist für Verbindungssetup und -aufbau, Sicherheit, Identifikation und die Ver-bindungskontrolle zuständig. Es regelt unter anderem die Aushandlung von Paketgröße,RF-Sendeleistung und die Verwaltung des Piconets.

3.4 Das Logical Link Control and Adaptation Protocol (L2CAP)Neben der Unterscheidung von Protokollen höherer Ebenen (z.B. RFCOMM, BNEP,SDP) die auf dem L2CAP aufsetzen, übernimmt es auch die Übermittlung von Qualityof Service Informationen zwischen kommunizierenden Geräten.Da die maximale Nutzdatengröße pro Paket 341 Byte beträgt, müssen größere Da-

tenmengen in entsprechende Teile zerlegt bzw. wieder zusammengefügt werden (Seg-mentierung, Reassemblierung). Dies ist ebenfalls eine Aufgabe des L2CAP.

3.5 Das Service Discovery Protocol (SDP)Das SDP ermöglicht es Anwendungen, zur Verfügung stehende Dienste und deren Cha-rakteristika herauszufinden.Das SDP ist notwendig, da Bluetooth in dynamischer Umgebung arbeitet. Das be-

deutet, die angebotenen Dienste können sich unterscheiden und geändert werden. DesWeiteren können die Dienstanbieter außer Reichweite geraten.

3.6 Serial Port Emulation (RFCOMM)RFCOMM (Radio Frequency Comport Emulation) emuliert serielle Schnittstellen überBluetooth und stellt so ein einfaches Transportprotokoll zur Verfügung. Es werdenbis zu 60 simultane Verbindungen zwischen 2 Bluetooth-Geräten unterstützt. VieleProtokolle höher liegender Schichten bauen auf dem RFCOMM-Protokoll auf.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

3 Der Bluetooth Protocol Stack 4

3.7 Bluetooth Network Encapsulation Protocol (BNEP)BNEP steuert den einheitlichen Transport von Netzwerkpaketen über eine Bluetooth-Verbindung. Dabei hat es bezüglich des Internetprotokolls (IP) die gleiche Funktion,die in Ethernet-Netzwerken von MAC (Media Access Control) übernommen wird.Auf BNEP setzen weitere netzwerktypische Protokolle wie TCP, UDP, ICMP uvm.

auf.

3.8 Weitere ProtokolleIm Bluetooth-Standard sind noch andere Protokolle, wie z.B. OBEX (Object ExchangeProtocol) und TCS (Telephony Control Specification) definiert. Für zusätzliche Infor-mationen siehe [1][2][3][4][5].

3.9 Piconets und ScatternetsKommunizierende Bluetooth-Geräte bilden ein so genanntes Piconetz. Dabei fungiertgenau ein Gerät als Master, alle anderen Teilnehmer werden als Slave bezeichnet. DieSlaves können nicht direkt miteinander in Verbindung treten. Alle Daten müssen überden Master, der die gesamte Datenübertragung eines Piconetzes koordiniert, gesendetwerden.Es können sich bis zu 255 Slaves in einem Piconetz anmelden, wobei nur sieben Slaves

gleichzeitig aktiv Daten senden können. Da der Master immer aktiv sein muss, könnenmaximal acht Geräte gleichzeitig kommunizieren.Ein Bluetooth-Gerät kann Mitglied in mehreren Piconetzen sein, jedoch Master nur

in einem. Piconetze können durch die Verknüpfung über ein Bluetooth-Gerät zu sogenannten Scatternetzen zusammengeschlossen werden (siehe Abbildung 2).

Slave 1.1

Master 1Master 2

Slave 1.2/2.1 Slave 2.4

Slave 2.3

Slave 2.2

Piconet 1

Piconet 2

Scatternet

Abbildung 2: Piconet und Scatternet

Mit der Version 4.0 wurde allerdings von Scatternet auf eine Star-Bus-Topologie

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

4 Bluetooth-Profile 5

übergegangen. Damit können theoretisch unendlich viele Slaves gleichzeitig mit einemMaster kommunizieren (statt 7 wie in der alten Topologie)

3.10 VerbindungsartenBluetooth unterstützt sowohl verbindungsorientierte als auch verbindungslose Daten-dienste. Im Basisband stehen zwei Verbindungsarten zur Verfügung: SCO (SynchronousConnection-Oriented) und ACL (Asynchronous Connection-Less).

3.10.1 SCO

Bei diesem Übertragungsmodus erfolgt eine feste Reservierung von Zeitschlitzen wo-durch eine leitungsvermittelte Verbindung zwischen Master und Slave möglich ist. Essind maximal 3 synchrone Kanäle mit je 64 kBit/s zulässig, wobei die Datenrate proKanal fest reserviert und sowohl in Sende- als auch in Empfangsrichtung gleich großist.SCO ist sehr gut für die zeitkritische Übertragung isochroner Datenströme geeignet

und kommt beispielsweise bei der Sprachübertragung zum Einsatz.

3.10.2 ACL

Im Gegensatz zu SCO bietet dieser asynchrone verbindungslose Übertragungsmoduseine paketorientierte Punkt-zu-Mehrpunktverbindung. Für den ACL-Kanal verbleibtdie restliche Datenrate nach Abzug der maximal drei reservierbaren SCO-Kanäle. DieACL-Daten werden in den nicht für SCO reservierten Zeitschlitzen übertragen. Sindkeine Zeitschlitze für SCO reserviert, so steht dem ACL-Kanal die gesamte Datenratezur Verfügung.Über den ACL-Kanal werden unter anderem Nutzer- oder Steuerdaten übertragen,

außerdem unterstützt er Best-Effort-Verbindungen.

4 Bluetooth-ProfileDie Unterstützung eines Bluetooth-Profils befähigt ein Bluetooth-Gerät zur Bewälti-gung einer bestimmten Aufgabe bzw. eines bestimmten Anwendungsfalles. Zwei kom-munizierende Geräte müssen immer beide das gleiche Profil unterstützen, um die ge-stellte Aufgabe zusammen bewältigen zu können. Neben der Unterstützung des gleichenProfils muss auch die Rollenverteilung beider Geräte zueinander passen. Das bedeutet,ein Gerät stellt eine Aufgabe und der Kommunikationspartner kann diese lösen. DaBluetooth-Geräte ihre Unterstützung für verschiedene Profile anzeigen können, ist eingezieltes Suchen nach passenden Partnern möglich.Die Profile und ihre Rollenzuordnung sind im Bluetooth-Standard festgelegt. Es

existieren bereits über 30 Profile, wobei die Liste kontinuierlich erweitert wird. Eswerden bereits eine Vielzahl von Anwendungen unterstützt, dazu zählen die Bildungvon privaten Netzwerken, der Internetzugang über DSL und ISDN, der Datenaustauschzwischen PDA und PC uvm.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

5 Pairing 6

4.1 Generic Access Profile (GAP)Das GAP muss auf jedem Bluetoothgerät implementiert sein. Es beschreibt den Ver-bindungsaufbau und -status, das Verhalten im Standby-Modus, regelt die Verarbeitungweiterer spezifischer Profile und die Sicherheitsprozeduren (z.B: PIN-Austausch).

4.2 Personal Area Network (PAN)Das Netzwerk-Profil PAN ermöglicht den Aufbau von kleinen Netzwerken. In einemAd-Hoc-Netzwerk können bis zu acht Teilnehmer aktiv miteinander kommunizieren.Die Nutzung gemeinsamer Ressourcen wie Druckern, Festplatten oder eines Inter-

netzugangs ist ähnlich wie in einem lokalen Netzwerk (LAN) möglich.

4.3 Serial Port Profile (SPP)Das Serial-Port-Profil unterstützt den Aufbau serieller Verbindungen zwischen zweiBluetooth-Geräten. Die Datenübertragung erfolgt dabei über das RFCOMM-Protokoll.Das SPP eignet sich zum Beispiel für die Kommunikation mit Bluetooth-Modems

oder Mobiltelefonen.

5 PairingDas Pairing (dt. Paarung) ist die Verbindungsaufbauprozedur zwischen Bluetooth-Ge-räten. Es dient zur Überprüfung der Zutrittsberechtigung zu einem Piconetz. Währendder Paarung ist die Eingabe der so genannten Bluetooth-PIN nötig. Bei beiden Gerä-ten muss die gleiche PIN verwendet werden, da diese unter anderem zur Erzeugungdes 128 Bit langen Verbindungsschlüssels genutzt wird. Dieser Schlüssel wird in beidenGeräten für zukünftige Verbindungen gespeichert. Das heißt, eine Paarung ist nur beimersten Verbindungsaufbau zweier Geräte notwendig. Bei jedem weiteren Verbindungs-aufbau wird statt der PIN nur noch der Verbindungsschlüssel als Zugangsberechtigungüberprüft.Neben dem Verbindungsschlüssel, der ausschließlich der Prüfung der Zugangsberech-

tigung dient, wird noch ein weiterer Schlüssel mit einer Länge zwischen 8 und 128 Biterzeugt. Er wird für die Sicherung der zu übertragenden Daten genutzt und muss fürjede Sitzung neu ausgehandelt werden.Diese Methode des Pairing wurde jedoch mit der Version 2.1 überarbeitet: Die Blue-

tooth SIG wollte die Komplexität (aus Sicht des Nutzers) senken und gleichzeitig dieSicherheit erhöhen. Dies geschieht mit dem Secure Simple Pairing (SSP): Die Paarungist nun einfacher, da keine PIN mehr eingegeben werden muss. Dennoch ist die Verbin-dung gleichzeitig abhörsicherer; denn bisher genügte es einem Abhörer, die (meist nur4-stellige) PIN zu kennen um den Verbindungsschlüssel zu berechnen. Beim SSP wirdstattdessen der Elliptic-Curve-DiffieHellmann-Algorithmus zur Schlüsselerzeugung ge-nutzt, welcher zur Berechnung sog. public keys und private keys verwendet wird: Dieprivate keys werden niemals über die Luftschnittstelle übertragen und ohne diese istes für einen Abhörer unmöglich den Verbindungsschlüssel zu berechnen. Die gepaartenGeräte hingegeben können jeweils anhand der eigenen private keys und der übertrage-nen public keys den gleichen Verbindungsschlüssel berechnen.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

6 Vergleich der verschiedenen Bluetooth-Versionen 7

6 Vergleich der verschiedenen Bluetooth-VersionenBluetooth 1.0a und 1.0b waren die ersten von der Bluetooth-SIG freigegebenen Versio-nen. Da diese noch viele schwerwiegende Probleme aufwiesen wurde ein Jahr später dieVersion 1.1 veröffentlicht. Diese hatte in etwa den gleichen Funktionsumfang wie dieVorgängerversionen, war aber nicht abwärtskompatibel zu ihnen. Es wurden allerdingsviele Probleme beseitigt.Bluetooth 1.2 als Weiterentwicklung von Version 1.1 bringt neben der Beseitigung

von kleineren Problemen auch neue Funktionen mit sich. Die wichtigsten Neuerun-gen sind eQoS (enhanced Quality of Service), eSCO (enhanced Synchron ConnectionOriented) und AFH (Adaptive Frequency Hopping). Durch diese Zusätze sollen einebessere Fehlererkennung und bessere Übertragungseigenschaften erreicht werden. MitAFH soll außerdem die gleichzeitige Nutzung verschiedener Geräte im ISM-Band ver-bessert werden. Bluetooth 1.2 ist abwärtskompatibel zu Version 1.1.Bluetooth 2.0 wurde am 08. November 2004 offiziell von der Bluetooth-SIG freige-

geben. Als wichtigste Neuerungen sind die erhöhte Datenrate EDR (Enhanced DataRate) von bis zu 3 MBit/s, der verminderte Energieverbrauch und eine weiter ver-besserte Fehlerkorrektur zu nennen. Auch Bluetooth 2.0 ist abwärtskompatibel zu denVersionen 1.2 und 1.1.Mit Bluetooth 2.1 wurden August 2007 unter anderem neue Funktionen zum verein-

fachten und sichereren Pairing (Secure Simple Pairing) spezifiziert. Weiterhin wurdenFunktionen des Nahfunkstandard NFC (Near Field Communication) integriert. Hiermitkann zum Beispiel das bargeldlose Bezahlen von Fahrscheinen realisiert werden. Auchdiese Revision des Funkstandards ist vollständig abwärtskompatibel zu den Versionen2.0, 1.2 und 1.1.Im April 2009 wurde die Bluetooth Spezifikation 3.0 veröffentlicht. Die wichtigs-

ten Neuerungen sind hierbei das Enhanced Power Control, welches für ein effiziente-res Energiemanagement sorgt und damit die Anzahl der energieverbrauchenden Dis-connects reduziert. Mit dem Feature Unicast Connectionless Data können Daten ohneBerücksichtigung der L2CAP-Schicht übertragen werden - allerdings nur dann, wennwenig Daten übertragen werden und eine geringe Latenzzeit wichtig ist. Eine beson-dere Neuerung stellt jedoch die Integration eines Highspeed-Kanals dar: Neben derBluetooth-Übertragungstechnik wurde der 802.11g-Standard integriert (ein Bluetooth3.0+HS Dongle enthält daher sowohl einen Bluetooth- als auch einenWLAN-Chip). DieVerbindung zwischen Protokollstapel und Funktechnik wurde aufgehoben, sodass derneu eingeführte Alternate MAC/PHY Manager zwischen den beiden Controllern wäh-len kann: Bei großen Datenmengen wird automatisch die WLAN-Technologie (PAL)verwendet und ansonsten immer die stromsparendere Bluetoothfunktechnik (HCI).Auch Bluetooth 3.0 ist abwärtskompatibel.Die aktuellste Version, Bluetooth 4.0, wurde im Juni 2010 veröffentlicht und bietet

einen deutlich verringerten Energieverbrauch sowie eine 128 Bit AES-Verschlüsselung.Da sich der Host die meiste Zeit im „Sleep“-Modus befindet, genügt eine Knopfzelle umden Chip über Jahre hinweg mit Energie versorgen zu können. Allerdings gibt es in derneuen Version nun zwei Gerätetypen: „Bluetooth Smart Ready“ ist abwärtskompatibelund findet sich in allen Geräten mit einer „Nutzeroberfläche“ (z.B. Handys, Notebooks)wieder. „Bluetooth Smart“ hingegen kann nur mit Geräten der Version 4.0 kommuni-zieren und besitzt keine direkte Nutzeroberfläche: Hauptsächlich Sensoren (vor allemim Sport- und medizinischen Bereich) werden damit ausgestattet. Durch die neue Star-

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

7 Versuchsaufbau 8

Bus Topologie können zudem eine Vielzahl von Sensoren mit einem Master gleichzeitigkommunizieren.

7 Versuchsaufbau

Abbildung 3: Schematische Darstellung des Versuchsaufbaus

Die beiden Rechner „bluetooth1“ und „blutooth2“ (1) können mit Bluetooth- undWLAN-Geräten ausgestattet werden. Zwischen ihnen werden die Datenverbindungenaufgebaut. Beide Geräte verwenden ein Linux-Betriebssystem und sind über Komman-dozeile konfigurierbar. Nach dem Start der Rechner stehen drei Fenster zur Komman-doeingabe und zum Starten verschiedener Programme bereit. Das vierte Fenster zeigtStatusinformationen an.Ein manuelles Paaren der beiden Rechner beim Aufbau von Bluetooth-Verbindungen

sowie eine PIN-Eingabe sind nicht nötig, da beide Geräte bereits entsprechend vorkon-figuriert sind. Lediglich die 3.0+HS Dongles wurden dem SSP entsprechend gepaart.

7.1 Der Bluetooth ProtokollanalysatorDer Bluetooth-Protokollanalysator BPA500 von Frontline Test Equipment ist zwischenden beiden Bluetooth-Rechnern (siehe Abbildung 3), positioniert. Die Bluetooth-Pa-kete werden an der Luftschnittstelle von der so genannten Comprobe mitgelesen undvon der Software ausgewertet.Zur Auswertung einer Bluetooth-Verbindung muss zunächst die Analysator-Software

durch Doppelklick auf das „Frontline ComProbe Protocol Analysis System“-Icon aufdem Windows-Desktop gestartet werden.Als Synchronisationsmodus wird „Classic Only Single Connection“ ausgewählt.Über den „Discover Devices“-Button kann nach in der Nähe befindlichen Gerätengesucht werden: Aktivieren Sie hierzu zunächst die Sichtbarkeit beider Geräte mit demKommando hciconfig hci0 piscan bevor Sie nach Geräten suchen! bluetooth1 wird stetsals „Master“ ausgewählt.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

7 Versuchsaufbau 9

Eine Synchronisation kann lediglich während des Verbindungsaufbaus erfolgen. Hier-zu ist als erstes der „Start Sniffing“-Button (im „datasource“-Fenster“) am Ana-lyserechner zu betätigen. Erst danach ist die jeweilige Bluetoothverbindung zwischenden Bluetoothrechnern aufzubauen.Hinweis: Eine bereits aufgebaute Bluetoothverbindung muss erst getrennt und anschlie-ßend neu initiiert werden, um eine Synchronisation mit dem Protokollanalysator zu ge-währleisten. Bei einer erfolgreichen Synchronisation färbt sich das Icon im datasource-Fenster blau.

Im Fenster „Frame Display“ (im Hauptfenster) werden die empfangenen Paketeim oberen Bereich nach Protokollen sortiert dargestellt. Im linken Bereich findet mannähere Details und im rechten Bereich den Dateninhalt eines ausgewählten Pakets.

Der „Statistics Display“-Button ïm Hauptfenster gibt eine Übersicht über die An-zahl empfangener Pakete und Datenmengen. Dabei wird unter anderem nach verschie-denen Framegrößen, Durchsatzraten und fehlerhafter bzw. erneut gesendeter Framesaufgeschlüsselt.Das Fenster enthält Statistiken zu jedem der 79 RF-Kanäle. Durch einen Mausklickauf eines der Balkendiagramme oder des „Total“-Tortendiagramms, werden detaillierteInformationen zum jeweiligen RF-Kanal angezeigt.Der „Reset“-Button ermöglicht ein manuelles Rücksetzten der Statistik.

7.2 Erklärung zu den verwendeten Kommandos• sdptool

Über sdptool können mit der Option „add“ Dienste zur Anzeige durch das SDPhinzugefügt werden. Die Option „browse“ ermöglicht das Abfragen der von einemGerät angebotenen Dienste.

• rfcommMit diesem Programm lassen sich serielle Bluetooth-Verbindungen herstellen. Da-bei kann der Dienst mit „listen“ angeboten, bzw. mit „connect“ in Anspruchgenommen werden.

• hcitoolDie Konfiguration bzw. die Anzeige von Informationen Bluetooth-Geräte und-Verbindungen betreffend wird durch „hcitool“ ermöglicht. Die Option „con“zeigt aktuelle Verbindungen mit der Adresse des Partners, der Rolle und desÜbertraungsmodus an. Mit „scan“ können sich in Reichweite befindliche Gerätegesucht werden.

• minicom„minicom“ ist ein einfaches Terminalprogramm das die Übertragung von ASCII-Zeichen über eine serielle Verbindung ermöglicht.

• catDieses kleine Werkzeug gibt den Inhalt von Dateien aus. Durch Umleitungsopera-toren (<, >, |) kann der so erzeugte Datenstrom weiterverarbeitet oder in andereProgramme eingespeist werden.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

7 Versuchsaufbau 10

• pandDer Aufbau von Netzwerkverbindungen über Bluetooth wird mit „pand“ vorge-nommen. Ähnlich wie bei rfcomm kann der Dienst angeboten oder in Anspruchgenommen werden (Option „-s“ für listen bzw. „-c“ für connect).

• iperf„Iperf“ ist ein Hilfsmittel zur Messung der maximalen Datenraten von Netzwerk-verbindungen. Dazu werden zehn Sekunden lang Daten gesendet und anschlie-ßend aus der Datenmenge und der Zeit die Datenrate berechnet. Die Datenüber-tragung erfolgt über TCP.

• ncMit „nc“ ist der Aufbau von Netzwerkverbindungen möglich. Mit der Option „-l 1337“ wird auf TCP-Port 1337 auf eingehende Verbindungen gewartet. Über„nc <hostname> <port>“ wird eine Verbindung zu einem wartenden Rechnerhergestellt. Daten die übertragen werden sollen können mit „cat“ eingespeistwerden.

• killallMit diesem Befehl können alle Instanzen eines laufenden Programms beendetwerden.

7.3 Hinweise zur PC-BedienungNachdem Sie sich auf den Linux-Rechnern eingeloggt haben, finden Sie vier Terminalsvor. Im rechten unteren Terminal ist die log-Datei „/var/log/messages“ zu sehen, wel-che Statusmeldungen ausgibt. Die anderen drei Terminals können gleichermaßen zurEingabe von Kommandos genutzt werden.

Text, der mit der Maus in einem der Fenster markiert wird, wird automatisch in dieZwischenablage kopiert und kann mit der mittleren Maustaste an der aktuellen Cur-sorposition eingefügt werden (eignet sich gut zum Kopieren der Bluetooth-Adresse).

Kommandos, die bereits einmal in einem Fenster eingegeben wurden, können mit derUP-Cursortaste wieder zurückgeholt werden.

Falls nicht anders angegeben, können laufende Programme mit der Tastenkombina-tion STRG+C beendet werden.

Bei den Aufgaben mit der Durchsatzmessung (mit Verwendung des iperf-Kommandos)ist es wichtig, dass der iperf-Server (welcher die Verbindung anbietet, also die Option-s beinhaltet) auch die eigene IP-Adresse verwendet:bluetooth1bt und bluetooth1wlan sind hierbei Hostnamen für die IP-Adressen des Rech-ners „bluetooth1“. bluetooth2bt und bluetooth2wlan sind Hostnamen für die IP-Adressendes Rechners „bluetooth2“. Auf Client-Seite wird anschließend auf die zur Verfügunggestellte IP-Adresse zugegriffen.

Damit die Bluetooth- und die WLAN-Dongles an den vorderen beiden USB-Buchsennebeneinander Platz finden, sollten Sie für die WLAN-Dongles die beiliegenden USB-Verlängerungskabel verwenden.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

7 Versuchsaufbau 11

Falls die Bluetooth-Geräte nicht vom Protokollanalysator gefunden werden, so kannman alternativ auch die Bluetooth-Adressen in die entsprechende Zeile der Analyse-software eintippen (Geräteadressen über „hcitool dev“ ermitteln).

Aufgrund ihres hohen Alters führen die Bluetooth 1.1 Dongles manchmal zu Proble-men an den Rechnern - in seltenen Fällen sogar zu einem Komplettabsturz der Rechner.Um dem vorzubeugen sollten sämtliche Kommandos nicht zu schnell hintereinander inden PC eingegeben werden, wenn sich ein Bluetooth 1.1 Dongle am Rechner befindet!Auch muss auf das Kommando hcitool dc <BD-ADDR> bei der Arbeit mit die-sen Dongles verzichtet werden, da dies garantiert zu Problemen führt. Sollte einer derRechner trotzdem einmal abstürzen, so bleibt nichts anderes übrig, als den Powerknopfdes Rechners gedrückt zu halten um ein Ausschalten zu erzwingen. Anschließend kannneu hochgefahren werden.

Es kann auch vorkommen, dass sich die Bluetooth-Geräte nicht immer beim 1. Versuchmiteinander verbinden (Achten Sie hiebei auf die „connected“ Meldung im Statusinfor-mationen-Fenster). In diesem Fall: „killall pand“ in der Kommandozeile des Dienstan-bieters eingeben, beide Dongles herausziehen, neu einstecken und erneut verbinden.Speziell bei den Bluetooth 2.0 Dongles gibt es hier manchmal Probleme: Wenn beidiesen auch nach mehreren Versuchen der Verbindungsaufbau nicht zustande kommt,so tauschen sie den Dongle am PC-1 gegen den Dongle von „mumbi“ aus (ebenfallsBluetooth 2.0).

7.4 Übersicht der Bluetooth-Dongles• 2x Acer BT500 Bluetooth 1.1 USB-Dongle

• 2x DeLOCK Bluetooth 2.0 EDR USB-Dongle

• 1x mumbi Bluetooth 2.0 EDR USB-Dongle (nur als Reserve gedacht!)

• 2x Hama Bluetooth 3.0 +HS USB-Dongle

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

8 Vorbereitungsaufgaben 12

• 1x DeLock Bluetooth 3.0 USB-Dongle (für den Windows-Rechner)

• 2x TP-Link WLAN-Dongle

8 Vorbereitungsaufgaben1. Welche der folgenden Bluetooth-Anwendungen würden Sie im ACL- bzw. SCO-

Übertragungsmodus betreiben?• Netzwerkverbindung zwischen vier Notebooks• IP-Telefonie über Headset und PC• Datensynchronisation zwischen Tablet und Smartphone

2. Die maximale Reichweite zweier kommunizierender Geräte ist auf ca. 100 m be-schränkt. Erläutern Sie Möglichkeiten, wie sowohl die Anzahl als auch der Ab-stand der Kommunikationsteilnehmer erhöht werden könnte.

3. Die gleichzeitige Nutzung von WLAN (IEEE 802.11b/g/n) und Bluetooth istgerade in Notebooks üblich. Da beide Standards das ISM-Band zur drahtlosenDatenübertragung nutzen, ist eine gegenseitige Beeinflussung kaum zu vermeiden.Im Gegensatz zu Bluetooth (mit FHSS bzw. AFH) belegt WLAN einen Kanalmit einer Bandbreite von 5 MHz dauerhaft.

Welches der beiden Systeme wird Ihrer Meinung nach, bei gleichzeitiger Nutzung,stärker gestört? (mit Bluetooth Version 1.1)

Welches Ergebnis erwarten Sie bei Nutzung von Bluetooth Version 2.0 statt Ver-sion 1.1?

4. Welchen Vorteil bringt die Standardisierung von Bluetooth-Profilen für bestimm-te Anwendungsfälle gegenüber anderen Systemen (z.B. normalen Funkmäusen)?

5. Warum ist es möglich, die meisten Notebooks, welche mit Bluetooth v2.1 aus-gestattet sind, mittels Softwareupdate auf v3.0+HS aufzurüsten (also ohne neueHardware verbauen zu müssen)?

6. Warum wird der neue Bluetooth 4.0 Standard vor allem für Sensoren (z.B. zurHerzratenmessung) verwendet und mit welchen anderen BT-Versionen kann die-ser kommunizieren?

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

9 Häufig verwendete Kommandos 13

9 Häufig verwendete KommandosDiese Übersicht soll als Nachschlagewerk für häufig verwendete Kommandos und Vor-gehensweisen während der Durchführung der Praktikumsaufgaben dienen.

• eigene Geräteadresse ermitteln:bluetooth1/2: hcitool dev

• RFCOMM-Verbindung aufbauen:bluetooth2: sdptool add SPbluetooth2: rfcomm listen 0 1bluetooth1: rfcomm -r connect 0 <BD-ADDR> 1

• BNEP-Verbindung aufbauen:bluetooth2: sdptool add NAPbluetooth2: pand -s -r NAP -Mbluetooth1: pand -c <BD-ADDR>

• BNEP-Verbindung trennen:bluetooth2: killall pandbluetooth1: hcitool dc <BD-ADDR>

• Durchsatzmessung Bluetooth (funktioniert nur bei aktiver BNEP-Ver-bindung!)

bluetooth2: iperf -s -B bluetooth2btbluetooth1: iperf -c bluetooth2bt

• Durchsatzmessung WLANbluetooth1: iperf -s -B bluetooth1wlanbluetooth2: iperf -c bluetooth1wlan

• Analysesoftware synchronisieren (Mitsniffen der Bluetooth-Verbindung)bluetooth1/2: hciconfig hci0 piscan

In der Analysesoftware über „Discover Devices“ nach den Geräten suchen.„bluetooth1“ als Master und „bluetooth2“ als Slave auswählen.„Start Sniffing“-Button aktivieren.Bluetooth-Verbindung (RFCOMM oder BNEP) herstellen.Darauf achten, dass das Icon in der Analysesoftware blau erscheint.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 14

10 PraktikumsaufgabenBitte lesen Sie sich jede Aufgabe erst ganz durch, bevor Sie mit der Durchführung be-ginnen. (Hinweis: Im Folgenden stellt der Ausdruck <BD-ADDR> einen Platzhalterfür die entfernte Bluetooth-Geräteadresse dar.)

1. Allgemeiner Umgang mit Bluetooth unter LinuxStarten Sie die beiden Linux-Rechner „bluetooth1“ und „bluetooth2“ sowie denWindows-Rechner „bluetooth3“. Die Logindaten erhalten Sie vom Betreuer.

Stecken Sie die Bluetooth 3.0+HS Dongles in die USB-Buchsen der Rechner„bluetooth1“ und „bluetooth2“. Nach dem Einstecken sollte auf allen Rechnernein „Bluetooth“-Logo in der Taskleiste sichtbar sein. Ist dies nicht der Fall: Don-gle herausziehen und erneut einstecken. Ermitteln Sie nun die lokale Bluetooth-Adresse, aktivieren Sie die Sichtbarkeit des lokalen Gerätes (Page & Inquiry Scanaktivieren) und suchen Sie nach entfernten Bluetoothgeräten mittels folgenderKommandos:

bluetooth1/2: hcitool devbluetooth1/2: hciconfig hci0 piscanbluetooth1/2: hcitool scan

Optionale Aufgabe:Wenn Sie ein Bluetooth-fähiges Gerät (Handy, Smartphone o.ä.) bei sich haben,dann lassen Sie sich die Dienste, die ihr Bluetoothgerät anbietet, anzeigen. Schal-ten Sie Bluetooth auf Ihrem Gerät ein und aktivieren Sie die Sichtbarkeit. Alsnächstes wird die Bluetooth-Geräteadresse benötigt: Falls Sie diese nicht findenkönnen, so führen Sie am Linux-Rechner erneut einen Scan aus:

bluetooth1/2: hcitool scan

Der Scan sollte die Adresse Ihres Geräts liefern. Geben Sie nun folgenden Befehlin die Konsole ein:

bluetooth1/2: sdptool browse <BD-ADDR-Ihres-Gerätes>

(a) Welche Profile werden angezeigt und wozu dienen Sie?(Hinweis: Es ist nicht nötig alle Profile exakt zu identifizieren. In den meistenFällen gibt aber bereits der Name eines Profils Aufschluss über dessen Funktion.)

Stellen Sie nun eine serielle RFCOMM-Verbindung zwischen den Rechnern „blue-tooth1“ und „bluetooth2“ her. Geben Sie dazu die nachfolgenden Kommandosin die Eingabeaufforderungen der Bluetooth-Rechner ein. „bluetooth2“ soll alsDienstanbieter und „bluetooth1“ als Dienstnehmer fungieren.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 15

bluetooth2: sdptool add SP

Durch das letzte Kommando wurde der Serial-Port-Service durch das SDP hin-zugefügt. Auf diesen Service kann der Dienstnehmer nun zugreifen.

Fahren Sie nun mit dem Herstellen der RFCOMM-Verbindung fort:

bluetooth2: rfcomm listen 0 1(Wartet auf eingehende RFCOMM Verbindungen auf serieller Schnittstelle 0und Kanal 1)

bluetooth1: rfcomm -r connect 0 <BD-ADDR> 1(Verbindet mit dem Bluetooth-Gerät <BD-ADDR>.<BD-ADDR> ist dabei die sechs Byte lange Geräteadresse.)

(b) Nun ist eine serielle Verbindung hergestellt. Woran ist dies zu er-kennen?

Die Terminals, in denen Sie gerade die RFCOMM-Verbindung hergestellt ha-ben, können erst wieder zur Befehlseingabe genutzt werden, nachdem dort dieRFCOMM-Verbindung getrennt wurde. Da die folgenden Aufgaben jedoch einebestehende RFCOMM-Verbindung voraussetzen, verwenden Sie nun bitte ein an-deres Terminal:

bluetooth1/2: hcitool con(Zeigt alle aktiven Bluetooth-Verbindungen und deren Übertragungsmodus an)

(c) Welcher Übertagungsmodus wird für RFCOMM genutzt?

Nutzen Sie die serielle Schnittstelle um den Inhalt einer Textdatei zu übertragen(Die Datei „faust“ befindet sich bereits im /home-Verzeichnis):

bluetooth2: cat /dev/rfcomm0bluetooth1: cat faust > /dev/rfcomm0(mit STRG+C beenden)

2. Eigenschaften einer RFCOMM-VerbindungStarten Sie nun das Programm „Frontline ComProbe Protocol Analysis System“

. Wählen Sie „Combined Connection“ aus.

Trennen Sie die bestehende RFCOMM-Verbindung, entfernen Sie die Bluetooth3.0+HS Dongles und stecken Sie die Bluetooth 2.0 Dongles (DeLock) ein.Aktivieren Sie die Sichtbarkeit der Bluetooth 2.0 Geräte, sodass Sie wie in derVorbereitung beschrieben in der Analysesoftware nach den Geräte suchen unddiese zum Sniffen auswählen können.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 16

Bauen Sie nach Betätigen des „Start Sniffing“-Buttons die RFCOMM-Verbindungmittels folgenden Befehlen neu auf:

bluetooth2: sdptool add SPbluetooth2: rfcomm listen 0 1bluetooth1: rfcomm -r connect 0 <BD-ADDR> 1

(Hinweise: Wenn die Analysator-Software fragt, welches Protokoll von RFCOMMgetragen wird, antworten sie mit „RFCOMM is carrying – Raw Data – . . . “.Diese Frage tritt immer dann auf, wenn der Analysator den Inhalt von Paketennicht eindeutig zuordnen kann.)

Falls die Synchronisation nicht erfolgreich war (Icon bleibt grün oder rot), been-den Sie auf beiden bluetooth-PCs die RFCOMM-Verbindung und betätigen den„Stop Sniffing“-Button des Protokollanalysators. Anschließend wiederholen Siedie oben beschriebene Prozedur solange, bis die Synchronisation erfolgreich war(Icon wird blau).

Nach erfolgreicher Synchronisation senden Sie erneut die Datei „faust“ von blue-tooth1 an bluetooth2, wie am Ende von Aufgabe 1 beschrieben.

(d) Ermitteln Sie die Protokollhierarchie eines RFCOMM-Datenpaketsund ordnen Sie die einzelnen Protokolle in das ISO/OSI Referenzmo-dell ein.

(e) Welche weiteren Protokolle, die nicht zur RFCOMM-Verbindunggehören, werden angezeigt? Wozu dienen sie?

(f) Wie viele Pakete sind nötig um den Text aus der Datei „faust.txt“komplett zu übertragen?Hinweis: Nutzen Sie hierfür das „Frame Display“ mit der Karteikarte „Data“(falls der Reiter „Data“ nicht existiert, so befinden sich die Daten im Reiter „Un-decoded RFCOMM Frame“). Dort werden die Nutzdaten in der Spalte „Pay-load“ angezeigt: Genauer gesagt wird hier der Inhalt jedes Datenpakets darge-stellt (Reintext wird also auch als solcher angezeigt). Jede Zeile entspricht einemDatenpaket.

3. Eigenschaften einer BNEP-VerbindungBeenden Sie die RFCOMM-Verbindung und stellen Sie eine BNEP Netzwerk-verbindung zwischen den Rechnern „bluetooth1“ und „bluetooth2“ her. GebenSie dazu die nachfolgenden Kommandos in die Eingabeaufforderung ein. „blue-tooth2“ soll als Dienstanbieter und „bluetooth1“ als Dienstnehmer fungieren.

bluetooth2: sdptool add NAP(Bewirkt die Anzeige des Network-Accesspoint-Service durch das SDP.)

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 17

bluetooth2: pand -s -r NAP -M(Wartet auf eine eingehende BNEP-Verbindung)

bluetooth1: pand -c <BD-ADDR>(Stellt eine Netzwerkverbindung mit der Gegenstelle <BD-ADDR> her)

Überprüfen Sie, ob die BNEP-Verbindung erfolgreich hergestellt wurde durch fol-gendes Kommando:

bluetooth1/2: hcitool con

Wird bei „Connections“ keine aktive Verbindung angezeigt, so entfernen Sie dieDongles, warten fünf Sekunden und stecken Sie sie wieder ein. Danach könnenSie einen erneuten Versuch zum Verbindungsaufbau durch Eingabe der obigenKommandos durchführen.

Anschließend Starten Sie auf „bluetooth2“ den iPerf-Server zur Durchsatzmes-sung durch folgendes Kommando:

bluetooth2: iperf -s -B bluetooth2bt

Die Durchsatzmessung (bzw. Erzeugung von Datenverkehr) kann durch den iPerf-Client auf „bluetooth1“ gestartet werden:

bluetooth1: iperf -c bluetooth2bt

Nach etwa 10 Sekunden wird unter anderem die gemessene Datenrate ausgegeben.

Hinweis: Bei den Messungen mit iperf sind nur die Werte des Clients ausschlag-gebend. Der Client ist in diesem Fall bluetooth1.

(g) Wie hoch ist die ermittelte Datenrate und wie erklären Sie sich dieDiskrepanz zwischen dem in der Vorbereitung angegebenen Maximal-wert und Ihrem Messwert?

Mit folgenden Kommandos können Dateiinhalte über die Netzwerkverbindungübertragen werden:

bluetooth2: nc -l 1337bluetooth1: cat faust | nc bluetooth2bt 1337(Das Zeichen | ist auf der Tastatur mittels“Alt Gr“+“<“(links neben Y) zuerreichen.)

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 18

bluetooth1: hcitool con

(h) Welcher Übertragungsmodus wird für BNEP genutzt?

4. Eigenschaften einr BNEP-Verbindung - Teil IINutzen Sie wieder den Protokollanalysator für die Durchführung der folgendenAufgaben. Trennen Sie hierzu die bestehende BNEP-Verbindung mittels folgen-den Kommandos:(Achtung: Wenn Sie mit dem „mumbi“-Dongle oder den Bluetooth-1.1-Donglesarbeiten, dann geben Sie den Befehl hcitool dc nicht ein!)

bluetooth2: killall pandbluetooth1: hcitool dc <BD-ADDR>

Für eine bessere Übersichtlichkeit löschen Sie den Puffer im Protokollanalysatordurch Klick auf den Button „Clear“ . Lassen Sie nun wieder den Protokoll-analysator mitsniffen. Bauen Sie anschließend wie oben beschrieben die BNEP-Verbindung neu auf (achten Sie dabei darauf, dass das Icon in der Analysesoftwareblau leuchtet) und senden Sie erneut die Datei „faust“ über die Netzwerkverbin-dung

(i) Ermitteln Sie die Protokollhierarchie eines BNEP-Datenpakets.(j) Wieviele TCP-Pakete sind nötig um den Text aus der Datei „faust“komplett zu übertragen?(Analog zu Aufgabe (f))(k) Welche weiteren Protokolle, die nicht zur BNEP-Verbindung ge-hören, werden angezeigt? Wozu dienen sie?

5. Übertragungseigenschaften unter Bluetooth 1.1Trennen Sie nun die BNEP-Verbindung (wie oben beschrieben), entfernen Siedie Bluetooth 2.0 Dongles und verwenden Sie nun die Bluetooth 1.1 Dongles.Löschen Sie erneut den Puffer im AnalysatorStellen Sie mit den 1.1er Dongles wieder eine BNEP-Verbindung her und führenSie die Durchsatzmessung wie in Aufgabe 3 beschrieben mit „iperf“ erneut durch.

(l) Wiederholen Sie die Messung fünf mal und notieren Sie sich dieDatenraten auf der Client-Seite.(m) Lassen Sie während den Messungen den Bluetooth-Analysatormitlaufen und notieren Sie aus dem „Statistics Display“-Fenster dieAnzahl aller empfangener Frames (Total Frames) und den prozentua-len Anteil der wiederholt gesendeter Frames (retransmitted Frames).

6. Störanfälligkeit unter Bluetooth 1.1Stecken Sie nun die WLAN-Dongles in die USB-Buchsen neben den Bluetooth-Dongles. Starten Sie anschließend auf „bluetooth1“ einen weiteren „iperf“-Server

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 19

der die WLAN-Verbindung nutzt und führen Sie eine Durchsatzmessung überWLAN durch. Verwenden Sie folgende Eingaben:

bluetooth1: iperf -s -B bluetooth1wlanbluetooth2: iperf -c bluetooth1wlan

(n) Wiederholen Sie auch diese Messung fünf mal und notieren Sie sichdie Durchsatzraten.

7. Übertragungseigenschaften und Störanfälligkeit unter Bluetooth 1.1Führen Sie nun die Durchsatzmessungen der Bluetooth- und WLAN-Verbindunggleichzeitig durch. Dies ist der Fall mit maximaler Störung, da bei „bluetooth2“über WLAN empfangen und gleichzeitig über Bluetooth gesendet wird. LöschenSie vorher wieder sämtlichen Puffer in der Analysesoftware und achten Sie dar-auf, dass die Software die Verbindung mitsnifft. Die beiden Messungen solltennun möglichst synchron gestartet werden!

(o) Notieren Sie sich wieder fünf Werte und ermitteln Sie hier wiederdie Rate der erneut gesendeten Frames.

Beenden Sie den „iperf“-Server für die Bluetooth-Verbindung durch „STRG+C“und ebenso „pand“ auf beiden Rechnern durch folgenden Befehl:

bluetooth2: killall pand

8. Störanfälligkeit unter Bluetooth 2.0 und DurchsatzratenTauschen Sie anschließend die Bluetooth 1.1 Dongles durch die 2.0 Dongles ausund starten die Synchronisierung am Analyserechner (und löschen Sie erneut denPuffer). Bauen Sie anschließend eine neue BNEP-Verbindung auf.

(p) Entfernen Sie die WLAN-Dongles und ermitteln Sie zunächst dieDatenrate der Bluetooth 2.0 Dongles analog zu Aufgabe 3.(q) Löschen Sie wieder den Puffer des Analysators und führen Sie an-schließend die Durchsatzmessung mit parallel laufenderWLAN-Verbin-dung analog zu Aufgabe 7 durch und ermitteln wieder die Rate derwiederholt gesendeten Frames(r) Wie wirken sich die zwei unterschiedlichen Bluetooth-Versionen aufStörsicherheit aus? Welcher Standard, Bluetooth oder WLAN, wirdbei gemeinsamem Betrieb stärker gestört?(s) Warum eignet sich die Rate erneut gesendeter Frames besser zurBestimmung der Link-Qualität, als die Rate fehlerhafter Frames?

9. Abhörsicherheit unter Bluetooth 3.0Entfernen Sie die WLAN-Dongles sowie Bluetooth 2.0 Dongles und stecken Sie

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 20

die Bluetooth 3.0+HS Dongles ein.Führen Sie die Synchronisierung mit der Analysesoftware durch (vorher wiederPuffer löschen!). Stellen Sie eine BNEP-Verbindung her und führen Sie ein wei-teres Mal die Durchsatzmessung mittels iperf wie in Aufgabe 3 durch.

(t) Wie wirken sich die drei unterschiedlichen Bluetooth Versionen aufdie Durchsatzrate aus?

Beobachten Sie das Verhalten der Analysesoftware im Fenster „Packet Error RateStatistics“.Trennen Sie anschließend die Verbindung wieder, löschen Sie den Puffer undlassen Sie sich den Verbindungsschlüssel der Bluetooth 3.0 Verbindung anzeigen(vorher die lokale Geräteadresse ermitteln!):

bluetooth1/2: cat /var/lib/bluetooth/<local-BD-ADDR>/linkkeys(Hinweis: Um in den Ordner mit der lokalen Bluetoothadresse zu navigieren, verwendenSie einen Backslash vor jedem Doppelpunkt, bspw.: AA\:BB\:CC\:DD\:EE\:FF)

Auf beiden Rechnern sollte nun neben der entfernten Geräteadresse der gleicheVerbindungsschlüssel angezeigt werden. Klicken Sie in der Analysesoftware aufdas Dropdown Menü zur Auswahl des Verbindungs Codes (unter dem Textfeld„Classic Encryption“ )und wählen dort „Link Key“ aus. Geben Sie im Text-feld rechts daneben den eben angezeigten Verbindungsschlüssel byteweise rück-wärts1 ein2 und stellen Sie anschließend erneut eine BNEP-Verbindung her undbeobachten Sie wieder das Verhalten der Analysesoftware im „Packet Error RateStatistics“-Fenster.

(u) Welcher Unterschied fällt Ihnen zwischen den beiden Anzeigen im„Packet Error Rate Statistics“ auf (vorher und nachher)? Welche Aus-sage können Sie daher bzgl. der Abhörsicherheit einer Bluetooth 3.0Verbindung treffen und worauf ist diese zurückzuführen?

10. Zusatzaufgabe: AbwärtskompatibilitätEntfernen Sie die WLAN-Dongles aus den Rechnern, bauen Sie die BNEP-Ver-bindung wieder ab und tauschen Sie einen der 3.0+HS Bluetooth-Dongles durchein 1.1 Dongle. Bauen Sie wieder eine BNEP- und eine RFCOMM-Verbindungauf und testen Sie diese auf Funktion.

(v) Treffen Sie aus Ihren Erkenntnissen eine Aussage bezüglich derKompatibilität der beiden Bluetooth-Versionen.

1Ein Byte besteht (in Hexadezimaldarstellung) aus zwei Symbolen. Bsp.: 1A2B3C4D byteweise rück-wärts ergibt 4D3C2B1A

2Ein 128 Bit Unsigned Integer (was dem Linkkey einer Bluetoothverbindung entspricht) kann ent-weder als Unsigned Integer oder als Array gespeichert werden. Im ersten Fall würde sich das MSBlinks und das LSB rechts befinden; beim Array wäre es genau umgedreht. Da es hierbei keinestandardisierte Vorgabe gibt, kann die Anordnung der Bytes auf unterschiedlichen Geräten entge-gengesetzt aussehen - das ist auch der Fall bei den Linux-Rechnern und dem Bluetooth-Sniffer.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

10 Praktikumsaufgaben 21

Bitte lassen Sie die Rechner nach Durchführung der Aufgaben in ihrem aktuellenZustand. Das Herunterfahren wird vom Betreuer übernommen.

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

Abkürzungsverzeichnis 22

AbkürzungsverzeichnisACL . . . . . . . . . . . . . . . Asynchron Connection-LessAFH . . . . . . . . . . . . . . . Adaptive Frequency HoppingBNEP . . . . . . . . . . . . . . Bluetoooooth Network Encapsulation ProtocolDSL . . . . . . . . . . . . . . . . Digital Subscriber LineEDR . . . . . . . . . . . . . . . Enhanced Data RateeQoS . . . . . . . . . . . . . . . enhanced Qality of ServiceeSCO . . . . . . . . . . . . . . enhanced Synchronous Connection OrientedFEC . . . . . . . . . . . . . . . Forward Error CorrectionFHSS . . . . . . . . . . . . . . Frequency Hopping Spread SpectrumGAP . . . . . . . . . . . . . . . Generic Access ProfileHCI . . . . . . . . . . . . . . . . Host Controller InterfaceHS . . . . . . . . . . . . . . . . . High SpeedI/O . . . . . . . . . . . . . . . . Input / OutputICMP . . . . . . . . . . . . . . Internet Control Message ProtocolIP . . . . . . . . . . . . . . . . . . Internet ProtocolISDN . . . . . . . . . . . . . . Integrated Services Digital NetworkISM . . . . . . . . . . . . . . . . Industrial Scientific MedicalISO . . . . . . . . . . . . . . . . International Standard OrganisationL2CAP . . . . . . . . . . . . . Logical Link Control and Adaption ProtocolLAN . . . . . . . . . . . . . . . Local Area NetworkLMP . . . . . . . . . . . . . . . Link Manager ProtocolMAC . . . . . . . . . . . . . . . Media Access ControlNAP . . . . . . . . . . . . . . . Network AccesspointOBEX . . . . . . . . . . . . . Object Exchange ProtocolOSI . . . . . . . . . . . . . . . . Open System InterconnectionPAN . . . . . . . . . . . . . . . Personal Area NetworkPC . . . . . . . . . . . . . . . . . Personal ComputerPCMCIA . . . . . . . . . . . Personal Computer Memory Card International AssociationPDA . . . . . . . . . . . . . . . Personal Digital AssistantPIN . . . . . . . . . . . . . . . . Personal Identification NumberRF . . . . . . . . . . . . . . . . . Radio FrequencyRFCOMM . . . . . . . . . Radio Frequency Communication Port emulationSCO . . . . . . . . . . . . . . . Synchronous Connection-OrientedSDP . . . . . . . . . . . . . . . Service Discovery ProtocolSIG . . . . . . . . . . . . . . . . Special Interest GroupSPP . . . . . . . . . . . . . . . . Serial-Port ProfileSSP . . . . . . . . . . . . . . . . Secure-Simple PairingTCP . . . . . . . . . . . . . . . Transmission Control ProtocolTCS . . . . . . . . . . . . . . . Telephony Control SpecificationTDD . . . . . . . . . . . . . . . Time Divison DuplexUDP . . . . . . . . . . . . . . . User Datagram ProtocolUSB . . . . . . . . . . . . . . . Universal Serial BusWLAN . . . . . . . . . . . . . Wireless Local Area Network

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum

Literatur 23

Literatur[1] Bluetooth SIG: Bluetooth Core Specification 1.1, The Official Bluetooth Member-

ship Website, 2001http://www.bluetooth.org/Technical/Specifications/adopted.htm

[2] Bluetooth SIG: Bluetooth Core Specification 1.2, The Official Bluetooth Member-ship Website, 2003http://www.bluetooth.org/Technical/Specifications/adopted.htm

[3] Bluetooth SIG: Bluetooth Core Specification 2.0+EDR, The Official BluetoothMembership Website, 2004http://www.bluetooth.org/Technical/Specifications/adopted.htm

[4] Holger Hildebrandt und Kay Pein: Studienarbeit Bluetooth-Anwendungen

[5] Lars Grenzendörfer: Seminararbeit Untersuchungen zu Bluetooth, 2002.

[6] Bluetooth SIG: Bluetooth 2.0 Press Release, The Official Bluetooth Website, 2004http://www.bluetooth.com/Pages/In-the-News.aspx?A=2&PID=1437&ARC=1

[7] Dusan Zivadinovic: Wegweisend, Was die Bluetooth-Roadmap verspricht, HeiseMobil, 2005http://www.heise.de/mobil/artikel/Was-die-Bluetooth-Roadmap-\verspricht-222855.html

[8] BlueZ Project: Official Linux Bluetooth protocol stack, 2005http://www.bluez.org

[9] NLANR: Iperf, 2005http://iperf.sourceforge.net/

[10] Giovanni Giacobbi: Official GNU Netcat Project, 2004http://netcat.sourceforge.net/

[11] Spectre: Bluetooth 3.0 HS, 2010http://www.spectre-online.co.uk/clientfiles/File/AF%20Kolilia%20BT%20Update.pdf

[12] Joe Decuir: Bluetooth 4.0: Low Energy, 2010http://chapters.comsoc.org/vancouver/BTLER3.pdf

[13] Mikhail Galeev: Bluetooth 4.0: An introduction to Bluetooth Low Energy, 2011http://www.eetimes.com/design/communications-design/4218319/Bluetooth-4-0--An-introduction-to-Bluetooth-Low-Energy-Part-II

Fachgebiet Kommunikationsnetze Bluetooth-Praktikum