ICMPヘッダ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/23 07:14 UTC 版)
「Internet Control Message Protocol」の記事における「ICMPヘッダ」の解説
ICMPヘッダは一般的に以下の通りとなる。 012345678910111213141516171819202122232425262728293031タイプ コード チェックサム データ データグラムのデータ部分の最初のオクテットはICMPタイプフィールドであり、このフィールドの値は、以降のICMP通知の書式を決定する。「未使用」とラベル付けされているフィールドは今後の拡張のために予約されており、送信時には0を入れなければならないが、受信者はこれらのフィールドを(チェックサムに含めることを除いて)使用すべきではない。チェックサムは、ICMPヘッダの先頭から(すなわちタイプから)データの末尾までを対象に、16ビット単位で算出される。チェックサムフィールド自身も計算対象に入っているが、計算時には0として扱う。バイト数が奇数の場合は末尾に0のバイトがあるものとして計算する。 また、いくつかのタイプでは、ICMP通知が発生する原因となった元データグラムの先頭部分をコピーしている。この種のタイプは以下の形式をとる。 012345678910111213141516171819202122232425262728293031タイプ コード チェックサム 未使用 長さ 未使用 IPヘッダ + 元データグラムの先頭部分 RFC 792では長さフィールドは未使用で、元データグラムの先頭部分は64ビット(8オクテット)と決まっていた。その後RFC 1812およびRFC 4443において、MTUの最小限として保障されるサイズ(IPv4は576オクテット、IPv6は1280オクテット)まで拡張された。RFC 4884において長さフィールドが追加され、この可変長領域の長さを32ビット単位で記述することになった。 ICMP通知は基礎的なIPヘッダーを使用して送られる。個々の型式記述の下で違った形で言及されない限り、ICMPヘッダに先行するIPヘッダーフィールドの値は以下の通りとなる。 バージョン 4 IHL 32ビットワードでのインターネット・ヘッダー長である。 サービスの形式 0 合計長 オクテット単位での、インターネット・ヘッダーとデータの合計の長さである。識別、フラグ、断片化オフセット、断片化の中で使用される。 存在回数 存在保持回数ともいい、このフィールドはデータグラムが処理されるマシンを通る度に1ずつ減らされる。そのためこのフィールドの値は少なくともこのデータグラムが通るゲートウェイの数と同じ大きさでなければならない。 プロトコル ICMP = 1 ヘッダー・チェックサム 送信元アドレス ICMP通知を構成するゲートウェイかホストのアドレスである。違った形で言及されない限り、これは何らかのゲートウェイのアドレスとなる。 宛先アドレス 通知が送られるべきゲートウェイかホストのアドレスである。
※この「ICMPヘッダ」の解説は、「Internet Control Message Protocol」の解説の一部です。
「ICMPヘッダ」を含む「Internet Control Message Protocol」の記事については、「Internet Control Message Protocol」の概要を参照ください。
- ICMPヘッダのページへのリンク