IPv4の機能の一部で、IPv4内のプロトコルエラーを制御するためのプロトコルのこと。RFC 792
で規定されている。IPのプロトコル番号は1。
なおIPv6では、RFC 2463
(旧RFC 1885
)で規定されるICMPv6が相当する。
ルーティングテーブルの保守や、ルータの飽和を防止するためのフロー制御などが基本機能であるが、ネットマスク情報の交換などに加え、ネットワークの時刻あわせ機能(現在はまず使わない)など、いくつかの細かな機能もあわせ持っている。
また、ネットワークの診断に使うpingやtracerouteなどでも使われる(WindowsではTRACERT.EXEがtracerouteに相当する機能を有する)。なお、tracerouteはUDPを投げて帰るICMPを見るが、TRACERT.EXEはICMPを投げてICMPを帰るのを見るという仕様の違いがある。
注記なきものはRFC 792
で規定される。
| Type | Message | 意味 |
|---|---|---|
| 0 | Echo Reply | エコー応答 |
| 3 | Destination Unreachable | 宛先到着不能通知 |
| 4 | Source Quench | 始点抑制要求 |
| 5 | Redirect | 経路変更要求 |
| 8 | Echo Request | エコー要求 |
| 9 | Router Advertisement | ルータ通知 (RFC 1256 |
| 10 | Router Solicitation | ルータ要請 (RFC 1256) |
| 11 | Time Exceeded | 時間切れ通知 |
| 12 | Parameter Problem | パラメータ異常通知 |
| 13 | Timestamp | 時刻要求 |
| 14 | Timestamp Reply | 時刻応答 |
| 15 | Information Request | 情報要求 |
| 16 | Information Reply | 情報応答 |
| 17 | Address Mask Request | アドレスマスク要求 |
| 18 | Address Mask Reply | アドレスマスク応答 |
| 30 | Traceroute | トレースルート (RFC 1393 |
| 37 | Domain Name Request | ドメイン名要求 (RFC 1788 |
| 38 | Domain Name Reply | ドメイン名応答 (RFC 1788) |