ICMPとは?

  • インターネットがうまく動作しないときに何が問題か突き止める
  • ネットワークの設定が正しいかどうか確認する

ICMPとは、インターネットに接続された機器間で通信状況を確認するために使用されるプロトコルです。

  • 🔵 プロトコルとは?
  • ・通信をする際に取り決められている約束事です。
  • ・約束事を決めておかないと各々の組織が手順を決めてしまって正しく通信できません。
  • ・プロトコルを策定することによって、インターネットは成り立っています。

ヘッダは

|Ethernetヘッダ|IPヘッダ|ICMPヘッダ|

の順に付与されます。

pingコマンドはICMPエコー機能を利用しています。

  • 🔵 Pingコマンドとは?
  • ・IPアドレスで指定した相手と通信できるかどうかを確認することが出来る
  • ・ICMPの機能の一つ

ICMPヘッダの内容は下記のようになっています。

|タイプ|コード|チェックサム|データ|

タイプ

Pingコマンドで使用されるのは「エコー要求(0)」と「エコー応答(8)」になります。

エコー要求をセットしてパケットを送信すると、受信側からエコー応答ガセットされたパケットが返送されます。

タイプ 内容
0 エコー応答
3 到達不能
4 始点制御
5 リダイレクト
8 エコー要求
9 ルーター広告
10 ルーター請願
11 時間超過
17 アドレスマスク要求
18 アドレスマスク応答

到達不能(タイプ3)

IPルーターがIPデータグラムを宛先に配送できない場合に送信されます。

コード番号 ICMP到達不能メッセージ
0 Netword Unreachable
1 Host Unreachable
2 Protocol Unreachable
3 Porl Unreachable
4 Fragmentation Needed and Don't Fragment was Set
5 Source Route Failed
6 Destinaeion Network Unknown
7 destination Host Unknown
8 Source Host Isolated
9 Communication with Destination Network is Administratively Prohibited
10 Communication with Destination Host is Administrratively Prohibited
11 Destivation Network Unreachable for Type Service
12 Destination Host Unreachable for Type Service

ICMPリダイレクトメッセージ(タイプ5)

送信元ホストよりもルーターのほうが良い経路情報を持っている場合に動作します。
ただ、このメッセージはトラブルのもとになるため、動作しないように設定されている場合もあります。

ICMP時間経過メッセージ(タイプ11)

IPパケットには**生存時間(TTL)**と言われるフィールドがあります。

パケットがルーターを通過するたびに値が一つずつ減らされ、
0になったときにIPデータグラムは破棄され、ICMP時間超過メッセージが送信元に送られます。

ICMPエコーメッセージ(タイプ0,8)

Pingコマンドはこのメッセージを使用します。

**ICMPエコー要求メッセージ(タイプ8)**を送信し、
**ICMPエコー応答メッセージ(タイプ0)**が帰ってきた場合、到達可能になります。

まとめ

ICMPとは

  • インターネットがうまく動作しないときに何が問題か突き止めます
  • ネットワークの設定が正しいかどうか確認します
  • PingコマンドはICMPのエコー機能を活用しています