Данный протокол в основном используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или узел, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые серверные функции.
- ICMP-сообщения (тип 12 — неверный параметр) генерируются при нахождении ошибок в заголовке IP-пакета (за исключением самих ICMP-пакетов, дабы не привести к бесконечно растущему потоку ICMP-сообщений об ICMP-сообщениях).
- ICMP-сообщения (тип 3 — адресат недоступен) генерируются маршрутизатором при отсутствии маршрута к адресату.
- Утилита Ping, служащая для проверки возможности доставки IP-пакетов использует ICMP-сообщения с типом 8 (эхо-запрос) и 0 (эхо-ответ).
- Утилита Traceroute, отображающая путь следования IP-пакетов, использует ICMP-сообщения с типом 11 — превышение временного интервала (для дейтаграммы время жизни истекло).
- ICMP-сообщения с типом 5 — перенаправление — используются маршрутизаторами для обновления записей в таблице маршрутизации отправителя.
- ICMP-сообщения с типом 4 — сдерживание источника (отключение источника при переполнении очереди) — используются получателем (или маршрутизатором) для управления скоростью отправки сообщений отправителем.