「[[マイクロソフト系技術情報 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]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS