← Zurück zur Übersicht
Protokolle

ICMP & Ping

Internet Control Message Protocol

ICMPPingTracerouteEchoTTLFehlermeldung

ICMP sendet Steuer- und Fehlermeldungen zwischen IP-Geräten. Ping nutzt ICMP-Echo-Request/-Reply zum Testen der Erreichbarkeit. Traceroute nutzt ICMP TTL-Exceeded-Meldungen zum Anzeigen des Hop-by-Hop-Pfads.

SenderpingtracerouteZiel8.8.8.8RouterTTL=1RouterTTL=2Echo Request (ICMP Type 8)Echo Reply (ICMP Type 0) ← RTT: 12msTraceroute: TTL-TrickTTL=1 → Router 1 antwortet mit "Time Exceeded"TTL=2 → Router 2 antwortet mit "Time Exceeded"TTL=n → Ziel antwortet → Pfad ist komplett

Entstehung und Beteiligte

ICMP gehört seit den frühen IP-Spezifikationen zur Internetarchitektur. Jon Postel veröffentlichte 1981 RFC 792. Mike Muuss schrieb 1983 am US Army Research Laboratory das Programm ping und benannte es nach dem Schallimpuls eines Sonars.

Welches Problem sollte gelöst werden?

IP selbst meldet nicht zuverlässig, warum ein Paket sein Ziel nicht erreicht. Router und Hosts benötigten Kontrollnachrichten für unerreichbare Ziele, abgelaufene Lebensdauer und Diagnose.

Technische Hürden und Lösungen

ICMP muss Fehler melden, ohne durch Fehlerantworten neue Schleifen zu erzeugen. Firewalls blockieren es häufig zu pauschal und brechen damit Path-MTU-Erkennung. Ping misst nur ICMP-Erreichbarkeit, nicht automatisch die Funktion einer Anwendung.

Standardisierung und Einordnung

Internetprotokolle werden überwiegend in offenen RFC-Dokumenten beschrieben. Ein RFC kann ein historischer Vorschlag, ein aktueller Standard oder inzwischen überholt sein. Implementierungen müssen nicht nur das Papier befolgen, sondern mit fehlerhaften Gegenstellen, Paketverlust, Zeitüberschreitungen, Sicherheitsangriffen und jahrzehntealten Erweiterungen umgehen. Interoperabilität entsteht dadurch, dass unabhängige Hersteller dieselben Zustandsautomaten, Nachrichtenformate und Fehlerfälle testen.

Technik im praktischen Betrieb

Für den produktiven Einsatz zählt die konkrete Protokollversion. Alte und neue Varianten können denselben Port verwenden, besitzen aber völlig unterschiedliche Sicherheits- und Funktionsmerkmale. Administratoren sollten daher Aushandlung, Zertifikate, Timeouts, maximale Nachrichtengrößen und Fehlercodes sichtbar machen. Proxys, NAT und Firewalls verändern häufig den Datenpfad. Gute Tests erfolgen aus derselben Netzposition wie die betroffene Anwendung und prüfen nicht nur einen offenen Port, sondern einen vollständigen gültigen Vorgang.

Warum das Thema heute noch relevant ist

Die ursprüngliche Entstehungszeit erklärt viele heutige Sicherheitslücken: Frühe Internetgemeinschaften waren klein und Vertrauen wurde vorausgesetzt. Authentifizierung, Verschlüsselung und Missbrauchsschutz kamen oft erst später als Erweiterung hinzu. Moderne Implementierungen müssen deshalb sichere Voreinstellungen verwenden, alte Varianten abschalten und dennoch mit Gegenstellen kommunizieren, die einen älteren Stand besitzen. Versionsnummer, Aushandlung und tatsächlich aktive Option sind aussagekräftiger als der bloße Protokollname.

Daten und Meilensteine

  • 1981: RFC 792 definiert ICMP für IPv4.
  • 1983 entwickelt Mike Muuss ping.
  • Traceroute nutzt ablaufende TTL beziehungsweise Hop Limit.
  • ICMPv6 übernimmt zusätzlich wichtige Aufgaben wie Neighbor Discovery.

Was ist ICMP?

Das Internet Control Message Protocol (ICMP) ist ein Bestandteil der Internet-Protokollfamilie (IP-Protokollnummer 1). Es überträgt keine Nutzdaten, sondern Kontroll- und Fehlermeldungen zwischen Netzwerkgeräten.

ICMP-Nachrichten sind in Typen unterteilt: Type 0 (Echo Reply), Type 3 (Destination Unreachable), Type 8 (Echo Request), Type 11 (Time Exceeded). Diese Nachrichten sind fundamental für Netzwerkdiagnose.

Ping und traceroute

Ping sendet ICMP Echo Request (Type 8) an ein Ziel und wartet auf Echo Reply (Type 0). Die Round-Trip-Time (RTT) zeigt die Latenz. Packet Loss zeigt Konnektivitätsprobleme. Ping ist das erste Tool bei Netzwerkproblemen.

Traceroute/tracert nutzt einen cleveren Trick: Es sendet Pakete mit TTL=1, 2, 3 usw. Jeder Router dekrementiert TTL; wenn TTL=0 wird, sendet der Router "ICMP Time Exceeded" zurück. Traceroute identifiziert so jeden Hop auf dem Pfad.

ICMP-Nutzung und Sicherheit

  • Destination Unreachable (Type 3): Host/Port/Netzwerk nicht erreichbar. Verschiedene Codes differenzieren.
  • Redirect (Type 5): Router schlägt bessere Route vor.
  • Fragmentation Needed (Type 3, Code 4): Paket zu groß, Fragmentierung nötig – wichtig für PMTUD (Path MTU Discovery).
  • ICMP flood: DDoS-Angriff durch Überflutung mit Echo Requests (Smurf Attack). Firewalls können ICMP raten-limitieren oder blockieren.
  • Ping-of-Death: Historischer Angriff mit zu großen ICMP-Paketen. Heute gepatcht.