Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ICMP-Funktionen

Verwenden Sie die Funktionen des Internet Control Message Protocol (ICMP), um Netzwerkprobleme zu diagnostizieren und die Geräteverfügbarkeit zu überprüfen.

Protokollumleitungsmeldungen

ICMP-Umleitung, auch Protokollumleitung genannt, ist ein Mechanismus, der von Switches und Routern verwendet wird, um Routing-Informationen an Hosts zu übermitteln. Geräte verwenden Protokollumleitungsmeldungen, um die Hosts über dieselbe Datenverbindung über die beste verfügbare Route für ein bestimmtes Ziel zu benachrichtigen.

Grundlegendes zu Protokollumleitungsmeldungen

Protokollumleitungsmeldungen informieren einen Host, seine Routing-Informationen zu aktualisieren und Pakete auf einer alternativen Route zu senden. Nehmen wir an, ein Host versucht, ein Datenpaket über einen Switch S1 zu senden, und S1 sendet das Datenpaket an einen anderen Switch, S2. Nehmen wir außerdem an, dass ein direkter Pfad vom Host zu S2 verfügbar ist (das heißt, der Host und S2 befinden sich im selben Ethernet-Segment). S1 sendet dann eine Protokollumleitungsnachricht, um den Host darüber zu informieren, dass die beste Route für das Ziel die direkte Route zu S2 ist. Der Host sollte dann Pakete direkt an S2 senden, anstatt sie über S1 zu senden. S2 sendet weiterhin das ursprüngliche Paket, das es von S1 erhalten hat, an das beabsichtigte Ziel.

Weitere Informationen zur Protokollumleitung finden Sie unter RFC-1122 und RFC-4861 .

Hinweis:
  • Switches senden keine Protokollumleitungsmeldungen, wenn das Datenpaket Routing-Informationen enthält.

  • Alle Switches der EX-Serie unterstützen das Senden von Protokollumleitungsmeldungen für IPv4- und IPv6-Datenverkehr.

Deaktivieren von Protokollumleitungsmeldungen

Standardmäßig senden Geräte Protokollumleitungsmeldungen für IPv4- und IPv6-Datenverkehr. Aus Sicherheitsgründen können Sie das Senden von Protokollumleitungsmeldungen deaktivieren.

Um Protokollumleitungsmeldungen für das gesamte Gerät zu deaktivieren, fügen Sie die no-redirects oder no-redirects-ipv6 Anweisung auf Hierarchieebene [edit system] ein.

  • Für IPv4-Datenverkehr:

  • Für IPv6-Datenverkehr:

Um das Senden von Umleitungsnachrichten auf dem Gerät erneut zu ermöglichen, löschen Sie die no-redirects Anweisung (für IPv4-Datenverkehr) oder die no-redirects-ipv6 Anweisung (für IPv6-Datenverkehr) aus der Konfiguration.

Um Protokollumleitungsmeldungen auf Schnittstellenbasis zu deaktivieren, fügen Sie die no-redirects Anweisung auf [edit interfaces interface-name unit logical-unit-number family family] Hierarchieebene ein.

  • Für IPv4-Datenverkehr:

  • Für IPv6-Datenverkehr:

Pings

Pings verwenden ICMP. Ein erfolgreicher Ping ist, wenn ein Gerät eine ICMP-Echoanfrage an ein Ziel sendet und das Ziel mit einer ICMP-Echoantwort antwortet. Es kann jedoch vorkommen, dass Ihr Gerät nicht auf Ping-Anforderungen reagiert.

Deaktivieren der Routing-Engine Response auf Multicast-Ping-Pakete

Standardmäßig reagiert die Routing-Engine auf ICMP-Echoanfragen, die an Multicast-Gruppenadressen gesendet werden. Indem Sie die Routing-Engine so konfigurieren, dass Multicast-Ping-Pakete ignoriert werden, können Sie verhindern, dass unbefugte Personen die Liste der Provider-Edge-Geräte (PE) im Netzwerk entdecken.

Um zu deaktivieren, dass die Routing-Engine auf diese ICMP-Echoanfragen reagiert, fügen Sie die no-multicast-echo Anweisung auf [edit system] Hierarchieebene ein:

Deaktivieren der Meldung von IP-Adressen und Zeitstempeln in Ping-Antworten

Wenn Sie den ping Befehl mit der record-route Option ausstellen, zeigt die Routing-Engine standardmäßig den Pfad der ICMP-Echoanforderungspakete und die Zeitstempel in den ICMP-Echoantworten an. Indem Sie die no-ping-record-route Optionen konfigurieren no-ping-timestamp , können Sie verhindern, dass unbefugte Personen Informationen über das Provider-Edge-Gerät (PE) und seine Loopback-Adresse entdecken.

Sie können die Routing-Engine so konfigurieren, dass die Einstellung der record-route Option im IP-Header der Ping-Anforderungspakete deaktiviert wird. Die Deaktivierung der record-route Option verhindert, dass die Routing-Engine den Pfad der ICMP-Echo-Anforderungspakete in der Antwort aufzeichnet und anzeigt.

Um die Routing-Engine so zu konfigurieren, dass die Einstellung der record route Option deaktiviert wird, fügen Sie die no-ping-record-route Anweisung auf Hierarchieebene [edit system] ein:

Um die Meldung von Zeitstempeln in den ICMP-Echoantworten zu deaktivieren, fügen Sie die no-ping-time-stamp Option auf [edit system] Hierarchieebene ein:

Quell-Quench-Nachrichten

Wenn ein Gerät zu viele oder unerwünschte Datagramme empfängt, kann es eine Quell-Abschrecknachricht an das Ursprungsgerät senden. Die Quell-Abschreckmeldung signalisiert dem Ursprungsgerät, um den Datenverkehr zu reduzieren, den es sendet.

Standardmäßig reagiert das Gerät auf ICMP-Quelllöschmeldungen. Um ICMP-Quelllöschnachrichten zu ignorieren, fügen Sie die no-source-quench Anweisung auf Hierarchieebene [edit system internet-options] ein:

Verwenden Sie die source-quench Anweisung, um ICMP-Quelllöschnachrichten nicht mehr zu ignorieren:

Ablauf der TTL (Time-to-Live)

Der Time-to-Live -Wert (TTL) in einem Paket-Header bestimmt, wie lange das Paket durch das Netzwerk reist. Die TTL-Werte werden mit jedem Gerät (oder Hop) des Pakets reduziert. Wenn ein Gerät ein Paket mit dem TTL-Wert 0 empfängt, verwirft es das Paket. Die TTL-Ablaufnachricht wird über ICMP gesendet.

Sie können Ihr Gerät so konfigurieren, dass eine IPv4-Adresse als Quelladresse für ICMP Time-to-Live (TTL)-Ablauffehlermeldungen verwendet wird. Das bedeutet, dass Sie die Loopback-Adresse als Antwort auf ICMP-Fehlerpakete als Quelladresse konfigurieren können. Dies ist nützlich, wenn Sie die Geräteadresse nicht für Traceroutezwecke verwenden können, da Sie in Ihrem Netzwerk doppelte IPv4-Adressen haben.

Die Quelladresse muss eine IPv4-Adresse sein. Um die Quelladresse anzugeben, verwenden Sie die ttl-expired-source-address source-address Option auf [edit system icmp (System)] Hierarchieebene:

Diese Konfiguration gilt nur für ICMP-TTL-Ablaufmeldungen. Andere ICMP-Fehlermeldungen verwenden weiterhin die Adresse der Eingangsschnittstelle als Quelladresse.

Geschwindigkeitsbegrenzung des ICMP-Datenverkehrs

Um die Geschwindigkeit zu begrenzen, mit der ICMPv4- oder ICMPv6-Nachrichten von der Routing-Engine generiert und an die Routing-Engine gesendet werden können, fügen Sie die entsprechende Rate Limiting Statement auf Der [edit system internet-options] Hierarchieebene ein.

  • Für IPv4:

  • Für IPv6:

ICMP-Fehlermeldungen zur Geschwindigkeitsbegrenzung

Standardmäßig werden ICMP-Fehlermeldungen für nicht TTL abgelaufene IPv4- und IPv6-Pakete mit einer Rate von 1 Paket pro Sekunde (pps) generiert. Sie können diese Rate an einen Wert anpassen, den Sie entscheiden, der ausreichend Informationen für Ihr Netzwerk bietet, ohne dass das Netzwerk überlastt wird.

Hinweis:

Bei mit TTL abgelaufenen IPv4- oder IPv6-Paketen ist die Rate für ICMP-Fehlermeldungen nicht konfigurierbar. Es ist mit 500 pps fest.

Warum sollten ICMPv4- und ICMPv6-Fehlermeldungen begrenzt werden?

Ein Beispiel für die Anpassung des Ratenlimits ist ein Datencenter, das Webservices bereitstellt. Nehmen wir an, dieses Datencenter hat viele Server im Netzwerk, die Jumbo-Frames mit einer MTU von 9100 Bytes verwenden, wenn diese über das Internet mit Hosts kommunizieren. Diese anderen Hosts erfordern eine MTU von 1500 Bytes. Wenn die maximale Segmentgröße (MSS) nicht auf beiden Seiten der Verbindung erzwungen wird, antwortet ein Server möglicherweise mit einem Paket, das zu groß ist, um über das Internet übertragen zu werden, ohne fragmentiert zu werden, wenn es den Edge-Router im Datencenter erreicht.

Da bei TCP/IP-Implementierungen häufig die Path MTU Discovery standardmäßig aktiviert ist und das dont-fragment Bit auf 1 festgelegt ist, wird ein Transitgerät ein zu großes Paket löschen, anstatt es zu fragmentieren. Das Gerät gibt eine ICMP-Fehlermeldung zurück, die darauf hinweist, dass das Ziel nicht erreichbar war, weil das Paket zu groß war. Die Meldung enthält auch die MTU, die benötigt wird, wenn der Fehler aufgetreten ist. Der sendenden Host sollte das sendenden MSS für diese Verbindung anpassen und die Daten erneut in kleinere Paketgrößen senden, um das Fragmentierungsproblem zu vermeiden.

Bei hohen Core-Schnittstellengeschwindigkeiten reicht die Standardgeschwindigkeit von 1 pps für die Fehlermeldungen möglicherweise nicht aus, um alle Hosts zu benachrichtigen, wenn es viele Hosts im Netzwerk gibt, die diesen Service benötigen. Die Folge ist, dass ausgehende Pakete unbemerkt unterbrochen werden. Diese Aktion kann zusätzliche Neuübertragungen oder Back-off-Verhaltensweisen auslösen, je nachdem, wie viele Anforderungen der Datencenter-Edge-Router auf jeder core-gerichteten Schnittstelle verarbeitet.

In diesem Fall können Sie die Geschwindigkeitsgrenze erhöhen, um ein höheres Volumen an übergroßen Paketen zu ermöglichen, die sendenden Hosts zu erreichen. (Das Hinzufügen weiterer Core-orientierte Schnittstellen kann auch zur Lösung des Problems beitragen.)

So bewerten Sie die Begrenzung von ICMPv4- und ICMPv6-Fehlermeldungen

Obwohl Sie die Geschwindigkeitsbegrenzung auf Hierarchieebene [edit chassis] konfigurieren, handelt es sich nicht um eine gehäuseweite Grenze. Stattdessen gilt die Geschwindigkeitsbeschränkung pro Schnittstellenfamilie. Das bedeutet beispielsweise, dass mehrere konfigurierte physische Schnittstellen family inet gleichzeitig ICMP-Fehlermeldungen in der konfigurierten Geschwindigkeit generieren können.

Hinweis:

Diese Geschwindigkeitsbeschränkung gilt nur für Datenverkehr, der 10 Sekunden oder länger dauert. Das Geschwindigkeitslimit wird nicht auf Datenverkehr mit einer kürzeren Dauer angewendet, z. B. 5 Sekunden oder 9 Sekunden.

  • Verwenden Sie die Anweisung, um die icmp Geschwindigkeitsbegrenzung für ICMPv4 zu konfigurieren:

    Ab Junos OS Version 19.1R1 erhöhte sich die maximale Rate von 50 pps auf 1000 pps.

  • Verwenden Sie die Anweisung, um die icmp6 Geschwindigkeitsbegrenzung für ICMPv6 zu konfigurieren:

Sie müssen auch berücksichtigen, dass der Geschwindigkeitsgrenzwert mit Ihrer DDoS-Schutzkonfiguration interagieren kann. Der Standardbandbandwert für ausnahmegeeitete Pakete, die die MTU überschreiten, ist 250 pps. Der DDoS-Schutz markiert einen Verstoß, wenn die Anzahl der Pakete diesen Wert übersteigt. Wenn Sie die Geschwindigkeitsgrenze höher als den aktuellen Bandbreitenwert mtu-exceeded festlegen, müssen Sie den Bandbreitenwert so konfigurieren, dass er dem Geschwindigkeitslimit entspricht.

Nehmen wir beispielsweise an, Sie legen die ICMP-Geschwindigkeitsgrenze auf 300 pps fest:

Sie müssen den DDoS-Schutz mtu-exceeded bandwidth so konfigurieren, dass er diesem Wert entspricht.

ICMP-Erweiterungsoption für selektive Fehlermeldungen

Ein IP-Gerät verwendet das ICMP-Protokoll, um Probleme mit der Netzwerkkommunikation zu diagnostizieren, insbesondere um festzustellen, ob ein Datagramm rechtzeitig am vorgesehenen Ziel eintrifft. Wenn ein Datagramm nicht am vorgesehenen Ziel ankommt, meldet ICMP eine entsprechende Fehlermeldung an das ursprungsfähige IP-Gerät.

Wenn Netzwerkprobleme die IP-Paketbereitstellung verhindern, erzeugen Netzwerkgeräte ICMP, um Fehlermeldungen an die Quell-IP-Adresse zu generieren. ICMPv4 und ICMPv6 bieten eine Erweiterungsoption für selektive Fehlermeldungen.

Vorteile der ICMP-Erweiterung

ICMP-Erweiterung hilft bei der Identifizierung der Schnittstelle und anderer Informationen wie folgt:

  • ICMPv4- und ICMPv6-Nachrichten konnten die Schnittstelle eines Datagramms nicht identifizieren, die auf einer nicht nummerierten Schnittstelle nicht verarbeitet werden kann.

  • ICMP-Nachrichten werden erstellt, indem die Quelladresse einer eingehenden Schnittstelle ermittelt und Pakete an das Ursprungsgerät gesendet werden. das Ursprungsgerät kann jedoch nicht wissen, wo die ICMP-Nachricht stammt.

Mit der ICMP-Erweiterung können Sie das Netzwerkgerät identifizieren, das auf die ICMP-Nachricht reagiert, die die folgenden Informationen enthält:

  • Ein Datagramm, das über eine IP-Schnittstelle empfangen wird.

  • Ein Datagramm erreichte die Sub-IP-Komponente einer IP-Schnittstelle.

  • Die IP-Schnittstelle, über die das Datagramm weitergeleitet wird.

  • Next-Hop-IP-Adresse, an die sie weitergeleitet worden wäre.

Wir haben RFC5837 implementiert, um zusätzliche Felder anzufügen, um ICMP-Nachrichten (IPv4 und IPv6) für nummerierte und nicht nummerierte aggregierte Ethernet-Schnittstellen auszuwählen:

  • ICMPv4-Zeit überschritten
  • ICMPv4-Ziel nicht erreichbar
  • ICMPv6-Zeit überschritten
  • ICMPv6-Ziel nicht erreichbar
Hinweis:

Die ICMPv6-Erweiterung wird nur für nummerierte Schnittstellen unterstützt.

So aktivieren Sie die ICMP-Erweiterung

So aktivieren Sie die ICMPv4-Erweiterung:

Um die ICMPv4-Erweiterung zu deaktivieren, löschen Sie die Konfiguration:

So aktivieren Sie die ICMPv6-Erweiterung:

Um die ICMPv6-Erweiterung zu deaktivieren, löschen Sie die Konfiguration: