2013年12月10日火曜日

ICMPとはなんだ!?

今回はtremaのsimple-routerにICMPが出てくるので調べました。

ICMPはIPアドレスで通信をするうえで欠かせないプロトコルです。
pingやtracerouteはICMPプロトコルを使用したものです。

ICMPには、大きく分けて「問い合わせ」と「エラー通知」の2種類のメッセージがあります。
pingやtracerouteは「問い合わせ」にあたります。

「エラー通知」はIP通信において経路上にエラーが発生した場合に、送信元にエラーの理由を返します。
なおエラー通知が無限ループにならないように、ICMP通知に対してはエラー通知の対象にならないようになっています。

ICMPのパケットの構造
ethernetヘッダー
IPヘッダー
ICMPメッセージ
 タイプ     機能コードの値が入る
 コード     詳細な機能コードが入る
 チェックサム エラーがないか確認する値が入る
 データ     ICMPメッセージごとに異なる

ICMPタイプ(抜粋)
タイプメッセージ説明
0Echo Replyエコー応答
3Destination Unreachable宛先到達不可
4Source Quench送出抑制要求
5Redirect経路変更要求
8Echo Requestエコー要求
11Time Exceeded時間超過
12Parameter Problem不正引数
13Timestamp Requestタイムスタンプ要求
14Timestamp Replyタイムスタンプ応答
15Information Request情報要求
16Information Reply情報応答
17Address Mask Requestアドレスマスク要求
18Address Mask Replyアドレスマスク応答

タイプ0、8はpingで使われています。

ICMPについては引き続きまとめます。

0 件のコメント:

コメントを投稿