メインコンテンツまでスキップ

1.1. Design Principles (設計原則)

RPL は、[RFC5867]、[RFC5826]、[RFC5673]、および [RFC5548] で説明されている要件を満たすことを目的として設計されました。

ネットワークは、複数の RPL インスタンスを同時に実行できます。このような各インスタンスは、異なる、場合によっては相反する制約やパフォーマンス基準に対応する可能性があります。このドキュメントでは、単一のインスタンスの動作方法を定義します。

幅広い LLN アプリケーションドメインで役立つように、RPL はパケット処理と転送をルーティング最適化の目的から分離しています。このような目的の例には、エネルギーの最小化、レイテンシの最小化、または制約の充足が含まれます。このドキュメントでは、RPL の動作モードについて説明します。他の関連ドキュメントでは、ルーティング目的関数 (Objective Functions) を規定しています。特定の LLN アプリケーションをサポートする RPL 実装には、アプリケーションで必要とされる必要な目的関数が含まれます。

RPL 操作には双方向リンクが必要です。一部の LLN シナリオでは、これらのリンクは非対称な特性を示す場合があります。ルーターを親として使用する前に、ルーターの到達可能性を確認する必要があります。RPL は、リンクプロパティとネイバーの到達可能性を確認するために、親選択フェーズ中に外部メカニズムがトリガーされることを期待しています。近隣不到達検出 (NUD) はそのようなメカニズムですが、双方向転送検出 (BFD) [RFC5881] や [RFC5184] のようなレイヤー 2 (L2) トリガーによる下位レイヤーからのヒントなど、代替手段も可能です。一般に、使用されていないリンクを監視するコストを最小限に抑えるために、トラフィックに反応する検出メカニズムが好まれます。

また、RPL は、データパケット内の「RPL パケット情報」と呼ばれるいくつかの制御情報にアクセスして転送するための外部メカニズムも期待しています。RPL パケット情報はセクション 11.2 で定義されており、データパケットと RPL インスタンスの関連付け、および RPL ルーティング状態の検証を可能にします。RPL オプション [RFC6553] は、そのようなメカニズムの例です。厳密なソースルーティングが使用される場合 (つまり、セクション 9 でさらに詳しく説明されている非格納モードで下に向かうパケットの場合) を除き、すべてのパケットにメカニズムが必要です。これは本質的に無限ループを防ぎ、RPL パケット情報の必要性を軽減します。将来の関連仕様では、IPv6 パケットで RPL パケット情報を伝送する代替方法が提案され、RPL パケット情報が拡張されて追加機能がサポートされる可能性があります。

RPL は、動的に形成されたネットワークトポロジ上に情報を配布するメカニズムを提供します。この配布により、ノードでの構成が最小限になり、ノードがほぼ自律的に動作できるようになります。このメカニズムは、セクション 8.3 で説明されているように、Trickle [RFC6206] を使用して配布を最適化します。

一部のアプリケーションでは、RPL は独立したプレフィックスを所有するルーターのトポロジを組み立てます。これらのプレフィックスは、ルーターの送信元に応じて集約できる場合とできない場合があります。ルーターが所有するプレフィックスは、オンリンクとしてアドバタイズされます。

RPL には、サブネットを共通のプレフィックスとバインドし、そのサブネット内でルーティングする機能も導入されています。送信元は、RPL によって配布されるサブネットに関する情報を注入でき、その送信元はそのサブネットに対して権限を持ちます。多くの LLN リンクには非推移的なプロパティがあるため、RPL がサブネット上に配布する共通プレフィックスは、オンリンクとしてアドバタイズしてはなりません。

特に、RPL は、[RFC4861] プレフィックス情報オプション (PIO) や [RFC4191] ルート情報オプション (RIO) などの IPv6 近隣探索 (ND) 情報を配布する場合があります。RPL によって配布される ND 情報は、ルーターからホストへの元のセマンティクスをすべて保持し、ルーターからルーターへの拡張は制限されていますが、ルーティングアドバタイズメントと混同してはならず、別のルーティングプロトコルで直接再配布してはなりません。RPL ノードは、多くの場合、ホストとルーターの動作を組み合わせます。ホストとして、[RFC4191]、[RFC4861]、[RFC4862]、および [RFC6275] で指定されているオプションを処理します。ルーターとして、RPL ノードは、特定のリンクに必要なオプションからの情報を、たとえば ND ルーターアドバタイズメント (RA) メッセージなどでアドバタイズする場合がありますが、正確な動作は範囲外です。

この仕様の一連の関連ドキュメントでは、ビルディングオートメーション、ホームオートメーション、産業、および都市のアプリケーションシナリオに適した一連の動作ポイントを指定する適用性ステートメントの形式で、さらなるガイダンスが提供されます。