ICMPv6

IPv6 向けインターネット制御メッセージ プロトコル
通信プロトコル
ICMPv6メッセージの一般的な構造
略語ICMPv6
目的IPv6の補助プロトコル
導入1995年12月 (1995-12)
OSI層ネットワーク層
RFC(s)4443

インターネット制御メッセージプロトコルバージョン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メッセージ(Typeフィールドから始まる)から計算され、先頭に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~15歳16~31
01コードチェックサム
32未使用
64メッセージ本文(可変サイズ)
時間切れ
ビットオフセット0~78~15歳16~31
03コードチェックサム
32未使用
64メッセージ本文(可変サイズ)

その他は、本体の最初の 4 バイトのみの使用を定義し、他の定義済みコンテンツは定義しません。

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

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

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

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

ICMPv6 リダイレクト
ビットオフセット0~78~15歳16~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 により更新されました。