1. はじめに (Introduction)
1. はじめに
IPv6-over-IEEE 802.15.4 [RFC4944] は, メディアアクセス制御 (Media Access Control, MAC) 層と IP ネットワーク層の間に位置する適応層 (adaptation layer) の助けを借りて, IEEE 802.15.4 ネットワーク上で IPv6 をどのように運ぶかを規定する。低消費電力ワイヤレスPAN (Low-power Wireless Personal Area Network, LoWPAN) のリンクは, 損失が多く, 低消費電力, 低ビットレート, 短距離である; 多くのノードは長いスリープ期間によってエネルギーを節約する。IPv6 近隣探索 (Neighbor Discovery, ND) [RFC4861] で用いられるマルチキャストは, このような無線の低消費電力かつ損失の多いネットワークでは望ましくない。さらに, LoWPAN のリンクは本質的に非対称で非推移的である。LoWPAN は, 多数の重なり合う無線到達範囲から構成され得る。特定の無線到達範囲がブロードキャスト能力を持つとしても, それらの集合は一般に LoWPAN 全体でのマルチキャスト能力を持たない複雑な非ブロードキャスト多元接続 (Non-Broadcast Multiple Access, NBMA) [RFC2491] 構造になる。リンクローカルスコープ (link-local scope) は現実には到達性と電波強度で定義される。したがって, [RFC5889] にある不確定な接続性特性 (undetermined connectivity properties) を持つリンクから LoWPAN が構成されると見なせ, さらに同文書で定義される対応するアドレスモデル仮定 (address model assumptions) を用いる。
本仕様は, LoWPAN のような低消費電力かつ損失の多いネットワークを特に対象として, IPv6 近隣探索 (Neighbor Discovery) [RFC4861] に次の最適化を導入する:
- スリープするホストを可能にするための, ホスト起点の相互作用。
- ホストのための, マルチキャストに基づくアドレス解決の排除。
- ユニキャスト近隣要請 (Neighbor Solicitation, NS) および近隣広告 (Neighbor Advertisement, NA) メッセージに新しいオプションを用いる, ホストアドレス登録機能。
- 6LoWPAN ヘッダ圧縮 (header compression) コンテキストをホストへ配布するための, 新しい近隣探索 (Neighbor Discovery) オプション。
- プレフィックスと 6LoWPAN ヘッダ圧縮 (header compression) コンテキストのマルチホップ配布。
- 2 つの新しい ICMPv6 メッセージタイプを用いる, マルチホップ重複アドレス検出 (Duplicate Address Detection, DAD)。
マルチホップに関する 2 つの項目は, 必要であればルーティングプロトコル機構で置き換えられる; Section 1.4 を参照。
本書は 3 つの新しい ICMPv6 メッセージオプション (message options) を定義する: アドレス登録オプション (Address Registration Option, ARO), 権威ボーダールータオプション (Authoritative Border Router Option, ABRO), および 6LoWPAN コンテキストオプション (6LoWPAN Context Option, 6CO)。また, 2 つの新しい ICMPv6 メッセージタイプ (message types) を定義する: 重複アドレス要求 (Duplicate Address Request, DAR) と重複アドレス確認 (Duplicate Address Confirmation, DAC)。
1.1. IPv6近隣探索の欠点
IPv6 近隣探索 (Neighbor Discovery) [RFC4861] は, ルータ発見 (router discovery), アドレス解決 (address resolution), 重複アドレス検出 (Duplicate Address Detection), およびリダイレクト (Redirect) メッセージのために使われるいくつかの重要な機構を提供し, さらにプレフィックスおよびパラメータ発見を提供する。
IPv6 Ethernet ネットワークでは, 電源投入とネットワーク初期化の後, ノードはインタフェース上で被要請ノードマルチキャストアドレス (solicited-node multicast address) に参加し, 取得したリンクローカルアドレス (link-local address) に対して被要請ノードマルチキャスト (solicited-node multicast) メッセージをリンクへ送信することで重複アドレス検出 (Duplicate Address Detection, DAD) を実行する。その後, 全ルータマルチキャストアドレス (all-routers multicast address) へマルチキャストメッセージを送信してルータ広告 (Router Advertisements, RAs) を要求する。ホストが A (autonomous address configuration, 自律アドレス設定) フラグを持つ有効な RA を受信した場合, RA メッセージで広告されたプレフィックスを用いて IPv6 アドレスを自動設定する。さらに, IPv6 ルータは通常ネットワーク上で周期的に RA を送信する。RA は全ノードマルチキャストアドレス (all-nodes multicast address) に送られる。ノードは, リンク上の宛先の IPv6 アドレスを解決するために近隣要請/近隣広告 (Neighbor Solicitation/Neighbor Advertisement) メッセージを送信する。アドレス解決に使われる近隣要請 (Neighbor Solicitation) メッセージはマルチキャストである。重複アドレス検出 (Duplicate Address Detection) 手順と周期的ルータ広告 (Router Advertisement) メッセージの使用は, ノードがほとんどの時間で電源投入され到達可能であることを仮定する。
近隣探索 (Neighbor Discovery) では, ルータはサブネットプレフィックスが 1 つのブロードキャストドメインに対応すると仮定してホストを見つけ, その後ホストとそのリンク層アドレス (link-layer address) を見つけるために近隣要請 (Neighbor Solicitation) メッセージをマルチキャストする。さらに, マルチキャストを用いる DAD は, 同じプレフィックスから IPv6 アドレスを自動設定するすべてのホストがリンクローカル (link-local) マルチキャストメッセージで到達可能であることを仮定する。
近隣探索 (Neighbor Discovery) のプレフィックス情報オプション (Prefix Information Option, PIO) の L (on-link, リンク上) ビットは 0 に設定でき, これによりホストは他のホストのアドレス解決にマルチキャスト近隣要請 (Neighbor Solicitation, NS) メッセージを使わなくなるが, ルータは依然としてホストを見つけるためにマルチキャスト NS メッセージを使う。
無線通信の損失の多さと変化する無線環境により, IPv6 リンクノード集合 (IPv6-link node-set) は外部の物理要因で変化し得る。したがってリンクはしばしば不安定であり, ノードは物理的に移動していなくても移動しているように見える。
LoWPAN は 2 種類のリンク層アドレスを使用できる: 16 ビット短縮アドレス (16-bit short addresses) と [RFC4944] に定義される 64 ビット一意アドレス (64-bit unique addresses)。さらに, 利用可能なリンク層ペイロードサイズは 100 バイト未満のオーダである; したがってヘッダ圧縮 (header compression) は非常に有用である。
LoWPAN の上記特性と IPv6 近隣探索 (Neighbor Discovery) [RFC4861] のプロトコル設計を考慮すると, 近隣探索 (Neighbor Discovery) へのいくつかの最適化と拡張は, 低消費電力かつ損失の多いネットワークにおける IPv6 の広範な展開(例: 6LoWPAN および他の同種の低消費電力ネットワーク)に有用である。
1.2. 適用範囲
[RFC4861] はその Section 1 において, 特定のリンクタイプ上で IP を動作させることを扱い, 未変更の [RFC4861] の一般的適用性に対する例外を定義する文書を予見している。本仕様は, そのようなノードのエネルギーと処理能力を節約するために, LoWPAN における IPv6 近隣探索 (Neighbor Discovery) の利用を改善する。したがって本書は, ここで定義する最適化の使用を規定するために [RFC4944] を更新する。
本仕様の適用範囲は, サブネット上のすべてのノードがこれらの最適化を同種の方法で実装する LoWPAN に限定される。これらの最適化の一部が 6LoWPAN の外側でも有用であること, 例えば一般的な IPv6 低消費電力かつ損失の多いネットワークで有用であり, さらには [RFC4861] と組み合わせても有用である可能性があることは指摘されているが, そのような組み合わせの使用は本書の範囲外である。
本書では, LoWPAN におけるホストとルータ間の一連の動作を規定する。本書に準拠する実装はそれらの動作を MUST 実装しなければならない。本書はまた, route-over 構成で必要となる一連の動作(マルチホップのプレフィックスまたはコンテキスト配布, および別個に, マルチホップ Duplicate Address Detection)を規定する。本仕様の実装は, 他の仕様からの代替("substitute")をサポートしない限り, それらの部分を MUST サポートしなければならない。
本書で説明する最適化は, 異なるトポロジに適用される。Mesh トポロジにおける route-over および mesh-under 構成に最も有用である。しかし, Star トポロジ構成も, 信号の削減, 非推移リンクの堅牢な取り扱い, およびヘッダ圧縮コンテキスト情報により, これらの最適化から恩恵を受ける。
1.3. 目標と仮定
本書の主な目標と仮定は次のとおりである。
目標:
- mesh-under および route-over 構成の両方で動作するために最小かつ十分な機構で近隣探索 (Neighbor Discovery) を最適化する。
- マルチキャストフラッディングの使用を回避し, リンクスコープのマルチキャストメッセージの使用を減らすことで信号を最小化する。
- ホスト-ルータ (host-router) 間のインタフェースを最適化する。
- スリープするホストをサポートする。
- 6LoWPAN ヘッダ圧縮 (header compression) [RFC6282] で必要となるコンテキスト情報をホストへ配布する。
- 境界から LoWPAN 内のすべてのルータへ, コンテキスト情報とプレフィックス情報を配布する。
- route-over LoWPAN に適したマルチホップ重複アドレス検出 (Duplicate Address Detection, DAD) 機構を提供する。
仮定:
- 64 ビット拡張一意識別子 (Extended Unique Identifier, EUI-64) [EUI64] アドレスはグローバルに一意であり, LoWPAN は同種である。
- ネットワーク内のすべてのノードは, アドレス自動設定と重複アドレス検出のために EUI-64 インタフェース ID (Interface ID) を持つ。
- リンク層技術は, IEEE 802.15.4 [RFC4944] のように不確定な接続性 (undetermined connectivity) を示す低消費電力かつ損失の多いものと仮定する。ただし, アドレス登録機構は他のリンク層技術でも有用かもしれない。
- 6LoWPAN は, ホストが IPv6 アドレスを変更せずに LoWPAN 内のルータ間を移動できるよう, 1 つ以上のグローバル IPv6 アドレスプレフィックスを共有するよう設定される。
- マルチホップ DAD 機構(Section 8.2)を用いる場合, 各 6LoWPAN ルータ (6LR) は LoWPAN 内で利用可能なすべての 6LoWPAN ボーダールータ (6LBRs) に登録する。
- IEEE 802.15.4 の 16 ビット短縮アドレス (16-bit short addresses) を用いる場合, それらのリンク層アドレスの一意性を保証する何らかの技術を用いる。それは DHCPv6, アドレス登録オプション (Address Registration Option) ベースの重複アドレス検出 (Duplicate Address Detection)(Section 8.2 で規定) または本書の範囲外の他の技術で行える。
- EUI-64 から導出されないアドレスの一意性を保持するため( [RFC4862] の Section 5.4 を参照), それらは LoWPAN 全体で同じ方法で割り当てるか重複を検査しなければならない。これは DHCPv6 による割り当ておよび/または Section 8.2 で規定する重複アドレス検出 (Duplicate Address Detection) 機構(またはその目的のために開発された他のプロトコル)で行える。
- 6LoWPAN ヘッダ圧縮 (header compression) [RFC6282] が正しく動作するためには, 圧縮コンテキストは, 与えられたパケットを送信, 受信, または転送できるすべてのホスト, 6LR, 6LBR で一致しなければならない。Section 8.1 を用いてコンテキスト情報を配布する場合, これは単一の LoWPAN 内で 6LBR すべてが配布するコンテキスト情報を調整しなければならないことを意味する。
- 本仕様は単一の LoWPAN 内の ND の動作を記述する。ノードが複数の LoWPAN に同時に参加することは可能かもしれないが, 本書の範囲外である。
- LoWPAN がネットワーク全体でそのプレフィックスを共有するため, LoWPAN 内のノード移動は透過的である。LoWPAN 間の移動は本書の範囲外である。
1.4. 置換可能機能
本書はホスト-ルータ (host-router) インタフェースのための近隣探索 (Neighbor Discovery) メッセージ最適化を定義し, route-over トポロジにおける 2 つの新機構を導入する。
6LoWPAN で使用されるルーティングプロトコルを定義する文書に別段の規定がない限り, 本書は任意のルーティングプロトコルを持つネットワークに適用される。しかし, ルーティングプロトコルが良好な代替機構を提供する可能性があるため, 本書は特定の機能を "substitutable"(置換可能) と定義し, 同じ全体効果を達成する機構を提供するルーティングプロトコル仕様によって置き換えられることを意味する。
置換可能な機能(個別またはグループ):
- プレフィックスと 6LoWPAN ヘッダ圧縮 (header compression) コンテキストのマルチホップ配布
- マルチホップ重複アドレス検出 (Duplicate Address Detection)
したがって, マルチホップのプレフィックス配布(ABRO) と, ヘッダ圧縮コンテキストを配布するための 6LoWPAN コンテキストオプション (6LoWPAN Context Option, 6CO) は表裏一体である。いずれか一方の置換を意図する場合, 両方とも MUST 置換されなければならない。
機能の実装および配備に関するガイドラインは Section 14 に示す。