ICMP(Internet Control Message Protocol)その1

ICMPの役割

TCP/IP階層のインターネット層には、IPだけでなくさまざまなプロトコルが存在しています。その中でもIPを補佐する役目を持っているのが、ICMP(InternetControl Message Protocol)です。

IPはコネクションレス型プロトコルなので信頼性はあまり高くないです。もし、IPパケットが経路上でなくなったとしても
IP自体にはそのエラーを検出する仕組みは備わっていません。

ICMPには、もしもエラーが発生してパケットを正しく送り届けることができなくなってしまった場合、そのエラーを報告する
エラーレポート機能が備わっています。
また、ネットワーク管理者の方ならよく使う機会があると思いますが、PINGできちんと通信相手が動作しているのかという
診断メッセージを送ることができます。PINGはトラブルシューティングには必須の機能ですね。




ICMPヘッダ構成

ICMPは階層的には、IPの上位に位置します。一応、IPと同じくインターネット層に含まれるプロトコルなんですが、IPパケットの中にICMPが入っています。




ICMPは8バイトのヘッダがあります。
この8バイトのうち、4バイトの共通ヘッダと各メッセージごとの固有のヘッダ部分に分かれています。





共通ヘッダは1バイトのタイプ、1バイトのコード、2バイトのチェックサムから構成されています。
タイプ、コードによってICMPのどんなメッセージなのかということを表しています。
タイプは大分類、コードは小分類を表します。タイプとコードの一覧は次のとおりです。


タイプ コード 機能
0/8 0 エコー応答/エコー要求
3 0-12 到達不能メッセージ
4 0 送信元抑制メッセージ
5 0-3 リダイレクトメッセージ
11 0-1 時間超過メッセージ
12 0 パラメータ異常
13/14 0 タイムスタンプ要求/応答
17/18 0 サブネットマスク要求/応答


そして2バイトのチェックサムによってエラーチェックを行うことができます。

次回以降、各タイプごとにどういう機能を持っているのかを具体的に解説していきます。








(C) Copyright 2000-2002 Gene All Right Reserved