「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>ネットワークの基礎編#x7b3a784]] * 目次 [#bc4b0d5a] #contents *概要 [#se6cedf8] ICMPプロトコルとは、 -TCP/IPが動作するために必要な補助的な役割を果たし、 -TCP/IPネットワークが円滑に稼働するためには欠かせない重要なプロトコルである。 *詳細 [#s5587d99] **ICMPメッセージの一覧 [#ee805924] -IPルーティングを調査するために使用する~ ICMPメッセージの一覧は次のとおりである。 |タイプ|機能|>|>|区分|h |~|~|調査|制御|エラー| |1|エコー応答(echo reply)|○|-|-| |2|エコー要求(echo request)|○|-|-| |3|タイムスタンプ要求(timestamp request)|○|-|-| |4|タイムスタンプ応答(timestamp reply)|○|-|-| |5|情報要求(information request)|○|-|-| |6|情報応答(information reply)|○|-|-| |7|アドレス マスク要求(address mask request)|○|-|-| |8|アドレス マスク応答(address mask reply)|○|-|-| |9|送信元抑制(source quench)|-|○|-| |10|経路変更要求(redirect)|-|○|-| |11|あて先不達(destination unreachable)|-|-|○| |12|時間超過(time exceeded)|-|-|○| |13|パラメータ異常(parameter problem)|-|-|○| -ただし、すべてのノードが、すべての種類のICMPメッセージをサポートしているわけではなく、~ 非ルータのノードでは、限定的ないくつかのICMPメッセージしかサポートされていない。 -また、ICMPメッセージから、~ ある程度はルーティングに関する障害原因を把握できるが、実際は物理的に問題を調査すべきである。 -例えば、以下のように、それぞれの機器を実際に調査しなければ推測の域を出ない。 --NICの障害なのか、ルータの障害なのか? --ネットワークのルーティングが双方向で設定されていないのか? **代表的なICMPメッセージの説明 [#reda17c3] ***エコー要求・応答(調査) [#y045763f] エコーは、データ パケットを2つのTCP/IPノード間で送受信するメッセージで、~ ノードの動作状態を調査するためには欠かせない機能である。 -エコー要求 --エコー要求相手のノードに届くと、そのデータがそのままエコー応答として元のノードへと送り返される。~ -エコー応答 --エコー応答にはアプリケーションは介在せず、TCP/IPの[[プロトコル スタック>OSI参照モデル#se3b608d]]により処理される。 --TCP/IPをサポートしているノードは必ずこのエコー応答の機能を実装する。 ***タイムスタンプ要求・応答(調査) [#mceea727] タイムスタンプ要求・タイムスタンプ応答は、レスポンスタイムの計測に用いられる。 ***経路変更要求(制御) [#oced9c81] -現在のルーティングではムダにパケットを中継するなど、~ IPパケットの送信先が適切でないことがルータ上で判断された場合、~ 当該するルータは正しいルータにIPフォワードすると共に送信元に経路変更要求メッセージを返す。 -送信元は、この経路変更要求メッセージからルーティング テーブルを変更する。 -これにより、以降無駄なトラフィックが抑えられる。 -参考 --Ciscoテクニカル ノーツ > ICMPリダイレクトはいつ送信されるか~ http://www.cisco.com/cisco/web/support/JP/100/1007/1007865_43-j.html ***あて先不達(エラー) [#t78af5f7] -何らかの理由で、あて先となるサービスへパケットを送ることができない場合に~ ルーティングの途中のルータや、ターゲット ホストから送信元に対して返信されるメッセージ。 -メッセージには、エラーの要因を表す数値がセットされるため、エラーの要因を把握できる。 ***時間超過(エラー) [#u9a86e1e] -ルーティングの途中で時間(回数)が超過してしまった場合に、~ IPパケットの送信元に対して返信されるメッセージである。 -このメッセージが生成される要因は2つある。 --要因1~ ルータにフォワードされるうちに、IPヘッダ中のTTL が0になってしまった場合。~ TTLはパケットの有効期間を表す値で、ルータなどを1回経由されるたびに値が1減少する。 --要因2~ ルーティングの途中でIPパケットのフラグメンテーションが行われた場合、~ IPパケット全体を再構成するために、すべてのフラグメントがそろうまで~ 一定時間待つ必要があるが、この待機がタイムアウトした場合。 ---- Tags: [[:通信技術]], [[:Windows]]