Im Beitrag zur lokal installierbaren Version von Speedtest.net kam der Hinweis, dass die Fritzbox selbst einen integrierten Iperf-Server enthält, den man für Perfomancetests im eigenen Netzwerk verwenden kann. So ließe sich die Netzwerkgeschwindigkeit im LAN ausmessen, ohne dass man einen zweiten Rechner mit dem Iperf-Server aufsetzen muss. Aufgrund meiner Erfahrungen mit der Fritzbox als „Einfach-NAS“ bin ich allerdings ein wenig skeptisch, dass die Fritzbox hier halbwegs brauchbare Ergebnisse erzielt. Im NAS-Betrieb ist die Fritzbox mit Samba beispielsweise nicht wirklich schnell. Von daher habe ich der Funktion ein wenig auf die Finger gefühlt.

Erstmal gilt es die in meinem Netzwerk maximal erzielbare Datenrate auszumessen. Diese Werte sollen später als Referenz dienen, ob die mit der Fritzbox ermitteln Werte auch die Realität abbilden. Dazu hänge ich zwei ausgewachsene Rechner (einen mit Arch und einen mit Ubuntu 15.10) mit Gigabit-Ethernet an die Fritzbox (in meinem Fall eine Fritzbox 7490) und installiere auf beiden Rechner Iperf. Das Programm findet sich bei eigentlich allen Distributionen in den Paketquellen von Linux. Arch Listet neben der Version 2.x bereits auch Iperf3 in den Quellen auf. Achtet darauf, dass die neue Version nicht zu der alten abwärtskompatibel ist und installiert am besten die ältere Ausgabe des Programms. Bei Bedarf gibt es das Programm auch für MacOS X und Windows.

Datenrate im Netz mit Iperf ermitteln

### Iperf unter Ubuntu/Debian installieren...
$ sudo apt install iperf
### Iperf unter Arch Linux installieren...
$ pacman -Ss iperf
community/iperf 2.0.5-9
    A tool to measure maximum TCP bandwidth
community/iperf3 3.1.2-1
    Internet Protocol bandwidth measuring tool
$ pacman -S iperf

Anschließend starte ich Iperf auf einem der Rechner im Server-Modus und auf dem zweiten Computer als Client. Nach wenigen Sekunden spuckt die Client-Seite das Ergebnis aus, dieses erscheint ebenfalls im Log des Iperf-Servers. In meinem Fall erreichen die zwei mit Gigabit-Netzwerkkarten ausgestatteten Rechner an der Fritzbox fast die theoretisch maximale Datenrate. Die 940 MBit/s können sich auf jeden Fall sehen lassen und zeigen, dass mit der Verkabelung alles passt. Nun muss die Fritzbox beweisen, was sie als Iperf-Server zu leisten imstande ist.

$ iperf -s 
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.178.80 port 5001 connected with 192.168.178.57 port 36672
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  1.10 GBytes   941 Mbits/sec
### Iperf-Test via Fritzbox und UDP
$ iperf -c 192.168.178.80
------------------------------------------------------------
Client connecting to 192.168.178.80, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.178.57 port 36672 connected with 192.168.178.80 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.10 GBytes   943 Mbits/sec

Iperf-Server auf der Fritzbox aktivieren

Der Iperf-Server ist nun auf der Fritzbox nicht von Haus aus aktiv. Für den Leistungstest müsst ihr die versteckte Konfigurationsseite der Fritzbox unter http://fritz.box/support.lua aufrufen und dort den Haken bei der Option Messpunkt für einen Iperf-Client im Heimnetz aktivieren, Port 4711 für TCP und UDP setzen und weiter unten auf Einstellungen übernehmen klicken. Auf den zweiten Schalter Messpunkt für einen bidirektionalen Iperf-UDP-Test im Heimnetz aktivieren, Port 4712 für UDP gehe ich später noch ein, erst einmal reicht es lediglich die erste Option zu aktivieren.

Iperf-Server auf der Fritzbox aktivieren.
Iperf-Server auf der Fritzbox aktivieren.

Im Gegensatz zum „Standard-Iperf“ lauscht der Fritzbox-Iperf-Server nun nicht auf Port 5001 auf eingehende Verbindungsanfragen sondern auf Port 4711. Von eurem Testrechner müsst ihr als Iperf daher mit der Portangabe -p 4711 starten. Fast schon wie erwartet, zeigt sich bei diesem Test wieder, dass die CPU der Fritzbox (selbst die des aktuellen Top-Modells 7490) für die Verarbeitung von Netzwerkpaketen nicht wirklich geeignet ist. Iperf meldet gerade mal einen Datendurchsatz von 173 MBit/s. Zur Erinnerung: Leitet die Fritzbox die Datenpakete als Switch nur von Rechner zu Rechner weiter, erzielt eine Iperf-Konfiguration bestehend aus zwei Gigabit-Rechnern eine Datenrate von über 940 MBit/s.

### Iperf-Test via Fritzbox und TCP
$ iperf -c 192.168.178.1 -p 4711
------------------------------------------------------------
Client connecting to 192.168.178.1, TCP port 4711
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.178.57 port 57234 connected with 192.168.178.1 port 4711
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   206 MBytes   173 Mbits/sec

Iperf im UDP-Modus zeigt realistisches Ergebnis

Zur Rettung der Ehre der Fritzbox aktiviert ihr nun den zweiten Punkt Messpunkt für einen bidirektionalen Iperf-UDP-Test im Heimnetz aktivieren, Port 4712 für UDP und übernehmt die Einstellung wieder. Damit habt ihr die Möglichkeit die Netzwerkgeschwindigkeit mittels des schlanken User Datagram Protocol kurz UDP zu testen. Bei diesem wird im Gegensatz zu TCP aka Transmission Control Protocol unter anderem keine Bestätigung beim Empfang eines Datenpakets zurück zum Sender geschickt, was unter anderem den Overhead des Protokolls reduziert und die Prozessorlast bei der Übertragung senkt. Schmeißt ihr nun auf eurem Rechner Iperf an, fügt ihr dem Aufruf die Optionen -u für UDP und -b 1000M für die Zielbandbreite von 1 GBit/s an.

$ iperf -c 192.168.178.1 -p 4712 -u -b 1000M
------------------------------------------------------------
Client connecting to 192.168.178.1, UDP port 4712
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.178.57 port 42387 connected with 192.168.178.1 port 4712
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   969 MBytes   813 Mbits/sec
[  3] Sent 691514 datagrams
[  3] WARNING: did not receive ack of last datagram after 10 tries.

In diesem Modus entspricht die von Iperf auf der Fritzbox ermittelte Datenrate von 813 MBit/s deutlich eher der Realität, der Wert liegt aber trotzdem noch rund 14 Prozent unter dem, den ich mit zwei „ausgewachsenen“ Rechnern ermittelt habe. Der in der Fritzbox integrierte Iperf-Server eignet sich daher nicht wirklich für Leistungstests mit Gigabit-Ethernet oder WLAN nach IEEE 802.11ac, das zumindest in der Theorie ähnlich schnelle Datenraten erzielen sollte. In der Praxis liegen die Datenraten von Smartphones und Notebooks trotz WLAN-AC deutlich unter der von Gigabit-Ethernet, sodass hier der Fritzbox-Iperf zumindest vergleichbare Aussagen liefern sollte.

Iperf auf Android-Smartphones und -Tablets

Der in der Fritzbox integrierte Iperf-Server eignet sich daher im Prinzip hauptsächlich dafür den Durchsatz von per WLAN angebundenen Geräten wie Notebooks, Smartphones oder Tablets zu messen. Für Android gibt es daher eine ganze Reihe von Apps, die als Iperf-Client dienen können. Die Homepage des Iperf-Projekts listet dafür eine ganze Reihe von Apps für Android (sowie eines für iOS) auf, doch nicht jede dieser Apps eignet sich für den Fritzbox-Iperf-Server, da dieser nicht auf dem Standard-Port des Protokolls (Port 5001) lauscht und sich der Port in der App anpassen lässt.

In der Praxis bei mir hat sich die FRITZ!App WLAN bewährt. In dieser lässt sich aus der Seitenleiste heraus die Option WLAN messen aufrufen. Die Funktion führt eine ganze Reihe von Tests durch, darunter eben (wenn die Iperf-Option, wie oben im Artikel beschrieben, zuvor in den Fritzbox-Einstellungen aktiviert wurde) auch einen Iperf-Test. Diesen allerdings nur mit der TCP-Option, die generell geringere Datenraten anzeigt. Alternativ könnt ihr zu den kostenlosen Apps Aruba Utilities oder iPerf for Android greifen. In diesen Apps könnt ihr vom PC gewohnten Iperf-Optionen eins zu eins übertragen, was allerdings ein wenig Tipparbeitet auf der virtuellen Smartphone-Tastatur bedeutet.

10 Kommentare

  1. Wenn man zwei oder mehr Streams nutzt, wird auch die gesamte Bandbreite unterstützt.
    Hier mal die von mir genutzte Befehlszeile:
    iperf -c 192.168.178.1 -u -P 2 -i 1 -p 4712 -f m -b 1000M -t 3 -T 1
    Interessanterweise scheint die IPv6 Bandbreite geringer zu sein.
    Anstelle iperf nutze ich bevorzugt das grafische jperf

  2. Habe Vodafone Kabel (Kabel Deutschland) mit der 6490, Firmware: 6.50. Die Lua Seite zeigt mir die Optionen für den iperf Test an, doch funktioniert der Server / Daemon nicht? Ansonsten ist hier im lokalen Netzwerk alles fein; OSX iperf 3 kompiliert und läuft. Auch iperf auf das iPhone, angemeldet über das Fritzbox Wlan, Zugriff über 1GBit LAN per Mac läuft..
    Ein externer Zugriff auf den iperf Server der Fritzbox funktioniert nicht, obwohl der Port offen ist. Sehr komisch, kann es sein das Kabel Deutschland (Vodafone) in der 6.50 Firmware die iperf binary rausgenommen hat ? Hat es mal einer mit der KDG Fritzbox 6490 getestet ?

  3. Nachtrag… 🙂 Die Fritzbox nutzt iperf2, nun gehts.
    Funktioniert mit iperf3 nicht. Auch nicht wenn mit der iperf3 der Port angeben wird.

  4. Moin!

    Was genau macht die Option
    „Messpunkt für einen bidirektionalen Iperf-UDP-Test im Heimnetz aktivieren, Port 4712 für UDP“?
    Mit UDP mit Port 4711 geht ja auch schon mit
    „Messpunkt für einen Iperf-Client im Heimnetz aktivieren, Port 4711 für TCP und UDP“.

    Gruß!
    Björn

  5. Leider ist die UDP Messung wie beschrieben falsch. Der gezeigte Durchsatz gibt lediglich die von der Netzwerkkarte zum versenden akzeptierten Pakete an. Was am anderen Ende ankommt wird hier nicht angezeigt. Der Traffic wurde ja auch nicht bestätigt. Davor warnt „WARNING: did not receive ack of last datagram after 10 tries.“. Ganz leicht testbar indem man den Traffic mal zu einer Fanatsieaddresse oder Port schickt. Das „geht“ auch ganz wunderbar und schnell mit gleicher Ausgabe.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein