Zeigt ein Traceroute / Tracert jeden Hop an oder überspringt / verbirgt es einige Details des Pfades?

35

Ich bin zur Zeit am College für einen Bachelor-Abschluss in Netzwerktechnik, und einer meiner Professoren erklärte im Unterricht, dass eine Traceroute, die beispielsweise 15 Hopfen zeigt, tatsächlich den Weg abstrahiert und in Wirklichkeit viel mehr Knoten beteiligt sind. Ist das wahr?

Dies widerspricht allem, was ich auf Traceroute finden kann. Meines Wissens funktioniert Traceroute, indem ICMP- (oder UDP-) Pakete an ein bestimmtes Ziel mit einer TTL von 0 -> n gesendet werden, bis das Ziel erreicht ist. Die Testpakete, die gesendet werden, laufen nacheinander an jedem Ort aus, was zu einer ICMP-Antwort "Zeitüberschreitung" und schließlich zu einer Meldung "Port nicht erreichbar" beim Erreichen des Ziels führt.

Ich verstehe die Unzulänglichkeiten von Traceroute. Beispielsweise kann Traceroute-Verkehr von bestimmten Gateways blockiert werden, oder die TTL des Antwortpakets wird auf die verbleibende TTL des Tests festgelegt, sodass es niemals zum Absender zurückkehrt.

Nach vielen Nachforschungen kann ich jedoch keine ungenauen Verweise auf die Traceroute finden, wenn die Traceroute immer den gleichen Pfad zurückgibt. Ebenso gibt es keine Hinweise darauf, dass "zusätzliche" Hops von traceroute nicht gemeldet wurden (außer * * * Hops, deren Zeitüberschreitung ohne Antwort abgelaufen ist).

Ich bin offen für Diskussionen und aufrichtig daran interessiert, die Antwort darauf zu erfahren.

WilHall
quelle
1
nur um klar zu sein, das erste icmp / udp-paket hat eine
ttl
1
Dies könnte Sie auch interessieren: nanog.org/meetings/nanog47/presentations/Sunday/…
codey

Antworten:

40

Eine Traceroute zeigt Ihnen, wie viele Layer3-Hops Sie von A nach B fahren.

Sie könnten jedoch Hunderte von Schaltern dazwischen durchlaufen. Sie könnten auch 10 ISP-Router durchlaufen, auf denen ein Layer-2-VPN ausgeführt wird, das als einzelner Hop angezeigt wird. Ein MPLS-Netzwerk kann seine Interna verbergen oder Ihnen seine Interna anzeigen. Sie könnten auch transparente Firewalls im Pfad haben.

In beiden Fällen kann Ihr Professor nicht garantieren, dass jedes einzelne Gerät im Pfad als Sprung für Sie gilt. Aufgrund der oben genannten Punkte könnten Sie 50 Geräte durchgehen, aber es könnte für Sie wie drei aussehen.

Das passiert aber nicht die ganze Zeit. Wenn Sie 15 Hopfen sehen, könnte es sehr gut 15 Hopfen sein.

Dies ist ein grundlegendes Beispiel für ein in Bezug auf TTL eingerichtetes MPLS: http://www.juniper.net/techpubs/en_US/junos13.2/topics/reference/configuration-statement/no-propagate-ttl-edit-protocols -mpls.html

ausgereift
quelle
Vielen Dank! Die Situationen, auf die Sie hingewiesen haben, geben definitiv mehr Aufschluss darüber, welche Traceroute fehlen könnte.
WilHall
1
Keine Bange. Sogar Dinge wie ein GRE-Tunnel können die
darunter liegenden Sprünge
18

Geräte, die den IP-TTL-Feldwert nicht verringern, werden im Traceroute-Pfad nicht angezeigt. Beispielsweise kann Cisco ASA Firewall so konfiguriert werden, dass das IP-TTL-Feld für Pakete, die die Firewall durchqueren, dekrementiert wird ( Verbindungsdekrementierung festlegen-ttl ). Standardmäßig wird die TTL nicht dekrementiert, wodurch die Firewall (naja, etwas) ausgeblendet wird.

jabbson
quelle
13

Traceroute zeigt Ihnen keine Geräte an, die die TTL-Felder eines IP-Datagramms nicht dekrementieren.

Es werden auch keine Geräte angezeigt, die das TTL-Feld dekrementieren und das Paket verbrauchen, wenn TTL Null erreicht, es wird jedoch versäumt, den Absender über ein ICMP-Datagramm über dieses Ereignis zu informieren. Dies ist jedoch nicht völlig unsichtbar. Sie können auf die Existenz dieses fehlenden Hops in der Traceroute schließen, da bei Verwendung des nächsthöheren TTL-Werts das nächste Gerät in der Kette reagiert und wir wissen, dass etwas zwischen diesem und dem vorherigen Gerät die TTL dekrementiert, sich jedoch nicht selbst ankündigt . Das herkömmliche tracerouteDienstprogramm druckt Sternchen, wenn es keine Antwort erhält. Es wird eine Reihe von Sternchen für diesen Hosttyp gedruckt.

Es besteht auch die Möglichkeit, dass ein Router zwischendurch diese ICMP-Nachrichten abhängig von ihrer Quelladresse selektiv unterdrückt und einige Teile des Pfads unsichtbar erscheinen lässt, obwohl sie die Antwort generiert haben.

Anon
quelle
Es ist keine so entfernte Möglichkeit, alles, was es braucht, ist ein Netzwerk, das private IPs für die Verbindungen zwischen Routern verwendet, und ein anderes, das alle Pakete mit privaten Quell-IPs verwirft.
Peter Green