2020-07-19T00:00+09:00
ICMP(Internet Control Message Protocol)とは?【WEBの基礎を学ぶ】
Programing
RintaroTawara
Pingコマンドに使用されているICMP(Internet Control Message Protocol)についてまとめました!
ICMPとは、インターネットに接続された機器間で通信状況を確認するために使用されるプロトコルです。
ヘッダは
|Ethernetヘッダ|IPヘッダ|ICMPヘッダ|
の順に付与されます。
pingコマンドはICMPエコー機能を利用しています。
ICMPヘッダの内容は下記のようになっています。
|タイプ|コード|チェックサム|データ|
Pingコマンドで使用されるのは「エコー要求(0)」と「エコー応答(8)」になります。
エコー要求をセットしてパケットを送信すると、受信側からエコー応答ガセットされたパケットが返送されます。
タイプ | 内容 |
---|---|
0 | エコー応答 |
3 | 到達不能 |
4 | 始点制御 |
5 | リダイレクト |
8 | エコー要求 |
9 | ルーター広告 |
10 | ルーター請願 |
11 | 時間超過 |
17 | アドレスマスク要求 |
18 | アドレスマスク応答 |
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 |
送信元ホストよりもルーターのほうが良い経路情報を持っている場合に動作します。
ただ、このメッセージはトラブルのもとになるため、動作しないように設定されている場合もあります。
IPパケットには**生存時間(TTL)**と言われるフィールドがあります。
パケットがルーターを通過するたびに値が一つずつ減らされ、
0になったときにIPデータグラムは破棄され、ICMP時間超過メッセージが送信元に送られます。
Pingコマンドはこのメッセージを使用します。
**ICMPエコー要求メッセージ(タイプ8)**を送信し、
**ICMPエコー応答メッセージ(タイプ0)**が帰ってきた場合、到達可能になります。
ICMPとは