iperf misst den erreichbaren Durchsatz einer Netzwerkverbindung, mtr verbindet die Aussage von ping und traceroute zu einem laufenden Bild. Beide beantworten Fragen, die sich mit ping allein nicht klären lassen: „Wie viel geht wirklich durch?“ und „wo genau gehen Pakete verloren?“.
iperf: Durchsatz messen
iperf arbeitet mit zwei Rollen: Auf einer Seite läuft der Server, auf der anderen der Client. Die Messung findet immer vom Client zum Server statt.
# Server starten (auf dem Zielhost)
iperf3 -s
iperf3 -s -p 5201 # bestimmter Port
# Client: Grundmessung 10 Sekunden
iperf3 -c ziel.example.org
# Wichtig: Geschwindigkeit begrenzen, um das Netz nicht zu ueberlasten
iperf3 -c ziel -b 100M -t 20 # 100 Mbit/s, 20 Sekunden
# Gegenrichtung testen (Server sendet zum Client)
iperf3 -c ziel -R
# Beide Richtungen gleichzeitig
iperf3 -c ziel --bidir
# Parallele Stroeme (bei einer einzelnen Verbindung oft nicht ausgelastet)
iperf3 -c ziel -P 8
# UDP statt TCP - fuer Verlust und Jitter (Sprache, Video)
iperf3 -c ziel -u -b 50M
# UDP ist wichtig, wenn die Frage "verliert das Netz Pakete?" lautet.
# Bei TCP verdeckt die Wiederholungslogik den Verlust.
# Mit JSON-Ausgabe fuer Skripte
iperf3 -c ziel -J > /tmp/iperf.json
Die Ausgabe richtig lesen
# Typische TCP-Ausgabe (gekuerzt)
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.02 GBytes 876 Mbits/sec 42 sender
[ 5] 0.00-10.00 sec 1.02 GBytes 875 Mbits/sec receiver
# Wichtige Werte:
# Transfer/Bitrate -> erreichbarer Durchsatz
# Retr -> Wiederholungen, also Paketverluste
# 0-100 bei 10 Sekunden: unauffaellig
# Tausende: Netzproblem, das den Durchsatz bremst
# Typische UDP-Ausgabe
[ 5] 0.00-10.00 sec 59.6 MBytes 50.0 Mbits/sec 0.015 ms 12/42571 (0.028%)
# Jitter Verlust
# Jitter -> Schwankung der Laufzeit (wichtig fuer Sprache/Video)
# Verlust -> Anteil verlorener Pakete. Ueber 1 % ist problematisch.
Was die Zahl bedeutet – und was nicht
Die gemessene Bitrate ist nicht die Leitungskapazität. Sie ist der erreichbare Durchsatz unter den Bedingungen des Tests. Der Wert hängt ab von:
- Der Gegenstelle: Eine langsame Festplatte oder ein beschäftigter Prozessor begrenzt das Ergebnis. Abhilfe:
-Pfür parallele Ströme und/dev/nullals Ziel statt einer Datei. - Dem Weg: Jede Zwischenstation kann begrenzen. Zwei Messungen – Client zu Zwischenstation und Zwischenstation zu Server – zeigen, wo.
- UDP statt TCP: Bei TCP regelt die Gegenstelle die Sendegeschwindigkeit herunter, wenn Pakete verloren gehen. Das Ergebnis bleibt gut, obwohl das Netz leidet. Deshalb bei Verdacht auf Netzprobleme immer UDP messen – nur so werden Verlust und Jitter sichtbar.
- Dem Zeitpunkt: Einmalige Messungen sind Momentaufnahmen. Für eine belastbare Aussage zu Stoßzeiten messen.
mtr: Verlust und Laufzeit je Station
mtr („My Traceroute“) schickt kontinuierlich Pakete an jede Station auf dem Weg und aktualisiert die Anzeige laufend. Damit sieht man, welche Station Pakete verliert – nicht nur, dass es passiert.
# Interaktiv (laufende Aktualisierung)
mtr ziel.example.org
# Berichtsmodus fuer Protokolle und Weitergabe
mtr -r -c 50 ziel.example.org
# Ohne Namensauflösung (schneller, eindeutiger)
mtr -n -r -c 50 ziel.example.org
# TCP statt ICMP (wenn ICMP gefiltert wird - sehr haeufig!)
mtr -T -P 443 -r -c 50 ziel.example.org
mtr --tcp --port 443 ziel.example.org
# Ausgabe als CSV fuer die Auswertung
mtr -r -c 50 -C ziel.example.org
# Typische Ausgabe
HOST: srv-01 Loss% Snt Last Avg Best Wrst StDev
1. 10.0.0.1 0.0% 50 0.4 0.5 0.3 1.2 0.2
2. 172.16.0.1 0.0% 50 1.2 1.4 1.0 3.1 0.4
3. 203.0.113.1 25.0% 50 12.1 13.0 11.9 22.4 2.1
4. 198.51.100.1 25.0% 50 13.2 14.1 12.8 24.0 2.3
5. 93.184.216.34 0.0% 50 14.0 14.6 13.5 18.9 1.1
# DIE ENTSCHEIDENDE REGEL:
# Verlust, der ab Station 3 auftritt und sich auf allen weiteren
# Stationen FORTSETZT, deutet auf Station 3 hin.
#
# Verlust NUR auf einer Station, danach wieder 0 %:
# Die Station bremst nur die Antworten auf die Messpakete --
# der eigentliche Verkehr laeuft ungestoert. Kein Fehler!
Diese Unterscheidung ist der wichtigste Punkt bei mtr. Viele Zwischenstationen drosseln oder filtern Antworten auf Messpakete, weil das ihre Aufgabe ist – sie verarbeiten regulären Verkehr ganz normal. Ein Verlust von 20 % auf Station 3 und 0 % auf Station 5 bedeutet in aller Regel: Station 3 antwortet selten, aber der Weg funktioniert.
Beide Werkzeuge kombinieren
Die beiden Messungen beantworten verschiedene Fragen und ergänzen sich:
- mtr zeigt, wo: Welche Station auf dem Weg verliert Pakete. Damit lässt sich der Provider oder die eigene Übergabestelle ansprechen.
- iperf zeigt, wie viel: Der tatsächlich erreichbare Durchsatz. Zwei gute MTR-Werte schließen einen Durchsatzengpass nicht aus – eine Station kann Pakete verlustfrei weiterleiten und trotzdem begrenzen.
Der praktische Ablauf bei einem gemeldeten „das Netz ist langsam“:
- mtr -r -c 50 -T -P 443 zum Ziel – gibt es Verlust oder auffällige Laufzeitausschläge, und an welcher Station?
- iperf3 -u -b 50M zwischen den beiden Endpunkten – wie hoch ist Verlust und Jitter?
- Gegenprobe mit iperf3 -R – ist die Richtung einseitig betroffen?
- Zwischenstation messen – zwei Teilstrecken statt einer Gesamtstrecke. Damit ist der Bereich eingegrenzt.
Vorsicht im Betrieb
- iperf erzeugt echten Lastverkehr. Ohne
-bfüllt es die Leitung. Auf produktiven Strecken immer begrenzen und ankündigen. - mtr mit vielen Paketen.
-c 50ist unauffällig; dauerhaftes mtr mit hoher Frequenz kann wie ein Angriff aussehen. - ICMP wird oft gefiltert. Wenn mtr gar keine Zwischenstationen zeigt, aber das Ziel erreichbar ist, liegt es daran. Die Lösung ist
-T -P 443. - UDP-Messung auf fremde Ziele: Nur auf eigenen Systemen oder mit Einverständnis. Eine hohe UDP-Rate zu einem fremden Server ist kein Test, sondern ein Verstoß.
Verwandte Grundlagen: ping und traceroute, tcpdump, ss und netstat, TCP.