WLAN MAC Header

WLAN MAC Header

Der MAC Header im Wireless Frame besteht aus 32bit, kann aber auch bis zu 36 bit gross sein, wenn ds HT Control Feld Verwendund findet.

Der Header besteht aus folgenden 8 Teilen und grössen

Frame Control – 2 Byte
Duration/ID – 2 Byte
Adresse 1 – 6 Byte
Adresse 2 – 6 Byte
Adresse 3 – 6 Byte
Sequence Control – 2 Byte
Adresse 4 – 6 Byte
Frame Body – 0 – 2312 Byte
FCS – 4 Byte

Frame Control – 2 Byte

Das Frame Control enthält die folgenden Informationen

Protocol Version – 2 bit
Das Protocol Feld ist 2 bit gross und informiert die Empfangsstation über die verwendete Protocol Version, es ist bei allen 802.11 Headern gleich. Der Eintrag lautet immer 00 und wurde von der IEEE festgelegt.
Die anderen möglichen Einträge sind reserviert und können in der Zukunft noch verwendte werden.

Type – 2 bit
das Type hat eine Grösse von 2bit fällt gibt Auskunft darüber über welche Art von Frame es sich handelt
00 Management Frame
01 Control Frame
10 Data Frame
11 reserviert

Subtype – 4 bit
Der Subtype hat eine Grösse von 4bit und gibt Auskunft darüber das es sich um einen Beacon Management Frame handelt.
Mögliche Kombinationen

Eintrag Type Beschreibung Subtype Subtype Beschreibung
00 Management 0000 Association request
00 Management 0100 Probe request
00 Management 1000 Beacon
00 Management 1010 Disassociation
01 Control 1010 Block ACK
01 Control 1011 RTS
01 Control 1101 ACK
10 Data 0000 DATA
10 Data 0100 Null (no Data)
10 Data 1000 QoS Data
10 Data 1100 QoS Null (no Data)

to DS – 1 bit
from DS – 1 bit

Das to DS und from DS Feld legt durch verschiedene Kombinationen fest, welche MAC Adresse zu welcher Station gehört, zur sendenden oder zur empfangenden

to DS und from DS Erklärung
to DS = 0 from DS = 0 Es wird ein Datenframe direkt von einer Station zu einer anderen Station gesendet und beide befinden sich in dem gleichen IBSS oder von einer Station direkt zu einer anderen Station im selben BSS ohne AccessPoint oder es wird ein Data Frame gesendet ausserhalb des BSS Context, wie z.B. ein Management oder Control Frame
to DS = 1 from DS = 0 Data Frame von einer Station zu dem AccessPoint z.B DHCP Anfragen
to DS = 0 from DS = 1 Data Stream vom AccessPoint zur Station z.B: DHCP Antwort
to DS = 1 from DS = 1 Es werden alle 4 Adressen im Frame verwendet,
to DS from DS Adresse 1 Adresse 2 Adresse 3 Adresse 4
0 0 Empfänger Sender zweite (BSSID)
0 1 Empfänger zweite (BSSID) Sender
1 0 zweite (BSSID) Sender Empfänger
1 1 Zelle (RA) Telle (TA) Empfänger Sender

RA= Receiver Adressse
TA = Transmitter Adresse

More Flag -1 bit
ist auf 1 gesetzt in allen Data und Mangement Frames mit weiteren Fragmenten der des aktuelle MSDU (MAC Service Data Unit) oder MMPDU (MAC Mangement Protocol Data Unit).
Ist auf 0 gesetzt in allen anderen Frames

Retry – 1 bit
Das Retry feld zeigt an das ein Frame noch einmal gesendet wurde

PowerMgmt – 1 bit
Ist die Station im PowerSave mode, dann ist das Bit auf 1 gesetzt, dadurch speichert der AccessPoint alle daten für diese Station zwischen

More Data – 1 bit
Wenn die Station den PowerSave Mode verlässt und ein Beacon an den AccessPoint schickt, dann ist das More Data Bit auf 1 gesetzt und sie sieht in der Antwort das Daten für sie bereitstehen

Protected Frame – 1 bit
Zeigt an das die daten um Frame verschlüsselt sind

Order – 1 bit
Wird auf 1 gesetzt, wenn eingehende Daten eine rFolge von Fragmenten an höhere Schichten weiter gegeben werden sollen

Duration – 2 Byte

Das Duration Feld kann unterschiedlich kodiert sein und über das Bit 15 und 14 wird angegeben wie das Feld kodiert ist bzw welche Aufgabe es gerade hat.

Bit 15 Bit 14 Bit 13-0 Verwendung
0 0 – 32767 Anzeigen der benötigten Zeit für die Datenübertragung
1 0 0 fester Wert für Frames, die während der CFP Übertragen werden
1 0 1 – 16383 Reserviert
1 1 0 Reserviert
1 1 1 – 2007 AID (Association Identifier) innerhalb eine PS-Poll-Frames
1 1 2008 – 16383 Reserviert

Adresse 1 – 6 Byte

Adresse 2 – 6 Byte

Adresse 3 – 6 Byte

Sequence Control – 2 Byte
Die Sequenznummer ist in zwei Bereiche aufgeteilt.
Die ersten 4 Bits sind für die Fragmentnummer und die folgenden 12 Bit sind für die Sequenznummer
Die Fragmentnummer beginnt bei 0 und wird dann immer weiter um eins hoch gezählt.
Sollte ein Fragment noch einmal gesendet werden müssen, so bleibt die Fragmentnummer gleich
Die Sequenznummer beginnt bei 0 und mit ihr wird ein Fragment eindeutig nummeriert.
Die Sequenznummer wird auf der Basis von 4096 gebildet

Adresse 4 – 6 Byte

Frame Body – 0 – 2312 Byte
in diesem Feld werden die eigentlichen Daten transportiert.
Die Länge kann minimal 0 sein und maximal 2304 Bytes, was von der Länge des MSDU abhängt.
Sollte eine WEP Verschlüsselung zur Anwendung kommen, so kann das Feld auf 2312 Bytes anwachsen

FCS – 4 Byte
4 Byte lange Prüfsumme die aus dem Inhalt des Frame Headers und des Frame Bodys gebildet wird