802.11 Standard für drahtlose Netze - Der MAC-Layer

20.05.2005 von Prof. Dr. Axel Sikora
Der zweite Teil unserer Grundlagenreihe zu drahtlosen Netzwerken beschäftigt sich ausführlich mit dem MAC-Layer. Dieser regelt, wie Stationen Zugriff auf das Übertragungsmedium erhalten und Kollisionen vermieden werden.

Die Standards des LAN/WAN Standards Committee (auch IEEE802) des US-amerikanischen Ingenieurverbands IEEE (sprich: I-triple-E) bilden die allgegenwärtige Basis für die Vernetzung von Rechnern.

Das wohl bekannteste Teilstück des IEEE-Regelwerks sind die Ethernet-Standards der Arbeitsgruppe 802.3 (IEEE 802.3 CSMA/CD). Sie umfassen Geschwindigkeitsklassen von 10 Mbit/s bis zu den im Herbst 2002 spezifizierten 10 Gbit/s.

Mit der Verabschiedung des ersten herstellerunabhängigen Standards für Wireless LANs (WLANs) nach 802.11 hat die Standards Association (SA) des IEEE 1997 eine zentrale Grundlage für den immensen Wachstumsmarkt der drahtlosen Übertragungsprotokolle geschaffen. Der IEEE802.11 entwickelte sich in den letzten Jahren zu einer Protokollfamilie. Die zugehörigen Teilstandards firmieren landläufig unter der Bezeichnung IEEE802.11 "abc".

Der zweite Teil unserer Grundlagenreihe beschäftigt sich ausführlich mit dem MAC-Layer und wie Stationen Zugriff auf das Übertragungsmedium erhalten.

Serie: 802.11 Standard für drahtlose Netze

Teil 1

Gremien und Grundlagen

Teil 2

Der MAC-Layer

Teil 3

Der PHY-Layer

Teil 4

Zusatzfeatures

Teil 5

Weitere 802.11-Standards

802.11: Der MAC-Layer

Die Kanalzugriffsschicht (MAC-Layer) von 802.11 weist eine enge Verwandtschaft mit der kabelgebundenen Variante 802.3 auf. Allerdings muss der drahtlose Standard auf die Besonderheiten der Übertragungsstrecke Rücksicht nehmen. Insbesondere entfällt hier die Möglichkeit, dass eine sendende Station den Kanal auf Kollisionen überwacht. Das hierfür verantwortliche Hidden-Station-Problem beschreiben wir detailliert unter der Überschrift "Versteckte Stationen". Es ist unter anderem auch der Grund dafür, dass jeder Rahmen auf der MAC-Ebene mit einer Empfangsbestätigung (Acknowledgement, ACK) quittiert wird (siehe auch "Bestätigungsmechanismen"). Daher greift 802.11 auf eine Zugangskontrolle (Access Control) nach dem CSMA/CA-Algorithmus zurück.

Das Akronym steht für Carrier Sense Multiple Access with Collision Avoidance. Multiple Access deutet an, dass mehrere Kommunikationsteilnehmer einen gemeinsamen Übertragungskanal nutzen (Shared Medium). Dies ist mittlerweile ein wesentlicher Unterschied zum drahtgebundenen Ethernet, bei dem geswitchte Netze exklusive Punkt-zu-Punkt-Übertragungskanäle zur Verfügung stellen. Ein Switching in diesem Sinne ist aber bei drahtlosen Kanälen nicht möglich - auch wenn mancher Marketing-Prospekt etwas anderes vorspiegeln möchte.

Carrier Sense zeigt an, dass jeder Kommunikationsteilnehmer den gemeinsamen Kanal überwacht und seine eigene Tätigkeit an dessen Zustand anpasst.

Collision Avoidance beschreibt einen Mechanismus, der dabei Kollisionen zu vermeiden versucht - sie aber nicht vollständig vermeiden kann.

Eine zentrale Rolle bei der Funktionsweise des Zugriffsmechanismus spielt die Zeit zwischen zwei Datenpaketen, der so genannte Interframe Space (IFS). Um die Belegung des Mediums zu ermitteln, hört eine sendewillige Station für die IFS-Zeit das Medium ab. Tritt während dieser Zeitspanne keine Kommunikation auf, ist das Medium mit hoher Wahrscheinlichkeit frei. Der 802.11-Standard definiert vier verschiedene IFS-Zeiten, die drei unterschiedliche Prioritätsstufen für den Zugriff widerspiegeln. Dabei gilt: Je kürzer der IFS, desto höher die Priorität.

Distributed Coordination Function

Die grundlegende IFS-Zeit ist die Distributed IFS (DIFS). Die auf ihr basierende Distributed Coordination Function (DCF) nutzen alle Stationen, um Zugang zum Übertragungsmedium zu bekommen. Der sendewillige Teilnehmer hört zunächst das Medium ab (Listen Before Talk - LBT). Bleibt das Medium mindestens für die DIFS-Zeit frei, kann die Übertragung starten. Erkennt der Sendewillige das Medium dagegen als belegt, stellt er die Übertragung für eine bestimmte Wartezeit zurück. Die Bestimmung dieser Zeitspanne erfolgt innerhalb des so genannten Backoff-Prozesses. Dieser dient dazu, die Wahrscheinlichkeit von Kollisionen so weit wie möglich zu verringern.

Auch in dieser Beziehung weicht WLAN vom drahtgebundenen Ethernet ab. Wenn eine Ethernet-Station bei der Kanalüberwachung einen belegten Kanal beobachtet, dann beginnt sie unmittelbar nach dem Abschluss der Übertragung und nach dem Ablauf eines IFS mit der Übertragung. Dieses Vorgehen bezeichnet man als 1-Persistenz. Die Bezeichnung stammt daher, dass eine sendewillige Station hartnäckig (englisch persistent), das heißt mit einer Wahrscheinlichkeit von 100 Prozent, mit der Übertragung beginnt. Der Nachteil dieses Vorgehens besteht darin, dass bei einer hohen Kanalauslastung nach der Übertragung eines langen Rahmens die Kollisionswahrscheinlichkeit recht hoch ist. Dies führt aber nur zu einem vergleichsweise geringen Zeitverlust, weil Kollisionen bei Ethernet während der ersten 512 Bits eines Rahmens erkannt werden können.

Bei einem WLAN werden Kollisionen unter Umständen erst dann erkannt, wenn die Empfangsbestätigung ausbleibt. Bis dahin ist aber relativ viel Zeit vergangen, die auf dem Kanal nicht zur effizienten Übertragung genutzt werden kann. Um hier die Effizienz zu steigern, kommt bei WLAN ein adaptiertes Verfahren zum Einsatz.

Collision Avoidance

Die DCF kann das Auftreten von Kollisionen nur minimieren, jedoch nicht gänzlich vermeiden, wie das folgende Beispiel zeigt:

1: Station S1 beginnt die Übertragung eines Rahmens Frame 1. Alle anderen Stationen befinden sich in verschiedenen Stadien des Backoff. Sie dekrementieren also den Backoff-Zeitgeber in jedem Zeitschlitz, in dem das Medium als frei erkannt wird.

2: Nach einer (von der räumlichen Entfernung der beiden Stationen abhängigen) Verzögerungszeit empfängt S2 den Rahmen. Da das Medium als belegt erkannt wird, stoppt das Herunterzählen des Backoff-Zählers.

3, 4: Nach entsprechenden Verzögerungszeiten empfangen auch S3 und S4 den Rahmen von S1 und halten ihre Backoff-Zähler an.

5: S1 beendet die Übertragung des Rahmens.

6, 7, 8: S2, S3 und S4 erkennen das Medium wieder als frei und warten eine DIFS-Zeit ab.

9, 10, 11: Nach Ablauf der DIFS-Zeit beginnen die Stationen erneut, ihre Backoff-Zähler zu dekrementieren.

12: Der Backoff-Zähler von S2 läuft ab. Daher beginnt S2 unmittelbar mit der Übertragung des Rahmens Frame 2.

13: Nach einer Verzögerungszeit empfängt S1 den Rahmen. Da sich S1 nicht im Backoff befindet, hat dies für diese Station keine Auswirkungen.

14, 15: Sobald S3 und S4 den Rahmen empfangen, erkennen sie das Medium als belegt und stoppen das Herunterzählen des Backoff-Counters.

16: S2 beendet die Übertragung.

17: S1 erkennt das Medium wieder als frei. Da keine Informationen zur Übertragung anstehen, hat dies aber keine weiteren Auswirkungen.

18, 19: S3 und S4 erkennen das Medium wieder als frei und warten eine DIFS-Zeit ab.

20, 21: Nach Ablauf der DIFS-Zeit beginnen beide Stationen, ihren Backoff-Zähler zu dekrementieren.

22: Der Backoff-Zähler von S3 läuft ab, die Station beginnt unmittelbar mit der Übertragung des Rahmens Frame 3.

23: Gleichzeitig läuft der Backoff-Zähler von S4 ab. Auch diese Station beginnt unmittelbar mit der Übertragung eines Rahmens (Frame 4). Eine Kollision bahnt sich an.

24, 25: S2 und S1 empfangen Frame 3 zunächst störungsfrei.

26, 27: Station S2 empfängt die Überlagerung der übertragenen Rahmen Frame 3 und Frame 4.

Bestätigungsmechanismen

Bei der drahtlosen Datenübertragung können durchaus Kollisionen auftreten und die Datenpakete von verschiedenen sendenden Kommunikationsteilnehmern zerstören.

Hierin unterscheidet sich der CSMA/CA-Algorithmus nach 802.11 grundsätzlich von dem CSMA/CA-Verfahren, wie es bei seriellen Bussen (etwa dem im Automobil verwendeten CAN-Bus) eingesetzt wird. Dort können zwar auch Kollisionen auftreten. Durch die Festlegung von zwei Prioritätsebenen für die möglichen Signalpegel "0" und "1" setzt sich dort jedoch die "wichtigere" Nachricht störungsfrei durch.

Zudem besteht in drahtlosen Systemen keine realistische Möglichkeit, Kollisionen zu erkennen. Ein CSMA/CD-Algorithmus wie beim Ethernet nach 802.3 ist daher nicht möglich.

Deshalb muss bei der drahtlosen Übertragung nach 802.11 der ordnungsgemäße Empfang eines Rahmens quittiert werden. Das Versenden der Quittung (Acknowledgement - ACK) erfolgt nach einer Wartezeit, die man als Short Interframe Space (SIFS) bezeichnet. Dieser SIFS ist kürzer als der DIFS, so dass die Bestätigung nicht die Wartezeiten der normalen Datenübermittlung einhalten muss. Durch die kürzere Wartezeit erhalten die Quittungsrahmen eine höhere Priorität als normale Datenpakete. Diese erhöhte Priorität ist sinnvoll, da auf diese Weise eine feste Timeout-Bedingung für eine erneute Übertragung (retransmission) möglich ist.

Reduzierte Bandbreite

Wie auch bei anderen Netzwerkstandards werden bei WLAN Bruttobandbreiten angegeben. Diese reduzieren sich durch folgende Faktoren auf eine Nettobandbreite, die im Fall von WLAN bei höchstens 50 Prozent der Bruttobandbreite liegt.

1. Die Teilschichten fügen Steuerinformationen (Header) hinzu. Die Übertragung der Header erfolgt normalerweise in der langsamsten Geschwindigkeit, damit alle Stationen im Funkbereich diese auch empfangen und auswerten können. Bei höheren Übertragungsgeschwindigkeiten nimmt der relative Zeitanteil zu.

2. Während der Wartezeiten (Interframe Spaces) bleibt der Kanal ungenutzt.

3. Die Empfangsbestätigungen sowie eventuell notwendige Rahmen zur Kanalreservierung verbrauchen ebenfalls Ressourcen. Dabei ist zu beachten, dass bei WLAN-basierter Übertragung von TCP-Verkehr insgesamt vier Rahmen auf dem Kanal übertragen werden müssen: der eigentliche Datenrahmen, die WLAN-Bestätigung des Datenrahmens, die TCP-Bestätigung sowie die WLAN-Bestätigung der TCP-Bestätigung.

SIFS und DIFS

Wie das Zusammenspiel zwischen Quittungs- und Datenrahmen funktioniert, sehen wir uns wieder an einem konkreten Beispiel an:

1: Station S1 beginnt die Übertragung eines Rahmens Frame 1 an S2. Zu diesem Zeitpunkt befindet sich S3 im Backoff-Prozess.

2: S2 beginnt mit dem ordnungsgemäßen Empfang von Frame 1.

3: Auch S3 empfängt den Rahmen. Das Medium wird als belegt erkannt, der Backoff-Zähler stoppt.

4: S1 beendet die Übertragung des Rahmens.

5: S2 erkennt das Medium wieder als frei. Da die Übertragung ordnungsgemäß abgeschlossen wurde, beginnt die Station ein SIFS-Warte-Intervall, um anschließend eine Quittung zu versenden.

6: Nach Ablauf von SIFS versendet S2 den ACK-Rahmen.

7: S3 erkennt das Medium wieder als frei und beginnt ein DIFS-Warte-Intervall.

8: S1 empfängt den ACK-Rahmen.

9: S3 empfängt den ACK-Rahmen und stellt fest, dass das Medium belegt ist. Daher bricht sie das noch nicht beendete DIFS-Warte-Intervall ab.

10: S2 beendet die Übertragung des ACK-Rahmens.

11: S1 beendet den Empfang des ACK-Rahmens.

12: S1 beendet den Empfang des ACK-Rahmens und beginnt ein neues DIFS-Warte-Intervall.

13: Nach dessen vollständigem Ablauf kann der Backoff-Zähler von S1 weiter dekrementiert werden.

Verhalten bei Kollisionen

Während des Quittierungsverlaufs kann es vorkommen, dass eine Station S1 das Acknowledgement für das gesendete Paket nicht innerhalb des festgelegten Zeitintervalls empfängt. Dies kann (mindestens) zwei Ursachen haben: Zum einen kann eine Kollision von zwei Datenpaketen aufgetreten sein. Zum anderen ist es nicht ausgeschlossen, dass der ACK-Rahmen selbst durch eine Kollision zerstört wurde. Letzteres tritt vor allem in ausgedehnten Funknetzen auf, wenn die Summe aus SIFS und der maximalen Ausbreitungszeit in Hin- und Rückrichtung größer ist als die DIFS einer sendebereiten Station.

Bleibt die Empfangsbestätigung aus, bereitet die sendende Station eine Retransmission vor. Dazu begibt sie sich in den Backoff-Zustand. Um die Wahrscheinlichkeit einer erneuten Kollision zu verringern, verdoppelt sie dazu nach jeder erfolglosen Übertragung den Wert des Contention Window, bis ein vorgegebenes Maximum CWmax erreicht ist. Nach einem erfolgreichen Sendevorgang setzt sie CW wieder auf den Ausgangswert CWmin zurück und hält so die Wartezeiten im System möglichst kurz.

Versteckte Stationen

Alle beschriebenen Verfahren funktionieren effizient, solange sämtliche Stationen miteinander in Funkkontakt stehen. Ansonsten kann eine der Stationen das Medium als frei erkennen, obwohl dies für die andere Station nicht zutrifft. Ein mögliches Szenario zeigt die unten stehende Abbildung.

Station S1 kann hier von zwei weiteren Stationen (S2, S3) Daten empfangen. Ein unmittelbarer Funkkontakt zwischen S2 und S3 ist dagegen nicht möglich. Sendet nun S1 eine Nachricht an S2, erscheint das Medium dennoch für S2 als frei. Überträgt gleichzeitig S3 ein Datenpaket an S2, kann S2 es nicht fehlerfrei empfangen. Anders als bei drahtgebundenen Medien lässt sich bei Funknetzen nur auf Empfängerseite prüfen, ob eine Kollision vorliegt.

Um solche Situationen zu vermeiden, beinhaltet das 802.11-Protokoll den so genannten RTS-CTS-Mechanismus. Ein Request-to-Send-Rahmen (RTS) wird von der sendewilligen Station S1 an den Empfänger S2 geschickt und von diesem mit einem Clear-to-Send-Rahmen (CTS) beantwortet. Klappt dieser Austausch problemlos, beginnt der Sender nach Ablauf der SIFS-Zeit mit der Datenübertragung, und alle Stationen innerhalb der Empfangsbereiche von S1 und S2 haben Kenntnis von der geplanten Übertragung.

Diese Erweiterung wird teilweise auch als CSMA/CAW (CSMA/CA für Wireless), oder kurz als MACAW bezeichnet.

RTS, CTS und NAV

Falls der CTS-Rahmen nicht innerhalb einer festgelegten Zeitdauer empfangen wird, beginnt der RTS-CTS-Austausch nach Ablauf eines normalen Backoff-Zyklus erneut. Durch die Verwendung von SIFS erhalten CTS-Antworten dabei eine höhere Priorität als der normale Datenverkehr.

Zwei Sachverhalte gilt es im Zusammenhang mit dem RTS-CTS-Mechanismus allerdings im Hinterkopf zu behalten. Zum einen schreibt 802.11 die Implementierung der RTS-Seite nicht zwingend vor. Der erhöhte Zeitaufwand der RTS-CTS-Rahmen macht nur bei einer hohen Kanalauslastung und bei langen zur Übertragung anstehenden Rahmen Sinn. Deshalb muss jedes Gerät in der Lage sein, einen RTS-Frame innerhalb der geforderten Zeit mit dem zugehörigen CTS-Rahmen zu beantworten.

Darüber hinaus enthalten die RTS- und CTS-Frames ein Feld, das die Dauer für die Übertragung des Datenrahmens angibt. Diese Information werten alle Stationen aus, die RTS/CTS-Signale empfangen. Sie aktivieren in diesem Fall einen Zeitgeber (Net Allocation Vector - NAV), der im Gegensatz zum Backoff-Zähler unabhängig vom Zustand des Übertragungsmediums dekrementiert wird. Während der resultierenden NAV-Zeit beginnen die jeweiligen Stationen nicht mit Übertragungsvorgängen, was die Wahrscheinlichkeit von Kollisionen drastisch verringert.

Bei den meisten etwas leistungsfähigeren WLAN-Stationen kann die Verwendung des RTS-CTS aktiviert oder deaktiviert werden. Im Falle der Aktivierung kann dann meist noch zusätzlich ein Schwellwert der Rahmenlänge angegeben werden, oberhalb der RTS-CTS durchgeführt werden soll. Simulationsergebnisse zeigen, dass dieser Wert bei 700 bis 1000 Byte liegen sollte.

Ablauf des RTS-CTS-Mechanismus

Auch hier verdeutlichen wir uns die Funktionsweise anhand eines praktischen Beispiels. In der unten stehenden Abbildung sehen Sie das zugehörige Zeitdiagramm (ohne Berücksichtigung der Signallaufzeiten auf dem Medium).

1: S1 beginnt die Übertragung eines RTS-Rahmens an S2. Auch S2 und S4 empfangen diesen Frame.

2: Nach dem Empfang des RTS-Rahmens setzt S4 den NAV-Zeitgeber und verhält sich ruhig. Der NAV von S4 enthält die benötigte Zeit für CTS-, Daten- und ACK-Rahmen zuzüglich der jeweiligen SIFS-Intervalle.

3: Ein SIFS-Zeitintervall später sendet S2 den CTS-Rahmen. Er kann auch von S1 und S3 empfangen werden.

4: S3 setzt seinen NAV-Zeitgeber auf die für die Übertragung des Daten- und des ACK-Rahmens benötigte Zeit zuzüglich der dazwischen liegenden SIFS-Zeit und verhält sich ruhig.

5. S1 überträgt nach dem Empfang des CTS-Rahmens und einem SIFS-Intervall den Datenrahmen.

6. S2 bestätigt den Empfang nach einem SIFS-Intervall mit einem ACK-Rahmen.

7: Die Datenübertragung ist erfolgreich abgeschlossen, die NAV-Zeitgeber der beiden an der Kommunikation nicht beteiligten Stationen sind abgelaufen. Nach Verstreichen einer DIFS-Zeit kann eine neue Datenübertragung beginnen.

Der RTS-CTS-Mechanismus schützt zwar offensichtlich vor Kollisionen, verursacht aber zusätzlichen Protokollverkehr. Um den Overhead bei kurzen Datenpaketen zu minimieren, wird der RTS-CTS-Austausch erst ab einer gewissen Paketgröße (RTS Threshold) aktiviert. Daneben bewährt sich der RTS-CTS-Mechanismus auch beim Betrieb überlappender BSS und IBSS.

Exposed Stations

Ein weiteres Problem ergibt sich mit dem Aufbau bei den versteckten Stationen. Wenn die Stationen S3 und S4 Access Points sind und die Mobilstationen S1 und S2 jeweils dort angemeldet sind, dann könnten S3 und S4 eigentlich ungestört die Signale ihrer jeweiligen Mobilstationen empfangen. S3 und S4 treten aber auf Grund des Carrier Sense von der Übertragung zurück, solange die jeweils andere Station sendet. Da dieses Problem lediglich die Effizienz verschlechtert, aber keine Rahmenübertragung stört, existieren keine Vorkehrungen.

Point Coordination Function

Bei der oben vorgestellten Distributed Coordination Function (DCF) ist der Name Programm. Alle Stationen sind gleichberechtigt und koordinieren sich durch ein gemeinschaftlich abgestimmtes verteiltes Verfahren. Dabei folgt die DCF dem klassischen, auch bei herkömmlichem Ethernet eingesetzten "Best-Effort"-Ansatz, der keinerlei Dienstgüten erlaubt.

Um solche zu garantieren, sieht der 802.11 mit der Point Coordination Function (PCF) die Überlagerung durch ein zentralisiertes Master-Slave-Zugriffsverfahren vor. Der Master wird hierbei als Point Coordinator (PC) bezeichnet. Ihm wird ein priorisierter Zugriff auf das Übertragungsmedium erlaubt. Üblicherweise agiert ein Access Point mit Festnetzzugang als PC.

Die PCF steuert die Übertragung der Rahmen während einer wettbewerbsfreien Zeit (Contention Free Period - CFP), die sich mit der durch die DCF gesteuerte Wettbewerbsperiode abwechselt. Die CFP wird in regelmäßigen Zeitabständen mit der CFP-Rate wiederholt und startet mit der Übertragung eines Beacons (englisch Leuchtfeuer, Signalfeuer), der die maximale Dauer der CFP enthält. Alle Stationen im BSS außer dem PC setzen ihren NAV auf diesen Wert.

Ist das Übertragungsmedium frei, übernimmt nach Ablauf der PCF-IFS (PIFS) zu Beginn der CFP der PC die Steuerung. Die PIFS ist länger als die SIFS, aber kürzer als die DIFS. Die PCF weist also eine höhere Priorität auf als die normale Übertragung, muss jedoch Quittierungen abwarten. Während der gesamten CFP bleibt der PC steuernd tätig. Er führt eine so genannte Polling List und fragt in der CFP alle Stationen auf dieser Liste der Reihe nach ab, ob sie eine Übertragung wünschen. Dabei identifiziert er die Stationen über einen Association Identifier (AID).

Der 802.11 definiert PCF als optional. Dennoch müssen alle Stationen in der Lage sein, den entsprechenden Medienzugriffsregeln Folge zu leisten. Stationen, die auf Anfragen des PC auch antworten können, werden CF-Pollable genannt. Neben dem AP können nur solche Stationen Daten entsprechend der PCF übertragen. Allerdings wurde PCF in der Praxis nicht umgesetzt. Ein Nachfolger ist in der Hybrid Coordination Function (HCF) zu sehen.

Literatur

Vom Autor dieses Artikels liegen zwei Bücher zum Thema vor:

Sikora, A., "Technische Grundlagen der Rechnerkommunikation: Internet-Protokolle und Anwendungen", Fachbuchverlag Leipzig im Carl Hanser Verlag, 2003, ISBN 3-446-22455-6.

Sikora, A., "Wireless LAN - Protokolle und Anwendungen", Addison-Wesley, 2001, ISBN 3-8273-1917-X.

tecCHANNEL Buch-Shop

Literatur zum Thema Netzwerke

Bestell-Link

Titelübersicht von (W)LAN-Büchern

Übersicht

Titelübersicht von (W)LAN-eBooks (PDF, 50 Prozent billiger als das Buch)

Übersicht

Titelübersicht von Webtechnik-Büchern

Übersicht