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.
quelle
Antworten:
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
quelle
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.
quelle
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
traceroute
Dienstprogramm 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.
quelle