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 Verwendung findet.

Der Header besteht aus folgenden 9 Teilen und Größen

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 bitfrom 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 BSSID
0 1 Empfänger BSSID Sender
1 0 BSSID Sender Empfänger
1 1 Zelle (RA) Zelle (TA) Empfänger Sender

RA= Receiver Adressse
TA = Transmitter Adresse

Fall 1
Das toDS und fromDS Feld haben beide eine 0
In diesem Fall wird der Frame in einem IBSS übertragen.
Das Address Feld 1 beinhaltet die Adresse der Empfänger Station und das Address Feld 2 die Adresse des Senders.
In dem Adress Feld 3 steht die Adresse der Funkzelle (BSSID).
Im Falle eine Multicast oder Broadcast, erkennen die Stationen ob diese Frames für sie sind
Das Feld 4 kommt nicht zum tragen

Fall 2
Das toDS Feld hat eine 0 und das fromDS Feld hat eine 1
Der Frame kommt von einem AccessPoint und ist für eine Station bestimmt.
Das Address Feld 1 beinhaltet die Adresse der Empfänger Station, das Address Feld 2 die Adresse die Adresse der Funkzelle (BSSID) und das Adress Feld 3 beinhaltet die Adresse der Sendenden Station
Das Feld 4 kommt nicht zum tragen

Fall 3
Das toDS Feld hat eine 1 und das fromDS Feld hat eine 0
In diesem Fall wir ein Frame von einer Station an den AccessPoint versendet
Das Adress Feld 1 beinhaltet die Addresse des AccessPoints (BSSID), das Adresse Feld 2 die Adresse des Senders und das Adress Feld 3 die Adresse der Ziel Station, an die der Frame gesendet werden soll.
Das Feld 4 kommt nicht zum tragen

Fall 4
Das toDS und das fromDS Feld haben beide eine 1 gesetzt
Dieser Fall tritt auf, wenn Daten von einem AccessPoint zu einem anderen Übertragen werden sollen/müssen um die Empfänger Statio zu erreichen.
Z.B. bei einer Richtungstrecke.
Das Adress Feld 1 hat die Adresse des empfangenen AccessPoint, das Address Feld 2 die Adresse des sendenden AccessPoint.
Im Address Feld 3 befindet sich die Adresse der Station die den Frame empfangen soll und im Adress Feld 4 die Adresse der sendenden Station, die das Frame los geschickt hat

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