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

Netzwerk Beispiel

WIFI-Netzerke

Mesh Netzwerk

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

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

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.

IEEE802.11s und Freifunk

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.

/