ICMPv6

IPv6向けインターネット制御メッセージプロトコル
通信プロトコル
ICMPv6メッセージの一般的な構造
略語ICMPv6
目的IPv6補助プロトコル
はじめに1995年12月 (1995-12)
OSI参照層ネットワーク層
RFC4443

インターネット制御メッセージプロトコルバージョン6ICMPv6 )は、インターネットプロトコルバージョン6(IPv6)用のインターネット制御メッセージプロトコル(ICMP)の実装です。 [ 1 ] ICMPv6はIPv6の不可欠な部分であり、エラー報告と診断機能を実行します

ICMPv6 には、新機能を実装するための拡張機能のフレームワークがあります。新しい ICMPv6 メッセージ タイプと既存の ICMPv6 メッセージ タイプの新しいオプションを定義する拡張機能がいくつか公開されています。たとえば、近隣探索プロトコル(NDP) は ICMPv6 に基づくノード探索プロトコルであり、ARPの機能を置き換えて拡張します。[ 2 ]セキュア近隣探索(SEND) は NDP の拡張機能で、セキュリティが強化されています。マルチキャスト リスナー探索(MLD) は、インターネット グループ管理プロトコル(IGMP) がIPv4で使用されるのと同様に、直接接続されたリンク上のマルチキャストリスナーを検出するために IPv6 ルーターによって使用されます。マルチキャスト ルーター探索(MRD) を使用すると、マルチキャスト ルーターを検出できます。

メッセージの種類と形式

ICMPv6メッセージは、エラーメッセージ情報メッセージに分類できます。ICMPv6メッセージは、ICMPv6のIPv6ネクストヘッダー値が58に設定されたIPv6パケットによって転送されます。

ICMPv6メッセージはヘッダーとプロトコルペイロードで構成されます。ヘッダーには、タイプ(8ビット)、コード(8ビット)、チェックサム(16ビット)の3つのフィールドのみが含まれます。

ICMPv6メッセージ
オフセットオクテット0 1 2 3
オクテット ビット0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 タイプコードチェックサム
4 32 メッセージ本文
8 64
タイプ:8ビット
メッセージの種類を指定します。0~127(上位ビットが0)の範囲の値はエラーメッセージを示し、128~255(上位ビットが1)の範囲の値は情報メッセージを示します。
コード: 8ビット
コードフィールド値はメッセージの種類によって異なり、メッセージの粒度をさらに高めます。
チェックサム:16ビット
ICMPメッセージの整合性検証の最小レベルを提供します。チェックサムはICMPメッセージ(タイプフィールドから始まる)から計算され、先頭にIPv6疑似ヘッダーが付加されます。[ 1 ]以下を参照してください
メッセージ本体:変数
内容はメッセージによって異なります。

種類

制御メッセージは、タイプフィールドの値によって識別されます。コードフィールドは、メッセージの追加のコンテキスト情報を提供します。一部のメッセージは、対応する名前のICMPメッセージタイプと同じ目的を果たします

種類 コード
意味意味
ICMPv6エラーメッセージ
1 宛先に到達できません0 目的地までのルートがありません
1 宛先との通信が管理上禁止されている
2 送信元アドレスの範囲外
3 アドレスに到達できません
4 ポート到達不能
5 送信元アドレスがイングレス/エグレスポリシーに失敗した
6 宛先へのルートを拒否
7 送信元ルーティングヘッダーのエラー
2パケットが大きすぎます0
3 時間超過0 転送中にホップ制限を超えました
1 フラグメント再構成時間を超過しました
4 パラメータの問題 0 誤ったヘッダーフィールドが検出されました
1 認識できない次のヘッダータイプが検出されました
2 認識できない IPv6 オプションが検出されました
100非公開実験
101非公開実験
127ICMPv6エラーメッセージの拡張用に予約済み
ICMPv6情報メッセージ
128エコー要求0
129エコー応答0
130マルチキャストリスナークエリ(MLD0

マルチキャスト リスナー クエリ メッセージには 2 つのサブタイプがあります。

  • 一般クエリ。接続されたリンク上にリスナーを持つマルチキャスト アドレスを確認するために使用されます。
  • マルチキャスト アドレス固有のクエリ。特定のマルチキャスト アドレスが接続されたリンク上にリスナーを持っているかどうかを確認するために使用されます。

これら2つのサブタイプは、RFC 2710のセクション3.6に記載されているマルチキャストアドレスフィールドの内容によって区別されます。

131マルチキャストリスナーレポート(MLD0
132マルチキャスト リスナー完了 ( MLD )0
133ルータ要請(NDP0
134ルーター広告(NDP0
135近隣勧誘(NDP0
136近隣広告(NDP0
137リダイレクトメッセージ(NDP0
138 ルータの番号変更[ 3 ]0 ルータ再番号付けコマンド
1 ルータ再番号付け結果
255 シーケンス番号のリセット
139 ICMPノード情報クエリ 0 データフィールドには、このクエリの主題であるIPv6アドレスが含まれています
1 データ フィールドには、このクエリの主題となる名前が含まれます。または、NOOP の場合のように空になります。
2 データ フィールドには、このクエリの主題である IPv4 アドレスが含まれています。
140 ICMPノード情報応答 0 成功した応答。応答データフィールドは空の場合とそうでない場合があります
1 応答側は回答の提供を拒否します。応答データフィールドは空になります。
2 クエリのQtypeは応答者には不明です。応答データフィールドは空になります
141逆近隣探索要請メッセージ0
142逆近隣探索広告メッセージ0
143マルチキャストリスナー検出(MLDv2)レポート[ 4 ]
144ホームエージェントアドレス検出要求メッセージ0
145ホームエージェントアドレス検出応答メッセージ0
146モバイルプレフィックス勧誘0
147モバイルプレフィックス広告0
148認証パス要請(SEND
149証明書パス広告(SEND)
151マルチキャストルータ広告(MRD
152マルチキャストルータ要請(MRD
153マルチキャストルータ終端(MRD
155RPL制御メッセージ
160拡張エコー要求[ 5 ]0拡張エコー要求
161拡張エコー応答[ 5 ]0エラーなし
1不正なクエリ
2そのようなインターフェースはありません
3そのようなテーブルエントリはありません
4複数のインターフェースがクエリを満たしています
200非公開実験
201非公開実験
255ICMPv6情報メッセージの拡張用に予約済み

上記の表は包括的なものではないことにご注意ください。現在割り当てられているICMPv6タイプの完全なリストは、こちらのリンク先をご覧ください:IANA: ICMPv6パラメータ

チェックサム

ICMPv6は、ヘッダーに16ビットのチェックサムを含めることで、最低限のメッセージ整合性検証を提供します。チェックサムは、IPv6標準[ 6 ]に従って、IPv6ヘッダーフィールドの擬似ヘッダーから計算されます。擬似ヘッダーは、送信元アドレスと宛先アドレス、パケット長、および次のヘッダーフィールドで構成され、次のヘッダーフィールドは58に設定されます。この擬似ヘッダーに続いて、ICMPv6メッセージが続きます。チェックサムの計算は、インターネットプロトコル標準に従って、16ビットの1の補数の合計を使用して実行され、最後にチェックサム自体の1の補数が計算され、チェックサムフィールドに挿入されます。[ 7 ]これは、 ICMPにおけるIPv4の計算方法とは異なりますが、TCPでの計算方法に似ていることに注意し ください

ICMPv6疑似ヘッダー
オフセットオクテット0 1 2 3
オクテット ビット0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 送信元アドレス
4 32
8 64
12 96
16 128 目的地住所
20 160
24 192
28 224
32 256 ICMPv6 長さ
36 288 ゼロ次のヘッダー (58)

フォーマット

ICMPv6メッセージのペイロードは、送信されるメッセージの種類によって異なります。上記のヘッダーの直後のビット32から始まります。宛先到達不能や時間超過などの一部のメッセージでは、メッセージ本体は定義されていません

宛先到達不能
ビットオフセット0~78~1516~31
01コードチェックサム
32未使用
64メッセージ本文(可変サイズ)
時間超過
ビットオフセット0~78~1516~31
03コードチェックサム
32未使用
64メッセージ本文(可変サイズ)

その他は、本体の最初の4バイトのみを使用し、他の定義内容は定義しません

パケットが大きすぎます
ビットオフセット0~78~1516~31
020チェックサム
32MTU
64メッセージ本文(可変サイズ)
パラメータの問題
ビットオフセット0~78~1516~31
04コードチェックサム
32ポインタ
64メッセージ本文(可変サイズ)
エコー要求
ビットオフセット0~78~1516~31
01280チェックサム
32識別子シーケンス番号
64データ(可変サイズ)
エコー応答
ビットオフセット0~78~1516~31
01290チェックサム
32識別子シーケンス番号
64データ(可変サイズ)

NDPメッセージの場合、最初の4バイトは予約されているか、フラグ/ホップリミットに使用されます。本文の残りの部分には、以下の未指定の構造化データが含まれます

ルータ要請
ビットオフセット0~78~1516~31
01330チェックサム
32予約済み
64オプション(可変長)
ルーター広告
ビットオフセット0~78~1516~31
01340チェックサム
32現在のホップ制限管理対象アドレスフラグその他の設定フラグ予約済みルーターの有効期間
64到達可能時間
96再送信時間
128オプション(可変長)
近隣勧誘
ビットオフセット0~78~1516~31
01350チェックサム
32予約済み
64ターゲットアドレス(16バイト)
192オプション(可変長)
近隣広告
ビットオフセット0~78~1516~31
01360チェックサム
32ルータ(R)から要請フラグ(S)オーバーライド(O)予約済み
64ターゲットアドレス(16バイト)
192オプション(可変長)

リダイレクトの場合、メッセージ本文の最初のバイトは予約されていますが、使用されません。その後にターゲットアドレスと宛先アドレスが続きます。最後に未指定のオプションを追加できます

ICMPv6リダイレクト
ビットオフセット0~78~1516~31
01370チェックサム
32予約済み
64ターゲットアドレス(16バイト)
192宛先アドレス(16バイト)
320オプション(可変長)

メッセージ処理

ICMPv6ノードはパケットを受信すると、メッセージの種類に応じてアクションを実行する必要があります。ICMPv6プロトコルは、ネットワークの過負荷を回避するために、同じ宛先に送信されるエラーメッセージの数を制限しなければなりません。たとえば、ノードがエラーのあるパケットを転送し続ける場合、ICMPは最初のパケットにエラーを通知し、その後、一定の最小周期または一定のネットワーク最大負荷で定期的に通知します。ICMPエラーメッセージは、別のICMPエラーメッセージへの応答として送信されてはなりません

参考文献

  1. ^ a b A. Conta; S. Deering (2006年3月). M. Gupta (編).インターネットプロトコルバージョン6 (IPv6) 仕様のためのインターネット制御メッセージプロトコル (ICMPv6) . ネットワークワーキンググループ. doi : 10.17487/RFC4443 . STD 89. RFC 4443インターネット 標準89。RFC 2463 廃止。RFC 2780を 更新。RFC 4884 により更新。
  2. ^ T. Mrugalski; M. Siodelski; B. Volz; A. Yourtchenko; M. Richardson; S. Jiang; T. Lemon; T. Winters (2018年11月). IPv6用動的ホスト構成プロトコル (DHCPv6) .インターネット技術タスクフォース. doi : 10.17487/RFC8415 . ISSN 2070-1721 . RFC 8415 . 提案た標準セクション3。RFC 3315、3633、3736、4242、7083、7283  、および7550廃止ます。
  3. ^ M. Crawford (2000年8月). IPv6におけるルータのリナンバリング. ネットワークワーキンググループ. doi : 10.17487/RFC2894 . RFC 2894 .提案された標準
  4. ^ R. Vida、L. Costa編(2004年6月)。IPv6向けマルチキャストリスナー検出バージョン2(MLDv2)ネットワークワーキンググループ。doi : 10.17487 / RFC3810。RFC 3810提案 された標準。RFC 2710 更新。RFC 4604 によって更新。
  5. ^ a b R. Bonica; R. Thomas; J. Linkova; C. Lenart; M. Boucadair (2018年2月). PROBE: インターフェースプローブ用ユーティリティ.インターネットエンジニアリングタスクフォース. doi : 10.17487/RFC8335 . ISSN 2070-1721 . RFC 8335 . 提案された標準。RFC 4884  更新します。
  6. ^ S. Deering、R. Hinden (2017年7月).インターネットプロトコルバージョン6(IPv6)仕様.インターネット技術タスクフォース. doi : 10.17487/RFC8200 . STD 86. RFC 8200 .インターネット標準 86.秒8.1. RFC  2460は廃止されます。
  7. ^ R. Braden、D. Borman、C. Partridge (1988年9月).インターネットチェックサムの計算. ネットワークワーキンググループ. doi : 10.17487/RFC1071 . RFC 1071 .情報 提供。RFC 1141 により更新されました。