ネットワークエンジニアを目指して。ネットワーク技術 ICMPヘッダ

初心者にも理解できるネットワーク技術
↓メールマガジン購読はこちら↓

メールアドレス:

ホーム > TCP/IP技術 > ICMPヘッダ

ICMPヘッダ

はてなブックマークに追加はてなブックマークに追加 このエントリーを含むはてなブックマーク
Yahoo!ブックマークに登録 Yahoo!ブックマークでこのサイトを登録している人数 人が登録
この記事をクリップ!

おすすめ書籍紹介

マスタリングTCP/IP 応用編
入門編を卒業したらこちら。
応用編も入門編と同様に豊富な図を使用し、TCP/IPに関するさらに詳細な解説を記している。
特にパッケットの構造はかなり詳細に解説しており、初心者にはすこしつらいかもしれないが非常に読みやすいのでぜひ読んでみてほしい。 Ping(ICMP)についても解説しています。

詳解TCP/IP〈Vol.1〉プロトコル
これも 必読中の必読書。
TCP/IPアーキテクチャを、実際にネットワークを組んで通信の動きを観察するという方法で書かれている。
本書に構成されているネットワークは単純なので、実際に同じ構成を組んで実機をいじりながら読み進めると非常に効果的に学ぶことが出来ると思います。
Ping(ICMP)についても解説していますよ。

ICMPヘッダ

さて今回からICMPヘッダについて見ていきましょう。

前にも説明したとおり、ICMPはOSI参照モデルの第3層(ネットワーク層)
で動作するプロトコルです。

ヘッダが付加される順番は以下の図のように、
Ethernetヘッダ、IPヘッダ、ICMPヘッダという順番になります。

 

icmp

ICMPヘッダの中身は以下のようになっています。

 

icmp

前から4バイトまでを「ICMP共通ヘッダ」といい、
すべてのICMPタイプ共通のヘッダになります。

そして最後の「各タイプごとのヘッダ」は、
ICMPタイプごとに個別のヘッダ情報が付与されます。

 


 

 


ICMP共通ヘッダ

ICMP共通ヘッダの説明は以下の通りです。

○タイプ:1バイト
ICMPがどのタイプなのかをここで定義しています。

 主要なICMPのタイプについては以下のようなものがあります。

タイプコード
内容
0 エコー応答(Echo Reply)
3 到達不能(Destination Unreachable)
4 始点抑制(Souce Quench)
5 リダイレクト(Redirect)
8 エコー要求(Echo Request)
9 ルータ通知(Router Advertisement)
10 ルータ選択(Router Selection)
11 時間超過(Time Exceeded)
17 アドレスマスク要求(Address Mask Request)
18 アドレスマスク応答(Address Mask Reply)

※さらに詳細な情報は、下記を参照してください
http://www.iana.org/assignments/icmp-parameters

Pingで使用するタイプコードは以下の2つになります。

  • タイプ0:エコー応答(Echo Reply)
  • タイプ8:エコー要求(Echo Request)

 

○コード(1バイト)
コードフィールドは、ICMPのタイプによって定義が異なります。
例えば、Pingで使用する「タイプ 8 エコー要求(Echo Request)」や、
「タイプ 0 エコー応答(Echo Reply)」の場合、このフィールドには
「00」がセットされて、特に使用されません。

このフィールドが活躍するのは、

「タイプ 3 到達不能(Destination Unreachable)」

の場合に威力を発揮します。

「タイプ 3 到達不能(Destination Unreachable)」とはその名の通り、
宛先に到達不能の場合に使用されるタイプコードです。

そしてこのコードフィールドで、なぜ到達できないのか、その理由を表す
値がセットされます。

以下が「タイプ 3 到達不能(Destination Unreachable)」のコード一覧です。

コード
定義
0 Network Unreachable
宛先ネットワークに到達できない
1 Host Unreachable
宛先ホストに到達できない
2 Protocol Unreachable
宛先ホストがプロトコルを使用できない
3 Port Unreachable
宛先ホストがポートを使用できない
4 Fragmentation blocked
DF(Don't Fragment)ビットにより分割禁止で通信出来ない
5 Source Route Failed
ソースルートオプションで指定された経路で通信できない
6 Target Network Unknown
ルーティングテーブルに宛先ネットワークがない
7 Target Host Unknown
ルーティングテーブルに宛先ホストがない
8 Source Host Isolated
宛先ホストが通信不能
9 Target Network Prohibited
宛先ネットワークがアクセスを妨げている
10 Target Host Prohibited
宛先ホストがアクセスを妨げている
11 Destination network nrechable for Type of Service
指定したTOS(Type Of Service)ではネットワークに到達不可
12 Destination host nrechable for Type of Service
指定したTOS(Type Of Service)ではホストに到達不可
13 Communication Administratively Prohibited
通信が拒否されている
14 Host Preceedence Violation
要求したTOS(Type Of Service)では中継不可
15 Precedence cutoff in effect
要求したTOS(Type Of Service)では中継不可

 

その他にも「タイプ 11 :時間超過(Time Exceeded)」の場合は、
IPヘッダのTTL(Time To Live)が0になった場合に「00」をセットしたり、
フラグメントされたデータがすべて到達する前にタイムアウトした場合に、
「01」をセットします。

このようにコードフィールドはタイプによって
それぞれ意味が違ってきます。

○チェックサム(2バイト)
チェックサムフィールドではエラーチェックを行うための
チェックサムとして定義されています。

 

おすすめ記事

 

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス:

Ping(ICMP)
ネットワークエンジニア必須のツール、Ping(ICMP)についての解説

Pingで使われるプロトコル(ICMP)
Pingで使われるプロトコルについての解説

ICMP( Internet Control Message Protocol)
ICMPについての解説

Pingを実行してみよう(1)
Pingの実行結果の解説

Pingを実行してみよう(2)
Pingの実行結果の解説その2

ICMPヘッダ
ICMPヘッダについて

ICMP - 各タイプごとのヘッダ
各タイプごとのICMPヘッダについて

Pingが失敗したときの表示例
Pingが失敗したときの表示例

Pingコマンド実践編 (1)
Pingコマンドの各種オプションについて

Pingコマンド実践編 (2)
Pingコマンドの各種オプションについて



雑誌の定期購読サイト北海道限定 ホテル・旅館検索サイト運転代行検索ナビ楽天商品検索ナビゴルフ場検索ナビ