Bluetooth Mesh ダイレクトフォワーディング

技術概要

リリース: 1.0.0
文書バージョン:   1.0
最終更新日: 2023年9月19日
著者:   

マーティン・ウーリーBluetooth SIG
Szymon Slupik and Piotr Winiarczyk, SILVAIR Inc.

改訂履歴

Version

Date

Author

Changes

1.0.0

September 19, 2023

Martin Woolley, Bluetooth SIG
Szymon Slupik and Piotr Winiarczyk, SILVAIR Inc.

Initial version

 

Bluetooth Mesh プロファイル仕様は名称が変更され、現在は次のように呼ばれている。Bluetooth Mesh プロトコル仕様と呼ばれるようになった。本書と関連論文でバージョン1.1仕様を参照する場合はこの名称を使用するが,バージョン1.0仕様を参照する場合は引き続きBluetooth Mesh プロファイル仕様書仕様と呼ぶことにする。

 

1.背景

ダイレクトフォワーディングは、Bluetooth® Mesh プロトコル仕様のバージョン1.1で導入された。Bluetooth Mesh Directed Forwardingの機能と利点を十分に理解するためには、Bluetooth Mesh バージョン1.0のいくつかの側面を理解する必要がある。本セクションでは、Bluetooth Mesh Directed Forwarding 機能を検討するための背景を説明する。

1.1 マルチホップとマルチパスのメッセージ配送

Bluetooth® Mesh ネットワークの特徴のひとつは、デバイス同士が直接電波の届く範囲になくても通信できることです。ノードと呼ばれるネットワーク内のデバイスは、宛先アドレスにメッセージを送信することで通信を行い、必要に応じて、メッセージは中継と呼ばれるプロセスを使用して宛先に到達するまでネットワークをホップします。メッセージは最大126回ホップすることができるため、ネットワークは建物の中や周辺、あるいは建物と建物の間の広い範囲をカバーすることができる。

同じメッセージのコピーは、最初に到着したコピーが処理され、それ以降に到着したものは破棄されながら、ネットワークを介して異なる経路を同時に移動することができる。このマルチパス機能はネットワークに冗長性を与え、ネットワーク内の1つ以上の必要な中継ノード(1.2参照)が利用できない場合でも、メッセージを配信できるようにする。

よく設計されたBluetooth Mesh ネットワークは、ネットワーク内の通信の信頼性を確保するために使用できる戦略の1つとして、マルチパス配信を活用する。

1.2 ノードの特徴

例えば、LEDライトは、スイッチや回転制御装置などの他の装置から受信したメッセージに応答して、オン・オフを切り替えたり、明るさや色を変えたりすることができるモデルを実装することができる。

Bluetooth Mesh ノードが持つ可能性のある4つの特別な機能を定義している。表1に示すとおりである。

表1 - ノードの特徴

特徴

Description(説明)

リレー

中継機能を有効にしたノードは、すぐ近くにある他のデバイスから聞いたメッセージを再送信することができる。中継とは、メッセージが中間の中継デバイスをホップして宛先に到達するメカニズムである。マルチパス配信は、送信ノードが複数の中継ノードの範囲内にあることを保証し、各ノードが隣接ノードからのメッセージを聞き、各ノードが再送信することで実現されます。

友人

フレンドは通常、電力が豊富なデバイスである。フレンドは、関連する低電力ノード(LPN)にストア&フォワードサービスを提供する。

低消費電力ノード

LPNは、メッセージを送信したり、関連するフレンド・ノードと通信して、LPNへのメッセージがフレンドによって一時的に保存されているかどうかを尋ねたり、保存されているメッセージを受信したりするために、たまにしか無線を起動しないことで電力を節約します。

プロキシ

Bluetoothプロキシ・ノードは、Bluetooth Mesh 広告ベアラを使用できない®低エネルギー(LE)デバイスが、プロキシとのポイント・ツー・ポイント接続を介して GATT 手順を使用してmesh メッセージを送受信することを可能にする。プロキシ・ノードは、特別に開発されたスマートフォン・アプリケーションを、mesh ネットワークのノードを監視および制御するためのグラフィカル・ユーザー・インターフェースとして機能させるためによく使用される。

 

1.3Bluetooth Mesh 管理された洪水

アンコントロール・フラッディングは、いくつかのワイヤレス・ネットワーキング技術で使用されている手法で、ノードが受信したメッセージをすべて再送信することで、メッセージがネットワーク内のすべてのノードに伝播する。これは単純なアプローチですが、無線スペクトラムとノードの処理時間と電力を浪費し、非効率的な場合があります。

Bluetooth® Mesh 1.0がメッセージのリレーに使用するメカニズムは、Bluetooth Mesh Managed Floodingと呼ばれる。選択されたノードだけがリレー機能を有効にすることができます。さらに、これらのノードは、ノードのメッセージキャッシュとTTL(Time to Live)と呼ばれるプロトコル・データ・ユニット(PDU)フィールドの値によって示されるように、同じメッセージがすでに再送されているかどうかに応じて、受信したいくつかのメッセージを再送します。

TTLは、メッセージが中継されるホップ数、つまり発信元から半径方向に移動する距離を制限する。あるオフィスのロビーに、Bluetooth Mesh 照明スイッチのセットがあるとする。1つのスイッチは1階の照明ノードをすべて制御し、もう1つのスイッチはロビーの照明だけを制御する。ロビーのすべての照明ノードがロビーの照明スイッチの直接無線範囲内にある場合、これらのメッセージを中継する必要はまったくありません。対照的に、ロビー以外のこのフロアの他の照明に到達するには、おそらく2ホップが必要です。最初のスイッチは、送信するメッセージのTTLを0に設定し、中継を行わないことを示す。2番目のスイッチはTTLを3に設定し、ロビーを越えてより遠くにある照明に到達するのに十分な回数の中継が行われるようにする。いずれの場合も、TTLは、メッセージが建物内の関連性のないエリアに中継されないようにし、メッセージが発信源から外側へ、水に落とした石ころの波のように伝播するようにすることで、中継機能を最適化している。

制御されていないフラッディングを使用し、かなりの量の不必要なトラフィックを生成するネットワークとは対照的に、Bluetooth® Mesh ネットワークでは、中継として機能するノードは5パーセント程度にとどまるのが一般的である。

1.4Bluetooth Mesh 管理された洪水の限界

Bluetooth Mesh マネージド・フラッディングが提供できるよりも、どのノードがメッセー ジをリレーするかを正確にコントロールできる方が有利なシナリオがある。以下のシナリオを考えてみよう:

1.4.1 隣接フロア

2108 最近の強化 IMGMesh

無線送信は3次元で行われる。そのため、Bluetooth® Mesh メッセージは、発信元のフロアの上下にあるノードによって受信される可能性があり、メッセージが発信元のノードと同じフロアにあるノードにのみ宛てたものである場合、望ましくないことがあります。例えば、照明スイッチは同じフロアの照明だけを制御するために使用されることが多く、スイッチからのメッセージが他のフロアのノードに聞こえ、隣接するフロアのリレーによって再送信される可能性があることに価値はありません。

1.4.2 部屋の片側にあるデバイスのみをターゲットにする

大きな会議場を想像してほしい。部屋の端ともう一方の端のステージの中間にある壁に、照明スイッチのバンクがある。つのスイッチがステージ上の照明をコントロールし、メッセージは1つのホップですべてのスイッチに届くように中継される必要がある。

図1に描かれたネットワークでは、スイッチの範囲内に2つのリレーがあります。これは、同じパネル内の他のスイッチが、制御する必要のあるすべての照明ノードに到達できるようにするために必要です。舞台照明スイッチが使用されると、メッセージが送信され、両方のリレーで受信され、再送信されるため、メッセージはターゲット照明に向かっても、ターゲット照明から遠ざかってもネットワークを移動します。

図1

図1-舞台照明と複数の中継ノードを備えた会議ホール

図2

図2 - 点灯/消灯メッセージを放送する照明スイッチ

図3

図3-2つのリレーがメッセージを受信し、両方が再送信する

ステージから最も遠いリレーは、スイッチからステージ照明へのメッセージ伝達に寄与しないため、これは無駄であり、理想的には関与すべきではない。

1.5 メッセージングの容量とスケーラビリティ

あるデバイスがメッセージを送信するとき、そのデバイスは一定時間無線チャネルを使用する。この最初のデバイスの範囲内にある別のデバイスが、同じチャネルで同時にメッセージを送信すると衝突が発生する。したがって、すべてのデバイスが互いに範囲内にあるネットワークの一部では、送信されるすべてのメッセージが一定期間無線チャネルを使用し、一度に1つだけが安全に使用できるため、メッセージング容量には限りがあります。

1メッセージあたりの消費時間は短く、Bluetooth® Mesh は3つの無線チャンネルを使用する。しかし、それでも容量は有限であり、最終的にはネットワークのスケーラビリティの制限要因として作用する。

1.6Bluetooth Mesh 管理された洪水の評価

Bluetooth Mesh マネージド・フラッディングは、ネットワークを通じてメッセージを伝播するシステムである。マルチホップ機能によって範囲とエリアをカバーし、適切に設計されたネットワークでは、リレーが適切に配置され、マルチパス中継動作によって冗長性を提供する。

メッセージのキャッシュとTTLパラメータの使用により、メッセージの送信距離をある程度制御することができ、これによりある程度の最適化が実現します。リレーは互いに完全に独立しているため、依存関係や、デバイスの移動など何かが変わった場合に維持しなければならないコンフィギュレーション設定がない。ほとんどの場合、Bluetooth Mesh マネージド・フラッディングは、ほとんどメンテナンスを必要としない、目的に合ったソリューションです。

TTLはメッセージのホップ数を制限するために使うことはできるが、ネットワークを経由するメッセージの方向を制御することはできない。Bluetooth Mesh マネージド・フラッディングは、メッセージをネットワーク上のあらゆる方向に波及させるので、メッセージに関連性のないネットワークの一部で、有限のメッセージング容量を無駄に使用する可能性がある。

Bluetooth Mesh マネージド・フラッディングは、私たちが望むような最も効率的なネットワーク利用を提供しないネットワーク設計シナリオがあり、場合によっては、これはスケーラビリティを制限する。

これは、Bluetooth Mesh 機能拡張バージョン1.1リリースで導入されたBluetooth Mesh Directed Forwarding機能の主な動機であった。

2.Bluetooth Mesh ダイレクトフォワーディングについて

このセクションでは、Bluetooth Mesh Directed Forwarding機能について説明する。

2.1 能力とメリット

2.1.1 利用率の向上による拡張性の向上

Bluetooth Mesh Directed Forwardingを使用すると、宛先へのメッセージ転送に参加できるノードだけが参加できるようにネットワークを設定できる。逆に、Bluetooth Mesh Directed Forwardingを使用するノードは、旅を支援できないメッセージを無視する。

メッセージを発信または中継するときにBluetooth Mesh Directed Forwarding を使用する能力を持つノードはBluetooth Mesh Directed Forwarding ノードと呼ばれる。Bluetooth Mesh Directed Forwarding を使ってメッセージをリレーできるものは、Bluetooth Mesh Directed Forwarding リレーと呼ばれる。Bluetooth Mesh Directed Forwardingリレーは常にBluetooth Mesh Directed Forwardingノードであるが、Bluetooth Mesh Directed ForwardingノードはBluetooth Mesh Directed Forwardingリレーである場合もあるし、そうでない場合もある。どちらの用語が使われるかは、通常文脈によって異なる。

図4は、会議ホールの例で、ステージ照明の照明スイッチからのメッセージは、Bluetooth Mesh 有向転送リレーのうちの1つによってのみ中継されることを示している。なぜなら、そのリレーは、これらのメッセージを意図した宛先に届けることができる立場にあるからである。対照的に、スイッチの範囲内にある他の有向転送リレーノードはこれらのメッセージを無視する。このシナリオの電灯スイッチはBluetooth Mesh 有向 転送ノードとして動作していることに注意。

図4

図 4 -Bluetooth Mesh ダイレクト・フォワーディング

2.1.2 より容易なネットワーク設計とコミッショニング

Bluetooth Mesh マネージド・フラッディング(Managed Flooding)だけをメッセージ伝搬に使用する、より大規模なBluetooth® Mesh ネットワークの設計とセットアップ(試運転)には、リレーとして機能するノードをいくつ設定するか、どこに配置するかなどの問題を慎重に考える必要があるかもしれない。リレーとして機能するノードの数が多すぎると、必要以上のトラフィックがネットワークに発生し、衝突のリスクが高くなり、スケーラビリティが制限される。リレーとして機能するノードの数が少なすぎると、一部のノードに到達できない通信問題が発生したり、設計上の冗長性が不足したりする可能性がある。

Bluetooth Mesh Directed Forwardingを使用できるようにするためには、ネットワークの立ち上げ時にほとんど手間がかかりません。すべてのノードは、Bluetooth Mesh Directed Forwarding を使用するように設定することができ、動作に必要なのは、Bluetooth Mesh Directed Forwarding ポリシーパラメータの簡単なセットを設定することだけです。その後、システムは必要な通信経路を自己維持し、自己最適化します。

2.2 テクニカル・ハイライト

2.2.1Bluetooth Mesh ダイレクトフォワーディング構成サーバーモデル

Bluetooth Mesh Directed Forwarding Configuration Serverモデルと呼ばれる新しい基礎モデルが導入された。これには、Bluetooth Mesh 有向 転送(Directed Forwarding)状態や有向リレー(Directed Relay)状態など、いくつかのサブ状態を含む有向制御(Directed Control)と呼ばれる複合状態が含まれる。これらの状態は、Bluetooth Mesh 有向転送(Directed Forwarding)機能と有向中継(Directed Relay)機能がそれぞれ有効になっているかどうかを示し、制御する。これら2つの機能の関係を考慮すると、有向リレー状態は、Bluetooth Mesh 有向フォワーディング状態にバインドされ、有向フォワーディング機能が無効の場合は有向リレー機能も無効となる。

Bluetooth Mesh DirectedForwarding Configuration Serverモデルの有無は、ノードがBluetooth Mesh Directed Forwarding を使用する可能性があるかどうかを決定する。Directed Control状態の値によって、Bluetooth Mesh Directed Forwarding 機能の有効・無効が決定される。

2.2.2 パス

Bluetooth Mesh Directed Forwarding 中継ノードが特定のメッセージだけを再送信し、他のメッセージは再送信しないという選択的な参加には、パスとレーンの概念が含まれる。Bluetooth® Mesh プロファイルのバージョン 1.0 では、パスという用語は非公式に使われていたことに注意すべきである。Bluetooth Mesh Directed Forwarding の文脈で使われる場合、パスはより具体的な意味を持つ:

パスとは、Bluetooth Mesh Directed Forwarding を使用して、特定のサブネット上で送信元アドレスから宛先アドレスへのメッセージの中継に参加できるノードのセットのことである。

パスのソースは常に1つのノードであり、ユニキャストアドレスで識別される。Bluetooth Mesh Directed Forwardingのコンテキストでは、ソースノードはパスの起点と呼ばれる。

パスの宛先は、それが使用されるアドレスのタイプに応じて、1つ以上のノードの集合である。ユニキャストアドレス、グループアドレス、および仮想アドレスはすべて、パスのデスティネーションの有効な識別子である。宛先がグループアドレスやバーチャルアドレスで識別される場合、そのアドレ スをサブスクライブするノードはパスターゲットと呼ばれる。したがって、Bluetooth Mesh Directed Forwardingの言語では、パスは1つのパスオリジンノードと1つ以上のパスターゲットノードを持つ。

Bluetooth Mesh Directed Forwardingのノードは、自分がどのパスの一部であるかは知っているが、同じパスをサービスする他のノードについては、メッセージの中継順序でどのノードが先行または後続するかを含め、他には何も知らない。このため、ネットワークのメンテナンスが難しく、時間がかかり、コストがかかるような複雑なコンフィギュレーション依存を避けることができます。そのため、Bluetooth Mesh Directed Forwardingは、よりシンプルなBluetooth Mesh Managed Flooding方式の利点の1つを保持しています。

図解が続く。図5は、使用されているアイコンのキーである。

図5

図5 - イラストのキー

図6は、照明スイッチがパスの起点として機能し、単一の照明器具が唯一のパスターゲットノードとして機能する、単純なBluetooth Mesh Directed Forwardingパスを示している。

写真6

図6 - ターゲットノードが1つのパス

図6の赤いアイコンは、Bluetooth Mesh スイッチ・ノードから、スイッチが使用するパブリッシュ・アドレスをサブスクライブしている照明ノードへのパスの一部である有向転送リレーを表しています。スイッチがオン/オフ・メッセージをパブリッシュすると、パス上にある赤ノードと、そうでない隣接する有向中継ノード(紫)の両方が受信します。赤のノードは必要なパス上にあることを認識しているため、Bluetooth Mesh Directed Forwardingを使用してメッセージを中継します。紫色のノードは、自分がこのパスの一部ではないことを知っているので、オン/オフ・メッセージを直ちに破棄します。これにより、メッセージは、そのメッセージに関連性のないネットワークの一部にさらに移動することを防ぎます。

グループアドレスとバーチャルアドレスは、複数のノードにサブスクライブされる可能性があり、通常は複数のノードにサブスクライブされる。宛先がグループアドレスであるパスは、通常、複数のパスターゲットノードを持つ。図7は、照明スイッチと、パスのグループアドレスにサブスクライブしている、大きなホールの一辺に沿った照明の集合との間の通信にサービスを提供するパスの例を示している。

写真7

図7 - 複数のターゲット・ノードを持つパス

もう一度、スイッチ・ノードはオン/オフ・メッセージを発行し、このメッセージは範囲内にあるすべてのBluetooth Mesh Directed Forwardingリレーによって受信されます。スイッチノードのユニキャストアドレスから、パスのグループ宛先アドレスにサブスクライブしているノード(パスターゲットノード)へのパス上にあることを知っているノードだけが、メッセージを再送します。そのパス上にない他のBluetooth Mesh Directed Forwarding ノードはメッセージを破棄する。Bluetooth Mesh Directed Forwardingは、このようなシナリオにおいて大幅な効率改善を提供することは明らかである。

パスがどのように作成され、維持されるかは、後のセクションで説明する。

対照的に、図8は、スイッチによってグループ・アドレスに発行された同じメッセージを、Bluetooth Mesh マネージド・フラッディング・リレーを使用してTTL値4で配信し、メッセージが意図するすべてのノードに到達するのに十分なホップ数を確保する様子を示している。

写真8

図 8 -Bluetooth Mesh 管理された洪水

比較しやすいように、図7と図8を並べてここに繰り返す:

写真7

Bluetooth Mesh ダイレクト・フォワーディング

写真8

Bluetooth Mesh 管理された洪水

 

2.2.3 信頼性

パスは、ソースアドレス、宛先アドレス、およびサブネットに対して、Bluetooth Mesh Directed Forwardingサービスを提供するノードのセットとしてすでに説明した。図6と図7を念頭に置くと、メッセージを配信するために使用される場合、パスは一般的に、ネットワークのさまざまな部分にあるさまざまなターゲットノードにパスに沿って中継されるときにメッセージのコピーが通過するノードのシーケンスの数で構成されることがわかります。

しかし、これらのノードシーケンスの1つ以上に断絶があった場合はどうでしょうか?明らかに、パスのノードシーケンスの1つの有向リレーノードが何らかの理由でメッセージを処理しなかった場合、パスのその部分はターゲットノードのサブセットにメッセージを配信できなくなります。図7に描かれているようなシナリオでは、これは部屋の一部の照明がスイッチから送信されたメッセージに応答しないことを意味します。

すべてのBluetooth® Mesh ノードは、一部の時間をメッセージの送信に、一部の時間を他のノードからの送信の受信待ち(一度に1つの無線チャネルでリッスン)に、残りの時間をアイドル状態に費やします。ノードが送信中またはアイドル状態の場合、その時間帯に隣接ノードから送信されたメッセージを受信することはできません。PDUが送信された無線チャネル以外の無線チャネルをリッスンしている場合は、メッセージも受信できません。

ノードがメッセージを受信できる時間の割合はRXデューティ・サイクルと呼ばれ、パーセンテージで表されます。mesh 製品は、RXデューティサイクルができるだけ高くなるように設計および構成することが推奨されますが、100%になることはありません。したがって、ノードがPDUを受信しない可能性は常にあります。これは、Bluetooth Mesh ネットワークの運用において予想されることであり、Bluetooth Mesh 技術がとるように設計されている確率的アプローチの基本的な特性である。

Bluetooth Mesh ノードは通常、3つの異なる無線チャネルでメッセージのコピーを1つずつ連続して送信する。さらに、ノードはマルチチャネル送信プロセスを何度も繰り返すように構成されるのが普通です。複数の無線チャネルを使用することで、パケット衝突のリスクを軽減することができ、メッセージを複数回再送信することで、意図した受信者がメッセージを見逃す確率を非常に低くすることができます。このように、ノード間の通信が成功する確率に影響する多くの変数を行使することで、Bluetooth Mesh は、他のアプローチが一般的に被るプロトコルや設定の複雑さの負担なしに、信頼性の高い通信を提供します。

Bluetooth Mesh Directed Forwardingは、他のメッセージングシナリオと同じように、ネットワーク層で複数の無線チャネルとPDU再送信を使用するため、同じ信頼性の利点を享受できる。しかし、ノードシーケンスが利用できなくなったり、動作しなくなったりする理由は他にもあります。例えば、ノードの電源が切れたり、新しい場所に移動したりすることもあります。Bluetooth Mesh Directed Forwardingは、mesh ネットワーク設計者に、ネットワークの信頼性を保証するための追加機能を提供する。この機能は、マルチレーンBluetooth Mesh Directed Forwardingパスです。

2.2.4Bluetooth Mesh Directed Forwarding Path Resilienceとレーン

Bluetooth Mesh Directed Forwarding機能はレーンの概念を定義している。Bluetooth Mesh Directed Forwardingパスは1つ以上のレーンから構成される。

レーンとは、送信元アドレス、宛先アドレス、サブネットに対して、Bluetooth Mesh Directed Forwardingサービスを提供できるノードの集合のこと。

この非公式な定義は、パスを説明するために使われた『2』ですでにお馴染みのはずだ。これは間違いではない。メッセージが送信元から宛先まで中継されるノードのシーケンスには、多くの場合、さまざまな選択肢がある。レーンとは、Bluetooth Mesh Directed Forwardingサービスを提供することができるノードシーケンスの1つの特定のセットであり、パスの信頼性を最大化するために、そのノードをパスの起点としてパスを作成するときに、複数のレーンを含むパスが確立されるようにノードを設定することが可能である。

図6を図9と並べて考えてみよう。

写真6図6 - 1車線の道

図9

図9 - 2車線の同じパス

 

図6は、スイッチから照明ノードへのメッセージの有向転送サービスを提供する単一レーンを含むパスを示している。図9は、同じ送信元アドレスと宛先アドレスに有向転送サービスを提供するが、2つのレーンが確立されている同等のパスを示す。図9のネットワークは、Bluetooth Mesh 、メッセージを宛先に届けることができる有向転送リレーの複数の可能なシーケンスという形で冗長性を含んでいるため、図6のネットワークよりも信頼性が高い。ただし、ネットワーク全体のトラフィックは増加する。

2.2.5 進路指標と車線選択

Bluetooth Mesh そのため、パス作成時に利用可能なノードシーケンスをランク付けするために、パスメトリクスのシステムに基づいた方法が定義されている。

Bluetooth® Mesh プロトコル仕様のバージョン1.1では、1種類のパス・メトリックが定義されているが、将来的に他のタイプのメトリックをシステムに追加できるように規定されている。このリリースでは、定義されているパス・メトリックのタイプはノード・カウント・メトリックと呼ばれています。これは、パスの一部を形成するノードの特定のシーケンスが、代替のノードシーケンスと比較してどの程度魅力的であるかを測定する、単純だが効果的な方法である。

ノード数メトリックは、メッセージが中間中継ノードまたはターゲットノードに到達するまでに中継されなければならないホップ数を、そのノードが属する(このパスに属する)レーン数のカウントと合計して測定する。このように、既存のレーンは反復するたびに魅力がなくなり、新しいレーンが作られる。

Bluetooth Mesh Directed Forwardingを使用してmesh アクセス・メッセージがネットワークを介して中継されるときには、パス・メトリッ クは使用されない。パスとレーンがどのように作成されるか、そしてそのプロセスにおけるパス・メトリクスの役割について、次に検討する。

2.2.6 道と車線の整備

パスは、Configuration Managerツールを使って手動で作成されるか、一連の自動化された手順の実行によって動的に検出され、確立される。手動で作成されたパスは固定パスと 呼ばれ、動的に作成されたパスは非固定パスと呼ばれます。

Bluetooth Mesh ディレクテッド・フォワーディング・コンフィギュレーション・サーバー・モデルには、フォワーディング・テーブルと呼ばれる重要な状態がある。フォワーディング・テーブルのエントリーはノードが属するパスを示し、固定パスを作成する際に手動で更新されるのがフォワーディング・テーブルです。

Bluetooth Mesh Directed Forwardingの各ノードは、Discovery Tableと呼ばれるデータ構造も持っている。一時的なエントリは、自動パス発見プロセス中にこのテーブルに作成され、パスのレーンを形成するノードのシーケンスを識別するのに役立ちます。

非固定パスは、Bluetooth Mesh 、送信元アドレスから宛先アドレスにメッセージを配送するために使用されるが、送信元ノードがその転送テーブルにエントリーを持たない場合に、最初に作成される。

Bluetooth Mesh Directed Forwarding InitializationBluetooth Mesh Directed Forwarding Discovery、 Bluetooth Mesh Directed Forwarding Establishmentとして知られる3つの手続きは、パスを作成するために実行されなければならない。

パスの生成と維持は、パスオリジンステートマシンと呼ばれるステートマシンに従って、一連のタイマーとステート値によって管理される。その名の通り、この重要な複合状態は、Bluetooth Mesh パスの起点ノードによってDirected Forwardingの初期化中に生成される。フォワーディング番号と呼ばれる識別子も、Bluetooth Mesh Directed Forwardingの初期化中に割り当てられ、一連の初期化、発見、確立手順に関連するすべての制御メッセージは、同じフォワーディング番号値を持つ。

パス起点のステートマシンを作成し、パス発見タイマーを開始すると、パス起点はPATH_REQUEST制御メッセージを送信する。このメッセージは、DST(宛先アドレス)フィールドが新しい固定グループアドレス、 all-directed-forwarding-nodesに設定されて送信される。PATH_REQUESTメッセージには、Destinationと呼ばれる別のフィールドがあり、パスターゲットのアドレスに設定される。

Bluetooth Mesh 有向転送(Directed Forwarding)の発見は、PATH_REQUESTメッセージがパスの 起点から送信され、それを受信した各有向転送(Directed Forwarding)リレー(Bluetooth Mesh )によって再 生され、再度ブロードキャストされることで進行する。このようにして、PATH_REQUESTメッセージは最終的にネットワーク上のすべての 有向転送(directed forwarding)リレーによって受信される。

受信信号強度インジケータ(RSSI)が設定されたしきい値よりも低いPATH_REQUESTを受信したノードは、そのメッセージを破棄する。これにより、弱い無線リンクを使用してパスが作成されないようにします。

PATH_REQUESTメッセージのコピーが様々なノードシーケンスに沿ってホップするにつれて、パスメトリック値がメッセージ内に保持されるため、発見手順が進行するにつれて、各ノードへの到着コストが追跡される。

転送番号のPATH_REQUESTメッセージがノードによって最初に受信されると、そのノードのディスカバリテーブルにエントリが作成される。このエントリには、作成されるパスのIDと、パスの起点からこのノ ードまでのノードシーケンスに関連するコストを表すパスメトリックが含まれる。さらに、Bluetooth Mesh Directed Forwarding 確立手順にとって重要なことに、この特定のノードシーケンスでこのノードに先行するノードのユニキャストアドレスも、Next_Toward_Path_Originというフィールドに格納される。

PATH_REQUESTメッセージが、同じ発見手順の間に別のノードシーケンス経由ですでに訪問されたノードによって受信されると、発見テーブルは、この機会にPATH_REQUESTメッセージによって取られたノードシーケンスが、これまでに発見された最良よりも優れているかどうかを決定するために参照される。このPATH_REQUESTのインスタンスが取ったシーケンスに対するパスメトリックが、ディスカバリテーブルに記録された値よりも低い値である場合、ディスカバリテーブルのエントリは、Next_Toward_Path_Originにこの新しいシーケンスにおける前のノードのユニキャストアドレスと、新しく低いパスメトリック値を含むように更新される。このようにして、パス識別子、パスメトリック、およびシーケンス内の前のノードのユニキャストアドレスで表される、最良のノードシーケンスの記録が、発見中に訪問した各ノードの発見テーブル内に保持される。

PATH_REQUESTメッセージがパスターゲットノード(Destinationフィールドのアドレスをサブスクライブしているノード)に到達すると、パスリプライタイマーと呼ばれるタイマーがスタートする。このタイマーが切れると、Bluetooth Mesh Directed Forwarding確立手順が始まる。この手順は、このノードがこのパスの新しく発見されたレーンの一部であるという事実を記録するために、フォワーディングテーブルのエントリを追加または更新する。次にPATH_REPLYメッセージが、発見テーブルエントリーのNext_Toward_Path_Originフィールドに含まれるユニキャストアドレスを持つノードに送信される。PATH_REPLYメッセージは、メッセージがパスの起点に到着するまで、選択されたノードシーケンス内の中間リレーを経由して、転送テーブルエントリを作成または更新しながら、パスの起点ノードに向かってホップバックする。

各訪問ノード上で実行されているパス発見タイマーのインスタンスは、パス確立手順が終了する前に期限切れとなり、そうなると、各ノードの発見テーブルの関連するエントリーは削除される。選択された各ノードの転送テーブルには、確立されたパスのエントリが含まれるようになり、このエントリは単に、これらのノードのそれぞれがそのパスをサービスしていることを示す役割を果たします。転送テーブルには、次のノードや前のノードを示すデータは含まれていないことに注意する必要があります。前のノードのアドレスはパスの確立にのみ必要であるため、発見テーブルに一時的に格納されるだけである。

図10

図 10 -Bluetooth Mesh ダイレクト・フォワーディングの発見と確立

要約すると、パスの発見では、PATH_REQUESTメッセージが、パスの起点から始まって、ネットワーク内のBluetooth Mesh Directed Forwardingノードの可能なシーケンスすべてを通過する。これまでに発見された最良のシーケンスのパスメトリック値は、手順が実行されるにつれて、各ノードの発見テーブルに記録される。パスターゲットノードから始まり、そのノードにつながり、最良のパスメトリック値をもたらしたノードシーケンスは、パスオリジンノードに到達するまで、ディスカバリテーブルに保存されたNext_Toward_Path_Originユニキャストアドレスのみを使用して、そのシーケンス内のノードに沿ってホップするPATH_REPLYメッセージによって辿られる。

図11は、スイッチ(緑色のアイコンで示される)と1つのライト・ノード(黄色のアイコンで示される)からパスを作成する際の、ネットワークを介したPATH_REQUESTメッセージとPATH_REPLYメッセージの旅という観点から、発見と確立の手順を示している。

Wanted Lanesと呼ばれる設定状態は、パスがいくつのレーンを持つべきかを示す。パスの起点ノードでは、パス発見 タイマーが切れると、Wanted Lanesが これまでに確立されたレーン数と照合され、必要に応じて発見と確立の手順が再度実行される。また、PATH_REQUESTメッセージが、すでにこのパスの転送テーブル・エントリを持っているノードによって処理された場合、パス・メトリック値にレーン・カウンタが追加される。このようにして、再訪問される以前に確立されたレーンは、パス発見の各反復の間に、それらに関連するメトリック値が徐々に高くなる。この結果、他のノード・シーケンスが確立されたレーンに対してより魅力的になり、最終的に選択されることになる。さらに、パス・メトリック・システムが機能する方法では、一般に、不連続なレーンが優先される。

2.2.7 コースの監視と維持管理

ネットワークは変化するため、パスとそのレーンをメンテナンスする必要がある。この目的のために、自動パスメンテナンスに関するいくつかの手順とタイマーが使用される。

すべての非固定パスには、コンフィギュレーション・ステートで定義される有限のライフ・スパンがある。サポートされている値は、12分、2時間、24時間、10日です。パスのデフォルト寿命は24時間です。

固定パスは、コンフィギュレーション・マネージャー・アプリケーションを使用して削除されるまで持続する。

パスの寿命

非固定パスの寿命はパス寿命タイマーと呼ばれるタイマーを使用して管理され、このタイマーは設定されたパス寿命状態値に設定され、パス確立時に各ノードで初期化される。タイマーの有効期限が切れると、パス上の各ノードでパスの転送テーブル・エントリが削除されます。パスは次に必要になったときに再作成されます。

パスのモニタリング

パスオリジンステートマシンは、特定のBluetooth Mesh Directed Forwarding宛先に関連付けられ、パス監視タイマーや パスが必要な状態など、多くのタイマーと状態を定義する。パスが必要な状態は、パスがパスオリジンによって使用されているかどうかを追跡するために使用される。

パスのモニタリングは、設定された一定の間隔で一定期間行われる。

パス監視タイマーが 満了したとき、パス監視によってそのパスがまだ必要であることが判明していれば、Bluetooth Mesh Directed Forwarding 初期化手順が実行され、パスがネットワークの現状に合わせてリフレッシュされる。そうでない場合、パスの有効期間タイマーが切れると、パスは削除される。

パス監視は、不要になったパスを特定し、削除する。

パスの検証

Bluetooth Mesh Directed Forwarding エコー手順もタイマー駆動の手順である。パス・エコー・タイマーは、パスが確立されたときにパスの起点ノードに設定される。このタイマーが切れると、パスの発信元はパスの宛先アドレスにPATH_ECHO_REQUESTメッセージを送信する。PATH_ECHO_REQUESTはパスのターゲットノードに中継される。ターゲットノードでPATH_ECHO_REQUESTを受信すると、PATH_ECHO_REPLYがパスの起点に返送される。このメッセージを設定された制限時間内にパスの起点で受信すると、パスが有効になります。パスの起点でエコー応答を受信できないと、そのパスは無効になり、パスの起点の転送テーブルからそのパスが削除される。

Bluetooth Mesh Directed Forwardingのエコー手順を使ったパスの検証は、パスがまだ機能しているかどうかをチェックする。

サブスクリプションの変更

Bluetooth Mesh 有向転送(Directed Forwarding)ノードが新しいアドレスをサブスクライブした場合、 または低電力ノードなどの従属ノード(参照)が新しいアドレスをサブスクライブした場合、Bluetooth Mesh 有向転送(Directed Forwarding)勧誘手順が実行される。この手順によって、このノードを含むようにパスが更新され、パス内の追加ターゲットノードとなる。

自己組織化と最適化

モニタリングとメンテナンスの手順により、切断されたパスが特定され、自動的に再確立される。これは、Bluetooth® Mesh ネットワークにおける自己 組織化動作の一例である。

メトリックは、パスを確立する際に利用可能な最良のノード・シーケンスを選択するために使用される。しかし、より多くのレーンがノードに関与するようになると、そのノードがサポートするパスの1つまたは複数にとって最良の選択肢でなくなる可能性があります。そのため、パスの寿命が尽きると定期的にパスを削除し、その後再確立することで、パスとそのレーンはパス・メトリックの観点から常に利用可能な最良のものとなります。Bluetooth Mesh ディレクテッド・フォワーディングのパスは自己組織 れ、自己 最適化されます。 

2.2.8 アクセス・メッセージ

アクセス・メッセージは、クライアント・モデルとサーバー・モデルの一部として定義され、モデルの状態値に作用するメッセージ・タイプである。アクセス・メッセージは、Bluetooth Mesh マネージド・フラッディング、またはBluetooth Mesh ディレクテッド・フォワーディングのどちらかによって、ネットワークを介して配信される。ディレクテッド・パブリッシュ・ポリシーのステートは、2つの方法のどちらを使用すべきかを示す。

すべてのアクセス・メッセージは、暗号化キーとプライバシー・キーで構成されるセキュ リティ・マテリアルを使ってネットワーク・レイヤーで保護される。使用されるセキュリティ素材はNIDフィールドで識別される。同じNetKeyから、k2セキュリティ関数の異なるパラメータを使用して、いくつもの異なるセキュリティ素材を生成することができる。これらのセキュリティ素材は異なる目的で使用される。Bluetooth Mesh Managed Flooding マテリアルは、特別な場合を除き、そのNetKeyに関連する サブネット上で送信されるすべてのメッセージに使用される。例えば、フレンドシップ・セキュリティ・マテリアルは、フレンド・ノードとそれに従属する低電力ノードが交換するPDUを保護するために使用される。

Bluetooth Mesh Directed Forwardingが使用されるべきであることを中継ノードに示すために、ネットワークPDUは、Directed Security Materialとして知られるセキュリティ材料でパスオリジンによって保護される。

Bluetooth Mesh Managed FloodingおよびBluetooth Mesh Directed Forwardingのセキュリティ材料の計算式は以下の通り:

管理された洪水対策資料

NID || EncryptionKey || PrivacyKey = k2(NetKey, 0x00)

安全保障資料の転送を指示

NID || EncryptionKey || PrivacyKey = k2(NetKey, 0x02)

見てわかるように、2つの式は2番目のパラメータ値のみが異なる。関数k2はBluetooth® Mesh Protocol Specificationで定義されている。

2.2.9 車線造成と車線利用

アクセスメッセージがパブリッシュされ、Bluetooth Mesh Directed Forwardingが配送方法に選択されると、パス内のすべてのレーンにあるすべてのノードを使用できる。このメッセージはパスの起点によってブロードキャストされ、パス発見および確立時にどのレーンにあるとみなされたかに関係なく、パス上にあり範囲内にある各Bluetooth Mesh Directed Forwardingリレーノードによってリレーされる。レーンを追加することは、パスを形成しサービスを提供するノードの セットにノードを追加するだけであり、アクセスメッセージの配信に使用される 場合、レーン間の区別は問題にならなくなる。これは有益な結果をもたらします。

パス作成手順は、パスの起点ノードから1つまたは複数のパスの目標ノードへのメッセージの配信に対応できるノードのシーケンスを識別する。ノード・シーケンスは、発見および確立手順の1回以上の繰り返しで特定され、それぞれが順次実行されます。各レーンは、同じ送信元と宛先にサービスを提供するノードシーケンスの別個のセットを含むと想像することができる。しかし、前述のように、Bluetooth Mesh Directed Forwardingがアクセスメッセージの配送に使用されるとき、この区別は存在しなくなる。パスのレーンは、メッセージを宛先に転送することができる、単一のより大 きなノードセットとして動作する。その結果、パスの発見と確立の間に明示的に特定されたものよりも、アクセ スメッセージを配送するときに利用可能なノードの明確なシーケンスが存在する 可能性がある。

図11

図11 - アクセス・メッセージの配信におけるパスの使用

図11は、ノードAからノードJへのパスを示している。2つのレーンが必要であり、発見および確立手順は、ノードシーケンスA/D/E/JおよびA/X/W/F/G/Jを特定した。しかし、ノードDとXは互いに範囲内にあるため、Bluetooth Mesh Directed Forwardingが使用される状態で、AがJ宛のメッセージを発行すると、メッセージのコピーは、A/D/E/JおよびA/X/W/F/G/Jのいずれかに沿って移動する可能性がある。D/X/W/F/G/JまたはA/X/D/このことは、マルチレーン経路によって、一見したところよりもさらに大きな冗長性と、したがってさらに大きな信頼性が得られることを意味する。

2.2.10 ノード依存性

ノード依存の概念は、1つのノードがサポートノードとして機能し、1つまたは複数の他の依存ノードにサービスを提供する、異なるタイプのノード間の関係を説明します。たとえば、フレンドノードは、依存関係にある低電力ノードのサポートノードとして機能します。フレンドノードは、依存関係にある低電力ノード宛のメッセージの一時的な格納場所として機能することで、依存関係にある低電力ノードにサービスを提供します。低電力ノードは、都合の良いときにフレンドからこれらのメッセージを収集し、その結果、無線アクティビティを削減して電力を節約します。

Bluetooth® Mesh プロトコル仕様のバージョン1.1では、ノード依存はより広範に適用可能な概念となり、Bluetooth Mesh 多くのシナリオで有向転送に適用される可能性がある。要するに、依存ノードに有向転送サービスを提供するサポートノードは、依存ノードからの すべてのメッセージが中継されるときに有向セキュリティ材料で保護されることを保証し、 依存ノードに代わって必要な有向転送手順を実行する。

サポートノードの転送テーブルには、従属ノードエレメントのアドレスのリストが含まれており、Bluetooth Mesh Directed Forwarding手順の実行を含め、従属ノードに代わって実行されるすべてのBluetooth Mesh Directed Forwarding操作において、パスの起点として機能する。

プロキシノードとBluetooth Mesh ダイレクトフォワーディング

プロキシ機能は、プロキシクライアントと プロキシサーバーを含む。プロキシクライアントは通常、GATTベアラ上でプロキシ プロトコルを使用し、プロキシサーバーを介してネットワーク上の他の ノードとmesh PDUを送受信する。プロキシクライアントは多くの場合、スマートフォン、デスクトッ プ、またはWebアプリケーションである。

プロキシサーバーは、mesh プロキシデータイン(proxy data in)mesh プロキシデータアウト(proxy data out)の2つのGATT特性を含むGATTサービスを実装する。プロキシクライアントはプロキシPDUをmesh プロキシデータイン特性に書き、PDUをGATT通知として受け取る。

プロキシサーバーはBluetooth Mesh Directed Forwardingをサポートするかもしれない。サポートする場合、Directed Proxyステートが存在し、enabledの値を持つことで示される。

プロキシサーバーがどのように動作するかは、多くのパラメータによっ て接続ごとに異なるかもしれない。プロキシクライアントが最初に有向プロキシサーバーに接続するとき、 プロキシクライアントはDIRECTED_PROXY_CAPABILITIES_STATUSメッ セージと呼ばれるプロキシ設定メッセージを受け取る。このメッセージは、その接続に現在適用されているBluetooth Mesh Directed Forwardingパラメータを示し、2つのフィールドで構成される。Directed_Proxyは、プロキシサーバーに対して有向プロキシ機能が有効になって いるかどうかを示す。Use_Directedは、Bluetooth Mesh Directed Forwardingがこの接続上のプロキシクライアントメッセージに使用されるかどうかを示す。

プロキシクライアントは、DIRECTED_PROXY_CONTROLメッセージを送る ことによって、有向プロキシサーバーの動作をある程度制御できる。Use_Directed フィールドを含むので、プロキシクライアントはプロキシサーバー に、このクライアントが送るメッセージにBluetooth Mesh Directed Forwardingを使用するように通知できる。Use_Directedフィールドの値がenabledの場合、メッセージにはProxy_Client_Unicast_Addr_Rangeというオプションのフィールドも含める必要がある。このフィールドには、プロキシサーバーがBluetooth Mesh Directed Forwardingを使用しなければならないユニキャストアドレス範囲が含まれる。

プロキシクライアントはBluetooth Mesh Directed Forwardingを直接または間接的に使用することができる。

Bluetooth Mesh 直接転送(Directed Forwarding)を直接使うには、プロキシクライアントは、プロキシ サーバーにそれが有向リレーノードとして動作しなければならないことを示 す、有向セキュリティマテリアルでメッセージを保護する。

それを間接的に使用するために、クライアントは、サポートしている 指示されたプロキシサーバーが提供するサービスを利用する。メッセージはBluetooth Mesh Managed Floodingで保護され、プロキシサーバーで有向中継が有効になっていて、宛先アドレスへのパスが存在する場合、Bluetooth Mesh Directed Forwardingが、依存クライアントに代わってプロキシサーバーによってメッセージに使用される。

友情とBluetooth Mesh ダイレクトフォワーディング

フレンドノードは指示されたフレンドとして動作し、プロキシノードについて説明したのと同様の方法で、関連する低電力ノードにBluetooth Mesh Directed Forwardingサービスを提供することができる。有向制御状態でこの機能が有効になっている場合、フレンドは有向フレンドとして動作します。この場合、フレンドノードは、Bluetooth Mesh Directed Forwardingを使用して、可能な場合はその低電力ノードからのメッセージを中継し、必要な場合はBluetooth Mesh Directed Forwarding手順を実行します。例えば、低電力ノードが、フレンドの転送テーブルにリストされているパスが現在存在しないアドレスにメッセージを送信しようとする場合、フレンドはパスの起点のステートマシンの状態のインスタンスを作成し、Bluetooth Mesh Directed Forwardingの初期化手順を開始します。この機能を使用するには、低電力ノードはメッセージの発信にフレンドシップ・セキュリティ・マテリアルを使用する必要があります。

3.閉じる

Bluetooth® Mesh Directed Forwarding機能は、ネットワーク内で共有される無線スペクトラムの使用効率を向上させ、そうすることで、ネットワークの全体的なスケーラビリティを向上させます。Bluetooth Mesh Directed Forwardingパスの自動作成とメンテナンスにより、ネットワークのプランニングとコンフィギュレーションがより簡単になります。

Get Help