Idea i przeznaczenie: bezprzewodowy „przedłużacz” kabla ethernetowego
Podstawową funkcją przezroczystego mostu Wi-Fi (Transparent Wireless Bridge) jest logiczne połączenie dwóch lub więcej oddzielnych, przewodowych segmentów sieci LAN w jedną, spójną domenę rozgłoszeniową (broadcast domain) warstwy 2. Mówiąc prościej, taki most działa jak bardzo długi, niewidzialny kabel Ethernet. W przeciwieństwie do standardowego punktu dostępowego (Access Pointa), którego zadaniem jest mostkowanie ruchu między klientami bezprzewodowymi (802.11) a siecią przewodową (802.3), most przezroczysty jest zaprojektowany do mostkowania ruchu typu 802.3 (Ethernet) do 802.3 (Ethernet), używając standardu 802.11 jedynie jako medium transportowego w „powietrzu”. Kluczowe słowo „przezroczysty” oznacza, że urządzenia końcowe (hosty) w podłączonych segmentach LAN nie są świadome istnienia mostu; działają tak, jakby były podłączone do tego samego przełącznika (switcha), mogąc znajdować się w tej samej podsieci IP i komunikować się bezpośrednio za pomocą adresów MAC.
Architektura ta jest fundamentem dla wielu praktycznych zastosowań. Najczęstszym jest łączenie budynków (Point-to-Point, PtP), gdzie fizyczne pociągnięcie kabla światłowodowego lub miedzianego między dwiema lokalizacjami jest niemożliwe lub nieopłacalne ekonomicznie (np. przez ulicę, jezioro lub między budynkami na terenie kampusu). Inne zastosowania to podłączanie odległych instalacji, takich jak monitoring IP (kamery CCTV na słupach) czy systemy kontroli dostępu, do głównej sieci. W bardziej złożonych scenariuszach (Point-to-Multipoint, PtMP), jedno centralne urządzenie mostujące (AP/Root) może obsługiwać wiele zdalnych jednostek (Station/Client), tworząc bezprzewodową sieć szkieletową (backhaul) dla rozproszonej infrastruktury, na przykład w sieciach WISP (Wireless Internet Service Provider) lub na terenie dużego zakładu przemysłowego.
Budowa mostu: tryby pracy i protokół WDS
Aby most mógł działać, urządzenia po obu stronach łącza bezprzewodowego muszą przyjąć odpowiednie role. W typowej konfiguracji PtP, jedno urządzenie jest ustawiane w tryb AP-Bridge (lub `Bridge` w MikroTik, `Root Bridge` w Cisco). Działa ono jako „master” łącza radiowego: definiuje SSID, kanał, szerokość pasma oraz parametry bezpieczeństwa (np. klucz WPA2/WPA3-PSK) dla samego mostu. Drugie urządzenie jest ustawiane w tryb Station-Bridge (lub `Station-WDS` w MikroTik, `Non-Root Bridge` w Cisco). Działa ono jako „klient”, który skanuje w poszukiwaniu zdefiniowanego SSID i łączy się z urządzeniem Root, tworząc stabilny tunel radiowy. Na obu urządzeniach tworzy się następnie logiczną instancję mostu (bridge interface), do której „wpina się” zarówno interfejs fizyczny (Ethernet), jak i interfejs bezprzewodowy (WLAN). To logiczne spięcie jest sercem przezroczystości – ramki przychodzące na jeden port są przekierowywane na drugi na podstawie nauczonych adresów MAC.
Kluczowym wyzwaniem technicznym jest sposób, w jaki ramka Ethernet (z dwoma adresami MAC) jest transportowana przez medium 802.11, które w trybie infrastruktury używa trzech adresów MAC. Rozwiązaniem tego problemu jest WDS (Wireless Distribution System), specjalny tryb pracy zdefiniowany w standardzie IEEE 802.11. Tryb WDS rozszerza nagłówek ramki 802.11 o czwarte pole adresowe (Address 4). Aby ten tryb zadziałał, obie flagi „To DS” i „From DS” w nagłówku 802.11 są ustawione na 1. Taka kombinacja (`ToDS=1, FromDS=1`) informuje urządzenie odbiorcze, że ramka ta jest ramką WDS i zawiera cztery adresy MAC. Ten 4-adresowy format pozwala ramce Wi-Fi na jednoczesne przenoszenie informacji o „nadawcy i odbiorcy radiowym” (Adres 2 i Adres 1) oraz informacji o „pierwotnym źródle i ostatecznym celu” (Adres 4 i Adres 3), czyli oryginalne adresy MAC z ramki Ethernet. Dzięki temu łącze staje się przezroczyste dla warstwy 2.
Zarządzanie tablicą MAC jest również kluczowe. Oba urządzenia mostujące (AP1 i AP2) działają jak inteligentny, dwuportowy przełącznik. AP1 uczy się adresów MAC urządzeń z LAN A (np. `MAC_Host1`) na swoim porcie Ethernet. Kiedy Host 2 z LAN B wysyła ruch, AP2 przekazuje go przez link WDS. AP1 odbiera tę ramkę i uczy się, że `MAC_Host2` jest osiągalny przez interfejs bezprzewodowy (WLAN). W ten sposób AP1 buduje tablicę, w której część adresów MAC jest na porcie `ether1`, a druga część (cała sieć LAN B) jest „za” portem `wlan1`. AP2 robi to samo, tylko w lustrzanym odbiciu. Dzięki temu ruch unicast (skierowany do znanego MAC) jest przesyłany tylko tam, gdzie trzeba, a ruch broadcast (np. ARP) jest poprawnie „zalewany” (flooded) na obie strony mostu, pozwalając na automatyczne odkrywanie urządzeń w całej, połączonej sieci.
Dogłębna analiza przepływu ramki (Host1 -> Most -> Host2)
Przeanalizujmy szczegółowo przepływ ramki w scenariuszu Host1 -> AP1 -> AP2 -> Host2. Zakładamy, że Host1 (w LAN A) chce wysłać pakiet ICMP (ping) do Host2 (w LAN B). Urządzenia są w tej samej podsieci IP (np. 192.168.1.0/24), a Host1 zna już adres MAC Hosta 2 (np. z wcześniejszego zapytania ARP, które przeszło przez most jako broadcast).
Definicje adresów MAC:
MAC_H1: Adres MAC Hosta 1 (np. `AA:AA:AA:AA:AA:AA`)MAC_H2: Adres MAC Hosta 2 (np. `BB:BB:BB:BB:BB:BB`)MAC_W_AP1: Adres MAC interfejsu radiowego AP1 (np. `C1:C1:C1:C1:C1:C1`)MAC_W_AP2: Adres MAC interfejsu radiowego AP2 (np. `C2:C2:C2:C2:C2:C2`)
(Adresy MAC portów Ethernet mostów nie biorą udziału w adresowaniu, działają tylko w trybie „promiscuous” w ramach logiki mostu).
Poniższy schemat i analiza wykorzystują standardowe skróty dla pól adresowych w ramkach 802.3 i 802.11:
- DA (Destination Address): Adres docelowy ramki Ethernet (802.3) lub ostateczny adres docelowy w ramce 802.11 WDS (Adres 3).
- SA (Source Address): Adres źródłowy ramki Ethernet (802.3) lub pierwotny adres źródłowy w ramce 802.11 WDS (Adres 4).
- RA (Receiver Address): Adres odbiorcy radiowego (Adres 1 w 802.11). W naszym moście jest to adres MAC interfejsu radiowego AP odbierającego.
- TA (Transmitter Address): Adres nadawcy radiowego (Adres 2 w 802.11). W naszym moście jest to adres MAC interfejsu radiowego AP nadającego.
### Schemat: Ścieżka przepływu ramki przez most WDS ###
LAN A (802.3) Most (802.11 WDS) LAN B (802.3)
+--------+ +---------+ +-----------+ (Eter) +-----------+ +---------+ +--------+
| Host 1 |---| Switch |---| AP1 |------------| AP2 |---| Switch |---| Host 2 |
| MAC_H1 | | A | | MAC_W_AP1 | | MAC_W_AP2 | | B | | MAC_H2 |
+--------+ +---------+ +-----------+ +-----------+ +---------+ +--------+
| | | |
KROK 1: Ramka Ethernet KROK 2: Ramka 802.11 WDS KROK 3: Ramka 802.11 WDS KROK 4: Ramka Ethernet
(ToDS=1, FromDS=1) (Odebrana) (Odtworzona)
DA: MAC_H2 DA(3): MAC_H2 DA(3): MAC_H2 DA: MAC_H2
SA: MAC_H1 SA(4): MAC_H1 SA(4): MAC_H1 SA: MAC_H1
RA(1): MAC_W_AP2 RA(1): MAC_W_AP2
TA(2): MAC_W_AP1 TA(2): MAC_W_AP1
Krok 1: Host1 wysyła ramkę Ethernet (802.3) do LAN A
Host1 tworzy standardową ramkę Ethernet adresowaną do Hosta 2. Switch A (działając jako zwykły przełącznik L2) odbiera tę ramkę i przekazuje ją (forward) na port, do którego podłączony jest AP1.
Struktura ramki 802.3 (na kablu H1 -> AP1):
- Docelowy MAC (DA):
MAC_H2(BB:BB:BB:BB:BB:BB) - Źródłowy MAC (SA):
MAC_H1(AA:AA:AA:AA:AA:AA) - Typ/Długość: 0x0800 (dla IPv4)
- Payload: Pakiet IP (SRC: 192.168.1.10, DST: 192.168.1.20)
- FCS: Suma kontrolna
Krok 2: AP1 tłumaczy ramkę 802.3 na 802.11 WDS i nadaje ją
AP1 odbiera ramkę na swoim porcie Ethernet. Logika mostu sprawdza DA: MAC_H2. W tablicy MAC AP1 jest wpis, że MAC_H2 jest osiągalny przez interfejs wlan1 (ponieważ nauczył się go od AP2). AP1 musi teraz „zapakować” tę ramkę Ethernet do specjalnej, 4-adresowej ramki 802.11 WDS.
Struktura ramki 802.11 WDS (w eterze AP1 -> AP2):
- Nagłówek 802.11 Control: Zawiera flagi `To DS = 1` oraz `From DS = 1`.
- Adres 1 (RA – Odbiorca):
MAC_W_AP2(C2:…) – Fizyczny odbiorca w eterze. - Adres 2 (TA – Nadawca):
MAC_W_AP1(C1:…) – Fizyczny nadawca w eterze. - Adres 3 (DA – Cel):
MAC_H2(BB:…) – Oryginalny ostateczny cel z ramki Eth. - Adres 4 (SA – Źródło):
MAC_H1(AA:…) – Oryginalne źródło z ramki Eth. - Payload: Ten sam pakiet IP.
- FCS: Nowa suma kontrolna dla ramki 802.11.
Krok 3: AP2 odbiera ramkę 802.11 WDS i tłumaczy ją na 802.3
AP2 nieustannie nasłuchuje na ustawionym kanale. Odbiera ramkę 802.11, która jest adresowana do niego (Adres 1 = MAC_W_AP2). Sprawdza flagi `ToDS/FromDS` i widzi, że obie są ustawione na 1, więc wie, że to ramka WDS.
Logika mostu w AP2 wykonuje następujące czynności:
- Ignoruje Adres 1 i Adres 2 (służyły tylko do transportu radiowego).
- Pobiera Adres 3 (
MAC_H2) jako nowy Docelowy MAC. - Pobiera Adres 4 (
MAC_H1) jako nowy Źródłowy MAC. - Sprawdza swoją tablicę MAC dla
MAC_H2i widzi, że jest on osiągalny przez port `ether1`. - Odtwarza (rekonstruuje) oryginalną ramkę 802.3.
Krok 4: AP2 wysyła ramkę Ethernet (802.3) do LAN B
AP2 wysyła odtworzoną ramkę 802.3 na swój port Ethernet.
Struktura ramki 802.3 (na kablu AP2 -> H2):
- Docelowy MAC (DA):
MAC_H2(BB:BB:BB:BB:BB:BB) - Źródłowy MAC (SA):
MAC_H1(AA:AA:AA:AA:AA:AA) - Typ/Długość: 0x0800 (dla IPv4)
- Payload: Pakiet IP (SRC: 192.168.1.10, DST: 192.168.1.20)
- FCS: Nowa suma kontrolna dla ramki 802.3.
Switch B odbiera tę ramkę i dostarcza ją do Hosta 2. Z perspektywy Hosta 2, otrzymał on ramkę Ethernet bezpośrednio od Hosta 1. Cały, skomplikowany proces translacji na 4-adresowe ramki 802.11 był dla urządzeń końcowych całkowicie przezroczysty.
Konfiguracja mostu PTP w Cisco i MikroTik RouterOS
Wdrożenie przezroczystego mostu wymaga specyficznej konfiguracji na urządzeniach, aby włączyć tryb WDS i poprawnie zmostkować interfejsy.
W przypadku urządzeń Cisco Aironet (działających w trybie autonomicznym, IOS), konfiguracja polega na ustawieniu ról (root/non-root) i spięciu interfejsu radiowego oraz przewodowego w tę samą grupę mostu (bridge-group).
AP1_Root_Bridge# configure terminal ! 1. Ustawienie roli jako główny (root) most AP1_Root_Bridge(config)# station-role root-bridge ! 2. Konfiguracja interfejsu radiowego AP1_Root_Bridge(config)# interface Dot11Radio0 AP1_Root_Bridge(config-if)# ssid Most-Bezprzewodowy ! 3. Definicja sąsiada (MAC radia AP2) i aktywacja WDS AP1_Root_Bridge(config-if)# bridge-group 1 AP1_Root_Bridge(config-if)# infrastructure-client AP1_Root_Bridge(config-if)# station-role root-bridge C2:C2:C2:C2:C2:C2 ! 4. Konfiguracja interfejsu Ethernet AP1_Root_Bridge(config)# interface GigabitEthernet0 AP1_Root_Bridge(config-if)# bridge-group 1 ! Przypisanie do tej samej grupy mostu co radio AP1_Root_Bridge(config-if)# end ! (Konfiguracja na AP2_NonRoot_Bridge byłaby analogiczna, ! ale z 'station-role non-root-bridge')
W MikroTik RouterOS proces jest bardzo klarowny i składa się z trzech kroków: konfiguracji radia AP, konfiguracji radia Klienta i stworzenia interfejsu mostu na obu urządzeniach.
! === Konfiguracja AP1 (Root) === [admin@MikroTik-AP1] >! 1. Ustawienie trybu radia na 'bridge' (tryb AP dla mostu) [admin@MikroTik-AP1] > /interface wireless set wlan1 mode=bridge band=5ghz-a/n/ac \ ... ssid=MOJ_MOST_PTP frequency=5500 [admin@MikroTik-AP1] >! 2. Stworzenie logicznego mostu i dodanie portów (Fizyczny + Radiowy) [admin@MikroTik-AP1] > /interface bridge add name=BR-LAN [admin@MikroTik-AP1] > /interface bridge port [admin@MikroTik-AP1] /interface bridge port> add bridge=BR-LAN interface=ether1 [admin@MikroTik-AP1] /interface bridge port> add bridge=BR-LAN interface=wlan1 ! === Konfiguracja AP2 (Station) === [admin@MikroTik-AP2] >! 1. Ustawienie trybu radia na 'station-bridge' (tryb klienta dla mostu) ! Tryb 'station-bridge' to specyficzny dla MikroTik tryb, który ! automatycznie obsługuje przezroczystość L2 (WDS). [admin@MikroTik-AP2] > /interface wireless set wlan1 mode=station-bridge \ ... ssid=MOJ_MOST_PTP [admin@MikroTik-AP2] >! 2. Stworzenie identycznego mostu i dodanie portów [admin@MikroTik-AP2] > /interface bridge add name=BR-LAN [admin@MikroTik-AP2] > /interface bridge port [admin@MikroTik-AP2] /interface bridge port> add bridge=BR-LAN interface=ether1 [admin@MikroTik-AP2] /interface bridge port> add bridge=BR-LAN interface=wlan1 [admin@MikroTik-AP1] >! Diagnostyka na AP1: Sprawdzenie tablicy MAC (Host Table) [admin@MikroTik-AP1] > /interface bridge host print where bridge=BR-LAN Flags: D - dynamic, L - local # MAC-ADDRESS ON-INTERFACE BRIDGE 0 D AA:AA:AA:AA:AA:AA ether1 BR-LAN ! Host 1 (lokalnie na Eth) 1 D BB:BB:BB:BB:BB:BB wlan1 BR-LAN ! Host 2 (zdalnie przez radio)
