| |
Übersicht:
- Der komplette Bluetooth Protokoll-Stack
- Protokolle in der Architektur
- Kernprotokolle
- Cable Replacement Protocol
- Telephony Control Protocol
- Aufgesetzte Protokolle
- Ein Beipspiel für einen speziellen Protokoll-Stack
(1) Der Bluetooth-Protokoll-Stack
Bild
1.)Protokoll-Stack
Wie man im obigen Bild erkennen kann, enthält der komplette Stack beide Arten 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). Hauptaugenmerk bei der
Entwicklung der Protokolle war, existierende Protokolle für höhere Layer zu verwenden
und das "Rad nicht neu zu erfinden". Diese Wiederverwendung existierender
Protokolle hilft vor allen Dingen den existierenden Applikationen die Bluetoothtechnologie
einzubinden. Der Integrationsaufwand wird damit verkleinert. Da die Spezifiktion von
Bluetooth offen und allen frei zugänglich ist, steht es allen Entwicklern frei, sie zu
verwenden.
(2) Protokolle der
Bluetooth Architektur
Der Bluetooth Protokoll-Stack kann in vier Layers gegliedert werden. Die einzelnen
Protokolle lassen sich folgendermaßen den Layern zuordnen.
| Layer |
Protokoll im Stack |
| Bluetooth
Kernprotokolle |
Baseband, LMP, L2CAP, SDP |
| Cable
Replacement Protocol |
RFCOMM |
| Telephony
Control Protocols |
TCS Binary,
AT-commands |
| Aufgesetzte
Protokolle |
PPP, UDP/TCP/IP,
OBEX, WAP, vCard,
vCal, IrMC, WAE |
Tabelle 1: Die Protokoll und Layer im Bluetooth Protokoll-Stack
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. Darauf soll hier aber
nicht weiter eingegangen werden. Nähere Infos zu diesem Thema finden sich in der
Spezifikation von Bluetooth. Im Bild1.) befindet sich das HCI direkt unter L2CAP. Diese
Positionierung ist nicht zwingend, sie kann auch über L2CAP liegen.
Die Bluetooth Kernprotokolle umfassen alle exklusive Bluetoothspezifischen 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. Wie der
Name es schon vermuten läßt, sind diese Protokolle (und Bluetooth Radio) die
wichtigsten. Sie sind in allen Bluetooth Geräten integriert. Der andere Rest der
Protokolle wird nur verwendet, wenn die Notwendigkeit vorhanden ist. Wie schon vorhin
erwähnt, ist die Bluetoothtechnologie eine offene Technologie. Somit ist es Entwicklern
möglich eigene Zusatzprotokolle zu entwerfen (wie etwa HTTP, oder FTP). Diese müßten
dann oben auf den Stack aufgesetzt werden.
Seitenanfang
(2.1) Bluetooth Kernprotokolle
2.1.1 Baseband
- ermöglicht eine physikalische Funkverbindung zwischen Bluetootheinheiten
- setzt die Packete zusammen und synchronisiert sie
- unterstützt synchrone (SCO) und asynchrone (ACL) Übertragungen
- ACL ist nur für Daten, SCO für Daten und/oder Audio
- ACL bzw. SCO Packete sind CRC gesichert
- ACL bzw. SCO Packete können verschlüsselt werden.
2.1.2 Link Manager Protocol (LMP)
- baut die Verbindung auf
- enthält Sicherheitsaspekte (Authentisierung, Verschlüsselung, Keygeneration)
- setzt die Packetgrößen
- kontrolliert den Powermode (sleepmode, normal, ...)
- oft ein Teil des L2CAP (d.h. mit integriert)
2.1.3 Logical Link
Control and Adaptation Protocol (L2CAP)
- Möglichkeit für aufsetzbare Protokolle
- ermöglicht verbindungsorientierte und verbindungslose (loopback) Verbindungen
für höhere Protokollschichten
- ermöglicht Multiplexing
- verhindert, das höhere Protokollschichten Packete über 64kbyte Größe
verschicken
- hier ist nur ACL erlaubt, kein SCO!
2.1.4 Service Discovery Protocol (SDP)
- Basis aller Verhaltensmodelle
- Liefert Device-Informationen, Verbindungsinformationen und mehr ...
- Verbindungen mit mehreren Geräten können aufgebaut werden.
Seitenanfang
(2.2) Cable Replacement Protocol
2.2.1 RFCOMM
- Sserial Line Emulation Protocol, basiert auf ETSI 07.10 Spezifikation
- emuliert das RS-232 Protokoll
- damit breitere Unterstützung für höhere Protokollschichten wie OBEX
(2.3) Telephony Control Protocol
2.3.1 Telephony Control Binary
- Bit-orientiertes Protokoll
- enthält Rufkontrolle, Verbindungsaufbau, Sprachübertragung, Datenübertragung
2.3.2 Telephony Control AT
Commands
- AT-Befehle für Handys und Modems, zur Steuerung
- auch möglich für eine Art FAX -Übertragung
- sind abgeleitet von einem bestehenden Standard
Seitenanfang
(2.4) AufgesetzteProtokolle
2.4.1 PPP
- Point to Point Protokoll
- setzt auf RFCOMM auf.
- ist gedacht für die Tunnelung von IP Packeten (wie auch bei Modems üblich)
2.4.2 TCP/UDP/IP
- Internetprotokolle
- ermöglicht Einbindung von Bluetooth-Geräten in LANs oder WANs
- weitverbreitestes Protokoll überhaupt
- oft in Verbindung mit PPP
2.4.3 OBEX Protocol
- Object Exchange Protokoll
- Von IrDa entwickelt, für einfachen Objektaustausch
- gleiche Basicfunktionen wie HTTP (aber abgespeckt)
- Client-Server Modell, unabhängig von der Transportart und der Transport-API
- ermöglicht Objekte und Verzeichnisse mit anderen Objekten darin,
Verzeichnislistnings sind mgl.
- vorerst setzt OBEX auf RFCOMM auf, geplant ist aber TCP/IP als Grundlage
2.4.3.1 Content Formats vCard und vCalendar
- vCard und vCalendar sind offene Spezifikationen von Internet Mail Consortium
- definieren nicht den Transportmechanismus, sondern das Format welches übertragen wird
- andere über OBEX laufende Formate sind vMessage und vNote
- vMessage und vNote sind offene Spezifikationen und sind in der IrMC Spezifikation
definiert
- IrMC definert auch eine Art Log-File-Format
Seitenanfang
2.4.4 Wireless Application Protocol WAP
- entwickelt für verschiedene kabellose WANs
- Ziel ist, Internet und Telephonie auf verschiedene kabellose Terminals zu bringen
- Datenaustausch zwischen PC und WAP-Clients
- versteckte Funtkionen möglich (Remote Control, ...)
- Erweiterungen: WML, WML Script als universales Software Kit
- weitere unterstützte Formate: WTA event, WBMP, vCard, vCal
- alle Erweiterungen und Subformate zusammen sind das WAP Application Environment (WAE)
Bild 2.) WAP Protokoll-Stack
Seitenanfang
(3) Ein Beispiel für einen speziellen
Protokoll-Stack
Als Beispiel möchte ich eine Anwendung aufführen (erdachtes Szenario) welche einen
einfachen Datentransfer ermöglicht. Dafür benötigen wir auf jeden Fall die Hardware
(damit integriert das Baseband). Weil wir noch weitere Protokolle aufsetzen wollen, und es
sich um Datenübertragung (also kein Audio) handelt, brauchen wir noch das L2CAP. OBEX und
RFCOMM liefern auf einfache Art und Weise eine Möglichkeit des asynchronen
Objektaustausches. SDP brauchen wir noch, um gegebenenfalls noch Infos über das Gerät
oder die Verbindung ausgeben zu können. Damit haben wir aus dem großen Pool der
Protokolle alles zusammen für eine kleine "File Transfer Application".
Bild
3.) Beispiel-Stack
Seitenanfang
|
| |
|
|