Ramka beacon pod lupą

Łukasz Kowalski
Łukasz Kowalski Komentarze: 2

Komunikacja bezprzewodowa jest skomplikowanym procesem. Dziesiątki rodzajów ramek, wiele zależności między nimi i tak naprawdę wszystkie jednakowo potrzebne do wykonania pełnej transmisji. Ale jest jedna ramka, która zasługuje na szczególną uwagę. Taka, od której wszystko się zaczyna – ramka Beacon.

Skanowanie pasywne

Przyszły użytkownik sieci bezprzewodowej, zanim się do niej podłączy, musi się dowiedzieć o jej istnieniu. Jedną z dostępnych metod jest skanowanie pasywne i powiązana z nim ramka Beacon. Określenie „pasywne” skierowane jest do stacji klienckiej, która w całym tym procederze zachowuje się biernie. Stroną aktywną jest natomiast Access Point, który wysyła ramki Beacon w określonych odstępach czasu i z określoną zawartością.

Schemat skanowania pasywnego w sieci Wi-Fi
Schemat skanowania pasywnego w sieci Wi-Fi

Interwał ramki Beacon

Ramki Beacon wysyłane są w określonych odstępach czasu, które określa się mianem interwału tejże ramki. Długość takiego odstępu wyrażana jest w jednostkach TU (ang. Time Unit):

1 TU = 1024 mikrosekundy

W niektórych źródłach możesz spotkać się z informacją, że TU wynosi 1000 mikrosekund, co oczywiście jest błędnym sformułowaniem spowodowanym prawdopodobnie chęcią zaokrąglenia tej wartości dla łatwiejszego zapamiętania. System binarny leży u podstaw sieci komputerowych, dlatego też ta liczba jest potęgą dwójki.

Wielu producentów sprzętu sieciowego jako wartość domyślną i zalecaną interwału wskazuje 100 TU:

100 TU = 100 x 1024 mikrosekundy = 102,4 milisekundy

W przybliżeniu otrzymujemy 100 milisekund. Można więc powiedzieć, że w ciągu jednej sekundy oczekujemy wysłania 10 ramek Beacon. W praktyce spotkasz się z różnym podejściem odnośnie konfiguracji tego parametru, oczywiście w zależności od producenta sprzętu sieciowego. I tak oto możesz natknąć się między innymi na jedną z poniższych możliwości:

  • interwał podany w milisekundach,
  • interwał podany w ilości TU,
  • częstotliwość wysyłania, czyli ile razy w ciągu jednej sekundy.

Kolejny element konfiguracji zależny od producenta to poziom szczegółowości na jakim można dokonać zmiany interwału. Do wyboru możemy mieć między innymi zakresy zmian dla:

  • całego SSID, czyli dla wszystkich AP rozgłaszających to SSID,
  • pojedynczych AP,
  • konkretnego radia (2,4 GHz lub 5 GHz) na wszystkich AP,
  • konkretnego radia (2,4 GHz lub 5 GHz) na danym AP,
  • poszczególnych BSSID, czyli konkretnego SSID na danym radiu (2,4 GHz lub 5 GHz) na danym AP.

Wysyłanie ramki Beacon w praktyce

Pozostają do wyjaśnienia dwie kwestie. Pierwsza z nich odnosi się do faktu, że Access Point może mieć mnóstwo ramek danych w kolejce do wysłania do klientów. Jak zatem zapewnić priorytet dla ramek Beacon? Sposób jest bardzo prosty – w każdym interwale czasowym Access Point wstrzymuje transmisję danych i na sam początek kolejki wrzuca ramkę Beacon, która zostanie wysłana przy najbliższej okazji.

Ale zaraz, sieci bezprzewodowe korzystają z medium bezprzewodowego, które z natury działa jak half-duplex, czyli w danej jednostce czasu tylko jedna stacja może transmitować. Zatem co się stanie gdy przyjdzie pora na wysłanie ramki Beacon a medium jest zajęte? O tym również pomyślano – ramki Beacon powinny być wysyłane w równych odstępach czasu określonych przez interwał, ale jeśli w danym momencie medium jest zajęte, to ramka Beacon powinna zostać wysłana po prostu przy najbliższej okazji. Taką sytuację obrazuje poniższy rysunek, a dokładniej drugi interwał:

Transmisja ramek Beacon w zatłoczonym medium
Transmisja ramek Beacon w zatłoczonym medium

Zauważ jeszcze jedną rzecz – w trzecim interwale nie było możliwości wysłania ramki Beacon, ponieważ Access Point ani razu nie wygrał rywalizacji o dostęp do medium. Ramki Beacon nie kumulują się i niewysłana ramka po prostu pozostaje w kolejce na potrzeby rozgłaszania SSID w kolejnym interwale. Dlatego też w czwartym interwale mamy tylko jedną ramkę Beacon, a nie dwie.

Kluczowe aspekty

Jak już wiesz, ramki Beacon wysyłane są przez Access Pointy. Dzięki nim AP ma możliwość poinformowania klientów o sieciach bezprzewodowych, które oferuje. Dlatego też na zawartość ramki Beacon składa się mnóstwo danych potrzebnych do nawiązania połączenia pomiędzy klientem i AP. Szczegóły przedstawię Ci w drugim rozdziale, teraz zdradzę tylko, że są to między innymi takie parametry jak SSID, częstotliwość, kanał, wspierane standardy i prędkości, poziom zabezpieczeń dostępu itp.

Pojedyncza ramka Beacon może posiadać informacje o tylko jednej sieci bezprzewodowej. Zatem Access Point mający skonfigurowane 5 różnych SSID, za każdym razem będzie musiał wysłać 5 osobnych ramek Beacon. Biorąc pod uwagę domyślny interwał, czyli 102,4 milisekund, AP w ciągu jednej sekundy musi wysłać aż 50 ramek Beacon! W związku z tym warto pamiętać o poniższych dobrych praktykach:

  • Nie zmieniaj domyślnego interwału – około 100 milisekund to wartość jak najbardziej wystarczająca dla klientów. W skrajnych przypadkach możesz pomyśleć o zwiększeniu tej wartości w celu ograniczenia narzutu spowodowanego ruchem typu management w zatłoczonym środowisku.
  • Ramki Beacon wysyłane są z najniższą prędkością wymaganą w danym SSID – rozważ wyłączenie najniższych prędkości, dzięki temu zmniejszysz narzut ruchu typu management przy jednoczesnym zachowaniu domyślnego interwału i wielu SSID.

Zawartość ramki Beacon

Standard IEEE 802.11-2016 w jasny sposób definiuje format ramki typu management, do jakiej zalicza się ramkę Beacon. Ogólne założenie jak takie samo jak w przypadku ramek danych – na początku jest nagłówek, po nim następuje ciało ramki, a na końcu znajduje się suma kontrolna. Poniższy rysunek przedstawia właśnie ramkę typu management:

Format ramki typu management

Serce ramki Beacon, czyli pole Frame Body, zawiera wszelkie istotne informacje na temat rozgłaszanej sieci bezprzewodowej. Uwaga, zgodnie ze standardem IEEE 802.11-2016 pole Frame Body może pomieścić ponad 67 dodatkowych pól (niektóre opcjonalne), a w nich kolejne parametry i zmienne! Wypunktujemy wszystkie z nich, a na niektórych skupimy się nieco bardziej korzystając między innymi z przykładowej ramki Beacon dostępnej na stronie Wireshark (plik “Network_Join_Nokia_Mobile.pcap”). Gorąco zachęcam do zebrania próbki ruchu bezprzewodowego z własnej sieci i przejrzenia jej pod kątem informacji obecnych w ramkach Beacon.

Informacje z warstwy fizycznej

Pierwsze istotne informacje na temat Access Pointa można znaleźć w części radiowej:

Informacje zebrane z radia stacji klienckiej
Informacje zebrane z radia stacji klienckiej

Z tych informacji wynika, że ta sieć bezprzewodowa na pewno obsługuje pasmo 5 GHz – AP rozgłasza się na kanale 64, częstotliwość 5320 MHz. Dodatkowo wiemy, że ramka została wysłana z prędkością 6 Mb/s i korzystając ze standardu IEEE 802.11a.

Informacje o sile odebranego sygnału (-43 dBm) i poziomie szumu (-95 dBm) są niezwykle istotne dla stacji klienckiej, ponieważ na tej podstawie wybiera ona najlepszy dla siebie punkt dostępowy.

Nagłówek ramki

Następnie przyjrzyjmy się nagłówkowi w przykładowej ramce Beacon:

Nagłówek ramki Beacon
Nagłówek ramki Beacon

Z tych informacji wynika, że jest ramka typu management, a dokładniej mówiąc ramka Beacon. Pole 'Version’ posiada domyślną wartość zero, która na tę chwilę jest jedyną możliwą do użycia. Pozostałe wartości są obecnie zarezerwowane na wypadek poważnych zmian w standardzie IEEE 802.11.

Pola 'Receiver address’ i 'Destination address’ wskazują, że jest to ramka typu broadcast, tzn. każda stacja bezprzewodowa może zapoznać się z jej zawartością.

Pole 'BSS Id’ zawiera adres MAC powiązany z danym SSID na konkretnym radiu/AP. Dzięki temu stacja kliencka wie do kogo adresować ewentualną próbę podłączenia do sieci bezprzewodowej.

Zawartość Frame Body

Pora przyjrzeć się bliżej zawartości pola Frame Body. Jak już wspomniałem standard IEEE 802.11-2016 definiuje ponad 67 dodatkowych pól wewnętrznych. Poniżej znajdziesz opis niektórych z nich:

Timestamp

Wartość reprezentująca czas jaki upłynął od momentu włączenia AP. Pole ma długość 8 bajtów, a przedstawiona wartość wyrażona jest w mikrosekundach. Szybkie obliczenia wskazują, że:

2^64 mikrosekund ~= 585 000 lat

Licznik resetuje się do zera w momencie restartu lub wyłączenia AP, a także po przekręceniu licznika, czyli po niecałych 585 000 lat… 🙂

Jest to niezwykle ważny licznik – dzięki niemu stacje bezprzewodowe mogą zsynchronizować zegary i poprawnie prowadzić komunikację.

Pole Timestamp
Pole Timestamp

Beacon interval

Interwał Beacon, który szczegółowo omówiliśmy w pierwszym rozdziale.

Pole Beacon Interval
Pole Beacon Interval

Capability Information

Pole informujące między innymi o wymaganiach z zakresu bezpieczeństwa transmisji, a także służące do określenia Service Set do którego należy stacja wysyłająca Beacon – zatem czy jest to ESS (Access Point) czy IBSS (połączenie Ad-hoc).

Service Set Identifier (SSID)

Nazwa sieci bezprzewodowej. Może mieć maksymalnie 32 znaki.

W poniższym przykładzie SSID składa się z 9 znaków i brzmi 'martinet3′:

Pole SSID
Pole SSID

Supported Rates and BSS Membership Selectors

Pole zawierające maksymalnie 8 prędkości wspieranych przez dany Access Point. Prędkości można podzielić na:

  • podstawowe (Basic Rates) – takie, które są wymagane,
  • wspierane (Supported Rates) – dodatkowo wspierane, niewymagane do podłączenia.

AP musi rozgłaszać co najmniej jedną podstawową prędkość. Każdy klient, który chce połączyć się z danym AP, musi wspierać wszystkie podstawowe prędkości jakie on rozgłasza.

W poniższym przykładzie do Basic Rates należą 6 Mb/s, 12 Mb/s i 24 Mb/s.

Pole Supported Rates

DSSS Parameter Set

Element rozgłaszany przez AP korzystające z mechanizmu DSSS. Więcej o DSSS przeczytasz w dedykowanym artykule.

CF Parameter Set

To pole można znaleźć tylko w ramkach Beacon wygenerowanych przez AP używający mechanizmu PCF (Point Coordination Function). Informacje w nim zawarte służą do zarządzania mechanizmem PCF, w którym to AP decyduje o kolejności dostępu do medium bezprzewodowego.

IBSS Parameter Set

To pole można znaleźć tylko w ramkach Beacon wygenerowanych przez stacje połączone w IBSS (sieć Ad-hoc).

Traffic indication map (TIM)

Informacje zawarte w polu TIM są przydatne dla stacji klienckich działających w trybie oszczędzania energii. AP używa parametru DTIM (Delivery Traffic Indication Map) w celu poinformowania stacji klienckich o posiadaniu lub braku zbuforowanych ramek broadcast lub multicast.

Country

Zawiera informację o kraju w jakim odbywa się komunikacja. Wpływa to na zakres kanałów dozwolonych do użytku i maksymalnej mocy transmisji zatwierdzonej w danym państwie.

Pole Country
Pole Country

Power Constraint

Ten element jest pomocny w przypadku transmisji na kanałach z zakresów UNII-2 oraz UNII-2 Extended, które w niektórych regionach używane są także przez radary pogodowe, wojskowe i cywilne. Zawiera informację o maksymalnej mocy transmisji z jaką może nadawać AP, przy jednoczesnym uniknięciu interferencji z radarami.

Channel Switch Announcement

W przypadku wykrycia radaru AP powinien zmienić kanał, i w tym polu może poinformować stacje klienckie o następnym wybranym kanale.

Quiet

AP może zarządzić okres ciszy, w którym żadna stacja nie powinna transmitować. Dzięki temu AP jest w stanie przetestować kanał pod względem obecności radarów.

IBSS DFS

Korzystanie z częstotliwości 5 GHz wymaga używania mechanizmu DFS (ang. Dynamic Frequency Selection), który odpowiada za wykrywanie np. radarów działających w pobliżu. Zwykle rolę punktu odpowiedzialnego za działanie DFS pełni AP. W przypadku sieci IBSS (czyli Ad-hoc), gdzie AP nie występuje, jeden z uczestników sieci bierze to zadanie na siebie. W polu IBSS DFS może on przesyłać informacje o zbadanych kanałach wraz z wynikami skanowania.

Extended Supported Rates and BSS Membership Selectors

Zawiera informacje o prędkościach, które nie zmieściły się w polu '5. Supported Rates and BSS Membership Selectors’. Używane tylko wtedy, gdy jest więcej niż 8 prędkości.


Ramka Beacon jest szczególnym elementem złożonej komunikacji bezprzewodowej. Można powiedzieć, że to od niej wszystko się zaczyna, ponieważ jest podstawą mechanizmu skanowania pasywnego. Składa się z ogromnej ilości informacji, które są niezbędne do nawiązania połączenia pomiędzy klientem i AP. Czas pokaże jak rozwinie się ta ramka, ale nie zanosi się na to, żebyśmy mieli kiedykolwiek ją pożegnać. I dobrze!

Komentarze: 2
Otrzymuj powiadomienia z tej dyskusji
Powiadom mnie o
guest

2 - Ilość komentarzy
Sortuj wg najlepszych
Sortuj wg najnowszych Sortuj wg najstarszych
Inline Feedbacks
View all comments
jacek felczak
jacek felczak
2 lat temu

Fajny sposób opisu prosty przejrzysty i zawiera to co najważniejsze