Das ICMP-Protokoll (Internet Control Message Protocol) wird manchmal von einem Gateway
oder Ziel-Host für die Kommunikation mit einem Quell-Host verwendet, um z. B. einen
Fehler bei der Datagrammverarbeitung zu melden. Dabei verwendet ICMP die IP-Basisunterstützung,
so als handle es sich um ein Protokoll einer höheren Ebene. Tatsächlich ist ICMP jedoch
ein Bestandteil von IP und wird von jedem IP-Modul implementiert. ICMP-Nachrichten
werden in verschiedenen Situationen gesendet, beispielsweise wenn ein Datagramm sein
Ziel nicht erreichen kann, wenn das Gateway nicht über genügend Pufferkapazität verfügt,
um ein Datagramm weiterzuleiten, und wenn das Gateway den Host anweisen kann, für
den Datenverkehr eine kürzere Route zu wählen. Das Internet Protocol ist nicht absolut
zuverlässig. Der Sinn und Zweck dieser Steuerungsnachrichten liegt darin, Rückmeldung
über Probleme in der Kommunikationsumgebung zu geben, und nicht darin, die Zuverlässigkeit
von IP zu erhöhen.