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