11. Frame Delivery in a Link-Layer Mesh (リンク層メッシュにおけるフレーム配信)
802.15.4ネットワークは通常メッシュルーティングを使用することが予想されますが、IEEE 802.15.4-2003仕様 [[ieee802.15.4]] はそのような機能を定義していません。この文脈では、フル機能デバイス (Full Function Device, FFD) がアドホックまたはメッシュルーティングプロトコルを実行して、ルーティングテーブルを設定します(本文書の範囲外)。このようなメッシュシナリオでは、2つのデバイスが通信するために直接到達可能である必要はありません。これらのデバイスでは、送信者は「発信者」(Originator) と呼ばれ、受信者は「最終宛先」(Final Destination) と呼ばれます。発信者デバイスは、他の中間デバイスを転送者として使用して、パケットを最終宛先に転送できます。ユニキャストを使用してこのようなフレーム配信を実現するには、ホップバイホップの送信元アドレスと宛先アドレスに加えて、発信者と最終宛先のリンク層アドレスを含める必要があります。
本節では、指定された目標「最終宛先」リンク層アドレスを持つメッシュネットワークでレイヤー2フレームの配信を実現する方法を定義します。
メッシュ配信は、他のLoWPANカプセル化ヘッダー(第5節)、非フラグメント化およびフラグメント化ヘッダー、完全なIPv6ヘッダー、または第10節または他の場所で定義されたその他の圧縮IPv6ヘッダーの前にメッシュアドレッシングヘッダーを含めることによって有効にされます。
ノードがデフォルトのメッシュ転送者を使用してパケットを送信したい場合(つまり、宛先に直接到達できないため)、発信者のリンク層アドレスを自分自身に設定し、最終宛先のリンク層アドレスをパケットの最終宛先に設定したメッシュアドレッシングヘッダーを含めなければなりません (MUST)。802.15.4ヘッダーの送信元アドレスを自分自身のリンク層アドレスに設定し、転送者のリンク層アドレスを802.15.4ヘッダーの宛先アドレスフィールドに配置します。最後に、パケットを送信します。
同様に、ノードがメッシュアドレッシングヘッダーを持つフレームを受信した場合、メッシュアドレッシングヘッダーの「最終宛先」フィールドを調べて真の宛先を判断しなければなりません (MUST)。ノード自体が最終宛先である場合、通常の送信としてパケットを消費します。最終宛先でない場合、デバイスは「残りホップ数」(Hops Left) フィールドをデクリメントし、結果がゼロであればパケットを破棄します。それ以外の場合、ノードはリンク層ルーティングテーブルに問い合わせて、最終宛先に到達するための次のホップを決定し、そのアドレスを802.15.4ヘッダーの宛先アドレスフィールドに配置します。最後に、ノードは802.15.4ヘッダーの送信元アドレスを自分自身のリンク層アドレスに変更し、パケットを送信します。
ノードがメッシュルーティングプロトコルに参加して転送者になる必要がありますが、メッシュ転送を使用するだけであればそのような要件はありません。「フル機能デバイス」(FFD) のみが、メッシュネットワークにルーターとして参加することが期待されます。「縮小機能デバイス」(RFD) は、FFDを発見し、IPホストが通常デフォルトルーターを使用してすべてのオフリンクトラフィックを転送するのと同様の方法で、すべての転送にFFDを使用することに自分自身を制限します。メッシュ送信を使用するRFDの場合、「転送者」は常に適切なFFDです。
11.1. LoWPAN Broadcast (LoWPANブロードキャスト)
追加のメッシュルーティング機能は、メッシュヘッダーの直後に続くルーティングヘッダーを使用してエンコードされます。特に、ブロードキャストヘッダーは、LOWPAN_BC0ディスパッチとシーケンス番号フィールドで構成されます。シーケンス番号は、重複パケットを検出(および抑制することが望ましい)するために使用されます。
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|1|LOWPAN_BC0 |Sequence Number|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
フィールド定義:
- Sequence Number (シーケンス番号): この8ビットフィールドは、発信者が新しいメッシュブロードキャストまたはマルチキャストパケットを送信するたびにインクリメントされなければなりません (SHALL)。このフィールドを処理する方法の完全な仕様は、本文書の範囲外です。
このようなメッシュ層ブロードキャストのさらなる意味、たとえば、それが制御されたフラッディングメカニズムにマッピングされるかどうか、またはトポロジー発見における役割などは、本文書の範囲外です。
ソースルーティングの指定など、追加のメッシュルーティング機能は、ヘッダースタック内のフラグメンテーションまたはアドレッシングヘッダーの前に配置される追加のルーティングヘッダーを定義することによって表現できます。そのようなメッシュルーティング機能の完全な仕様は、本文書の範囲外です。