ICMPって詳しく知らなかった

業務でICMPの話が出てきました。pingで使われてるプロトコルと言われて、へぇーと思ったのですが、実際にはよく知らないのでちょっと調べてみました。

要約

  • ICMPはInternet Control Message Protocolの略
  • ネットワーク層プロトコルです。
  • ただしIPベースで動作し、IPプロトコルを補助するプロトコルという位置づけのようです。
  • ネットワークの状態がどのようになっているのかを事前に知っておくために利用するものです。
  • IPパケットは、IPヘッダとデータ部(ICMPのメッセージを格納)という構成です。
  • ICMPは送受信成功の保証はしません。


初めは、IPアドレスを使用しているためTCP/IP上で動くプロトコルかと思いましたが違うようですね。IPプロトコルを補助するプロトコルってところがちょっとややこしい感じです。ただし、パケットの構成をみるとIPヘッダとICMPのメッセージで構成されているため、なんとなく納得できました。TCP/IPのパケット構成を見たときとおんなじ感じでした。ICMPは、TCPプロトコル上で動いていないため、当然のことながら送受信成功の保証は得られないんですね。


結局調べてみた感想は、へぇー、っといった感じでした。
普段何気なく使っているpingのことが分かって面白かったというのはありました。
他にも身近に使っているけどよく知らないことは沢山ありそうなので、機会があればそれらも調べてみたいですね。