Mesh Netzwerke
Jean-Jacques Sarton
Vermaschte Netzwerke
Vorläufer von 802.11s ist WDS (Wireless distributed System)
Leider ist WDS eine proprietäre Lösung (nicht genormt) und damit
Hersteller abhängig
IEEE 802.11s
IEEE 802.11s definiert eine Erweiterung zur Aufbau von WIFI-Mesh
Netzwerke.
Mesh Punkte ermöglichen ein Verbindung meherere Rechner über WIFI
anstelle von Kabeln.
Die im Mesh Netz eingebundene Geräte können direkt mitenander oder
über zwischen geschalteten Meshpunkten kommunizieren.
Bei ein konventioneller mit ein Access Punkt aufgebauten WIFI Netz
ist der AP immer Partner für die Kommunitation.
MESH- Algorhytmen
eingesetz wird HDWMP mit drei untervarianten die auf der Traffic
ein wenig Einfluss hat.
Mesh Punkt
IEEE 802.11s definiert 3 Geräte Typen
-
MP einfache Mesh Point
-
MPP Mesh Portal Point
-
MAP Mesh Access Point
Netzwerk Beispiel
Mesh Netzwerk
-
Das Routing läuft über OSI Layer 2 (Mac Addresse)
-
Die MP’s tauschen untereinander Route Informationen damit die
am Netzwerk angeschlossene client die optimale Strecke verwenden.
Je nach System Typ (client an MAP verbunden, Internet Zugang (MPT) werden
4 bis 6 MAC Adresse ausgetauscht.
Hardware Voraussetzungen (1)
$iw list
Wiphy phy1
...
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO
...
valid interface combinations:
* #{ managed, P2P-client } <= 2, #{ AP, mesh point, P2P-GO } <= 2,
total <= 2, #channels <= 1
...
Das Gerät kann als MP, MPP, MAP eingesetz werden.
Hardware Voraussetzungen (2)
$iw list
Wiphy phy1
...
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO
...
interface combinations are not supported
...
Das Gerät kann nur als einfache Mesh Point eingesetzt werden.
Software Voraussetzungen
-
iproute2 (ip, verwendet nl80211 (module)
-
dnsmask (kombiniert dns, dhcp Server funktionalität) (MPP/MAP)
-
hostapd (MAP)
-
dhclient (MP/MAP)
-
dhcp-fwd (DHCP Relay) (MAP)
-
hostapd (MAP)
Sonder Gebilde
ein MP System kann auch leicht als Client eingerichtet werden
Einrichtung vom MP - Störenfriede (Linux)
Meisten wird das NetworkManager eingesetzt, damit können die zur
Aufbau vom MP-Devices verwendeten Adapter nicht ohne weiteres
konfiguriert werden.
Die Datei /etc/NetzworkManager/NetworkManager.conf ist zu ergänzen:
MAC OSX und Windows bieten keine Unterstützung von 802.11s.
Unter FreeBSD existiert auch eine IEEE 802.11s Unterstützung, daher
sollte eine Portierung auf MAC OSX möglich sein.
[keyfile]
unmanaged-devices=mac:90:f6:52:11:44:f1;mac:92:f6:52:11:44:f1;
Die Mac Adresse des WIFI- Gerät wurde dupliziert, und im erste Byte
bit 2 gesetzt (90 → 92). Damit is die Mac Adresse weiterhin eindeutig,
ist aber eine lokal administrierte MAC Adresse.
Alternativ:
unmanaged-devices=interface-name:wlan0,interface-name:mesh0
Einfache MP Einrichten
DEV=wlan1
MESHID=myMeshID
ip l set $DEV down
iw dev $DEV set type mesh
ip l set $DEV up
iw dev $DEV mesh join $MESHID
sleep 1
dhclient -pf /tmp/dhclient-$DEV.pid $DEV
Einfache MP Entfernen
DEV=wlan1
kill `cat /tmp/dhclient-$DEV.pid`
iw dev $DEV mesh leave
ip l set $DEV down
iw dev $DEV set type managed
MPP Einrichten (1)
DEV=wlan1
ExtIF=eth0
ExtIp=192.168.0.2
MESHID=myMeshID
echo "interface=$DEV
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-authoritative
dhcp-range=10.0.0.10,10.0.0.254,300
dhcp-option=option:router,0.0.0.0
" > /tmp/dnsmasq-mesh0.conf
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o $ExtIF -j SNAT --to $ExtIp
sysctl net.ipv4.ip_forward=1
MPP Einrichten (2)
ip l set $DEV down
iw dev $DEV interface add mesh0 type mesh mesh_id $MESHID
ip l set dev mesh0 addr 06:43:b2:8b:c8:df
iw dev mesh0 set channel 1 HT20
ip l set mesh0 up
iw dev mesh0 set mesh_param mesh_hwmp_rootmode=4
iw dev mesh0 set mesh_param mesh_gate_announcements=1
sleep 1
ip a a 10.0.0.1/24 dev mesh0
dnsmasq -C /tmp/dnsmasq-mesh0.conf --pid-file=/tmp/dnsmasq-mesh0.pid
MPP Entfernen
DEV=wlan1
ExtIF=eth0
ExtIp=192.168.0.2
iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o $ExtIF -j SNAT --to $ExtIp
kill `cat /tmp/dnsmasq-mesh0.pid`
ip l set dev mesh down
iw dev mesh0 del
MPP Einrichten Alternative
Das "externe" Gerät und unseren MP können auch in eine Bridge eingebunden
werden.
brctl ist hier keine Alternative, IOCTL werden verwendet, wir benötigen
aber ein nl80211 geeigneten Tool
ip address del $ExtIp/24 dev $ExtIf
ip route del default via $ExtIp dev $ExtIf
ip link add br0 type bridge
ip link set $ExtIf master br0
ip link set mesh0 master br0
ip link set dev br0 up
ip address add $ExtIp/24 dev br0
ip route add default via $ExtIp dev br0
$ExtIf muss hier ein ethernet (eth0) device sein.
MPP / MP Unterschiede
Ein MPP entspricht in etwa ein Access Point, die Mesh ID wird zugewiesen
Ein einfache MP dagegen tritt den Meshnetz bei.
MAP
Ein Mesh Access Punkt besteht aus ein MP sowie ein
separater Access Point.
In der Regel müssen die Einstellungen von AP und MP idenstisch sein
(Kanal, Bandbreite).
Die Verbindung AP MP erfolgt über NAT. Das Netzwerkverkehr aus den
AP wird Richtung MP/MPP genated.
Kombinierte MAP/MPP
Dies ist eine herausforderung und ist nicht von der Norme aus vorgesehen.
Kernel Crashes können leicht produziert werden.
Auf ein PC habe ich beine WIFI Schnittstelle als AP uns Mesh eingerichtet.
auf ein weiteren Gerät kann ich mich mit den AP und auch über das MP
verbinden. Beide gleichzeitig oder nacheinander angewandt führen zum Einfrieren des
Servers.
Vorgehensweise MAP/MPP
-
Brücke einrichten
-
Mesh Punkt Device erzeugen
-
Mesh Punkt in der Brücke einbauen
-
AP Starten
-
AP in der Brücke einbauen
-
Mesh Punkt fertig konfigurieren
-
Brücke konfigurieren
-
NAT konfigurieren
-
DHCP Server starten
Verschlüsselung
Zur Verschlüsselung vom MP wird authsae SAE eingesetzt.
Ein klein Tool der einiges an Arbeit erspart ist meshd-nl80211. Dies
must aber kompiliert werden.
Freifunk Netzwerk Schnittstellen
[br-client]
[bat0]
[mesh0] ↔ weitere FF-Router
[mesh-vpn] ↔ [eth0] ↔ Internet
[client0] ↔ am AP verbundene Client
Besonderheiten 802.11s und Freifunk
Das Protokoll 802.11s wird auschliesslich innerhalb des WIFI-Meshnetz
eingesetzt.
Damit werden die Segmente, wie bei Freifunk üblich, nicht miteinander
verbunden.
Daher werden MP und AP über BATMAN-ADV miteinander verbunden.
Forwarding mus auf MP Ebene abgeschalltet werden.
Vor und Nachteile des alten und neue Verfahren
Neuere WIFI-Bausteine bieten von Haus aus 802.11s (mesh point),
Die Software läuft im Kernelbereich und auf Hardware-Ebene.
Beide Verfahren sind in Bezug auf Performance ähnlich.
←
→
/