ICMP【Internet Control Message Protocol】ICMPv4
概要
ICMP(Internet Control Message Protocol)とは、インターネットなどのIPネットワークで用いられるプロトコル(通信規約)の一つで、IP通信の制御や通信状態の調査などを行なうためのもの。IPの働きを補完する役割を果たす。IP(Internet Protocol)によって運ばれる上位層のプロトコルだが、トランスポート層のUDPやTCPのようにさらに上位のプロトコルのメッセージを運搬する機能は持たないため、IPと同じネットワーク層(インターネット層)に分類される。
単にICMPといった場合はIPv4向けの「ICMPv4」を表すことが多く、これとは別に、IPv6と併用するための「ICMPv6」が定義されている。両者はメッセージの形式や番号と機能の対応関係が異なるため互換性はない。
IPデータグラムのペイロード部に積載される「ICMPメッセージ」と呼ばれる短いメッセージを送受信して、相手方へ問い合わせや通知を行なうことができる。メッセージは先頭から順に「タイプ」(8ビット)、「コード」(8ビット)、「チェックサム」(16ビット)、「データ」(可変長)で構成される。データの長さはタイプによって異なる。
よく使われるメッセージには、通信可能なら応答するよう要求する「ICMPエコー要求」(echo request/タイプ8コード0)や、それに対する返答である「ICMPエコー応答」(echo reply/タイプ0コード0)、相手方に到達できない場合にその理由を経路途中のルータなどが送信元に知らせる「到達不能通知」(destination unreachable/タイプ3、コードで詳細を通知)などがある。
ICMPは通信の相手方や、相手方までの経路の状態を調べるために用いられる。ネットワーク管理者などがトラブル発生時に調査や診断のために用いる「ping」や「traceroute」などのコマンド(プログラム)はICMPの仕組みを用いて実装されている。
(2023.4.24更新)
関連用語
関連リンク (外部サイト)
他の辞典による解説 (外部サイト)
この記事を参照している文書など (外部サイト)
- 総務省 東北総合通信局「沿岸海域における効率的なワイヤレスブロードバンドシステムの技術的条件に関する調査検討会 報告書」(PDFファイル)にて引用 (2010年3月)