Kurzfassung
ICMP ist ein unterstützendes Protokoll im IP-Stack, das zur Übermittlung von Fehlermeldungen und Betriebsinformationen dient, etwa ob ein Host erreichbar ist oder ein Paket seine Time-to-Live überschritten hat.
Was ist ICMP?
Im Gegensatz zu TCP und UDP wird ICMP nicht zum Datenaustausch zwischen Anwendungen verwendet. Es arbeitet auf der Netzwerkschicht und wird primär für Diagnose- und Steuerungszwecke eingesetzt. Die bekanntesten ICMP-Anwendungen sind ping, das Echo-Request-Nachrichten sendet und auf Echo-Reply wartet, sowie traceroute, das TTL-exceeded-Nachrichten nutzt, um Netzwerkpfade zu kartieren.
ICMP übermittelt auch Fehlermeldungen an Absender: Destination Unreachable informiert einen Absender, dass ein Paket nicht zugestellt werden konnte; Time Exceeded signalisiert, dass ein Router das Paket verworfen hat, weil seine TTL null erreichte; Fragmentation Needed weist einen Absender an, die Paketgröße zu reduzieren.
In Cloud- und virtualisierten Umgebungen wird ICMP in Security-Group-Regeln oft selektiv zugelassen. Die Erlaubnis von ICMP Echo ist für grundlegende Konnektivitätsdiagnosen wichtig, während restriktive Regeln andere ICMP-Typen blockieren können, um die Angriffsfläche zu reduzieren.
Warum ist ICMP relevant?
- Diagnose: Tools wie
pingundtraceroutesind vollständig auf ICMP für die Netzwerkanalyse angewiesen - Fehlersignalisierung: Router nutzen ICMP, um Absender über Zustellungsfehler ohne Beteiligung höherer Schichten zu informieren
- Path-MTU-Discovery: ICMP-Fragmentation-Needed-Nachrichten ermöglichen es Endpunkten, die maximale Paketgröße auf einem Pfad zu ermitteln