Funk-Nachbrenner

Seite 2: Paketaufbau

Inhaltsverzeichnis

Ähnlich wie das frühe Koax-Ethernet steuern WLANs nach der IEEE-Standardfamilie 802.11 den Zugriff mittels CSMA (Carrier Sense Multiple Access), weil die Stationen in einer WLAN-Zelle den Funkkanal nur wechselweise nutzen können. Dagegen sind bei Fast- und Gigabit-Ethernet inzwischen Switches gebräuchlich, die für jede Kommunikation zwischen zwei Stationen eine eigene Verbindung schalten.

Der Funkkanal ist als Medium nur einmal vorhanden und funktioniert wie ein Hub: Wenn mehrere Partner gleichzeitig senden, stören sie sich. CSMA sieht deshalb vor, dass eine Station vor dem Senden prüfen muss, ob das Medium frei ist. Erst dann darf sie mit der Übertragung beginnen. Das schließt natürlich noch nicht sicher aus, dass zwei Stationen das Medium fast gleichzeitig als frei erkennen und los-senden. Dieser Effekt tritt auch beim Ethernet als Kollision auf, wenn kein Switch die Verbindung vermittelt.

Dort können die Streithähne schon während des Sendens die Kollision erkennen, die Übertragung abbrechen und bis zum nächsten Versuch eine zufällige Zeit warten (CSMA/CD, Collision Detection). Bei Funk genügt das jedoch nicht. IEEE 802.11 führt deshalb ein Bestätigungspaket (ACKnowledge) ein, das der Empfänger an den Sender zurückschickt. Eine zusätzliche Karenzzeit stellt sicher, dass das ACK mit hoher Wahrscheinlichkeit nicht von anderen Paketen gestört wird.

Summiert man die protokollbedingten Wartezeiten SIFS und DIFS für ein 802.11a-WLAN, ergibt schon das einen festen Overhead von 50 Mikrosekunden pro Frame (Details dazu in einem c't-Artikel). Hinzu kommt zusätzlicher Aufwand im Datenpaket, das nicht nur Nutzdaten, sondern auch die von den verschiedenen Protokollschichten benötigten Header transportiert. Ein über WLAN verschicktes Datenpaket besteht im Extremfall aus weiteren Komponenten:

  • Präambel, damit sich der Empfänger auf das Signal synchronisieren kann (20 Mikrosekunden)
  • 802.11-Header (24 bis 32 Byte)
  • Sequenzzähler (IV) bei verschlüsselten Paketen (4 oder 8 Byte)
  • LLC-SNAP-Header, um Ethernet-Pakete über Nicht-Ethernet-Medien zu transportieren (8 Byte)
  • die Nutzdaten (Payload, maximal 2304 Byte)
  • Prüfsumme(n) bei verschlüsselten Paketen (4 bis 12 Byte)
  • Prüfsumme des Physical Layer (4 Byte)

Bei einem 1500 Byte langen Datenpaket, das mit 54 MBit/s über 802.11a übertragen wird, summiert sich das auf weitere 64 Byte sowie einen konstanten Overhead von 20 Mikrosekunden für die Präambel. Das ACK-Paket behandelt der Physical Layer in gleicher Weise wie das Datenpaket, es entfallen lediglich die Teile vom Sequenzzähler bis zur Verschlüsselungsprüfsumme. Außerdem ist der Header verkürzt, sodass ein ACK lediglich 24 Mikrosekunden braucht.

Außer den Wartezeiten rahmen Präambel, Header und Prüfsummen die Nutzdaten ein. Deshalb unterscheidet sich die Bruttodatenrate so deutlich von der vom Anwender erlebten Nettorate.

Insgesamt dauert die Übertragung von 1500 Bytes Nutzlast mit 54 MBit/s 325 Mikrosekunden, was eine Nettorate von knapp 37 MBit/s ergibt. Rechnet man den TCP/IP-Overhead (weitere 40 Bytes pro Paket, TCP-ACKs) und Wiederholungen wegen Funkstörungen noch ein, so kommt man auf Nettoraten um 25 MBit/s, die 802.11a bei guter Funkverbindung durchaus erreicht. Das ist in etwa das gleiche Brutto/Netto-Verhältnis wie bei 11b-WLANs (fünf bis sechs von 11 MBit/s). Für den 11b-Nachfolger 802.11g, der an sich wie 11a funkt, kann es leider noch schlimmer kommen.

Für den aktuell verbreiteten WLAN-Standard 802.11g war gefordert, dass er aufwärtskompatibel zu der weit verbreiteten 11b-Hardware sein müsse. Jede 11g-Karte beherrscht deshalb die von 11b bekannten Datenraten bis 11 MBit/s. Der Knackpunkt entsteht, wenn zwei 11g-Stationen miteinander kommunizieren und gleichzeitig eine 11b-Karte senden möchte: Weil 802.11g ein anderes Modulationsverfahren als 11b verwendet, kann die 11b-Karte nicht ohne weiteres erkennen, dass das Medium gerade belegt ist.

Um Kollisionen zu vermeiden, stellen 11g-Stationen ihrem 11g-Paket bei Anwesenheit von 11b-Hardware ein 11b-kompatibles Steuerpaket voran (CTS, Clear To Send), mit dem sie das Medium für eine bestimmte Zeit reservieren. Das zusätzliche CTS-Paket ist aber fast so lang wie das Datenpaket selbst und drückt die Nettorate in die Gegend von 15 MBit/s. Dieser Overhead tritt grundsätzlich auf, wenn 11b- und 11g-Hardware auf dem gleichen Funkkanal arbeitet. Deshalb kann die alte 11b-Basisstation des Wohnungsnachbars das eigene 11g-Netz herunterziehen, obwohl man selbst nur 11g-Hardware nutzt. Viele 11g-Chipsätze kennen zwar einen G-Only-Modus, der ohne CTS funkt. Den zu nutzen ist aber nur selten ratsam, denn die dadurch vermehrt auftretenden Kollisionen mit 11b-Paketen kosten oft mehr Durchsatz, als die CTS-Einsparung bringt.