Internet Geschwindigkeit im Freifunk Netz

Praktisch und gut zu wissen.

Das ist doch schon mal eine gute Nachricht.

Also wenn ich jetzt so gucke, ist die TQ für den Offloader auf 100% muss man mal beobachten ob das schwankt.
Zur Load auf den Gateways: Die ist so ziemlich in Ordnung. Das hängt damit zusammen, dass die Systeme mehr als ein Kern haben und somit auch bei einer Last von 1 noch ohne Probleme laufen und keinen Ärger machen.

Das ist eher auszuschließen, da das Mesh Protokoll und auch sonst niemand solchen Dinge tut. Einzig wenn der Traffic Shaper auf dem Offloader aktiv wäre, könnte so etwas passieren. Aber der ist deaktiviert. Ansonsten fast da nix den Traffic an. Aber eine interessante Beobachtung.

So, wie versprochen hier mal noch die Befehle zum Testen. Bitte unbedingt nicht auf dem Knoten oder Offloader ausführen, sondern auf einem Gerät das per Kabel an einem Mesh on LAN Knoten hängt.

Anfangen wollen wir mal mit einfachen Tests.

GW Intern:
IPv4: iperf3 -4 -c intern.gw0<gw nummer>.ffrn.de -R
IPv6: iperf3 -6 -c intern.gw0<gw nummer>.ffrn.de -R

Server Extern:
IPv4: iperf3 -4 -c files.leahnoswald.de -R
IPv6: iperf3 -6 -c files.leahoswald.de -R

Jetzt mal etwas anders, nämlich mit 20 gleichzeitigen Verbindungen.

GW Intern:
IPv4: iperf3 -4 -P 20 -c intern.gw0<gw nummer>.ffrn.de -R
IPv6: iperf3 -6 -P 20 -c intern.gw0<gw nummer>.ffrn.de -R

Server Extern:
IPv4: iperf3 -4 -P 20 -c files.leahoswald.de -R
IPv6: iperf3 -6 -P 20 -c files.leahoswald.de -R

Und aus Spaß einmal gegen den Offloader selbst. Da muss vorher auf dem Offloader aber folgender Befehl laufen:

Lokalen IPerf3 Server starten: iperf3 -s

Auf deinem Client über den du misst: iperf3 -c 2a01:4f8:100:57ff:219:99ff:fe5c:5a55 -R

Gegen GW04 gemessen:
IPv4 iperf3: error - unable to connect to server:
IPv6 15,4 Mbit/s

IPv4 12,6 Mbit/s
IPv6 5,5 Mbit/s

IPv4 iperf3: error - unable to connect to server:
IPv6 66,1 Mbit/s

IPv4 78,5 Mbit/s
IPv6 25,6 Mbit/s

65,7 Mbit/s

Ich habe gestern nach den Tests noch einen Versuch unter reellen Bedingungen gemacht. In der ganzen Unterkunft gibt es nicht einen, der per Kabel an einem Router hängt. Deshalb habe ich über WLAN ein Linux update gemacht (ca.300MB Daten mit Dateien in unterschiedlicher Größe) Die Downloadrate schwankte dabei zwischen 0,4 - 2 Mbit/s. Die Grafana Statistik zeigte keine deutlichen Veränderungen, wie ich sie z.B. durch die iperf Messungen erzeugen konnte.
Auch die gemessenen Werte machen mich etwas stutzig. Mit 20 parallelen Verbindungen zu deinem Server über IPv4 knapp 80Mbit/s über IP6 nur 25Mbit/s. Irgendwo ist doch da bei v6 der Wurm drin…
Bis zum Gateway scheint die Strecke über v6 gut zu sein was die erste, dritte und letze Messung zeigt. Das Problem müsste dann nach meinem Verständnis also die Strecke vom Eingangs- zum Ausgangsgateway sein.

Ich glaube eher wir müssen hier zwischen der IPv6 Performance und dem eigentlichen Problem unterscheiden, denn beide Anbindungen würden ja genug her geben, um eine schnelle Verbindung zu ermöglichen. Auch, dass das Problem jetzt hier so spezifisch auftaucht, während ich an einem anderen Offloader am gleichen Gateway meine 70-80Mbit/s bekomme ist komisch. Inbesondere auch das du mit den parallelen Verbindungen eine höhere Bandbreite erreichst ist interessant und sollte im Normalfall, wenn die erreichbare Bandbreite ein Problem ist nicht so entstehen.

Ich bleibe dabei, dass ich hier ein TCP Problem vermute. Könntest du daher mal bitte auf einem Rechner das Tool MTR installieren und sowohl gegen deinen Gateway als auch gegen die 8.8.8.8 und 2001:4860:4860::888 einen mindestens 5 Minuten dauernden Test fahren, damit wir sehen ob es über die Leitung zu Paketverlusten kommt. Hier bitte explizit über das WLAN wenn der Empfang gut ist.

Da fehlt eine 8: 2001:4860:4860::8888

MTR hat da noch einen Report-Mode. Diesen mit dem Argument -r aktivieren und die Zeit mit -c [Pings] angeben. Die Befehlszeile wäre dann mtr -r -c 300 [IP]. Die Ausgabe sollte dann auch geeignet sein, um diese irgendwohin zu pasten.

1 „Gefällt mir“

mtr -r -c 300 intern.gw04.ffrn.de
Start: Mon May 16 17:24:53 2016
HOST: debian Loss% Snt Last Avg Best Wrst StDev
1.|-- 2a01:4f8:100:57ff::4 5.3% 300 56.3 139.4 14.0 2169. 241.6

mtr -r -c 300 8.8.8.8
Start: Mon May 16 17:30:53 2016
HOST: debian Loss% Snt Last Avg Best Wrst StDev
1.|-- 10.142.0.4 36.3% 300 16.8 54.7 11.2 860.9 91.8
2.|-- 188.68.52.2 5.7% 300 89.6 117.5 12.9 1141. 159.1
3.|-- de-cix20.net.google.com 4.3% 300 70.7 122.5 16.4 1146. 164.6
4.|-- 216.239.56.182 4.0% 300 17.8 117.6 16.5 1381. 158.0
5.|-- 216.239.57.149 6.7% 300 34.7 119.8 16.7 1796. 159.0
6.|-- 209.85.143.25 5.7% 300 21.6 131.8 20.9 1696. 202.5
7.|-- 74.125.37.103 6.3% 300 38.9 140.1 23.8 1606. 189.9
8.|-- 209.85.242.165 3.7% 298 24.8 125.2 23.2 1496. 168.3
9.|-- ??? 100.0 298 0.0 0.0 0.0 0.0 0.0
10.|-- google-public-dns-a.googl 4.4% 298 23.8 129.6 23.5 1341. 175.8

mtr -r -c 300 2001:4860:4860::8888
Start: Mon May 16 17:36:06 2016
HOST: debian Loss% Snt Last Avg Best Wrst StDev
1.|-- 2a01:4f8:100:57ff:4::53 6.0% 300 33.2 152.6 13.3 1888. 237.5
2.|-- v6upstream.freifunk-rhein 5.3% 300 69.9 157.7 16.7 2175. 263.5
3.|-- vmh001.ipv6.gw.rz10.fks.d 4.7% 300 93.3 146.2 17.2 1754. 208.8
4.|-- ex3k5.rz10.hetzner.de 6.0% 300 43.9 140.3 17.5 1687. 191.7
5.|-- hos-tr1.juniper1.rz10.het 5.0% 300 103.9 145.6 16.5 2356. 235.1
6.|-- core21.hetzner.de 5.7% 300 137.4 148.5 17.7 2035. 243.0
7.|-- core4.hetzner.de 6.0% 300 105.3 162.6 21.7 2546. 299.4
8.|-- de-cix10.net.google.com 5.7% 300 38.4 166.7 22.3 4018. 354.2
9.|-- 2001:4860::1:0:abef 5.7% 300 32.1 172.8 21.5 3059. 302.4
10.|-- 2001:4860::8:0:abf2 5.3% 300 66.7 179.1 31.4 2636. 284.7
11.|-- 2001:4860::8:0:8f8f 5.7% 300 34.6 167.6 31.9 2570. 263.1
12.|-- 2001:4860::8:0:6e84 5.0% 300 36.6 171.2 31.8 2718. 280.9
13.|-- 2001:4860::2:0:79fb 5.7% 300 155.6 170.8 31.0 2791. 284.0
14.|-- ??? 100.0 300 0.0 0.0 0.0 0.0 0.0
15.|-- google-public-dns-a.googl 6.7% 300 71.7 179.7 30.2 2053. 261.9

Bitte um kurze erklärung was dieser kombinierte Ping/Traceroute Scan bringt und was dir diese Werte jetzt sagen

Was ich daraus lesen kann, ist an welcher Stelle wie viele Pakete verloren gehen. Wie schon weiter oben gesagt, ist TCP was Paketverlust angeht sehr sehr pingelig. Die Zahlen kann ich jetzt in eine Formel reinpacken und dir die maximale Geschwindigkeit berechnen.

Das bedeute, wenn man von diesem Paketverlust als dauerhaften Wert ausgeht, sind folgende maximale Geschwindigkeiten via TCP möglich.

Für den Weg zum Gateway bei 5.3% Loss sind das maximal noch:

network limit (MSS 1240 byte, RTT: 139.4 ms, Loss: 5%) : 0.31 Mbit/sec.

Für den IPv4 Google DNS bei minimal 3,7% (das ist der relevante Wert):

network limit (MSS 1240 byte, RTT: 125.0 ms, Loss: 4%) : 0.41 Mbit/sec.

Für IPv6 zum Google DNS bei minimal 4,7%:

network limit (MSS 1240 byte, RTT: 179.0 ms, Loss: 5%) : 0.26 Mbit/sec.

Da du auch schon höhere Werte gemessen hast und sich durch die Parallelmessungen gezeigt hat, das es hilft mehrere TCP Verbindung zu nutzen, vermute ich das hier Paketverluste unser Problem sind. Ich werfe jetzt auch nochmal entsprechende Tests auf dem Offloader an.

Wäre super, wenn du das genauer ausführen könntest - ich würde sowas auch gerne berechnen können.

Einfach hier rein packen:

https://www.switch.ch/network/tools/tcp_throughput/?do+new+calculation=do+new+calculation

Die MTU ist 1280

1 „Gefällt mir“

Bleibt die Frage wieso so viele Pakete verloren gehen und was man dagegen tun kann

Debuggen und die Ursache finden. Ich bin aktuell sofern ich Zeit hab dran das zu untersuchen und Lösungen zu finden.