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: -P für parallele Ströme und /dev/null als 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“:

  1. mtr -r -c 50 -T -P 443 zum Ziel – gibt es Verlust oder auffällige Laufzeitausschläge, und an welcher Station?
  2. iperf3 -u -b 50M zwischen den beiden Endpunkten – wie hoch ist Verlust und Jitter?
  3. Gegenprobe mit iperf3 -R – ist die Richtung einseitig betroffen?
  4. Zwischenstation messen – zwei Teilstrecken statt einer Gesamtstrecke. Damit ist der Bereich eingegrenzt.

Vorsicht im Betrieb

  • iperf erzeugt echten Lastverkehr. Ohne -b füllt es die Leitung. Auf produktiven Strecken immer begrenzen und ankündigen.
  • mtr mit vielen Paketen. -c 50 ist 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.