by NetBrain Jan 3, 2022
Traceroute-Einschränkungen erklärt
Traceroute – und sein kleiner Bruder Ping – ist eines der am häufigsten verwendeten Tools in der Netzwerk FehlersucheSo hilfreich dieses Tool auch ist, es gibt einige kritische Herausforderungen bei der Verwendung zur Bewältigung der heute viel komplexeren Probleme. Denken Sie daran, dass Traceroute Ende der 1980er Jahre entwickelt wurde, als Netzwerke noch viel einfacher waren.
Alles war physisch, Punkt-zu-Punkt-Verbindungen waren der letzte Schrei, und es gab weniger Protokolle. Switches wurden allgemein als Bridges bezeichnet, wobei LAN-zu-WAN-Router von einem Gebäude zum nächsten führten. (Denken Sie daran, das war ein halbes Dutzend Jahre vor der Einführung des Internets!) Und wer erinnert sich noch an „Leased T1 Lines“? Die gute alte Zeit, sozusagen.
Wie schlagen sich solche veralteten Tools in der heutigen softwaredefinierten und virtualisierten Welt? Es muss doch eine modernere Methode zur Fehlerbehebung in heutigen Netzwerken geben. Ja, die gibt es, also lesen Sie weiter.
Zunächst erfahren Sie mehr über den Befehl „Traceroute“. Anschließend besprechen wir Traceroute-Fehler, Einschränkungen und mehr.
Was ist ein Traceroute-Befehl?
Der Quellcomputer (SRC) sendet typischerweise drei Testpakete an die Ziel-IP-Adresse, beginnend mit einer Time-to-Live-Zeit (TTL) von 1. Viele glauben fälschlicherweise, dass der Testpakettyp immer ICMP ist. Tatsächlich hängt es jedoch vom Gerät ab, von dem der Traceroute ausgeht. Windows-Betriebssysteme verwenden häufig ICMP, während Unix- und Routing-Geräte üblicherweise UDP-Nachrichten an temporäre Ports (Ports über 1024, die keine bekannten Dienste wie DNS, SMTP, WEB usw. sind) senden.
Sobald jedes Layer-3-Gerät das Testpaket empfängt, verringert es die TTL. Wenn die TTL 0 erreicht, sendet das empfangende Gerät eine ICMP-Nachricht von der empfangenden Schnittstelle: „TTL abgelaufen“. So erkennt Traceroute jeden Hop auf dem Weg.
In der Abbildung unten wären 172.16.2.1 und 10.3.2.2 die Adressen, die in den Traceroute-Ergebnissen zurückgegeben werden.

Traceroute-Einschränkungen und -Herausforderungen für moderne Netzwerke:
#1: Asymmetrische Pfade sind nicht leicht zu erkennen
Standardmäßig wird bei einem Traceroute der Pfad zwischen den Punkten A und B aufgezeichnet. Die umgekehrte Route erfordert einen zweiten Traceroute. Wir erklären, warum dies eine Einschränkung darstellen kann.
Asymmetrisches Routing ist in modernen Netzwerken weit verbreitet. Viele Routing-Protokolle spielen dabei eine Rolle, darunter:
- Equal-Cost-Multipath (ECMP)
- Mehrwege mit ungleichen Kosten
Abhängig vom verwendeten Hashing-Algorithmus nimmt der Datenverkehr wahrscheinlich in jede Richtung einen anderen Pfad. Diese unterschiedlichen Pfade sind mit einer einzigen Ausführung eines Traceroute-Befehls schwer zu erkennen. Daher ist es schwierig zu bestimmen, woher die Verzögerung kommt.
Wie Sie oben sehen können, erhöht sich der Verzögerungswert bei diesem bestimmten Hop erheblich. Wo liegt die Verzögerung? Liegt sie auf dem Hin- oder Rückweg?
#2: Schnittstellen sind nicht bekannt, nur der Geräte-IP-Knoten
Wenn wir uns den obigen Traceroute noch einmal ansehen, sind die einzigen bereitgestellten Informationen:
- Der Hostname/die IP
- Ein verzögertes Ergebnis
Um Hop 129.259.2.41 zu untersuchen, müssten wir eine Telnet- oder SSH-Verbindung mit dem Router herstellen und ermitteln, welche Schnittstelle mit dieser bestimmten IP-Adresse verbunden ist. „IP-Route XNUMX anzeigen“ war meine bevorzugte Methode dafür. Sie könnten jedoch die IP-Schnittstelle anzeigen und die Ausgabe an einen parser… „IP-Schnittstellenbeschreibung anzeigen | in 129.150.2.41.“ Sie benötigen eine Nachverfolgung, um die Ausgangsschnittstelle (ausgehend) zu identifizieren. Beispiel: „IP-Route 192.41.37.40 anzeigen.“
#3: Traceroute basiert auf ICMP-Messaging
Bei ICMP-Nachrichten wird manchmal eine größere Verzögerung gemeldet als beim Datenverkehr, hauptsächlich weil dabei eine langsame statt einer schnellen Pfadverarbeitung verwendet wird.
Was ist ein langsamer Pfad? Er liegt vor, wenn der Router den Paketinhalt verarbeiten muss. Praktisch jedes an ein Gerät gerichtete Paket wird auf diese Weise verarbeitet. Die internen Mechanismen neuerer Router priorisieren die zu verarbeitenden Pakete.
Sie verarbeiten zuerst Routing-Protokoll-Updates und dann ICMP-Nachrichten, was das Problem verschärft. Viele Systeme verwenden UDP-Nachrichten. Die Generierung der ICMP-TTL-Abgelaufen-Nachricht hat jedoch eine niedrigere Priorität. Der Rückpfad ist dann eine ICMP-Nachricht. Daher sind die in den Ergebnissen bereitgestellten Verzögerungsmetriken schwer als echte Probleme zu akzeptieren.
TIPP: Wenn ein Traceroute bei einem bestimmten Schritt springt und die nachfolgenden Ergebnisse niedrig sind, ist dies oft ein Zeichen dafür, dass der „langsame“ Router eine Verarbeitungsverzögerung erfährt. Wenn der Pfad springt und nachfolgende Schritte inkrementiert werden, deutet dies in der Regel auf eine Art Warteschlange aufgrund von Überlastung hin.
#4: Der Traceroute liefert statische Ausgaben, auf die nur schwer reagiert werden kann
Wir kennen nun den Pfad zu einem bestimmten Ziel. Doch was ist, wenn wir weitere Hops auf diesem Weg genauer untersuchen möchten? Wenn ein Benutzer die Telnet- oder SSH-Konsole verwendet, muss er sich bei jedem Gerät anmelden. Die Traceroute-Antwort liefert nur die IP-Adresse der Schnittstelle. In vielen Netzwerken stellt dies eine Herausforderung dar.
Sicherheitsrichtlinien erfordern, dass Benutzer Telnet oder SSH verwenden, um auf die Verwaltungs-IP-Adresse zuzugreifen. Die im Traceroute gemeldeten Schnittstellen blockieren möglicherweise Telnet, was eine manuelle Suche nach der Verwaltungsschnittstelle des Geräts mit dieser Schnittstellenadresse erforderlich machen würde. Ohne DNS-Auflösung ist dies nahezu unmöglich. Bei einem Ausfall kann jede Sekunde zum Nachteil werden.
#5: Pfade mit gleichen Kosten werden nicht dargestellt (nur der tatsächlich zurückgelegte Pfad wird gemeldet)
Wie bereits erwähnt, sind Multi-Path-Routen mit gleichen oder ungleichen Kosten in den meisten Netzwerken heute üblich. Traceroute meldet nur den spezifischen Pfad, der Teil der Anfrage-Testnachrichten war. Die meisten gängigen Traceroute-Implementierungen senden drei Testpakete mit unterschiedlichen UDP-Zielports. Daher ist es möglich, dass in einer ECMP-Umgebung für jeden Hop bis zu drei verschiedene IP-Adressen gemeldet werden. Es kann mühsam werden, den Überblick darüber zu behalten, welche Antwort zu welchem Pfad gehört.

#6: Traceroute ist Layer-3 (es meldet keine Layer-2-Hops)
Wie wir nun wissen, verringert Traceroute den TTL-Wert in einem IP-Paket und generiert ICMP-Nachrichten mit abgelaufener TTL. Nur Layer-3-Geräte verringern die TTL. Daher gibt es keine integrierte Sichtbarkeit oder Funktion, um den Layer-2-Pfad aus dem Ergebnis einfach zu bestimmen. Die meisten Unternehmens- und Rechenzentrumsumgebungen verfügen über einen Layer-2-Zugriffsswitch, der zur Aggregation von Endstationen verwendet wird.
Einige Designs verfügen über eine Layer-2-Verteilungsschicht, bevor sie einen Kernrouter erreichen. Der Router führt die erste Layer-3-Routingfunktion aus, die auf eine Traceroute-Anfrage zurückmelden kann.
Wenn in der Traceroute-Ausgabe ein Paketverlust angezeigt wird, kann dies folgende Ursachen haben:
- Spanning Tree-Problem
- Duplex-Konfiguration auf einem Switch
- Unsachgemäßes Hashing eines Layer-2-Portkanals
- Falsches Hashing einer Link Aggregation Group (LAG)
Einige Probleme lassen sich nur durch die Untersuchung der Layer-2-Elemente entlang des Pfads erkennen. Um diese Informationen zu finden, benötigen Sie:
- Ermitteln der MAC-Adresse des Quellgeräts im Layer-2-Segment (Überprüfung der ARP-Tabelle auf dem Router oder auf dem Quellgerät)
- Überprüfung der Dokumentation, um festzustellen, welche Switches verwendet werden
- Melden Sie sich bei jedem möglichen Pfad an und überprüfen Sie die MAC-Tabellen auf die spezifische MAC-Adresse.
- Ausführen von Befehlen zum Überprüfen der Leistung und Konfiguration
- Bestimmung der vom aktiven Gerät wegführenden Trunks
- Melden Sie sich beim nächsten Layer-2-Gerät an und wiederholen Sie den Vorgang, bis Sie den ersten Router erreichen.
Dieser Vorgang kann sehr zeitaufwändig sein, insbesondere wenn CDP/LLDP im Netzwerk nicht aktiviert ist oder die Dokumentation veraltet ist.
#7: Traceroute fehlen historische Informationen
Die Ergebnisse eines Traceroutes stellen den aktuellen Status dar. Es lässt sich nicht ermitteln, welcher Pfad bei erfolgreichem Datenverkehr (z. B. gestern) verwendet wurde. Betrachten Sie den folgenden Traceroute. Es wäre hilfreich zu wissen, was Hop 4 war, bevor sich die Dinge änderten, um das mögliche Problem einzugrenzen.

Hinweis: Unserer Erfahrung nach gehen Techniker aufgrund der Ausgabe des obigen Traceroute-Befehls davon aus, dass Hop 3 das Problem ist. Dies ist jedoch oft nicht der Fall. Ein Benutzer sollte sich zunächst bei Hop 3 beim Gerät anmelden und prüfen, ob ein Routing-Eintrag zum Ziel vorhanden ist. Ist dies der Fall, liegt das Problemgerät häufig im nächsten Hop im Routing-Eintrag. Um die Leistung auf Schnittstellenebene und die ACL-Konfiguration zu überprüfen, ist es sinnvoll, die Ausgangsschnittstelle zum nächsten Routing-Hop zu überprüfen.
#8: Traceroute verfügt über ein kryptisches Fehlermeldungssystem
Wenn ich auf ein Problem mit einem Traceroute-Befehl stoße, erhalte ich hin und wieder ein Zeichen in der Ausgabe, das mich überrascht. Die folgende Tabelle stammt aus Ciscos Traceroute-Implementierung. Eine der Einschränkungen von Traceroute besteht darin, dass sie zwar einfach erscheinen, aber um zu verstehen, was passiert, sind in der Regel weitere Nachforschungen erforderlich.

Angenommen, ich erhalte den Buchstaben A in der Traceroute-Antwort. Ich verstehe, dass eine Zugriffsliste den Traceroute blockiert. Aber um welche Zugriffsliste handelt es sich? Um dies herauszufinden, muss ich Folgendes tun:
- Melden Sie sich beim Router an
- Ermitteln Sie, über welche Schnittstelle das Paket gelangt ist
- Überprüfen Sie die Konfiguration
- Untersuchen Sie die Zugriffsliste, wenn ich sie finde
Dieser Vorgang kann langwierig sein und wir achten bei der Fehlerbehebung immer auf den Zeitaufwand. Daher wäre eine bessere Möglichkeit, auf diese Informationen zuzugreifen, von unschätzbarem Wert.
HINWEIS: Erfahrungsgemäß werden diese Traceroute-Fehlermeldungen immer nur basierend auf der Eingangsschnittstelle ausgegeben. Sobald ein Paket empfangen und an den nächsten Hop weitergeleitet wird, erhalten Sie, sofern am Ausgangsport eine ACL vorhanden ist, lediglich ein *** für den nächsten Hop. Das bedeutet, dass zusätzliche Schritte erforderlich sind, um sicherzustellen, dass die Ausgangsschnittstelle bekannt ist und alle ACLs auch an diesem Port validiert sind.
Was ist die moderne Lösung?
NetBrain Enthält viele Automatisierungs- und Visualisierungsfunktionen, die für die Wartung moderner Netzwerke erforderlich sind. Es versteht softwaredefinierte, virtualisierte und sogar Cloud-Netzwerke. Es kommuniziert kontinuierlich mit jedem Gerät im End-to-End-Netzwerk und erstellt einen digitalen Zwilling des Netzwerks in Echtzeit, der eine exakte Nachbildung der Details jedes Geräts darstellt.
Es kann Echtzeit-Netzwerke visualisieren und enthält einen modernen Ersatz für Traceroute, die A/B-Pfad-RechnerDieses Tool hilft Ingenieuren dynamisch einen detaillierten Netzwerkpfad zuordnen zwischen zwei beliebigen Punkten im Netzwerk.
Es unterstützt die Kartierung durch Unter- und Überlagerungen sowie moderne Technologien, darunter:
- SDN
- SD-WAN
- Firewalls
- Lastverteilung
Gleichzeitig berücksichtigt es erweiterte Protokolle wie:
- Routing
- Zugriffslisten
- PBR
- VRF
- NAT
Nach der Implementierung ist die visualisierte Struktur die perfekte Plattform für No-Code-Automatisierung jeder Aufgabe, groß und klein!
Drei Beispiele aus der Praxis des A/B-Pfadrechners
#1: Eine langsame Anwendung zuordnen – eine Webanwendung ist zwischen Boston und Los Angeles langsam.

#2: VoIP-Verkehrsfluss abbilden – Der Sprachverkehr zwischen Boston und San Francisco ist unruhig.

#3: DDoS-Angriffe kartieren – ein bösartiger Host schleust DoS-Verkehr ins Netzwerk ein. Woher kommt der Verkehr und welche Auswirkungen hat er? Indem Sie NetFlow nutzen, um den Hauptverursacher zu identifizieren, können Sie den Pfad kartieren.

Service-Delivery-Assurance
Ermöglichen Sie Ihren Teams die Fehlerbehebung und Diagnose der Anwendungsleistung auf Verkehrsflussebene mit NetBrain Anwendungssicherung (AAM). Es:
- Erstellt eine Übersichtskarte der Anwendungsnetzwerkpfade in Ihrem Hybrid-Cloud-Netzwerk in einer einzigen Ansicht
- Verwendet fehlerfreie Pfad-Baselines, um die Pfadleistung kontinuierlich von Ende zu Ende zu validieren
- Warnt proaktiv die entsprechenden Teams und befähigt sie, potenziell störende Probleme zu lösen
Verhindern Sie Leistungseinbußen bei Anwendungen mit NetBrain's absichtsbasierte Automatisierung ohne Code. NetBrain AAM schützt das Benutzererlebnis durch:
- Automatische Zuordnung von Geräten und potenziellen Anwendungspfaden
- Definieren von Verhaltensweisen für alle Anwendungspfade
- Abgleich von Live-Anwendungspfaden mit „goldenen“ Pfaden auf Karten
- Visualisierung des Verlaufs und der Leistung jedes Anwendungspfads in einem einzigen Dashboard
- Warnt Sie vor potenziellen Problemen, sobald die Pfadleistung nachlässt