Unterbrechungsfreies WLAN: Roaming (Fast Transition)

This page is also available in English

Hinter dem Marketingbegriff Mesh-WLAN verbirgt sich h√§ufig der Wunsch nach einem WLAN das einfach √ľberall im Haus funktioniert. Doch was ist eigentlich ein Mesh-WLAN? Und was wird wirklich ben√∂tigt, damit WLAN √ľberall und auch w√§hrend dem Wechsel von einer Empfangsstation zur anderen funktioniert? Mein Setup besteht aus zwei Access-Points, welche als Einheit eine einzige WLAN-SSID zur Verf√ľgung stellen. Als Access-Points verwende ich Ger√§te von unterschiedlichen Herstellern und OpenWrt als Firmware. Die Access-Points liefern einen unterbrechungsfreien Empfang, wenn ich mich von einem Stockwerk zum anderen bewege und wechseln beim Verlassen des 5GHz-Empfangsbereichs auf eine langsamere 2,4GHz-Verbindung, damit das WLAN √ľberall bestm√∂glich funktioniert. Am Ende des Artikels erkl√§re ich¬†meine Einstellungen im Detail.

Mesh-WLAN

Der Begriff Mesh-WLAN ist nicht eindeutig definiert, dennoch werden damit mehrere WLAN-Ger√§te verstanden, die zusammen ein einziges WLAN zur Verf√ľgung stellen. Klassische Mesh-WLAN-Systeme kommunizieren untereinander meist auch √ľber WLAN, was nicht f√ľr alle Gegebenheiten geeignet ist. Als Beispiel k√∂nnte eine LAN-Verkabelung zwischen verschiedenen Stockwerken eines Geb√§udes oft eine schnellere und stabilere Verbindung der WLAN-Access-Points untereinander gew√§hrleistet.¬†

Was brauche ich wirklich f√ľr ein unterbrechungsfreies WLAN?

Das, was sich die meisten mit dem Begriff Mesh-WLAN erwarten, ist eigentlich die Funktion 802.11r Fast Basic Service Set (BSS) Transition: Die Basis damit Clients m√∂glichst schnell von einem WLAN Access Point zum anderen wechseln k√∂nnen: ohne Unterbrechung. Abh√§ngig von der eingesetzten Hardware kann die Verbindung der Access-Points untereinander √ľber unterschiedlichste Verbindungen stattfinden, als Beispiel WLAN, PowerLine oder einer LAN-Verkabelung. Die Entscheidung welcher Access-Point f√ľr die Verbindung verwendet wird liegt beim Client. Auch wenn aktuelle Ger√§ten zusammen mit Access-Points und 802.11r bereits eine sehr gute Roaming-Funktionalit√§t besitzen, kann deren Verhalten beim Einsatz von 802.11k und 802.11v (Seamless Roaming:¬†Access Point und Band Steering) weiter optimiert werden.¬†

Wie funktioniert 802.11r?

Bei mehreren Access Points mit derselben SSID und demselben Key, entscheidet das Endger√§t, wann es auf einen anderen Access-Point mit einem besseren Empfang wechseln soll. Verbindet sich ein Endger√§t mit einem WLAN muss dieses sich zun√§chst Authentifizieren und eine IP-Adresse vom DHCP-Server holen, was ein wenig Zeit kostet. Normalerweise m√ľsste das Ger√§t beim Wechsel von einem Access Point zum anderen erneut den kompletten Anmeldeprozess durchlaufen und den Datenverkehr anhalten, bis die Verbindung abgeschlossen ist. Der Standard 802.11r vereinfacht den Verbindungsprozess, indem der Anmeldevorgang beim Wechsel von einem Access Point zum anderen verk√ľrzt wird. Zeitintensive Aufgaben werden dabei weggelassen. Ohne der Notwendigkeit eine neue IP-Adresse vom DHCP-Server zu holen, kann der Wechsel von einem Access-Point soweit reduziert werden, dass der Verbindungswechsel zu keiner sp√ľrbaren Unterbrechung f√ľhrt.

Was ist Seamless Roaming?

Des √Ėfteren taucht auch der Begriff Seamless Roaming f√ľr den nahtlosen Wechsel von einer Funkzelle zur n√§chsten auf. Neben dem Standard 802.11r werden zus√§tzlich meist die Standards 802.11k und¬†802.11v¬†eingesetzt, welche den Clients Informationen zu benachbarten WLAN Access Points zur Verf√ľgung stellen damit diese in der Lage sind bessere Entscheidungen f√ľr die Verbindung treffen zu k√∂nnen.¬†

Was ist Access Point - Steering?

Access Point Steering ist eine Routerfunktion die alle WLAN-AccessPoints und deren verbundener Endger√§te √ľberwacht und die Endger√§te aktiv informiert, falls ein anderer Access-Point eine deutlich bessere Verbindung zur Verf√ľgung stellen kann. Technisch gesehen stehen hinter dem Access Point Steering die Standards 802.11r, 802.11k und 802.11v.

Was ist Band Steering?

F√ľr das WLAN kommen zwei verschiedene Frequenzb√§nder zum Einsatz: 2,4GHz und 5GHz. Das 5GHz-Band liefert einen h√∂heren Datendurchsatz als das √§ltere 2,4GHz-Band, besitzt aber eine geringere Reichweite. Das sogenannte Band Steering ist eine Router-Funktion welche die Endger√§te dabei unterst√ľtzt das gerade am besten geeignete Frequezband f√ľr die Verbindung zu verwenden und somit¬†den meisten Durchsatz und die beste Verbindungsqualit√§t zu liefern.¬†

Mein Setup: nahtloser WLAN-Empfang √ľber 2 Stockwerke mit 2 verschiedenen Access Points.¬†

Die beiden Stockwerke meines Hauses sind durch eine Betondecke getrennt, wodurch es nicht m√∂glich ist einen einzelnen WLAN-Access-Point so zu platzieren, dass dieser √ľberall ausreichend WLAN-Empfang zur Verf√ľgung stellen kann.¬†Nachdem der Router meines Providers nur begrenzte M√∂glichkeiten bietet, habe ich das WLAN darauf deaktiviert und verwende das Ger√§t rein f√ľr die Internetverbindung. Das WLAN im Erdgeschoss wird von einem zus√§tzlichen Router¬†versorgt, diesen habe ich zentral im Erdgeschoss aufgestellt.¬†Um den WLAN-Empfang im ersten Stock zu verbessern, habe ich dort einen weiteren Access-Point im Vorhaus platziert. Die Verbindung der Ger√§te erfolgt √ľber eine LAN-Verkabelung, √§hnlich dem folgenden Versuchsaufbau:

Siehe auch: Verkabelung, Variante 2

Als Router verwende ich einen bereits in die Jahre gekommenen aber immer noch schnellen¬†Linksys WRT3200ACM und als AccessPoint einen relativ neuen und relativ g√ľnstigen¬†Netgear WAC104. Auf beiden Ger√§ten habe ich die neueste¬†OpenWrt-Firmware¬†installiert:¬†22.03.2. Sollte ich in Zukunft einen weiteren Access-Point ben√∂tigen, zum Beispiel um den Empfang im Keller zu verbessern, kann ich daf√ľr eine beliebige Hardware mit OpenWrt-Unterst√ľtzung verwenden, siehe:¬†OpenWrt Hardware Empfehlung - verf√ľgbare Ger√§te 2022.¬†

Im Artikel "LAN & WLAN im Heimnetzwerk: der ultimative Guide" habe ich einfach 802.11r in den OpenWrt-Optionen aktiviert, was bereits einen unterbrechungsfreien Wechsel von einer Empfangszone zur anderen ermöglicht. Zudem kann den Geräten mit dem Aktivieren von 802.11k und dem Einsatz eines Client Steering Deamon geholfen werden, möglichst immer die beste Verbindung zu verwenden. 

Voraussetzung: OpenWrt-Wpad Full

Damit ich alle WLAN-Funktionen von OpenWrt verwenden kann, habe ich wpad-basic-wolfssl mit der Vollversion: wpad ersetzt. 

 

WLAN Setup:

Auf allen Access Points sollte f√ľr jeweils 2,4GHz und 5GHz √ľberall dieselbe SSID, und derselbe Key verwendet werden:¬†

Falls nicht bereits geschehen, sollte in den WLAN-Einstellungen aller Interfaces mit demselben WLAN-Key 802.11r Fast Transition aktiviert werden:

Wie bereits im Artikel¬†LAN & WLAN im Heimnetzwerk: der ultimative Guide¬†beschrieben, reicht diese Einstellung aus, damit sich die Ger√§te ohne Unterbrechung beim Wechsel von einer Empfangszone zur anderen verbinden. Die Verantwortung f√ľr den Wechsel auf eine andere Empfangszone liegt dabei rein beim Endger√§t. F√ľr eine zus√§tzliche Unterst√ľtzung seitens Router kann ein sogenannter Client Steering¬†Deamon¬†eingerichtet werden.

Client Steering

F√ľr OpenWrt gibt es zwei verschiedene Client-Steering Deamon: usteer und dawn, beide ben√∂tigen die folgenden Einstellungen in den WLAN-Settings. Leider k√∂nnen diese nicht in der GUI gemacht werden, was eine Verbindung mit¬†Putty¬†oder einem anderen SSH-Client auf alle Router oder Access Points, bzw. auf deren IP-Adresse voraussetzt:

Im Terminal können die WLAN-Einstellungen mit dem folgenden Befehl bearbeitet werden:

vi /etc/config/wireless

F√ľr die Bedienung des Terminal-Editors VI, siehe:¬†VI Editor - Befehle.

Auf allen Access Points und f√ľr alle WLAN-SSIDs bei denen¬†802.11r aktiviert wurde, werden¬†folgende¬†Konfigurationszeilen in `/etc/config/wireless` vorausgesetzt:

      option bss_transition '1'
      option wnm_sleep_mode '1'
      option time_advertisement '2'
      option time_zone 'GMT0'
      option ieee80211k '1'
      option rrm_neighbor_report '1'
      option rrm_beacon_report '1'

Die Dokumentation des Client Steering Deamon "dawn" ist zwar ausf√ľhrlicher, dennoch habe ich mich f√ľr "usteer" entschieden. F√ľr das Verwenden von "usteer" reicht ein einfaches Installieren der des gleichnamigen Paketes "usteer":

Client Steering Daemon: usteer

"usteer" kann per Terminal, oder √ľber die GUI als Software-Paket installiert werden:

 opkg update && opkg install usteer

Siehe auch: openwrt.org/docs/guide-user/network/wifi/usteer

Nach dem Setup lohnt sich ein Blick in das System Log: 

Eine Alternative zu "usteer" kann f√ľr das Seamless Roaming auch "dawn" verwendet werden:

dawn (Decentralized Wifi Controller)

Auch "dawn" setzt die zuvor erwähnten Einstellungen in der Datei "/etc/config/wireless" voraus. Die Installation erfolgt auch hier durch die Installation eines Software-Paketes:

 opkg update && opkg install dawn

Die offizielle Dokumentation auf OpenWrt warnt vor einem Problem mit umdns: Als Workaround wird das Deaktivieren des umdns seccomp profile empfohlen:

root@OpenWrt2:~# /etc/init.d/umdns restart
Command failed: Request timed out
root@OpenWrt2:~#  mv /etc/seccomp/umdns.json /etc/seccomp/umdns.json.disable
root@OpenWrt2:~# /etc/init.d/umdns restart

Zuletzt muss in der Datei /etc/config/dawn-opkg noch das Netzwerk auf 192.168.1.x angepasst werden:

[+]
root@OpenWrt2:~# vi /etc/config/dawn-opkg
root@OpenWrt2:~# /etc/init.d/dawn restart
Starting Service...
UMDNS with port 1026
Dawn instance started!
root@OpenWrt2:~#   opkg install luci-app-dawn
Installing luci-app-dawn (git-21.282.29102-4a78122) to root...
Downloading https://downloads.openwrt.org/releases/22.03.1/packages/mipsel_24kc/luci/luci-app-dawn_git-21.282.29102-4a78122_all.ipk
Installing luci-compat (git-22.069.45071-03bb0e2) to root...
Downloading https://downloads.openwrt.org/releases/22.03.1/packages/mipsel_24kc/luci/luci-compat_git-22.069.45071-03bb0e2_all.ipk
Installing luci-lib-json (git-18.184.37844-cde13dc) to root...
Downloading https://downloads.openwrt.org/releases/22.03.1/packages/mipsel_24kc/luci/luci-lib-json_git-18.184.37844-cde13dc_all.ipk
Configuring luci-compat.
Configuring luci-lib-json.
Configuring luci-app-dawn.
root@OpenWrt2:~#   /etc/init.d/network restart

"dawn" besitzt zudem eine Erweiterung f√ľr die Verwaltungsoberfl√§che um eine Zusammenfassung des Netzwerks anzuzeigen:

Details, Siehe: openwrt.org/docs/guide-user/network/wifi/dawn

Fazit

Beim Einsatz der WLAN-Standards 802.11r/k/v k√∂nnen mehrere Access-Points als gemeinsame Einheit auftreten und f√ľr einen bestm√∂glichen WLAN-Empfang sorgen. Neben bestimmten Ger√§ten eines Herstellers, k√∂nnen die Standards auch mit einer Open Source-Firmware wie OpenWrt genutzt werden und Ger√§te von unterschiedlichen Herstellern zum Einsatz kommen: OpenWrt Hardware Empfehlung - verf√ľgbare Ger√§te 2022.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE f√ľr deine Bewertung!

Ver√∂ffentlichung: 01.11.2022 von Bernhard ūüĒĒ


Top-Artikel in diesem Bereich


IP Adressen im Netzwerk finden, auch wenn deren Firewall aktiviert ist
Wer einen schnellen √úberblick √ľber alle aktiven Ger√§te in einem Netzwerk bekommen will, kann dies mit der Netzwerkerkennung, mit Befehlen in der Eingabeaufforderung, in PowerShell oder mit speziellen IP-Scannern. Die zu Beginn dieses Beitrages zusammengestellten PowerShell-Befehle geben einen schnellen √úberblick √ľber alle Ger√§te im lokalen Netzwerk und machen spezielle Programme f√ľr das Scannen des Netzwerks eventuell √ľberfl√ľssig. Wer die Befehle gerne in Aktion sehen will, kann dies in meinem Y...

PING mit Port - Windows cmd | PowerShell: Test-Netconnection
Mit dem Tool Ping kann bekanntlich der Zugriff zu einem bestimmten Netzwerkger√§t und dessen Antwortzeit getestet werden. Nicht alle Ger√§te antworten auf einen Ping, m√∂glicherweise aber auf einen bestimmten TCP-Port, vorausgesetzt, es wird dar√ľber ein bestimmter Netzwerkservice zur Verf√ľgung gestellt. Windows PowerShell erm√∂glicht es, einen bestimmten Port mit Windows Bordmitteln zu testen. Das Tool PSping kann zudem die Antwortzeit auf einen bestimmten Port messen. Wer die Befehle gerne in Aktio...

cmd Befehle f√ľr die Netzwerkanalyse
Mit einfachen Befehlen kann ein schneller √úberblick √ľber die aktuellen Netzwerkeinstellungen ausgelesen werden, eventuelle Verbindungsfehler gefunden, oder ein √úberblick √ľber andere Ger√§te im Netzwerk verschafft werden. Die hier beschriebenen Befehle sind cmd-Befehle. Die Eingabe erfolgt √ľber die Eingabeaufforderung: cmd, siehe auch das zugeh√∂rige YouTube-Video.

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details