Zur Messung der Verbindung zwischen zwei Knoten kann das Tool „iperf3“ verwendet werden. iperf3 wird über SSH auf den Knoten installiert und gestartet (einmal als Server, einmal als Client).

Zur Installation muss genügend Speicher auf dem Gerät zur Verfügung stehen (etwa 40 kB), bei den 841er-Routern ist der Speicherplatz leider zu knapp.

Benötigt werden also jeweils die SSH-Verbindungen zu den Knoten über die IPv6-Adressen und eben jene Adressen.

iperf3 testet die Verbindung über die IPv6-Adressen zwischen zwei Knoten, für die Interpretation des Testergebnisses muss klar sein, dass dieser Test auf Layer 3 stattfindet. Bei mehreren möglichen Verbindungen durch das Batman-Mesh auf Layer 2 ist es möglich, dass eine andere physische Verbindung genutzt wird als die augenscheinlich erwartete, der Test gibt keine Info darüber, wo die Pakete auf Layer 1 und 2 nun tatsächlich ausgetauscht werden.

Installation von iperf3

Iperf3 kann über opkg mit folgenden Kommandos aus den Paketquellen von OpenWRT über SSH installiert werden.

opkg update
opkg install iperf3

Dies wird auf beiden Knoten ausgeführt.

Portfreigabe in der Firewall

Auf dem Knoten, bei dem iperf3 im Server-Modus ausgeführt wird, muss Port 5201 in der Firewall freigegeben werden. Mit den folgenden Befehlen wird eine weitere Firewall-Regel dazu hinzugefügt und die Firewall neu gestartet:

uci add firewall rule
uci set firewall.@rule[-1].src=mesh
uci set firewall.@rule[-1].name=mesh_iperf
uci set firewall.@rule[-1].dest_port=5201
uci set firewall.@rule[-1].target=ACCEPT
uci set firewall.@rule[-1].proto=tcp
uci set firewall.@rule[-1].family=ipv6
uci commit firewall
/etc/init.d/firewall restart

Starten von iperf3

Der iperf3-Server wird nun mit dem Kommando -s

iperf3 -s -V

gestartet. (-s: Server, -V: Detailliertere Ausgabe (Verbose)). Auf dem Client-Knoten wird iperf3 nun mit dem Kommando -c und der Angabe der IPv6 des iperf-Servers

iperf3 -c 2a03:2260:300b:0:8636:f9ff:ae31:35e1 -V

gestartet. Es wird ein Test mit einer Dauer von 10 Sekunden gestartet, bei dem jede Sekunde ein Ergebnis angezeigt wird. Die Testzeit kann über „-t 30“ auf 30 Sekunden verlängert werden, mit „-i 5“ wird das Intervall auf der Clientseite auf 5 Sekunden erhöht.

Der Server wird im Terminal durch die Tastenkombination Strg+C beendet.

Beispiel

Das folgende Beispiel zeigt einen Test zwischen zwei Knoten, die ausschließlich über WLAN-Mesh miteinander verbunden sind.

Server:

Client: