ICMP

読み:アイスィーエムピー
外語:ICMP: Internet Control Message Protocol
品詞:名詞

IPv4の機能の一部で、IPv4内のプロトコルエラーを制御するためのプロトコルのこと。RFC 792外部リンクで規定されている。IPのプロトコル番号は1。

なおIPv6では、RFC 2463外部リンク(旧RFC 1885外部リンク)で規定されるICMPv6が相当する。

ルーティングテーブルの保守や、ルータの飽和を防止するためのフロー制御などが基本機能であるが、ネットマスク情報の交換などに加え、ネットワークの時刻あわせ機能(現在はまず使わない)など、いくつかの細かな機能もあわせ持っている。

また、ネットワークの診断に使うpingtracerouteなどでも使われる(WindowsではTRACERT.EXEがtracerouteに相当する機能を有する)。なお、tracerouteはUDPを投げて帰るICMPを見るが、TRACERT.EXEはICMPを投げてICMPを帰るのを見るという仕様の違いがある。

ICMPヘッダ

ヘッダ長は4オクテット以上の不定長。

ICMPヘッダの構造
ICMPヘッダの構造

先頭より順番に、次の情報が格納される。

  • Type (8ビット)
  • Code (8ビット)
  • Checksum (16ビット)
  • データ依存部 (長さ、構造はTypeにより異なる)

ICMPメッセージの一覧

注記なきものはRFC 792外部リンクで規定される。

TypeMessage意味
0Echo Replyエコー応答
3Destination Unreachable宛先到着不能通知
4Source Quench始点抑制要求
5Redirect経路変更要求
8Echo Requestエコー要求
9Router Advertisementルータ通知 (RFC 1256外部リンク)
10Router Solicitationルータ要請 (RFC 1256)
11Time Exceeded時間切れ通知
12Parameter Problemパラメータ異常通知
13Timestamp時刻要求
14Timestamp Reply時刻応答
15Information Request情報要求
16Information Reply情報応答
17Address Mask Requestアドレスマスク要求
18Address Mask Replyアドレスマスク応答
30Tracerouteトレースルート (RFC 1393外部リンク)
37Domain Name Requestドメイン名要求 (RFC 1788外部リンク)
38Domain Name Replyドメイン名応答 (RFC 1788)