IPv6のインターネット制御メッセージプロトコル

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

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

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

メッセージの種類と形式

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

ICMPv6メッセージは、ヘッダーとプロトコルペイロードで構成されます。ヘッダーには、タイプ(8ビット)、コード(8ビット)、およびチェックサム(16ビット)の3つのフィールドのみが含まれますtypeは、メッセージのタイプを指定します。0〜127(上位ビットが0)の範囲の値はエラーメッセージを示し、128〜255(上位ビットが1)の範囲の値は情報メッセージを示します。コードフィールドの値は、メッセージのタイプに依存し、メッセージの粒度の追加レベルを提供します。チェックサムフィールドは、ICMPメッセージの整合性の検証の最低限のレベルを提供します。

ICMPv6パケット
ビットオフセット 0〜7 8〜15 16〜31
0 タイプ コード チェックサム
32 メッセージ本文

タイプ

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

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

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

  • 一般クエリ。接続されたリンクにリスナーがあるマルチキャストアドレスを学習するために使用されます。
  • マルチキャストアドレス固有のクエリ。特定のマルチキャストアドレスに、接続されたリンクにリスナーがあるかどうかを学習するために使用されます。

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

131 マルチキャストリスナレポートMLD 0
132 マルチキャストリスナ完了MLD 0
133 ルーター要請(NDP 0
134 ルーターアドバタイズメントNDP 0
135 近隣要請(NDP 0
136 近隣アドバタイズメントNDP 0
137 リダイレクトメッセージ(NDP 0
138 ルーターの番号の付け直し 0 ルータの番号変更コマンド
1 ルーターの番号変更の結果
255 シーケンス番号のリセット
139 ICMPノード情報クエリ 0 データフィールドには、このクエリのサブジェクトであるIPv6アドレスが含まれています。
1 データフィールドには、このクエリのサブジェクトであるか、NOOPの場合のように空の名前が含まれています。
2 データフィールドには、このクエリのサブジェクトであるIPv4アドレスが含まれています。
140 ICMPノード情報の応答 0 正常な返信。返信データフィールドは空の場合と空でない場合があります。
1 レスポンダーは答えを提供することを拒否します。返信データフィールドは空になります。
2 クエリのQtypeはレスポンダーに認識されていません。返信データフィールドは空になります。
141 逆近隣探索要請メッセージ 0
142 逆近隣探索アドバタイズメントメッセージ 0
143 マルチキャストリスナ発見(MLDv2)レポート(RFC 3810)
144 ホームエージェントアドレス検出要求メッセージ 0
145 ホームエージェントアドレス検出応答メッセージ 0
146 モバイルプレフィックス要請 0
147 モバイルプレフィックス広告 0
148 認定パス要請(SEND
149 認定パスアドバタイズメント(SEND)
151 マルチキャストルーターアドバタイズメントMRD
152 マルチキャストルーター要請(MRD
153 マルチキャストルーターターミネーション(MRD
155 RPL制御メッセージ
200 個人実験
201 個人実験
255 ICMPv6情報メッセージの拡張用に予約済み

上記の表は包括的ではないことに注意してください。割り当てられたICMPv6タイプの現在の完全なリストは、次のリンクにあります:IANA:ICMPv6パラメーター

チェックサム

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

ICMPv6疑似ヘッダー
ビットオフセット 0〜7 8〜15 16〜23 24〜31
0 送信元アドレス
32
64
96
128 宛先アドレス
160
192
224
256 ICMPv6の長さ
288 ゼロ 次のヘッダー

フォーマット

メッセージ処理

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

参考文献

  1. ^ RFC 4443、インターネットプロトコルバージョン6(IPv6)仕様のインターネット制御メッセージプロトコル(ICMPv6)
  2. ^ RFC 3315、§3
  3. ^ RFC 2460、 インターネットプロトコル、バージョン6(IPv6)仕様、セクション8.1(上位層チェックサム)、S。Deering、R。Hinden(1998年12月)
  4. ^ RFC 1071、インターネットチェックサムの計算、R。Braden、D。Borman、C。Partridge(1988年9月)

外部リンク

  • IANA:ICMPv6パラメーター
  • IPv6のルーターの番号変更土井 10.17487 / RFC2894RFC 2894