| 通信プロトコル | |
ICMPv6メッセージの一般的な構造 | |
| 略語 | RFC 6501 の翻訳 |
|---|---|
| 目的 | IPv6 の補助プロトコル |
| 導入 | 1995年12月 |
| OSI層 | ネットワーク層 |
| RFC(複数) | RFC 4443 |
インターネット制御メッセージプロトコルバージョン6(ICMPv6 )は、インターネットプロトコルバージョン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 つのフィールドのみが含まれます。
- タイプ: 8 ビット
- メッセージの種類を指定します。0 ~ 127 の範囲の値 (上位ビットは 0) はエラー メッセージを示し、128 ~ 255 の範囲の値 (上位ビットは 1) は情報メッセージを示します。
- コード: 8 ビット
- コードフィールドの値はメッセージの種類によって異なり、メッセージの粒度をさらに高めます。
- チェックサム: 16 ビット
- ICMPメッセージの整合性検証の最小レベルを提供します。チェックサムはICMPメッセージ(タイプフィールドから始まる)から計算され、先頭にIPv6疑似ヘッダーが付加されます。[1]以下を参照してください。
- メッセージ本文: 変数
- 内容はメッセージによって異なります。
種類
制御メッセージは、タイプフィールドの値によって識別されます。コードフィールドは、メッセージの追加のコンテキスト情報を提供します。一部のメッセージは、対応する名前の ICMP メッセージ タイプと同じ目的を果たします。
上記の表は包括的なものではないことに注意してください。現在割り当てられている ICMPv6 タイプの完全なリストは、次のリンクで参照できます: IANA: ICMPv6 パラメータ。
チェックサム
ICMPv6 は、ヘッダーに16 ビットのチェックサムを含めることで、メッセージの整合性を最低限検証します。チェックサムは、IPv6 標準[6]に従って IPv6 ヘッダー フィールドの疑似ヘッダーから計算されます。このヘッダー フィールドは、送信元アドレスと宛先アドレス、パケット長、および次のヘッダー フィールドで構成され、次のヘッダー フィールドは58に設定されます。この疑似ヘッダーに続いて、ICMPv6 メッセージでチェックサムが続きます。チェックサムの計算は、インターネット プロトコル標準に従って、16 ビットの 1 の補数の合計を使用して実行され、最後にチェックサム自体の 1 の補数が計算されて、それがチェックサム フィールドに挿入されます。[7]これは、 ICMPでの IPv4 の計算方法とは異なりますが、 TCP での計算方法に似ていることに注意してください。
形式
ICMPv6 メッセージのペイロードは、送信されるメッセージの種類によって異なります。ペイロードは、上記のヘッダーの直後のビット 32 から始まります。宛先に到達できない、時間超過などの一部のメッセージでは、メッセージ本体は定義されていません。
その他は、他の定義済みコンテンツなしで、本体の最初の 4 バイトのみの使用を定義します。
NDPメッセージの場合、最初の 4 バイトは予約されているか、フラグ/ホップ制限に使用されます。本文のリセットには、指定されていない構造化データがあります。
リダイレクトの場合、メッセージ本文の最初のバイトは予約されていますが、使用されません。その後にターゲットと宛先アドレスが続きます。指定されていないオプションは最後に追加できます。
メッセージ処理
ICMPv6 ノードがパケットを受信すると、メッセージの種類に応じてアクションを実行する必要があります。ICMPv6 プロトコルは、ネットワークの過負荷を回避するために、同じ宛先に送信されるエラー メッセージの数を制限する必要があります。たとえば、ノードがエラーのあるパケットを転送し続ける場合、ICMP は最初のパケットにエラーを通知し、その後、固定された最小期間または固定されたネットワーク最大負荷で定期的に通知します。ICMP エラー メッセージは、別の ICMP エラー メッセージへの応答として送信されてはなりません。
参考文献
- ^ ab 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 によって更新。
- ^ 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 を廃止します。
- ^ M. Crawford (2000 年 8 月)。 IPv6 のルーター再番号付け。ネットワーク ワーキング グループ。doi : 10.17487/RFC2894。RFC 2894。 提案された標準。
- ^ R. Vida、L. Costa 編 (2004 年 6 月)。 IPv6 用マルチキャスト リスナー検出バージョン 2 (MLDv2)。ネットワーク ワーキング グループ。doi : 10.17487 / RFC3810。RFC 3810 。 提案された標準。RFC 2710 を更新します。RFC 4604 によって更新されます。
- ^ ab R. Bonica; R. Thomas; J. Linkova ; C. Lenart; M. Boucadair (2018 年 2 月). PROBE: インターフェースをプローブするためのユーティリティ。インターネット エンジニアリング タスク フォース。doi : 10.17487 / RFC8335。ISSN 2070-1721。RFC 8335 。 提案された標準。RFC 4884 を更新します。
- ^ S. Deering ; R. Hinden (2017 年 7 月). インターネット プロトコル バージョン 6 (IPv6) 仕様。インターネット エンジニアリング タスク フォース。doi : 10.17487 /RFC8200。STD 86。RFC 8200。 インターネット標準 86.秒8.1. RFC 2460 は廃止されます。
- ^ R. Braden、D. Borman、C. Partridge (1988 年 9 月)。インターネット チェックサムの計算。ネットワーク ワーキング グループ。doi : 10.17487 / RFC1071。RFC 1071 。 情報提供。RFC 1141 により更新されました。
外部リンク
- IANA: ICMPv6 パラメータ
