Rechnernetze
Home Nach oben

Paketformate

Die Bluetooth-Spezifikation legt fest, dass Pakete mit dem kleinsten Bit zuerst gesendet werden. Das Standardformat eines Pakets ist:

72 Bits Zugriffscode (acces code)
54 Bits Header
0-2745 Bits Nutzdaten

Pakete können nur aus dem (verkürzten) Zugriffscode bestehen, aus dem Zugriffscode plus Header oder aus allen drei Teilen.

Der Zugriffscode besteht aus einer Preamble und einem Trailer von jeweils 4 Bits Länge sowie einem SYNC-Word, welches die Adresse kodiert.

Der Header umfasst eine Verbindungskontrolle (LC) und besteht aus sechs Feldern:

AM_ADDR: 3- bit active member address
Eine 3 Bit-Adresse, welche einen Slave in einem Piconet eindeutig identifiziert. Die Adresse wird sowohl beim Senden vom Master als auch vom Slave verwendet. 0 ist die Broadcastadresse (außer beim FHS). Eine geparkter oder abgemeldeter Slave verliert seine Adresse.

TYPE: 4-bit type code
Gibt den Typ eines Pakets an. Die Interpretation der Nummer hängt von der Verbindungstyp (SCO, ACL) ab.

FLOW: 1-bit flow control
Dieses Bit dient der Flusskontrolle (FLOW=0: keine weiteren Paketen senden). Dieses gilt nur für ACL-Verbindungen.

ARQN: 1-bit acknowledge indication
Dienst als positive (ARQN=1) oder negative Quittung (ARQN=0).

SEQN: 1-bit sequence number
Alternierende Nummerierung von Blöcken, welche eine CRC-Prüfsumme enthalten.

HEC: 8-bit header error check
Header Error Correction-Prüfsumme für den Header: Wert des HECs = 1101001112.

Der Header besteht aus 18 Bits, welche nach einem Fehlderkorrekturverfahren (1/3 FEC) jedes Bit dreimal sendet, so dass insgesamt 54 Bits gesendet werden müssen.

Da Datenblöcke nicht gezählt werden, handelt es sich um ein nicht kontinuierliches ARQ-Verfahren mit alternierender Paketnummer. Der Empfänger kann also mehrfach gesendete CRC-Blöcke unterscheiden; der Sender muss aber warten, ehe er eine weiteres Paket senden kann.

Vier der 16 Typfelder gelten für SCO- und ACL-Verbindungen. Das NULL- und das POLL-Paket dienen für die Übertragung von Zustandsinformation wie Quittung (ARQN) oder Flusskontrolle. Das ID-Paket dient der Anfrage oder für Antworten. Das FHS-Paket ist eine spezielles Kontrollpaket, welches beispielsweise die Bluetooth-Geräteadresse oder die Clock des Senders überträgt.

SCO-Pakete besitzen kein CRC, da sie niemals wiederholt werden. Sie eigenen sich also insbesondere für zeitkritische Dienste wie Sprachübertragung, bei denen einzelne Fehler hingenommen werden können. Die einzelnen Pakettypen unterscheiden insbesondere die Datenrate.

ACL-Pakete besitzen meistens ein CRC-Feld, da sie wertekritische Daten übertragen sollen. Zusätzlich können verschiedene FEC (Forward Error Correction) definiert werden, so dass die Daten sehr sicher übertragen werden können. Bleibt eine positive Quittung für ein ACL-Paket mit CRC-Feld aus, so wird dieses noch einmal gesendet.