1/44
Warstwa łącza danych – ramki w sieciach 802.11

Struktura ramek 802.11 i ich rola w sieciach WiFi

Budowa i konfiguracja urządzeń sieci LAN – Sieci WLAN (WiFi)

Prezentacja obejmuje budowę ramek 802.11, ich typy (Management, Control, Data), adresację MAC (4 pola adresowe), mechanizmy niezawodności (ACK, RTS/CTS) oraz analizę ramek w programie Wireshark. Omówione zostaną kluczowe różnice między ramką Ethernet a 802.11, a także szczególne typy ramek: Beacon, Probe, Association, RTS, CTS, ACK. Materiał stanowi podstawę do diagnostyki sieci WiFi.

Ramka 802.11 z zaznaczonymi polami
2/44
Streszczenie

Krótkie podsumowanie tematu

Ramka 802.11 różni się fundamentalnie od ramki Ethernet. Zamiast dwóch adresów MAC (DA+SA) ma trzy lub cztery pola adresowe, co wynika z natury medium radiowego. Ramki dzielą się na trzy typy: Management (Beacon, Probe, Association, Authentication), Control (RTS, CTS, ACK) i Data (QoS Data, Null). Każda ramka Data musi być potwierdzona (ACK) – to kluczowa różnica względem Ethernetu, gdzie nie ma potwierdzeń na poziomie L2. Zrozumienie struktury ramek 802.11 jest niezbędne do diagnostyki sieci WiFi i analizy problemów.

Streszczenie – podsumowanie tematu
4/44
Ramka Ethernet a 802.11 – porównanie

Fundamentalne różnice w budowie ramek

Ramka Ethernet składa się z: Preambuły + SFD + DA (6 B) + SA (6 B) + Type/Len (2 B) + Data + FCS (4 B). Ramka 802.11 jest znacznie bardziej złożona: Frame Control (2 B) + Duration/ID (2 B) + Address 1 (6 B) + Address 2 (6 B) + Address 3 (6 B) + Sequence Control (2 B) + opcjonalnie Address 4 (6 B) + QoS Control (2 B) + Frame Body + FCS (4 B).

Główna różnica: 802.11 ma więcej pól kontrolnych i 3–4 adresy MAC zamiast 2 w Ethernet. Wynika to z potrzeby translacji między domeną bezprzewodową a przewodową.

Ramka Ethernet ma stałe 2 adresy (DA+SA). Ramka 802.11 ma 3 lub 4 adresy MAC, zależnie od kontekstu.
Schemat ramki Ethernet obok ramki 802.11
5/44
Frame Control (2 bajty)

Pole kontrolne ramki 802.11

Frame Control to najważniejsze pole ramki 802.11, zawierające 16 bitów opisujących jej charakterystykę:

  • Protocol Version (2 bity): zawsze 00 (zarezerwowane dla przyszłych wersji)
  • Type (2 bity): 00=Management, 01=Control, 10=Data, 11=rezerwowane
  • Subtype (4 bity): określa konkretny typ ramki w danej kategorii
  • To DS, From DS (po 1 bicie): określają kierunek ramki między BSS a DS
  • More Frag, Retry, Pwr Mgt, More Data, Protected Frame, Order
To DS i From DS – kluczowe bity określające, które adresy MAC są używane w ramce.
Rozkład bitów pola Frame Control
6/44
Duration/ID (2 bajty)

Rezerwacja medium i NAV

Pole Duration/ID pełni dwie funkcje w zależności od typu ramki:

  • Duration – czas (w mikrosekundach), przez który medium radiowe będzie zajęte. Inne stacje odczytują tę wartość i ustawiają swój NAV (Network Allocation Vector) – wirtualne wykrywanie nośnej.
  • ID – w ramkach PS-Poll pole zawiera identyfikator stacji AID (Association ID).

NAV to licznik, który odlicza czas, podczas którego stacja nie może nadawać (medium zajęte). Dzięki NAV stacje oszczędzają energię, nie nasłuchując fizycznie medium.

Pole Duration na osi czasu – rezerwacja medium
7/44
Adresacja – 4 pola adresowe

Kombinacje adresów zależne od To DS i From DS

To DSFrom DSAddress 1Address 2Address 3Address 4
00DASABSSIDN/A
01DABSSIDSAN/A
10BSSIDSADAN/A
11RATADASA
  • Address 1: Receiver Address (RA) – kto odbiera
  • Address 2: Transmitter Address (TA) – kto nadaje
  • Address 3: zależy od kontekstu – BSSID lub DA/SA
  • Address 4: tylko w WDS (Wireless Distribution System)
Tabela adresacji z kolorami
8/44
Adresacja w praktyce – przykład uplink

Klient wysyła dane do sieci LAN (uplink)

Gdy klient (STA) wysyła ramkę do AP z zamiarem przekazania jej do sieci przewodowej (uplink), bity To DS i From DS przyjmują wartości: To DS = 1, From DS = 0.

  • Address 1 = BSSID (MAC AP) – AP ma odebrać ramkę
  • Address 2 = SA (MAC klienta) – nadawca
  • Address 3 = DA (docelowy host w sieci LAN) – ostateczny cel

AP odbiera ramkę 802.11, dokonuje translacji nagłówków na ramkę Ethernet i wysyła do sieci przewodowej (switch/router).

Klient → AP → Switch → Serwer
9/44
Adresacja w praktyce – przykład downlink

AP przekazuje dane do klienta (downlink)

Gdy AP wysyła ramkę do klienta (downlink), bity To DS = 0, From DS = 1:

  • Address 1 = DA (MAC klienta) – klient ma odebrać ramkę
  • Address 2 = BSSID (MAC AP) – nadawca
  • Address 3 = SA (źródłowy host z LAN) – oryginalne źródło

Klient odbiera ramkę, sprawdza Address 1 (czy to jego MAC), jeśli tak – przetwarza ramkę. Jeśli Address 1 nie zgadza się – ramka jest odrzucana na poziomie karty sieciowej.

Serwer → Switch → AP → Klient
10/44
Sequence Control (2 bajty)

Numerowanie ramek

Pole Sequence Control składa się z dwóch części:

  • Fragment Number (4 bity): numer fragmentu, jeśli ramka została podzielona na fragmenty (fragmentacja). Zakres 0–15.
  • Sequence Number (12 bitów): numer sekwencyjny ramki. Każda ramka Data otrzymuje kolejny numer. Zakres 0–4095.

Sequence Number jest używany do wykrywania duplikatów – jeśli odbiornik otrzyma ramkę z tym samym numerem, odrzuca ją. Fragment Number służy do składania fragmentów ramki w całość.

Pole Sequence Control – fragmentacja ramki
11/44
QoS Control (2 bajty)

Priorytetyzacja ruchu w 802.11e/WMM

Pole QoS Control występuje wyłącznie w ramkach QoS Data (typ Data z subtype 8, 9, 10, 11). Zawiera:

  • TID (Traffic Identifier, 4 bity): priorytet według 802.11e/WMM – od 0 (best effort) do 7 (voice)
  • A-MSDU Present: czy ramka zawiera agregację A-MSDU
  • TXOP Duration Request: żądanie czasu na transmisję
  • AP PS Buffer State: informacja o buforze AP dla uśpionych klientów

Dzięki QoS Control sieć WiFi może priorytetyzować ruch wrażliwy na opóźnienia (VoIP, streaming video).

Pole QoS Control z priorytetami WMM
12/44
Frame Body i FCS

Dane i suma kontrolna

Frame Body – właściwe dane przenoszone w ramce. Maksymalny rozmiar: 0–2304 bajtów (w praktyce do 1500 B ze względu na MTU sieci przewodowej). W ramkach Management Frame Body zawiera tagi TLV (Type-Length-Value).

FCS (Frame Check Sequence, 4 bajty) – suma kontrolna CRC-32 liczona od początku Frame Control do końca Frame Body. Jeśli FCS nie zgadza się po stronie odbiorcy, ramka jest odrzucana – nie jest wysyłany ACK, a nadawca retransmituje ramkę po upływie timeoutu.

Ramka 802.11 z zaznaczonym FCS
13/44
Przykład: Ramka w Wireshark

Analiza ramki 802.11 w Wireshark

Wireshark pozwala na szczegółową analizę każdego pola ramki 802.11. Filtr wlan wyświetla wszystkie ramki bezprzewodowe. Dla wybranej ramki można odczytać:

  • Frame Control: Type (Management/Control/Data), Subtype
  • Address 1, 2, 3 (w zależności od To DS/From DS)
  • Sequence number – identyfikacja duplikatów
  • QoS Control – dla ramek QoS Data
  • Frame Body – dane lub tagi TLV

Wireshark koloruje ramki według typu: zielone = Management, niebieskie = Control, czarne = Data (z błędem).

Zrzut ekranu Wireshark z ramką 802.11
14/44
Ramki Management – przegląd

Typ 00 – zarządzanie siecią

Ramki Management (Type = 00) służą do zarządzania połączeniem, autoryzacją i skanowaniem. Subtype określa konkretną funkcję. Najważniejsze podtypy:

  • Subtype 8: Beacon – sygnał nawigacyjny AP
  • Subtype 4/5: Probe Request/Response – skanowanie
  • Subtype 11/12: Authentication/Deauthentication – autoryzacja
  • Subtype 0/1/2: Association Request/Response, Reassociation
  • Subtype 13: Action Frame – rozszerzalny mechanizm

Od 802.11w (MFP – Management Frame Protection) ramki Management mogą być szyfrowane, co zapobiega atakom typu Deauth.

Lista typów ramek Management
15/44
Beacon – sygnał nawigacyjny AP

Podstawa działania sieci infrastrukturalnej

Beacon to ramka Management (Subtype = 8) wysyłana cyklicznie przez AP. Domyślnie co 100 ms (10 Beaconów na sekundę). Zawiera kluczowe informacje o sieci:

  • SSID – nazwa sieci
  • Supported Rates – obsługiwane szybkości transmisji
  • Capability Information – możliwości AP (np. QoS, Privacy)
  • Country – kod kraju (dla regulacji kanałów)
  • Channel – aktualny kanał
  • TIM (Traffic Indication Map) – informacja dla uśpionych klientów
  • RSN (Robust Security Network) – informacje o WPA/WPA2/WPA3
Beacon wysyłany jest co 100 ms (domyślnie). Częstotliwość można zmienić (np. co 200 ms) dla oszczędności energii.
AP wysyłający beacony dookoła
16/44
Beacon – analiza w Wireshark

Filtrowanie i interpretacja Beacon

W Wireshark ramki Beacon identyfikuje się filtrem: wlan.fc.type_subtype == 8 (lub wlan.fc.type_subtype == 0x08). Po wybraniu ramki Beacon widać:

  • SSID: nazwa sieci (tag TLV nr 0)
  • Supported Rates: lista szybkości z oznaczeniem basic (B) i optional
  • Country Information: kod kraju (np. PL dla Polski)
  • Channel: numer kanału (tag TLV nr 3)
  • RSN: informacje o WPA/WPA2 (tag TLV nr 48)
  • HT/VHT/HE Capabilities: wsparcie dla 802.11n/ac/ax

Frame Body w Beacon to seria tagów TLV (Type-Length-Value) – każdy tag ma identyfikator, długość i wartość.

Zrzut Wireshark – Beacon z tagami
17/44
Probe Request i Response

Skanowanie aktywne i pasywne

Probe Request – klient wysyła ramkę z zapytaniem o konkretną sieć lub wszystkie sieci w pobliżu. Subtype = 4. Jeśli SSID = broadcast (00:00...), klient szuka wszystkich dostępnych sieci.

Probe Response – AP odpowiada ramką podobną do Beacon, ale wysłaną na żądanie klienta (unicast). Subtype = 5.

Dwa tryby skanowania:

  • Skanowanie aktywne: klient wysyła Probe Request na każdym kanale i czeka na Probe Response
  • Skanowanie pasywne: klient słucha Beaconów na każdym kanale (dłuższe, ale bezpieczniejsze)
Klient → Probe Request → AP → Probe Response
18/44
Probe Request – bezpieczeństwo

Zagrożenie prywatności przy skanowaniu aktywnym

Probe Request może zawierać SSID szukanej sieci. Jeśli klient wysyła Probe Request z konkretnym SSID (np. "BiKUS-WLAN"), ujawnia, jakie sieci zna – każdy w zasięgu radiowym może przechwycić tę informację.

Atak Probe Request Sniffing – atakujący zbiera SSID znane klientom, co może posłużyć do stworzenia fałszywego AP (Evil Twin) lub śledzenia lokalizacji.

Rozwiązanie: nowoczesne systemy (Windows 10/11, iOS, Android) stosują losowe adresy MAC podczas skanowania i nie wysyłają konkretnych SSID w Probe Request.

Probe Request z SSID – zagrożenie prywatności
19/44
Authentication – Open System

Proces autoryzacji przed Association

Przed dołączeniem do BSS klient musi przejść proces Authentication. W trybie Open System Authentication (najpopularniejszym) proces jest czysto formalny:

  • Krok 1: Klient wysyła Auth Request (type = Open System, kod 0)
  • Krok 2: AP odpowiada Auth Response (status = success)

Historycznie istniał też Shared Key Authentication (typ 1), używany z WEP – polegał na sprawdzeniu, czy klient zna klucz WEP (test challenge-response). Ze względu na słabość WEP jest dziś nieużywany.

Authentication jest wymagana przed Association – bez niej klient nie może wysłać Association Request.

Klient → Auth Request → AP → Auth Response
20/44
Association Request i Response

Dołączenie do BSS

Po pomyślnej Authentication klient wysyła Association Request (Subtype = 0), zawierający: capability information, listen interval, SSID, obsługiwane szybkości. AP odpowiada Association Response (Subtype = 1) z:

  • AID (Association ID, 16 bitów) – unikalny identyfikator klienta w BSS (zakres 1–2007)
  • Status code: 0 = success lub kod błędu
  • Supported Rates – potwierdzenie szybkości

Po otrzymaniu Association Response klient jest członkiem BSS i może wysyłać ramki Data.

Association = klient zostaje członkiem BSS i otrzymuje AID. Bez Association nie może wysyłać danych.
Klient → Assoc Request → AP → Assoc Response (z AID)
21/44
Reassociation Request/Response

Roaming między AP w tym samym ESS

Gdy klient przemieszcza się między AP należącymi do tego samego ESS (Extended Service Set), zamiast pełnej Association wykonuje Reassociation (Subtype = 2/3). Proces:

  • Klient wysyła Reassociation Request do nowego AP, podając adres starego AP
  • Nowy AP odpowiada Reassociation Response (z nowym AID)
  • Nowy AP komunikuje się ze starym AP przez IAPP (Inter-Access Point Protocol) – stare AP otrzymuje informację o przejściu klienta

Dzięki Reassociation klient nie musi ponownie przechodzić pełnej autoryzacji – roaming jest szybszy (rzędu 50–200 ms).

Klient przechodzi z AP1 do AP2 – Reassociation
22/44
Deauthentication i Disassociation

Zakończenie połączenia i ataki

Deauthentication (Subtype = 12, Type = 00) – ramka zakończenia autoryzacji. Może być wysłana zarówno przez klienta, jak i AP. Powoduje natychmiastowe zerwanie połączenia.

Disassociation (Subtype = 10) – ramka zakończenia asocjacji. Lżejsza forma – klient może ponownie się zasocjować bez nowej autoryzacji.

Atak Deauth – atakujący wysyła fałszywy Deauth z adresem źródłowym AP do klienta (lub do AP). Klient myśli, że AP zakończył połączenie i rozłącza się. Atak można powtarzać, uniemożliwiając pracę sieci.

Ochrona: 802.11w (MFP) szyfruje ramki Management, uniemożliwiając fałszowanie Deauth.

Atak deauth – wysłanie fałszywego Deauth do klienta
23/44
Action Frame

Rozszerzalny mechanizm dla nowych funkcji

Action Frame (Subtype = 13) to rodzaj ramki Management służący do implementacji nowych funkcji bez zmiany standardu. Kategoria ramki określa przeznaczenie:

  • Spectrum Management – Channel Switch Announcement, informacja o zmianie kanału
  • Block ACK – konfiguracja agregacji (ADDBA Request/Response)
  • VHT Action – specyficzne dla 802.11ac (Very High Throughput)
  • HE Action – dla 802.11ax (High Efficiency)
  • EHT Action – dla 802.11be (Extremely High Throughput)

Dzięki Action Frame standard 802.11 może ewoluować bez zmiany podstawowej struktury ramek.

Kategorie Action Frame
24/44
TIM i DTIM w Beacon

Informacja o danych dla uśpionych klientów

TIM (Traffic Indication Map) – pole w ramce Beacon informujące, którzy klienci (identyfikowani przez AID) mają dane oczekujące w buforze AP. TIM to bitmapa AID (do 2007 bitów).

DTIM (Delivery TIM) – specjalny typ TIM, co kilka Beaconów (domyślnie co 1–3). DTIM informuje o ramkach broadcast i multicast. Gdy klient widzi DTIM z danymi dla siebie, budzi się i odbiera ramki.

Parametr DTIM Period: co który Beacon ma być DTIM (np. DTIM = 3 oznacza DTIM co 3. Beacon).

Serial Beaconów z TIM i DTIM
25/44
PM (Power Management)

Oszczędzanie energii w stacjach WiFi

Power Management (PM) to mechanizm oszczędzania energii kluczowy dla urządzeń bateryjnych (telefony, laptopy, IoT). Działanie:

  • Klient ustawia bit Power Management w Frame Control na 1 → AP wie, że klient przechodzi w tryb uśpienia
  • AP buforuje ramki dla uśpionego klienta w swojej pamięci
  • Klient budzi się cyklicznie co DTIM, by sprawdzić TIM w Beacon
  • Jeśli TIM wskazuje dane → klient wysyła PS-Poll do AP i odbiera ramki
Power Management – mechanizm oszczędzania energii w stacjach WiFi (kluczowy dla urządzeń bateryjnych).
Klient → PS mode → AP buforuje → klient budzi się → odbiera ramki
26/44
PM w praktyce – przykład

Telefon z WiFi w trybie uśpienia

Typowy scenariusz: telefon w kieszeni z włączonym WiFi. Większość czasu jest w trybie Power Save:

  • AP buforuje powiadomienia (Messenger, email, aktualizacje aplikacji)
  • Co DTIM (np. co 300 ms) telefon budzi się na ułamek sekundy, odbiera Beacon i sprawdza TIM
  • Jeśli TIM wskazuje dane → telefon wysyła PS-Poll → AP odsyła buforowane ramki
  • Po odebraniu ramek telefon ponownie zasypia do następnego DTIM

Dzięki PM telefon może spędzać w trybie uśpienia nawet 95% czasu, znacząco oszczędzając baterię.

Telefon w trybie uśpienia – cykliczne budzenie
27/44
CLI MikroTik – lista klientów

Sprawdzenie klientów AP w RouterOS

W MikroTik RouterOS lista klientów podłączonych do AP widoczna jest za pomocą polecenia:

/interface wireless registration-table print

Polecenie wyświetla dla każdego klienta: adres MAC, nazwę interfejsu, SSID, AID (Association ID), czas od połączenia (uptime), siłę sygnału (signal), SNR, aktualną szybkość transmisji (tx-rate, rx-rate) oraz CCQ (Client Connection Quality).

Zrzut z terminala RouterOS
28/44
RTS/CTS – ochrona przed Hidden Node

Problem ukrytego węzła

Problem Hidden Node występuje, gdy dwa klienty są w zasięgu AP, ale nie słyszą siebie nawzajem. Oba mogą nadawać jednocześnie, powodując kolizję ramek po stronie AP.

RTS/CTS (Request to Send / Clear to Send) – mechanizm zapobiegający kolizjom:

  • RTS: klient pyta AP o zgodę na transmisję
  • CTS: AP odpowiada – medium zarezerwowane na określony czas

Parametr RTS Threshold określa minimalny rozmiar ramki, dla którego używany jest RTS/CTS. Domyślnie 2347 B (wyłączone – RTS/CTS nieużywane).

Problem Hidden Node – klient A nie słyszy klienta B, obaj mogą nadawać jednocześnie → kolizja. RTS/CTS rozwiązuje ten problem.
Hidden Node: klient A → AP → klient B – RTS/CTS
29/44
RTS/CTS w działaniu

Sekwencja RTS-CTS-Data-ACK

Pełna sekwencja transmisji z RTS/CTS wygląda następująco:

  1. Stacja (STA) nadaje RTS z Duration = czas potrzebny na całą transmisję (CTS+Data+ACK+SIFSy)
  2. AP odpowiada CTS z Duration = czas transmisji minus SIFS
  3. STA nadaje ramkę Data
  4. AP odpowiada ACK po SIFS

Wszystkie stacje w zasięgu, które usłyszą CTS (nie tylko te, do których był adresowany), ustawiają NAV na czas Duration, wstrzymując transmisję. Dzięki temu żadna stacja nie zakłóci transmisji.

Oś czasu RTS-CTS-Data-ACK
30/44
ACK – potwierdzenie w 802.11

Niezawodność na poziomie L2

Każda ramka Data w 802.11 musi być potwierdzona ramką ACK (Control, Subtype = 13). ACK jest wysyłany po czasie SIFS (Short Interframe Space) – 16 µs dla OFDM, 10 µs dla DSSS.

Brak ACK → nadawca zakłada, że ramka została utracona i retransmituje ją po upływie timeoutu. Liczba retransmisji jest ograniczona (domyślnie 7 dla ramek krótkich, 4 dla długich).

To fundamentalna różnica względem Ethernetu, gdzie na poziomie L2 nie ma potwierdzeń – niezawodność zapewniają protokoły wyższych warstw (TCP).

802.11 zapewnia niezawodność na poziomie L2 – każda ramka Data musi być potwierdzona ACK. Ethernet nie ma tego mechanizmu.
Data → SIFS → ACK
31/44
Block ACK (802.11e/n)

Zbiorcze potwierdzenie dla wielu ramek

W tradycyjnym ACK każda ramka Data wymaga osobnego potwierdzenia, co generuje duży narzut – szczególnie przy wysokich szybkościach transmisji. Block ACK rozwiązuje ten problem, umożliwiając potwierdzenie wielu ramek jedną ramką.

Działanie:

  • Klient wysyła Block ACK Request (BAR) do AP
  • AP odpowiada Block ACK (BA) potwierdzającym odebrane ramki (bitmapa 64 bloków)

W 802.11ax (WiFi 6) wprowadzono Multi-STA Block ACK, gdzie odpowiedź jednej stacji może potwierdzać ramki dla wielu stacji jednocześnie.

Kilka ramek Data → BAR → BA
32/44
PS-Poll – Power Save Poll

Pobieranie buforowanych danych z AP

PS-Poll (Control, Subtype = 10) to ramka używana przez klienta w trybie Power Save do pobrania danych z bufora AP:

  1. Klient budzi się, odbiera Beacon z TIM wskazującym dane w buforze
  2. Klient wysyła PS-Poll z AID (identyfikatorem z Association)
  3. AP odpowiada buforowaną ramką Data (lub fragmentem)
  4. Jeśli w ramce Data bit More Data = 1 – są kolejne ramki w buforze

PS-Poll to kluczowy mechanizm dla działania Power Management – bez niego klient nie mógłby odbierać danych będąc w trybie uśpienia.

PS-Poll → AP → Data (z More Data = 0 lub 1)
33/44
Ramki QoS Data

Dane z priorytetem WMM

Ramki QoS Data (typ Data z subtype 8 – QoS Data, lub 9 – QoS Null) różnią się od zwykłych ramek Data obecnością pola QoS Control (2 bajty). Zawiera ono TID (Traffic Identifier) określający priorytet według WMM (WiFi Multimedia):

  • AC_BK (TID 1): Background – tło (backup, drukowanie)
  • AC_BE (TID 0): Best Effort – domyślny (www, email)
  • AC_VI (TID 4, 5): Video – streaming, YouTube
  • AC_VO (TID 6, 7): Voice – VoIP, telefony

QoS Null – ramka bez danych, używana do zarządzania QoS i sygnalizowania Power Management.

4 priorytety WMM z przykładami aplikacji
34/44
WMM (WiFi Multimedia) – priorytetyzacja ruchu

Kolejki WMM w AP

WMM (WiFi Multimedia) to implementacja 802.11e, która wprowadza cztery kategorie dostępu (AC – Access Category):

PriorytetACZastosowanie
0AC_BKTło (backup, drukowanie)
1AC_BEBest effort (www, email)
2AC_VIVideo (streaming, YouTube)
3AC_VOVoice (VoIP, telefony)

Wyższy priorytet = krótszy czas oczekiwania na dostęp do medium: mniejsze AIFS (Arbitration Inter-Frame Space) i mniejsze okno rywalizacji (CWmin). AP utrzymuje osobne kolejki dla każdej AC.

4 kolejki WMM w AP
35/44
Ramki Null i QoS Null

Ramki bez danych – sygnalizacja

Null Data – ramka Data bez Frame Body (zawiera tylko nagłówek 802.11 + FCS). Używana wyłącznie do sygnalizacji, najczęściej do zmiany bitu Power Management w Frame Control.

Gdy klient chce przejść w tryb uśpienia, wysyła Null Data z bitem Power Management = 1. AP po odebraniu tej ramki wie, że ma buforować dane dla tego klienta.

QoS Null – jak Null Data, ale z polem QoS Control. Używana do sygnalizacji z priorytetem (np. Voice). Może również służyć do utrzymania połączenia (keepalive) i pomiaru opóźnień.

Ramka Null – Frame Control + FCS, brak danych
36/44
Ramki Control – CF-End

Koniec okresu transmisji

CF-End (Contention-Free End, Control Subtype = 14) – ramka oznaczająca zakończenie okresu TXOP (Transmission Opportunity). TXOP to czas, w którym stacja ma wyłączne prawo do nadawania (bez rywalizacji CSMA/CA).

Ramka CF-End jest używana w dwóch kontekstach:

  • PCF (Point Coordination Function) – rzadko spotykany tryb, gdzie AP kontroluje dostęp do medium
  • TXOP w 802.11e/n/ac/ax – po zakończeniu transmisji stacja wysyła CF-End, zwalniając medium dla innych stacji wcześniej niż wynikałoby z Duration
TXOP: AP → STA (dane) → CF-End
37/44
Interframe Spaces (IFS)

Odstępy międzyramkowe

Odstępy między ramkami (IFS) określają priorytet dostępu do medium radiowego. Im krótszy IFS, tym wyższy priorytet:

Typ IFSCzasOpis
SIFS10 µsNajkrótszy – ACK, CTS, odpowiedź na ramkę
PIFS19 µsPCF (Point Coordination) – dostęp AP
DIFS28 µsDCF (standardowy dostęp CSMA/CA)
AIFS34–79 µsWMM – zależny od AC (kategorii dostępu)
EIFS~70 µsPo błędzie ramki (FCS mismatch)

SIFS ma najwyższy priorytet – dlatego ACK i CTS są wysyłane po SIFS, bez rywalizacji z innymi stacjami.

Oś czasu z różnymi IFS
38/44
Wireshark – filtrowanie ramek 802.11

Podstawowe filtry Wireshark dla WLAN

Wireshark oferuje bogaty zestaw filtrów do analizy ramek 802.11. Oto najważniejsze:

  • wlan – wszystkie ramki 802.11
  • wlan.fc.type == 0 – ramki Management
  • wlan.fc.type == 1 – ramki Control
  • wlan.fc.type == 2 – ramki Data
  • wlan.fc.type_subtype == 8 – Beacon
  • wlan.fc.type_subtype == 4 – Probe Request
  • wlan.fc.type_subtype == 5 – Probe Response
  • wlan.fc.type_subtype == 0x0c – Deauthentication
  • wlan.fc.type_subtype == 0x1b – QoS Data
Lista filtrów Wireshark z opisami
39/44
Wireshark – analiza 4-way handshake

Uwierzytelnianie WPA2/WPA3 w Wireshark

Czterokrotne uzgadnianie (4-way handshake) to proces wymiany kluczy między klientem a AP podczas łączenia z siecią WPA2/WPA3. Filtr: eapol (EAP over LAN).

Kroki 4-way handshake:

  1. AP → STA: ANonce (nonce wygenerowany przez AP)
  2. STA → AP: SNonce + MIC (klient dowodzi znajomości PSK)
  3. AP → STA: GTK (Group Temporal Key) szyfrowany PTK + MIC
  4. STA → AP: potwierdzenie + zainstalowanie kluczy

Po kroku 4 klient i AP mają zainstalowane klucze PTK (Pairwise Transient Key) i GTK (Group Temporal Key).

4 strzałki 4-way handshake
40/44
Wireshark – przechwytywanie w trybie monitor

Przechwytywanie ramek 802.11

Aby Wireshark mógł przechwytywać ramki 802.11 (nie tylko te adresowane do naszej karty), karta WiFi musi pracować w trybie monitor. W trybie monitor karta odbiera wszystkie ramki w zasięgu, niezależnie od adresu docelowego.

  • Linux: airmon-ng start wlan0, iwconfig wlan0 mode monitor
  • Windows: nie wszystkie karty obsługują tryb monitor – wymagane sterowniki producenta
  • macOS: tryb monitor dostępny przez narzędzia firm trzecich

W Wireshark: opcja Monitor Mode w ustawieniach przechwytywania.

Zrzut Wireshark w trybie monitor
41/44
CLI MikroTik – analiza ruchu (sniffer)

Sniffer i Torch w RouterOS

MikroTik RouterOS oferuje wbudowane narzędzia do przechwytywania i analizy ruchu sieciowego:

/tool sniffer wlan1

Sniffer przechwytuje ramki na interfejsie bezprzewodowym i zapisuje do pliku (PCAP), który można otworzyć w Wireshark.

/tool torch wlan1

Torch to narzędzie do analizy ruchu w czasie rzeczywistym – pokazuje przepustowość, adresy MAC, protokoły i porty w podglądzie na żywo, co pomaga szybko zidentyfikować źródło problemu.

Zrzut z Torch w RouterOS
42/44
CLI Cisco – debug ramek 802.11

Debugowanie ramek w Cisco IOS

Cisco IOS oferuje polecenia debug do szczegółowej diagnostyki ramek 802.11:

debug dot11 events
debug dot11 monitor

debug dot11 events wyświetla zdarzenia na interfejsie radiowym: Association, Disassociation, Authentication, Deauthentication, zmiany stanu klientów.

debug dot11 monitor pokazuje szczegóły poszczególnych ramek 802.11 z nagłówkami.

Uwaga: debug w Cisco IOS generuje dużą ilość danych. Używaj ostrożnie, szczególnie w sieciach z wieloma klientami – może przeciążyć CPU routera.
Zrzut z terminala Cisco IOS – debug
43/44
Porównanie narzutu ramki Ethernet a 802.11

Koszt dodatkowych pól w 802.11

Nagłówek ramki 802.11 jest znacznie większy niż Ethernet:

  • Ethernet: 18 B nagłówka (DA+SA+Type) + 4 B FCS = 22 B całkowitego narzutu
  • 802.11: 30–36 B (FC+Duration+4xAddr+SC+FCS) + opcjonalnie 2 B QoS = 36–38 B

Narzut w 802.11 jest o około 40% większy niż w Ethernet. Do tego dochodzi narzut związany z ACK (14 B + SIFS) oraz rywalizacją CSMA/CA (DIFS, backoff).

Rozwiązaniem jest agregacja A-MSDU (Aggregate MAC Service Data Unit) – kilka ramek Ethernet w jednej ramce 802.11, co znacząco redukuje narzut na ramkę.

Porównanie rozmiaru nagłówka Ethernet vs 802.11
44/44
Podsumowanie

Najważniejsze wnioski z prezentacji

  1. Ramka 802.11 ma 3–4 adresy MAC (w przeciwieństwie do 2 w Ethernet).
  2. Trzy typy ramek: Management, Control, Data – każda z określoną funkcją.
  3. Beacon (co 100 ms) – sygnał nawigacyjny AP, zawiera SSID, obsługiwane szybkości, TIM.
  4. RTS/CTS chroni przed problemem Hidden Node.
  5. ACK jest obowiązkowy dla każdej ramki Data – niezawodność na poziomie L2.
  6. WMM priorytetyzuje ruch: Voice > Video > Best Effort > Background.
  7. 4-way handshake WPA2/WPA3 to sekwencja 4 ramek EAPOL wymienianych między klientem a AP.
Mapa myśli łącząca wszystkie omówione koncepcje