導入
インターネット制御メッセージ プロトコル (ICMP) は、インターネット プロトコル (IP) スイートで使用される重要なネットワーク層プロトコルです。ネットワーク上のデバイス間の通信を容易にする上で重要な役割を果たし、さまざまな診断機能やエラー報告機能を提供します。ICMP は、ネットワーク デバイスが制御メッセージを交換して IP ベースのネットワークが適切に機能することを可能にするため、現代のネットワークに不可欠な要素であると考えられています。
歴史と起源
ICMP は、RFC 792 で定義された元の TCP/IP 仕様の一部として、1980 年代初頭に最初に設計されました。ICMP は、伝送制御プロトコル (TCP) と IP に関する研究で ICMP の基本概念を概説した Dave Mills によって作成されました。それ以来、ICMP は何度か改訂および更新され、時間の経過とともに新しい機能が追加されてきました。
ICMPに関する詳細情報
ICMP は OSI モデルのネットワーク層 (レイヤー 3) で動作し、IP と連携して動作します。主なタスクには、エラーの報告、診断機能、ネットワーク状態に関するフィードバックの提供などがあります。ICMP はコネクションレス プロトコルです。つまり、メッセージを送信する前に専用のセッションを確立しません。代わりに、IP サービスを使用してメッセージを配信します。
内部構造とICMPの仕組み
ICMP メッセージは IP パケット内にカプセル化されます。ルータまたはホストが IP パケットの処理中に問題に遭遇すると、ICMP メッセージが生成され、送信元デバイスにその問題を通知します。たとえば、ルータが存在しないホスト宛ての IP パケットを受信すると、送信元に通知する ICMP「宛先到達不能」メッセージが生成さます。
ICMP はさまざまなメッセージ タイプに依存しており、それぞれが特定の目的を果たします。一般的な ICMP メッセージ タイプには次のようなものがあります。
- エコー要求とエコー応答 (ネットワーク接続テスト用の有名な「ping」ユーティリティで使用されます)。
- 宛先に到達できません (宛先ホストまたはネットワークに到達できないことを示します)。
- 時間超過 (パケットの有効期間値が超過して破棄されたことを示すために使用されます)。
- リダイレクト (代替ルートを使用してパケットを送信するようにホストに通知する)。
ICMP メッセージは、タイプ フィールドとコード フィールドによって識別され、特定のエラー分類が可能になります。チェックサム フィールドは、ICMP メッセージの整合性を検証するために使用されます。
ICMPの主な機能
ICMP は、IP ベースのネットワークに不可欠ないくつかの重要な機能を提供します。
-
エラー報告ICMP はネットワーク デバイス間のエラー レポートを容易にし、問題を迅速に特定して解決するのに役立ちます。
-
診断機能: 「ping」や「traceroute」などの診断ツールをサポートし、ネットワーク管理者がネットワークの問題をトラブルシューティングするのに役立ちます。
-
ネットワークパス検証「Time Exceeded」や「Redirect」などの ICMP メッセージは、ネットワーク パスの効率性と信頼性を判断するのに役立ちます。
-
フロー制御ICMP はフロー制御の役割を果たして、混雑したネットワーク状態をデバイスに通知します。
ICMP メッセージの種類
ICMP にはさまざまなメッセージ タイプが含まれており、それぞれが独自の目的を果たします。以下に、一般的な ICMP メッセージ タイプの一覧を示します。
ICMPタイプ | 説明 |
---|---|
0 | エコー返信 |
3 | 目的地に到達できません |
5 | リダイレクト |
8 | エコーリクエスト |
11 | 時間超過 |
… | … |
使い方、問題、解決策
ICMP は、ネットワーク診断、トラブルシューティング、パフォーマンス監視で広く使用されています。一般的な使用例は次のとおりです。
-
Pingと接続テストICMP のエコー要求メッセージとエコー応答メッセージは、ネットワーク接続を確認し、ラウンドトリップ時間 (RTT) を測定するために使用されます。
-
ネットワークのトラブルシューティング: ICMP 宛先到達不能メッセージは、到達不能なホストやネットワークなどの問題を特定するのに役立ちます。
-
パストレーシング: Traceroute は ICMP Time Exceeded メッセージを利用して、パケットがネットワークを通過するパスを決定します。
ICMP は重要な役割を果たしますが、ICMP フラッド攻撃や ping スイープなどの悪意のあるアクティビティの標的になることがあります。ネットワーク管理者は、これらの問題を軽減するためにファイアウォールや侵入防止システムを採用しています。
特徴と比較
ICMP を他のプロトコルと特性の観点から比較してみましょう。
プロトコル | 層 | コネクション指向 | エラー報告 | 目的 |
---|---|---|---|---|
情報処理 | レイヤー3 | いいえ | はい | ネットワーク診断と制御 |
TCP | レイヤー4 | はい | はい | 信頼性の高いデータ転送 |
UDP | レイヤー4 | いいえ | いいえ | 低遅延データ転送 |
将来の展望と技術
技術が進歩するにつれ、ICMP はネットワーク診断とトラブルシューティングにおいて重要な役割を果たすようになるでしょう。モノのインターネット (IoT) デバイスの台頭と IPv6 の実装により、ICMP は新たな要件に対応するためにさらに発展する可能性があります。
プロキシサーバーとICMP
プロキシ サーバーは、クライアントとサーバーの間の仲介役として機能し、クライアントの要求を転送し、サーバーの応答を受信します。プロキシ サーバーは主にアプリケーション層で動作しますが、ICMP メッセージもある程度処理できます。ただし、ICMP メッセージはプロキシの通信内にカプセル化されることが多く、クライアントやサーバーから直接見えない場合があります。
関連リンク
インターネット制御メッセージ プロトコルの詳細については、次のリソースを参照してください。