Unterbrechungsfreies WLAN: Roaming (Fast Transition)

 

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: 23.05.3. 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 2024. 

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, VerschlĂŒsselung, und derselbe Key verwendet werden: 

Bei meinem Setup verwende ich WPA2-PSK und AES als VerschlĂŒsselung. Die VerschlĂŒsselung auf "auto" machte bei bestimmten Clients Probleme.

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

In den Device-Einstellungen sollte zudem der Country Code eingestellt werden:

Hintergrund: Mit der Standardeinstellung Country Code: "driver default" war es mir bei einem der Access Points nicht möglich das WLAN-Interface zu aktivieren.

  Der Status "disabled" wechselte erst nach dem Setzen des Country Code auf einem meiner APs.

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.

(Die MenĂŒpunkte unter Interface Configuration / WLAN Roaming fĂŒr 802.11k werden erst nach dem Aktivieren von WPad-Full und einem Neustart des Routers sichtbar). 

Alternativ können diese Einstellungen auch im Terminal 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 auf allen Access Points installiert werden:

 opkg update && opkg install usteer luci-app-usteer

FĂŒr die FunktionalitĂ€t ist rein das Paket usteer verantwortlich. luci-app-usteer bietet einen Überblick in der GUI welche Clients sich gerade auf welchem Access Point verbunden haben, bez ĂŒber die "Hearing map": Welcher Client auf welchem Access Point sichtbar ist. Außerdem zeigt die Client-List, ob alle Access Points fĂŒr einen WLAN-Empfang bereit sind:

Damit AP Steering funktioniert benötigt Usteer zumindest einen Wert fĂŒr "signal_diff_threshold"

Zudem muss "roam_scan_snr" gesetzt werden damit Clients Scans fĂŒr Roaming angestoßen werden.

ZusÀtzlich habe ich auf meinen GerÀten noch diese beiden Einstellungen gesetzt:

In den Einstellungen (Settings) kann Usteer zudem auf ein bestimmtes WLAN beschrÀnkt werden:

Siehe dazu auch die offizielle Dokumentation und eine entsprechende Diskussion im OpenWRT-Forum.

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

Auch "dawn" besitzt zudem eine Erweiterung fĂŒr die VerwaltungsoberflĂ€che um eine Zusammenfassung des Netzwerks anzuzeigen:

Quellen

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

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

DANKE fĂŒr deine Bewertung!

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
02.01.2024 21:34
Muss man usteer auf allen Access-Points installieren?
↳
✍Bernhard
gepostet am 07.01.2024 10:30
Ja, muss auf allen AccessPoints installiert werden.

Beitrag erstellt von Bernhard

✍anonym
17.04.2024 08:44
Danke fĂŒr deine Arbeit, wirklich toll gemacht und bin noch am abarbeiten der Einstellungen.

Hier in den Artikel bitte noch einfĂŒgen:
"Die Einstellung "FT over the Air" und "Reassociation Deadline" mit dem Wert 20000 hat das Problem gelöst."

von hier: https://www.libe.net/heimnetzwerk#router-ap

Habe ebenfalls das Problem das teilweise gerÀte, obwohl vollen Empfang, weder aufs Netzwerk noch aufs Internet zugreifen können, erst das Wechseln des W-Lan schafft dabei Abhilfe.

Hoffe mit der Einstellung ist Ă­n Zukunft das Problem behoben.

Gruß
Karsten
↳
✍Bernhard
gepostet am 17.04.2024 09:50
Danke dir! Ich werde den Screenshot in diesem Artikel demnÀchst anpassen.

Beitrag erstellt von Bernhard

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