2. 用語 (Terminology)
2.1. 一般 (General)
IP - インターネットプロトコルバージョン6 (Internet Protocol Version 6). IPv4とIPv6という用語は、曖昧さを避ける必要がある文脈でのみ使用されます。
ICMP - インターネットプロトコルバージョン6のためのインターネット制御メッセージプロトコル (Internet Control Message Protocol for the Internet Protocol Version 6). ICMPv4とICMPv6という用語は、曖昧さを避ける必要がある文脈でのみ使用されます。
ノード (node) - IPを実装するデバイス。
ルーター (router) - 自分自身に明示的にアドレス指定されていないIPパケットを転送するノード。
ホスト (host) - ルーターではないすべてのノード。
上位層 (upper layer) - IPの直上のプロトコル層。例としては、TCPやUDPなどのトランスポートプロトコル、ICMPなどの制御プロトコル、OSPFなどのルーティングプロトコル、およびインターネット層 (または下位層) のプロトコルがIPを介して「トンネリング」(すなわちカプセル化) されている場合、例えばインターネットワークパケット交換 (Internetwork Packet Exchange, IPX)、AppleTalk、またはIP自体などがあります。
リンク (link) - ノードがリンク層、すなわちIPの直下の層で通信できる通信設備または媒体。例としては、イーサネット (Ethernets) (シンプルまたはブリッジ接続)、PPPリンク、X.25、フレームリレー、またはATMネットワーク、およびインターネット層 (または上位層) の「トンネル」、例えばIPv4またはIPv6自体を介したトンネルなどがあります。
インターフェース (interface) - ノードのリンクへの接続。
近隣ノード (neighbors) - 同じリンクに接続されたノード。
アドレス (address) - インターフェースまたはインターフェースのセットに対するIP層識別子。
エニーキャストアドレス (anycast address) - インターフェースのセット (通常は異なるノードに属する) の識別子。エニーキャストアドレスに送信されたパケットは、そのアドレスによって識別されるインターフェースの1つ (ルーティングプロトコルの距離の尺度による「最も近い」もの) に配信されます。[ADDR-ARCH] を参照してください。
エニーキャストアドレスは、構文的にユニキャストアドレスと区別できないことに注意してください。したがって、エニーキャストアドレスにパケットを送信するノードは、一般的にエニーキャストアドレスが使用されていることを知りません。本文書の残りの部分では、ユニキャストアドレスへの参照は、ノードがユニキャストアドレスが実際にはエニーキャストアドレスであることを認識していない場合にも、エニーキャストアドレスに適用されます。
プレフィックス (prefix) - アドレスの初期ビットのいくつかから構成されるビット列。
リンク層アドレス (link-layer address) - インターフェースのリンク層識別子。例としては、イーサネットリンクのIEEE 802アドレスがあります。
オンリンク (on-link) - 指定されたリンク上のインターフェースに割り当てられているアドレス。ノードは、次の場合にアドレスがオンリンクであると見なします:
- リンクのプレフィックスの1つによってカバーされている (例えば、プレフィックス情報 (Prefix Information) オプションのオンリンクフラグによって示される)、または
- 近隣ルーターがリダイレクトメッセージのターゲットとしてアドレスを指定している、または
- (ターゲット) アドレスに対する近隣広告メッセージが受信された、または
- アドレスから任意の近隣探索メッセージが受信された。
オフリンク (off-link) - 「オンリンク」の反対。指定されたリンク上のどのインターフェースにも割り当てられていないアドレス。
最長プレフィックスマッチ (longest prefix match) - プレフィックスのセット内のどのプレフィックス (存在する場合) がターゲットアドレスをカバーするかを決定するプロセス。ターゲットアドレスは、プレフィックス内のすべてのビットがターゲットアドレスの左端のビットと一致する場合、プレフィックスによってカバーされます。複数のプレフィックスがアドレスをカバーする場合、最長プレフィックスが一致するものです。
到達可能性 (reachability) - 近隣ノードへの一方向の「フォワード」パスが適切に機能しているかどうか。特に、近隣ノードに送信されたパケットが近隣マシンのIP層に到達し、受信側IP層によって適切に処理されているかどうか。近隣ルーターの場合、到達可能性とは、ノードのIP層によって送信されたパケットがルーターのIP層に配信され、ルーターが実際にパケットを転送していること (つまり、ホストではなくルーターとして構成されていること) を意味します。ホストの場合、到達可能性とは、ノードのIP層によって送信されたパケットが近隣ホストのIP層に配信されることを意味します。
パケット (packet) - IPヘッダーとペイロード。
リンクMTU (link MTU) - 最大伝送単位 (maximum transmission unit)、すなわち、リンク上で1つの伝送単位で伝達できる最大パケットサイズ (オクテット単位)。
ターゲット (target) - アドレス解決情報が求められているアドレス、またはリダイレクトされる際の新しい最初のホップであるアドレス。
プロキシ (proxy) - 別のノードに代わって近隣探索クエリメッセージに応答するノード。オフリンクに移動したモバイルノードに代わって動作するルーターは、モバイルノードのプロキシとして動作する可能性があります。
ICMP宛先到達不能通知 (ICMP destination unreachable indication) - [ICMPv6] に概説されている理由により配信できないパケットの元の送信者に返されるエラー通知。エラーがパケットを発信したノード以外のノードで発生した場合、ICMPエラーメッセージが生成されます。エラーが発信ノードで発生した場合、実装は、上位層の送信者が適切なメカニズム (例えば、プロシージャ呼び出しからの戻り値) を通じて通知される限り、実際にICMPエラーパケットを作成してソースに送信する必要はありません。ただし、実装によっては、問題のあるパケットを取り、ICMPエラーメッセージを生成し、汎用エラー処理ルーチンを介して (ローカルに) 配信することで、送信者にエラーを返す方が便利な場合があることに注意してください。
ランダム遅延 (random delay) - メッセージを送信する際、複数のノードが正確に同時に送信するのを防ぐため、または長距離の周期的な送信が互いに同期するのを防ぐために、送信をランダムな時間だけ遅延させる必要がある場合があります [SYNC]。ランダム成分が必要な場合、ノードは、計算された遅延が指定された最小および最大遅延時間の間に収まる均一に分布したランダム値を形成するように、実際の遅延を計算します。実装者は、計算されたランダム成分の粒度と使用されるタイマーの解像度の両方が、複数のノードが同じ時間だけ遅延する確率が小さくなるように十分に高いことを確保するように注意する必要があります。
ランダム遅延シード (random delay seed) - ランダム遅延成分の計算に擬似乱数生成器が使用される場合、生成器は使用前に一意のシードで初期化される必要があります。インターフェース識別子は常に一意であるとは限らないため、インターフェース識別子だけをシードとして使用するのは十分ではないことに注意してください。重複するインターフェース識別子が同じシードを使用する確率を減らすために、シードは、同一の「ボックス」でも異なる可能性が高いさまざまな入力ソース (例えば、マシンコンポーネント) から計算される必要があります。例えば、シードは、CPUのシリアル番号とインターフェース識別子を組み合わせて形成できます。ランダム性と乱数生成に関する追加情報は [RAND] にあります。
2.2. リンクタイプ (Link Types)
異なるリンク層には異なる特性があります。近隣探索に関係するものは次のとおりです:
マルチキャスト対応 (multicast capable) - リンク層でパケットをすべて (つまりブロードキャスト) またはすべての近隣ノードのサブセットに送信するためのネイティブメカニズムをサポートするリンク。
ポイントツーポイント (point-to-point) - 正確に2つのインターフェースを接続するリンク。ポイントツーポイントリンクは、マルチキャスト機能とリンクローカルアドレスを持つと想定されます。
非ブロードキャストマルチアクセス (non-broadcast multi-access, NBMA) - 2つ以上のインターフェースが接続できるが、マルチキャストまたはブロードキャストのネイティブ形式をサポートしないリンク (例えば、X.25、ATM、フレームリレーなど)。すべてのリンクタイプ (NBMAを含む) は、それを必要とするアプリケーション (例えば、マルチキャストサーバーを使用) にマルチキャストサービスを提供することが期待されることに注意してください。ただし、NDがそのような設備を使用すべきか、またはNDに相当するマルチキャスト機能を提供する代替メカニズムを使用すべきかは、今後の研究課題です。
共有メディア (shared media) - 多数のノード間の直接通信を可能にするリンクですが、接続されたノードは、すべてのオンリンク宛先に対する完全なプレフィックス情報を持たないように構成されています。つまり、IP レベルでは、同じリンク上のノードは互いに近隣ノードであることを知らない可能性があります。デフォルトでは、ルーターを介して通信します。例としては、スイッチドマルチメガビットデータサービス (Switched Multimegabit Data Service, SMDS) やブロードバンド統合サービスデジタルネットワーク (Broadband Integrated Services Digital Network, B-ISDN) などの大規模な (スイッチ接続された) 公衆データネットワークがあります。「大規模クラウド」とも呼ばれます。[SH-MEDIA] を参照してください。
可変MTU (variable MTU) - 明確に定義されたMTUを持たないリンク (例えば、IEEE 802.5トークンリング)。多くのリンク (例えば、イーサネット) には、リンク層プロトコルによって、またはリンク層上でIPを実行する方法を説明する特定の文書によって定義された標準MTUがあります。
非対称到達可能性 (asymmetric reachability) - 非反射的および/または非推移的な到達可能性が通常の動作の一部であるリンク。(非反射的到達可能性とは、AからBへのパケットは到達するが、BからAへのパケットは到達しないことを意味します。非推移的到達可能性とは、AからBへのパケットは到達し、BからCへのパケットは到達するが、AからCへのパケットは到達しないことを意味します。) 多くの無線リンクがこれらの特性を示します。
2.3. アドレス (Addresses)
近隣探索は、[ADDR-ARCH] で定義された多数の異なるアドレスを使用します。これには次のものが含まれます:
全ノードマルチキャストアドレス (all-nodes multicast address) - すべてのノードに到達するためのリンクローカルスコープアドレス、FF02::1。
全ルーターマルチキャストアドレス (all-routers multicast address) - すべてのルーターに到達するためのリンクローカルスコープアドレス、FF02::2。
要請ノードマルチキャストアドレス (solicited-node multicast address) - 要請ターゲットのアドレスの関数として計算されるリンクローカルスコープマルチキャストアドレス。関数は [ADDR-ARCH] に記述されています。関数は、異なるプロバイダーに関連付けられた複数のプレフィックスなどにより、最上位ビットのみが異なるIPアドレスが同じ要請ノードアドレスにマップされるように選択され、それによりノードがリンク層で参加する必要があるマルチキャストアドレスの数を削減します。
リンクローカルアドレス (link-local address) - 近隣ノードに到達するために使用できるリンクのみのスコープを持つユニキャストアドレス。ルーター上のすべてのインターフェースは、リンクローカルアドレスを持たなければなりません (MUST)。また、[ADDRCONF] は、ホスト上のインターフェースがリンクローカルアドレスを持つことを要求します。
未指定アドレス (unspecified address) - アドレスの欠如 (例えば、アドレスが不明) を示す予約されたアドレス値。宛先アドレスとして使用されることはありませんが、送信者が自分自身のアドレスをまだ知らない場合 (例えば、ステートレスアドレス自動構成 [ADDRCONF] 中にアドレスが未使用であることを検証している間)、送信元アドレスとして使用される場合があります。未指定アドレスの値は 0:0:0:0:0:0:0:0 です。
この仕様は、送信元アドレスと宛先アドレスのスコープに関する [ADDR-SEL] の一貫性要件に厳密には準拠していないことに注意してください。場合によっては、ホストがIPv6ヘッダーの宛先アドレスよりも大きいスコープの送信元アドレスを使用することが可能です。
2.4. 要件 (Requirements)
本文書に現れるキーワード MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、RECOMMENDED、MAY、および OPTIONAL は、[KEYWORDS] に記述されているとおりに解釈されるものとします。
本文書はまた、プロトコルの動作を説明するための内部概念変数と、実装がシステム管理者に変更を許可しなければならない外部変数を使用します。特定の変数名、その値の変化方法、およびその設定がプロトコルの動作にどのように影響するかは、プロトコルの動作を示すために提供されています。実装は、本文書に記述されている動作と一致する外部動作である限り、ここで説明されているとおりの正確な形式でそれらを持つ必要はありません。