Parallelität ist ein Hauptgrund für die Variation der Geschwindigkeit dieser Werkzeuge. Ein weiterer Faktor ist, wie lange sie auf eine Antwort warten, bevor der Hop als nicht antwortend angesehen wird. Wenn Reverse DNS durchgeführt wird, müssen Sie auch darauf warten. Der einfache Traceroute-Befehl wird viel schneller, wenn Sie Reverse DNS deaktivieren.
Ein weiterer wichtiger Unterschied, den ich nicht erwähnt habe, ist, wie die beiden Tools die Ausgabe rendern. Traceroute erzeugt die Ausgabe in der Reihenfolge von oben nach unten. Mtr rendert die Ausgabe auf eine andere Art und Weise, wobei mtr zurückgehen und die Ausgabe in vorherigen Zeilen aktualisieren kann.
Dies bedeutet, dass mtr die Ausgabe anzeigen kann, sobald sie verfügbar ist. Wenn spätere Antworten dazu führen, dass diese Ausgabe nicht korrekt ist, kann mtr zurückgehen und sie aktualisieren. Da Traceroute nicht zurückgehen und die Ausgabe aktualisieren kann, muss es warten, bis es endgültig entschieden hat, was angezeigt werden soll.
Wenn beispielsweise Hop-Nummer 2 nicht antwortet (was ein Symptom ist, das ich bei mehreren ISPs gesehen habe), zeigt Traceroute Hop-Nummer 1 an und wartet dann eine Weile, bevor Hop-Nummer 2 und 3 angezeigt werden. Auch wenn die Antwort von Hop-Nummer 2 angezeigt wird 3 ist angekommen, es wird nicht angezeigt, da traceroute immer noch auf die Antwort von Hop Nummer 2 wartet. Mtr hat diese Einschränkung nicht und kann die Antwort von Hop Nummer 3 anzeigen und trotzdem zurückgehen, um die Antwort von Hop Nummer 2 anzuzeigen, wenn es kommt später an.
Zu viel Parallelität kann dazu führen, dass die Ausgabe ungenau wird. In einigen Szenarien ist die Anzahl der Pakete, auf die Sie Antworten erhalten können, begrenzt. Das Senden von mehr Paketen in diesen Fällen beschleunigt den Prozess nicht, führt jedoch zu mehr verlorenen Paketen, da Sie die gleiche Anzahl von Antworten erhalten, wenn mehr Pakete gesendet werden.
Ein Beispiel hierfür ist, wenn ein Hop auf der Route nicht auf ARP-Anforderungen antwortet. Normalerweise löst das erste Paket eine ARP-Anforderung aus. Wenn mehr Pakete vor Ablauf der ARP-Anforderung eintreffen, wird nur das letzte dieser Pakete gepuffert und erhält eine Antwort.
Ein weiterer Unterschied besteht darin, wie viele Hops ohne Antworten angezeigt werden, bevor das Tool keine weiteren Hops mehr anzeigt. Ich habe gesehen, dass der Befehl traceroute für so viele Hops wie angefordert fortgesetzt wird (standardmäßig 30), während der Befehl mtr angehalten wird, sobald er fünf Hops ohne Antworten bestanden hat.