Unterschied zwischen nicht reagierenden (*) und nicht erreichbaren (! H) Hosts in der Traceroute-Ausgabe

14

Wenn Traceroutes ausgeführt werden, geben einige Hops * zurück, was meines Wissens nach bedeutet, dass der Host nicht auf ICMP-Echoanfragen reagiert, und einige andere Hops (hauptsächlich die letzten) geben ! H zurück, was laut Manpages bedeutet, dass der Host nicht erreichbar ist . Was bedeutet nicht erreichbar ? Dass es keinen bekannten Weg zu dieser Adresse gibt?

Vasilis
quelle

Antworten:

3

Der einfache Unterschied besteht darin, dass für einen nicht erreichbaren Host der Router für den letzten Hop eine nicht erreichbare ICMP-Zielantwort zurückgibt .

Die meisten Router verarbeiten Hardware-ACLs oder Ratenbeschränkungen. Die Generierung von ICMP-Antworten erfordert jedoch CPU-Ressourcen, sodass es üblich ist, diese nicht zu generieren.

YLearn
quelle
15

Die Antwort von YLearn ist richtig, aber es ist wichtig, mehr Details zu wissen.

  • * bedeutet, dass Ihr Computer keine Antwort erhalten hat.
  • !Hbedeutet, dass Ihr Computer die ICMP-Nachricht "Zielhost nicht erreichbar" von dem in der tracerouteAusgabe angegebenen Host erhalten hat .
  • Selten traceroutekönnen auch andere nicht erreichbare Nachrichten wie !Noder !P(Netzwerk oder Protokoll) etc. angezeigt werden .

Ein Computer sendet normalerweise "Zielhost nicht erreichbar", wenn er das IP-Paket nicht an das Netzwerk senden kann. Dies kann passieren, wenn:

  • Es gibt keine Route zum Ziel.
  • Die IP-Adresse des nächsten Hops oder die endgültige IP-Adresse kann nicht in eine L2-Adresse aufgelöst werden (für die IP-Adresse gibt es keine ARP-Antwort).

Wie YLearn schrieb, können Router konfiguriert werden , dass nicht die ICMP - Nachricht zu senden , aber Sie können auch erhalten , *anstatt !Hdurch eine ACL oder Firewall - Richtlinie wurde , wenn Ihre Anfrage sofort gelöscht. In Sicherheitsrichtlinien ist stilles Ablegen eine normale Praxis. Das durch eine Sicherheitsrichtlinie verursachte Löschen hängt vom Typ der Nachricht ab, die von gesendet wurde traceroute. tracerouteStandardmäßig sendet traditionelles Unix UDP-Pakete an "ungewöhnliche" Ports wie 33434, aber es kann auch andere Methoden verwenden. Windows tracertsendet eine ICMP-Echoanforderung.

Pabouk
quelle
2
Gute Arbeit bei der Detaillierung von ICMP-Nachrichten. Außerdem ein gutes PDF über die Fehlerbehebung bei Traceroute nanog.org/meetings/nanog45/presentations/Sunday/…
Bruno R