ICMP

ICMP(Internet Control Message Protocol)とは, IPの「エラー通知」や「制御メッセージ」を転送するためのプロトコルである.

TCP/IPが実装されたコンピュータ間で, 通信の状態を確認するために使用される.

ICMPはOSI参照モデルのネットワーク層(TCP/IPではインターネット層)で動作する.

また, ネットワークコマンドであるpingtracerouteは, ICMPを使用して実装されている.

ICMPメッセージのフォーマット

ICMPはインターネット層で動作するとはいえ, 正確にはIPの上位層に位置している.

フィールド ビット数 説明
タイプ 8bit ICMPメッセージの機能タイプが入る.
コード 8bit ICMPメッセージの詳細な機能コードの値が入る.
チェックサム 16bit エラーがないかをチェックできる.
データ 可変長 ICMPのタイプにより長さが異なる.

タイプとコード

ICMPメッセージは大きく分けて2種類あり, 1つはQuery(問い合わせ), もう1つはError(エラー通知)である.

Queryにより, あるノードからあるノードに対する通信状態を確認することができる.

このQueryを利用した代表的なネットワークコマンドがpingtracerouteである.

また, Errorにより, ノード間の通信経路の途中でパケットが破棄された際に, その原因を送信元のノードにエラーを通知することができる.

種類 タイプ コード 内容 意味
Query 0
Echo Reply
0 Echo Reply エコー応答
Error 3
Destination Unreachable
0 Net Unreachable 宛先ネットワークに到達できない
Error 3
Destination Unreachable
1 Host Unreachable 宛先ホストに到達できない
Error 3
Destination Unreachable
2 Protocol Unreachable プロトコルに到達できない
Error 3
Destination Unreachable
3 Port Unreachable ポートに到達できない
Error 3
Destination Unreachable
4 Fragment Needed and DF was Set パケットの分割が必要であるが, 分割禁止フラグ(DF)が立っているためパケットを破棄する
Error 3
Destination Unreachable
5 Source Route Failed ソースルーティングが失敗
Error 3
Destination Unreachable
6 Destination Network Unknown 宛先ネットワークが不明
Error 3
Destination Unreachable
7 Destination Host Unknown 宛先ホストが不明
Error 3
Destination Unreachable
8 Source Host Isolated 送信元ホストが使用されていない
Error 3
Destination Unreachable
9 Communication with Destination Network is Administratively Prohibited 宛先ネットワークとの通信が管理上禁止されている
Error 3
Destination Unreachable
10 Communication with Destination Host is Administratively Prohibited 宛先ホストとの通信が管理上禁止されている
Error 3
Destination Unreachable
11 Destination Network Unreachable for ToS 指定された優先制御値では, 宛先ネットワークに到達できない
Error 3
Destination Unreachable
12 Destination Host Unreachable for ToS 指定された優先制御値では, 宛先ホストに到達できない
Error 3
Destination Unreachable
13 Communication Administratively Prohibited 通信が管理上禁止されている
Error 3
Destination Unreachable
14 Host Precedence Violation ホストの優先度が違反している
Error 3
Destination Unreachable
15 Precedence cutoff in effect 優先制御が事実上切断された
Error 5
Redirect
0 Redirect Datagram for the Network ネットワークへの最適経路変更を通知
Error 5
Redirect
1 Redirect Datagram for the Host ホストへの最適経路変更を通知
Error 5
Redirect
2 Redirect Datagram for the ToS and Network 優先制御でネットワークへの最適経路を通知
Error 5
Redirect
3 Redirect Datagram for the ToS and Host 優先制御時にホストへの最適経路を通知
Query 8
Echo Request
0 Echo Request エコー要求
Error 11
Time Exceeded
0 Time to Live exceeded in Transit 転送中にTTLの値が超過した
Error 11
Time Exceeded
1 Fragment Reassembly Time Exceeded 分割パケットを組み立て中に時間が超過した

ping

ping(ピング)とは, ICMPを使用したネットワークコマンドである.

pingにより, 宛先のノードと通信できるか(IPの到達性があるか)どうかを確認することができる.

pingが成功すれば送信元と送信先の間でIP上の通信に問題がないことが証明され, pingが失敗すれば送信元と送信先の間でIP上の通信に問題があると判断できる.

Reply From

Request time out

Destination net unresearchable

Destination host unresearchable

TTL expired int transit

pingのオプション

pingコマンドは基本的に, ping <ip-address>の形式で実行可能であるが, この後にいくつかのオプションを追加で指定することもできる.

以下のように, pingとだけ入力し実行すれば, pingのオプションに関する情報が出力される.

pingのオプション

traceroute

tracerouteのプロトコル

tracerouteの仕組み

results matching ""

    No results matching ""