Ramka beacon pod lupą

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
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:

1. 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

2. Beacon interval

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

Pole Beacon Interval
Pole Beacon Interval

3. 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).

4. 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

5. 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

6. DSSS Parameter Set

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

7. 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.

8. IBSS Parameter Set

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

9. 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.

10. 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

11. 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.

12. 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.

13. 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.

14. IBSS DFS

15. TPC Report

16. ERP

17. 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.

18. RSN

Zawiera informacje o dozwolonych metodach szyfrowania i uwierzytelniania w sieci bezprzewodowej.

W poniższym przykładzie do szyfrowania ramek typu broadcast i multicast wykorzystuje się TKIP, ruch typu unicast szyfrowany jest przy użyciu AES, a stacje klienckie uwierzytelniają się poprzez podanie hasła dostępu do sieci (PSK).

Pole RSN (Robust Security Network)
Pole RSN (Robust Security Network)

19. BSS Load

20. EDCA Parameter Set

21. QoS Capability

22. AP Channel Report

23. BSS Average Access Delay

24. Antenna

25. BSS Available Admission Capacity

26. BSS AC Access Delay

27. Measurement Pilot Transmission

28. Multiple BSSID

29. RM Enabled Capabilities

30. Mobility Domain

Pole używane przez AP z włączoną obsługą standardu IEEE 802.11r, czyli Fast BSS Transition. Jest to standard umożliwiający szybki i bezpieczny roaming klientów pomiędzy AP należącymi do tego samego ESS (Extended Service Set).

31. DSE registered location

32. Extended Channel Switch Announcement

33. Supported Operating Classes

34. HT Capabilities

35. HT Operation

36. 20/40 BSS Coexistence

37. Overlapping BSS Scan Parameters

38. Extended Capabilities

39. FMS Descriptor

40. QoS Traffic Capability

41. Time Advertisement

42. Interworking

43. Advertisement Protocol

44. Roaming Consortium

45. Emergency Alert Identifier

46. Mesh ID

47. Mesh Configuration

48. Mesh Awake Window

50. MCCAOP Advertisement Overview

51. MCCAOP Advertisement

52. Mesh Channel Switch Parameters

53. QMF Policy

54. QLoad Report

55. HCCA TXOP Update Count

56. Multi-band

57. VHT Capabilities

58. VHT Operation

59. Transmit Power Envelope element

60. Channel Switch Wrapper element

61. Extended BSS Load element

62. Quiet Channel

63. Operating Mode Notification

64. Reduced Neighbor Report

65. TVHT Operation

66. Estimated Service Parameters

67. Future Channel Guidance

Last. Vendor Specific

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!

Jak myślisz, w jaki sposób zbadanie ramki Beacon może pomóc w rozwiązaniu problemu w sieci Wi-Fi?

🗳 Jak przydatna była ta publikacja?

Średnia ocena / 5. Ilość głosów:

Dziękuję za ocenę! Zapraszam Cię do obserwowania NSS w mediach społecznościowych!

Przykro mi, że ta publikacja okazała się być dla Ciebie nieprzydatna!

Uwaga: Twój głos będzie liczony tylko jeśli udzielisz feedbacku używając formularza poniżej.

author avatar
Łukasz Kowalski

Network Architect, Współtwórca Na Styku Sieci

Twój adres email nie zostanie opublikowany. Wszystkie pola są wymagane

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments
Top