新米ネットワークエンジニアだわよ!

ネットワークエンジニアとして勉強していく中で大事だなー!!と思ったことを忘れないようにするために書いてます。このブログで不明点が解決できたら嬉しいです。

ICMPとは

 ICMP ( Internet Control Message Protocol ) は、IPプロトコルの「エラー通知」や「制御メッセージ」
 を転送するためのプロトコルです。TCP/IPが実装されたコンピュータ間で、通信状態を確認するために
 使用されます。 ICMPはインターネット層(OSI参照モデルネットワーク層)で動作するプロトコルです。
 ※ ネットワーク診断プログラムの ping(ピング)や traceroute(トレースルート)はこのICMPプロトコルを使用したプログラム。

 

 

用途として大きく2種類あり、1つは問い合わせ(Query)のメッセージ

このQuerryにより
 あるノードから特定のノードに対する通信状態を確認することができます。

 

querryの代表的なものが、pingとtraceroute.

 

もう1つは、エラー通知(Error)のメッセージ

ノード間
 の通信で経路途中でパケットが廃棄されたりした場合に、その原因を送信元のノードにエラー通知します。

 

ご存知、icmpはプロトコル番号1なので、

IPヘッダのプロトコル番号の部分、tcp6とかudp17とかの部分に記載される。

 

これはtcpですよー、udpですよーって番号を記載してるみたいに

これはicmpですよーってことをいってるだけ。

 

んで、タイプとコードによってicmpの中でも用途が分けられてる。

echoリクエストとecho要求みたいにね。