ブルートゥース®メッシュ・ダイレクト・フォワーディング
ブルートゥース®メッシュ・ダイレクト・フォワーディング
技術概要
リリース: | 1.0.0 |
文書バージョン: | 1.0 |
最終更新日: | 2023年9月19日 |
著者: |
マーティン・ウーリー、BluetoothSIG |
Version |
Date |
Author |
Changes |
1.0.0 |
September 19, 2023 |
Martin Woolley, Bluetooth SIG |
Initial version |
注 Bluetooth Mesh Profile Specificationは名称が変更され、Bluetooth Meshと呼ばれるようになりました。 プロトコル仕様と呼ばれるようになりました。本書および関連論文では、バージョン1.1仕様に言及する場合はこの名称を使用しますが、バージョン1.0仕様については引き続きBluetooth Mesh プロファイル仕様と呼びます。 |
1.背景
ディレクテッド・フォワーディングは、ブルートゥース® Meshプロトコル仕様のバージョン1.1で導入されました。Bluetooth Mesh Directed Forwardingの機能と利点を十分に理解するには、Bluetooth Meshバージョン1.0のいくつかの側面を理解する必要があります。このセクションでは、Bluetooth Mesh Directed Forwardingの機能理解するための背景を説明します。
1.1 マルチホップとマルチパスのメッセージ配送
定義的な特徴の一つはブルートゥース® メッシュネットワークとは、デバイス同士が直接の無線範囲内にいなくても通信できるネットワークです。ネットワーク内のデバイス(ノード)は、メッセージを送信することで通信を行います。宛先 必要に応じて、メッセージはネットワークをホップして、宛先のアドレスに届きます。宛先 リレーと呼ばれるプロセスを使用します。メッセージは最大126回ホップできるため、建物内、周囲、そして建物間の広い範囲をネットワークでカバーできます。
同じメッセージのコピーは、最初に到着したコピーが処理され、それ以降に到着したものは破棄されながら、ネットワークを介して異なる経路を同時に移動することができる。このマルチパス機能はネットワークに冗長性を与え、ネットワーク内の1つ以上の必要な中継ノード(1.2参照)が利用できない場合でも、メッセージを配信できるようにする。
よく設計されたBluetooth Meshネットワークは、ネットワーク内の通信の信頼性を確保するために使用できる戦略の1つとして、マルチパス配信を活用する。
1.2 ノードの特徴
例えば、LEDライトは、スイッチや回転制御装置などの他の装置から受信したメッセージに応答して、オン・オフを切り替えたり、明るさや色を変えたりすることができるモデルを実装することができる。
また、ノードはproduct 種類に関係なく、ネットワーク内で様々な特別な役割を果たすことができます。Bluetooth Meshでは、ノードが持つ可能性のある4つの特別な機能を定義しています。これらを表1に示します。
表1 - ノードの特徴
機能 |
項目 |
リレー |
中継機能 有効にしたノードは、すぐ近くにある他のデバイスから聞いたメッセージを再送信することができる。中継とは、メッセージが中間の中継デバイスを経由してその宛先ホップすることを可能にするメカニズムである。マルチパス配信は、送信ノードが複数の中継ノードの範囲内にあることを保証し、各ノードが隣接ノードからのメッセージを聞き、各ノードが再送信することで実現されます。 |
友人 |
フレンドは通常、電力が豊富なデバイスである。フレンドは、関連する低電力ノード(LPN)にストア&フォワードサービスを提供する。 |
低消費電力ノード |
LPNは、メッセージを送信したり、関連するフレンドノードと通信して、LPNへのメッセージがフレンドによって一時的に保存されているかどうかを尋ねたり、保存されているメッセージを受信したりするために、たまにしか無線を起動しないことで電力を節約します。 |
プロキシ |
プロキシノードは、Bluetooth Meshアドバタイズ ベアラー 使用できないブルートゥース® Low Energy(LE)デバイスが、プロキシとのポイント・ツー・ポイント接続を介してGATT手順を使用してメッシュメッセージを送受信することを可能にします。プロキシノードは、特別に開発されたスマートフォンアプリケーションがメッシュネットワーク内のノードを監視・制御するためのグラフィカル・ユーザー・インターフェースとして動作するために使用されることがよくあります。 |
1.3フラッディング
制御されていないフラッディング 、いくつかのワイヤレス・ネットワーキング技術で使用されているテクニックで、ノードが受信したメッセージをすべて再送信することで、メッセージがネットワーク内のすべてのノードに伝播する。シンプルなアプローチですが、無線スペクトラムとノードの処理時間と電力を浪費し、非効率的な場合があります。
ブルートゥース® Mesh 1.0がメッセージの中継に使用するメカニズムはBluetooth Mesh Managedフラッディング呼ばれます。選択されたノードだけがリレー機能 有効にすることができます。さらに、これらのノードは、ノードのメッセージ・キャッシュやTTL(Time to Live)と呼ばれるプロトコル・データ・ユニット(PDU)フィールドの値によって、同じメッセージがすでに再送信されているかどうかに応じて、受信したメッセージの一部を再送信します。
TTLは、メッセージが中継されるホップ数や、送信元からの半径距離を制限する。オフィスのロビーにあるBluetooth Mesh照明スイッチのセットを想像してみてください。1つのスイッチは1階にあるすべての照明ノードを制御し、もう1つのスイッチはロビーにある照明のみを制御します。ロビーのすべての照明ノードがロビーの照明スイッチの直接無線範囲内にある場合、これらのメッセージを中継する必要はまったくありません。対照的に、ロビー以外のこのフロアの他の照明に到達するには、おそらく2ホップが必要です。最初のスイッチは、送信するメッセージのTTLを0に設定し、中継を行わないことを示す。2番目のスイッチはTTLを3に設定し、ロビーを越えてより遠くにある照明に到達するのに十分な回数の中継が行われるようにする。いずれの場合も、TTLは、メッセージが建物内の関連性のないエリアに中継されないようにし、メッセージが発信源から外側へ、水に落とした石ころの波のように伝播するようにすることで、中継機能を最適化している。
制御されていないフラッディング 使用し、不必要なトラフィックを大量に発生させるネットワークとは対照的に、ブルートゥース® メッシュ・ネットワークでは、リレーとして機能するノードは5%程度にとどまるのが一般的です。
1.4フラッディング限界
Bluetoothフラッディング 提供できるよりも、どのノードがメッセージをリレーするかを正確にコントロールできる方が有利なシナリオがあります。次のようなシナリオを考えてみましょう:
1.4.1 隣接フロア
無線送信は3次元で行われます。そのため、ブルートゥース® メッシュ・メッセージは、発信元のフロアの上下にあるノードによって受信される可能性があり、メッセージが発信元のノードと同じフロアにあるノードにのみ宛てたものである場合、望ましくないことがあります。例えば、照明スイッチは同じフロアの照明のみを制御するために使用されることが多く、スイッチからのメッセージが他のフロアのノードに聞こえ、隣接するフロアのリレーによって再送信される可能性があることに価値はありません。
1.4.2 部屋の片側にあるデバイスのみをターゲットにする
大きな会議場を想像してほしい。部屋の端ともう一方の端にあるステージの中間地点の壁に、照明スイッチのバンクがある。つのスイッチがステージ上の照明をコントロールし、メッセージはホップ1つですべてに届くように中継される必要がある。
図1に描かれているネットワークでは、スイッチの範囲内に2つのリレーがあります。これは、同じパネル内の他のスイッチが、制御する必要のあるすべての照明ノードに到達できるようにするために必要です。舞台照明スイッチが使用されると、メッセージが送信され、両方のリレーで受信され、再送信されるため、メッセージはターゲット照明に向かっても、ターゲット照明から遠ざかってもネットワークを移動します。
図1-舞台照明と複数の中継ノードがある会議ホール
図2 - 点灯/消灯メッセージを放送する照明スイッチ
図3-2つのリレーがメッセージを受信し、両方が再送信する
ステージから最も遠いリレーは、スイッチからステージ照明へのメッセージ伝達に寄与しないため、これは無駄であり、理想的には関与すべきではない。
1.5 メッセージングの容量とスケーラビリティ
あるデバイスがメッセージを送信するとき、そのデバイスは一定時間無線チャネルを使用する。この最初のデバイスの範囲内にある別のデバイスが、同じチャネルで同時にメッセージを送信すると衝突が発生する。したがって、すべてのデバイスが互いに範囲内にあるネットワークの一部では、送信されるすべてのメッセージが一定期間無線チャネルを使用し、一度に1つだけが安全に使用できるため、メッセージング容量には限りがあります。
ブルートゥース® メッシュは3つの無線チャンネルを使用するため、1メッセージあたりの消費時間は短い。しかし、それでも容量は有限であり、最終的にはネットワークのスケーラビリティを制限する要因となります。
1.6フラッディング評価
フラッディング 、ネットワークを通じてメッセージを伝播するシステムである。また、適切に設計されたネットワークでは、リレーを適切に配置することで、マルチパス・リレー動作による冗長性を提供します。
メッセージのキャッシュとTTLパラメータの使用により、メッセージの送信距離をある程度制御することができ、これによりある程度の最適化が実現します。リレーは互いに完全に独立しているため、依存関係や、デバイスの移動など何かが変更された場合に維持しなければならない構成設定がありません。ほとんどの場合、Bluetooth Mesh Managedフラッディング 、メンテナンスがほとんど必要ない、目的に合ったソリューションです。
TTLはメッセージのホップ数を制限するために使用できますが、ネットワークを通過するメッセージの方向を制御することはできません。Bluetoothメッシュ・フラッディング 、メッセージをネットワーク上のあらゆる方向に波及させるため、メッセージに関連性のないネットワークの一部で、有限のメッセージング容量を無駄に使用する可能性があります。
フラッディング 、私たちが望むような最も効率的なネットワーク利用を実現しないネットワークdesign シナリオもあり、場合によってはスケーラビリティが制限されることもある。
これが、Bluetooth Mesh機能 拡張バージョン1.1リリースで導入されたBluetooth Mesh Directed Forwarding機能の主な動機でした。
2.Bluetooth Mesh Directed Forwardingについて
このセクションでは、Bluetooth Mesh Directed Forwarding機能説明します。
2.1 能力とメリット
2.1.1 利用率の向上による拡張性の向上
Bluetoothメッシュダイレクトフォワーディングを使用すると、ネットワークを、そのネットワークにメッセージを送信できるノードのみに設定することができます。宛先 そうします。逆に、Bluetooth Mesh Directed Forwarding を使用するノードは、その経路で役に立たないメッセージを無視します。
メッセージの発信または中継時にBluetooth Mesh Directed Forwardingを使用できるノードをBluetooth Mesh Directed Forwardingノードと呼びます。Bluetooth Mesh Directed Forwardingを使用してメッセージを中継できるものをBluetooth Mesh DirectedForwardingリレーと呼びます。Bluetooth Mesh Directed Forwardingリレーは常にBluetooth Mesh Directed Forwardingノードですが、Bluetooth Mesh Directed ForwardingノードはBluetooth Mesh Directed Forwardingリレーでもある場合とない場合があります。どちらの用語が使用されるかは、通常、文脈によって異なります。
図4は、会議室の例のステージ照明スイッチからのメッセージが、意図した宛先にメッセージを届けることができる位置にあるBluetooth Mesh Directed Forwardingリレーの1つによってのみ中継されることを示しています。宛先一方、スイッチの範囲内にある他のダイレクトフォワーディングリレーノードはこれらのメッセージを無視します。このシナリオでは、照明スイッチはBluetooth Meshダイレクトフォワーディングノードとして機能していることに注意してください。
図4 - ブルートゥース・メッシュ・ディレクテッド・フォワーディング
2.1.2 より容易なネットワークDesign コミッショニング
ブルートゥース® メッシュ・ネットワークの設計と設定(コミッショニング)では、メッセージ伝搬にブルートゥース® フラッディング 単独で使用する場合、リレーとして機能するノードの数や配置場所などの問題を慎重に検討する必要があります。リレーとして機能するノードの数が多すぎると、ネットワーク内で必要以上のトラフィックが発生し、衝突のリスクが高くなり、スケーラビリティが制限されます。リレーとして機能するノードの数が少なすぎると、一部のノードに到達できない通信問題が発生したり、design上の冗長性が不足したりする可能性がある。
Bluetooth Mesh Directed Forwardingを使用できるようにするには、ネットワークの立ち上げ時にほとんど手間がかかりません。すべてのノードはBluetooth Mesh Directed Forwardingを使用するように設定することができ、動作に必要なのはBluetooth Mesh Directed Forwardingポリシーパラメータの簡単なセットを設定することだけです。
2.2 テクニカル・ハイライト
2.2.1 Bluetooth Mesh Directed Forwarding設定サーバ モデル
Bluetooth Mesh Directed Forwardingと呼ばれる新しい基盤モデル 設定サーバモデルが導入されました。これには、Bluetooth Mesh Directed Forwarding状態やDirected Relay状態など、いくつかのサブ状態を含むDirected Controlと呼ばれる複合状態が含まれます。これらの状態は、Bluetooth Mesh Directed Forwardingおよび有向リレー機能がそれぞれ有効になっているかどうかを示し、制御します。これら2つの機能の関係を考慮すると、有向リレー状態はBluetooth Mesh Directed Forwarding状態にバインドされ、有向フォワーディング機能が無効になると有向リレー機能も無効になります。
Bluetooth Mesh DirectedForwardingの有無について 設定サーバモデルの有無によって、ノードが Bluetooth Mesh Directed Forwarding を使用できるかどうかが決まります。Directed Control状態の値によって、どの Bluetooth Mesh Directed Forwarding 機能が有効または無効になるかが決まります。
2.2.2 パス
Bluetooth Mesh Directed Forwardingの中継ノードが特定のメッセージだけを再送信し、他のメッセージは再送信しないという選択的な参加には、パスとレーンの概念が含まれます。ブルートゥース® メッシュプロファイルのバージョン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フラッディング 方式の利点の1つを維持しています。
図解が続く。図5は、使用されているアイコンのキーである。
図5 - イラストのキー
図6は、照明スイッチがパスの起点として機能し、単一の照明器具が唯一のパスのターゲットノードとして機能する、単純なBluetooth Mesh Directed Forwardingパスを示しています。
図6 - ターゲットノードが1つのパス
図6の赤いアイコンはBluetooth Mesh Directed Forwardingリレーを表し、スイッチ・ノードから、スイッチが使用するアドレス 購読している照明ノードへのパスの一部です。スイッチがオン/オフ・メッセージをパブリッシュすると、パス上にある赤のノードと、そうでない隣接する有向中継ノード(紫)の両方が受信します。赤のノードは必要なパス上にあることを認識しているため、Bluetooth Mesh Directed Forwardingを使用してメッセージを中継します。紫色のノードは自分がこのパスの一部ではないことを知っているため、オン/オフメッセージを直ちに破棄します。これにより、メッセージはネットワークの関連性のない部分にまで伝わらないようになります。
グループアドレスと仮想アドレスは、複数のノードによって購読される可能性があり、通常はそうである。宛先 グループですアドレス 通常、パスターゲットノードは複数存在します。図7は、照明スイッチと、大きなホールの一角にある照明の集合との間の通信を提供するパスの例を示しています。これらの照明はすべて、パスのグループに加入しています。アドレス。
図7 - 複数のターゲット・ノードを持つパス
スイッチノードは再びオン/オフメッセージを発行し、範囲内にあるすべてのBluetooth Mesh Directed Forwardingリレーがこれを受信します。ユニキャストからのパス上にあることを知っているリレーのみが受信されます。アドレス スイッチノード(パスの起点)からグループに加入しているノードまで宛先 アドレス パス(パスターゲットノード)のノードはメッセージを再送信します。そのパス上にない他のBluetooth Mesh Directed Forwardingノードはメッセージを破棄します。このようなシナリオでは、Bluetooth Mesh Directed Forwardingが大幅な効率向上をもたらすことは明らかです。
パスの作成と維持の方法については、後のセクションで説明する。
対照的に、図8は、スイッチからグループ・アドレス発行された同じメッセージですが、メッセージが意図するすべてのノードに到達するのに十分なホップ数を確保するために、TTL値4のBluetoothフラッディング 使用して配信されています。
図8 -フラッディング
比較しやすいように、図7と図8を並べてここに繰り返す:
ブルートゥース・メッシュ・ディレクテッド・フォワーディング |
フラッディング |
2.2.3 信頼性
パスは、ソースにBluetoothメッシュ直接転送サービスを提供するノードの集合として既に説明されている。アドレス、宛先 アドレス、およびサブネットです。図6と図7を念頭に置くと、メッセージを配信するためにパスが使用される場合、一般的に、メッセージのコピーがパスに沿ってネットワークのさまざまな部分にあるさまざまなターゲットノードに中継される際に通過する、複数のノードのシーケンスで構成されることがわかります。
しかし、これらのノードシーケンスの1つ以上に断絶があった場合はどうでしょうか?明らかに、パスのノードシーケンスの1つの有向リレーノードが何らかの理由でメッセージを処理しなかった場合、パスのその部分はターゲットノードのサブセットにメッセージを配信できなくなります。図7に描かれているようなシナリオでは、これは部屋の一部の照明がスイッチから送信されたメッセージに応答しないことを意味します。
すべてのブルートゥース® メッシュ・ノードは、ある時間はメッセージを送信し、ある時間は他のノードからの送信を待ち(一度に1つの無線チャネルでリッスン)、残りの時間はアイドル状態で過ごします。ノードが送信中またはアイドル状態の場合、その時間帯に隣接ノードから送信されたメッセージを受信することはできません。PDUが送信された無線チャネル以外の無線チャネルをリッスンしている場合は、メッセージも受信できません。
ノードがメッセージを受信できる時間の割合はRXデューティ・サイクルと呼ばれ、パーセンテージで表されます。メッシュ製品はできるだけRXデューティサイクルが高くなるように設計・設定することが推奨されますが、100%になることはありません。したがって、ノードがPDUを受信しない可能性は常にあります。これはBluetooth Meshネットワークの運用において予想されることであり、Bluetooth Meshテクノロジーが取るように設計されている確率的アプローチの基本的な特徴 です。
ブルートゥース・メッシュ・ノードは通常、3つの異なる無線チャネルでメッセージのコピーを1つずつ連続して送信します。さらに、ノードは通常、マルチチャネル送信プロセスを何度も繰り返すように設定されます。複数の無線チャネルを使用することで、パケット衝突のリスクを軽減することができ、メッセージを複数回再送信することで、意図した受信者がメッセージを見逃す確率を非常に低くすることができます。このように、ノード間の通信が成功する確率に影響する多くの変数を行使することで、Bluetooth Meshは、他のアプローチが一般的に被るプロトコルや設定の複雑さの負担なしに、信頼性の高い通信を提供します。
Bluetooth Mesh Directed Forwardingは、他のメッセージング・シナリオと同じように、ネットワーク層で複数の無線チャネルとPDU再送信を使用するため、同じ信頼性の利点を享受できます。しかし、ノードシーケンスが利用できなくなったり、動作しなくなったりする理由は他にもあります。例えば、ノードの電源が切れたり、新しい場所に移動したりすることがあります。Bluetooth Mesh Directed Forwardingは、ネットワークの信頼性を保証するための追加機能 メッシュネットワーク設計者に提供します。この機能 、マルチレーンBluetooth Mesh Directed Forwardingパスです。
2.2.4 ブルートゥース・メッシュ・ダイレクト・フォワーディング・パスの回復力とレーン
Bluetooth Mesh Directed Forwarding機能 、レーンの概念が定義されています。Bluetooth Mesh Directed Forwardingのパスは、1つ以上のレーンから構成されます。
レーンとは、ソースにBluetooth Mesh Directed Forwardingサービスを提供できるノードの集合である。アドレス、宛先 アドレス、およびサブネット。
この非公式な定義は、2でパスを説明するために使われたことから既にお馴染みでしょう。これは間違いではありません。メッセージがその発信元から目的地まで中継される際に、ノードの異なるシーケンスが選択されることがよくあります。宛先レーンとは、Bluetooth Mesh Directed Forwarding サービスを提供できる特定のノード シーケンスのセットのことです。パスの信頼性を最大限に高めるために、パスの起点としてパスを作成すると、複数のレーンを含むパスが確立されるようにノードを構成することができます。
図6を図9と並べて考えてみよう。
図9 - 2車線の同じパス |
図6は、スイッチから照明ノードへのメッセージの直接転送サービスを提供する単一レーンを含むパスを示しています。図9は、同じ送信元への直接転送サービスを提供する同等のパスを示しています。宛先 アドレス2つのレーンが確立されているネットワークです。図9に示すネットワークは、複数のBluetooth Mesh Directed Forwardingリレーシーケンスの形で冗長性を備えており、メッセージをそれぞれのノードに配信できるため、図6に示すネットワークよりも信頼性が高くなります。宛先ただし、ネットワーク全体のトラフィックは増加します。
2.2.5 進路指標と車線選択
そのため、パス作成時に利用可能なノードシーケンスをランク付けするために、パスメトリクスのシステムに基づいた方法が定義されています。
ブルートゥース® メッシュ・プロトコル仕様のバージョン1.1では、1種類のパス・メトリックが定義されていますが、将来的に他のタイプのメトリックをシステムに追加する可能性があるため、規定が設けられています。このリリースでは、定義されているパス・メトリックのタイプをノード・カウント・メトリックと呼びます。これは、パスの一部を形成するノードの特定のシーケンスが、代替のノードシーケンスと比較してどれだけ魅力的であるかを測定する、単純だが効果的な方法である。
ノード数メトリックは、メッセージが中間中継ノードまたはターゲットノードに到達するまでに中継されなければならないホップ数を、そのノードが属する(このパスに属する)レーン数のカウントと合計して測定する。このようにして、既存のレーンは反復するたびに魅力がなくなり、新しいレーンが作られる。
パス・メトリクスはパスとレーンを作成するときに使用されますが、Bluetooth Mesh Directed Forwardingを使用してメッシュ・アクセス・メッセージがネットワークを通じて中継されるときには使用されません。パスとレーンの作成方法と、そのプロセスにおけるパス・メトリクスの役割については、次に説明します。
2.2.6 道と車線の整備
パスは、Configuration Managerツールを使って手動で作成されるか、一連の自動化された手順の実行によって動的に検出され、確立される。手動で作成されたパスは固定パスと 呼ばれ、動的に作成されたパスは非固定パスと呼ばれます。
Bluetooth Mesh Directed Forwarding設定サーバ モデルには、フォワーディングテーブルと呼ばれる重要な状態があります。フォワーディング・テーブルのエントリーはノードが属するパスを示し、固定パスを作成する際に手動で更新されるのはフォワーディング・テーブルです。
各Bluetooth Mesh Directed Forwardingノードは、Discovery Tableと呼ばれるデータ構造も持っています。このテーブルには、自動パス検出プロセス中に一時的なエントリが作成され、パスのレーンを形成するノードのシーケンスを識別するのに役立ちます。
非固定パスは、Bluetooth Mesh Directed Forwardingを使用してソースからメッセージを配信するときに最初に作成されます。アドレス に宛先 アドレス ただし、送信元ノードの転送テーブルにはエントリがありません。
パスの作成には、Bluetooth Mesh Directed Forwarding Initialization、Bluetooth Mesh Directed Forwarding Discovery、Bluetooth Mesh Directed Forwarding Establishmentと呼ばれる3つの手順を実行する必要があります。
パスの作成と維持は、パス・オリジン・ステート・マシンと呼ばれるステート・マシンに従って、一連のタイマーとステート値によって管理される。その名の通り、この重要な複合状態は、Bluetooth Mesh Directed Forwardingの初期化中にパスの起点ノードによって作成されます。転送番号と呼ばれる識別子もBluetooth Mesh Directed Forwardingの初期化中に割り当てられ、一連の初期化、発見、確立手順に関連するすべての制御メッセージは同じ転送番号の値を持ちます。
パスオリジンステートマシンを作成し、パス検出タイマーを開始した後、パスオリジンはPATH_REQUESTを送信します。コントロールメッセージこのメッセージは、 DST (宛先 アドレス)フィールドを新しい固定グループに設定アドレス、全方向転送ノード。PATH_REQUESTメッセージには、宛先 これはアドレス パスターゲットのユニキャスト、グループ、または仮想アドレス。
Bluetooth Mesh Directed Forwardingの発見は、PATH_REQUESTメッセージがパスの起点から送信され、それを受信した各Bluetooth Mesh Directed Forwardingリレーによって再度生成され、ブロードキャストされることで進行します。このようにして、PATH_REQUESTメッセージは最終的にネットワーク内のすべての有向転送リレーによって受信される。
受信信号強度インジケータ(RSSI)が設定されたしきい値よりも低いPATH_REQUESTを受信したノードは、そのメッセージを破棄する。これにより、弱い無線リンクを使用してパスが作成されないようにします。
PATH_REQUESTメッセージのコピーが様々なノードシーケンスに沿ってホップするにつれて、パスメトリック値がメッセージ内に保持されるため、発見手順が進行するにつれて、各ノードへの到着コストが追跡される。
転送番号のPATH_REQUESTメッセージをノードが初めて受信すると、そのノードのディスカバリテーブルにエントリが作成される。このエントリには、作成されるパスのアイデンティティと、パスの起点からこのノードまでのノードシーケンスに関連するコストを表すパスメトリックが含まれます。さらに、Bluetooth Mesh Directed Forwarding 確立手順にとって重要なことですが、この特定のノードシーケンスでこのノードに先行したノードのユニキャスト・アドレス Next_Toward_Path_Originというフィールドに格納されます。
PATH_REQUESTメッセージが、同じ発見手順の間に別のノードシーケンス経由ですでに訪問されたノードによって受信されると、発見テーブルが参照され、この機会にPATH_REQUESTメッセージによって取られたノードシーケンスが、これまでに発見された最良のものよりも優れているかどうかが判断される。このPATH_REQUESTのインスタンスが取ったシーケンスに対するパスメトリックが、ディスカバリテーブルに記録された値よりも低い値である場合、ディスカバリテーブルのエントリは、Next_Toward_Path_Originにこの新しいシーケンスにおける前のノードのユニキャストアドレス 、新しく低いパスメトリック値を含むように更新される。このようにして、パス識別子、パスメトリック、およびシーケンス内の前のノードのアドレス 表現される、最良のノードシーケンスの記録が、発見中に訪問した各ノードの発見テーブル内に保持される。
PATH_REQUESTメッセージがパスターゲットノード(アドレス の中で宛先 フィールド)で、パス応答タイマーと呼ばれるタイマーが開始されます。このタイマーが満了すると、 Bluetooth Mesh Directed Forwardingの確立手順が開始されます。この手順では、転送テーブルにエントリを追加または更新し、このノードがこのパスの新しく検出されたレーンの一部であるという事実を記録します。その後、PATH_REPLYメッセージが、ユニキャスト要求を送信したノードに送信されます。アドレス 検出テーブルエントリの Next_Toward_Path_Origin フィールドに含まれます。PATH_REPLY メッセージは、選択されたノードシーケンス内の中間リレーを経由してパスの起点ノードに向かって戻り、その過程で転送テーブルエントリが作成または更新され、メッセージがパスの起点自体に到達します。
各訪問ノード上で実行されているパス発見タイマーのインスタンスは、パス確立手順が終了する前に期限切れとなり、そうなると、各ノードの発見テーブルの関連するエントリーは削除される。選択された各ノードの転送テーブルには、確立されたパスのエントリが含まれるようになり、このエントリは単に、これらのノードのそれぞれがそのパスをサービスしていることを示す役割を果たします。転送テーブルには、シーケンス内の次のノードや前のノードを示すデータは含まれていないことに注意する必要があります。前のノードのアドレス パスの確立にのみ必要であるため、発見テーブルに一時的に格納されるだけである。
図 10 - Bluetooth Mesh Directed Forwarding の検出と確立
要約すると、パスの発見では、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メッシュダイレクトフォワーディングに関連付けられています。宛先 パス監視タイマーやパス必要状態など、複数のタイマーと状態を定義します。パス必要状態は、パスの起点がパスを使用しているかどうかを追跡するために使用されます。
パスのモニタリングは、設定された一定の間隔で一定期間行われる。
パス監視タイマーが 切れると、パス監視によってパスがまだ必要であることが判明した場合、Bluetooth Mesh Directed Forwardingの 初期化手順が実行され、現在のネットワークの状態に合わせてパスがリフレッシュされます。そうでない場合、パスの寿命タイマーが切れるとパスは削除されます。
パス監視は、不要になったパスを特定し、削除する。
パスの検証
Bluetoothメッシュの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勧誘手順が実行されます。この手順により、このノードを含むようにパスが更新され、パス内のターゲットノードが追加されます。
自己組織化と最適化
監視とメンテナンスの手順により、切断された経路が自動的に特定され、再確立されます。これは、ブルートゥース® メッシュネットワークにおける自己 組織化動作の一例です。
メトリックは、パスを確立する際に利用可能な最良のノード・シーケンスを選択するために使用される。しかし、より多くのレーンがノードに関与するようになると、そのノードがサポートするパスの1つまたは複数にとって最良の選択肢でなくなる可能性があります。そのため、パスの有効期間が終了すると定期的にパスが削除され、その後に再確立されるため、パスとそのレーンはパス・メトリックの観点から常に最良の状態で利用できることになります。Bluetooth Mesh Directed Forwardingのパスは自己組織化 され、自己 最適化されます。
2.2.8 アクセス・メッセージ
アクセス・メッセージは、クライアント およびサーバー・モデルの一部として定義され、モデルの状態値に作用するメッセージ・タイプです。アクセス・メッセージは、Bluetooth Mesh Managedフラッディング またはBluetooth Mesh Directed Forwardingのどちらかによって、ネットワークを介して配信される。ディレクテッド・パブリッシュ・ポリシーの状態は、2つの方法のどちらを使用するかを示します。
すべてのアクセス・メッセージは、暗号化キーとプライバシー・キーで構成されるセキュ リティ・マテリアルを使ってネットワーク・レイヤーで保護される。使用されるセキュリティ素材はNIDフィールドで識別される。同じNetKeyから、k2セキュリティ関数の異なるパラメータを使用して、いくつもの異なるセキュリティ素材を生成することができる。これらのセキュリティ素材は、それぞれ異なる目的で使用される。Bluetooth Mesh Managed フラッディング・マテリアルは、一部の特殊なケースを除き、NetKey に関連するサブネット上で送信されるすべてのメッセージに使用される。例えば、フレンドシップ ・ノードとそれに従属する低電力ノードが交換する PDU を保護するために、フレンドシップ 使用されます。
Bluetooth Mesh Directed Forwardingが使用されるべきであることを中継ノードに示すために、ネットワークPDUはパスオリジンによって、Directed Security Materialと呼ばれるセキュリティマテリアルで保護されます。
Bluetooth Mesh Managedフラッディング Bluetooth Mesh Directed Forwardingのセキュリティ材料の計算式は以下の通りです:
管理されたフラッディング 素材
NID || EncryptionKey || PrivacyKey = k2(NetKey, 0x00)
安全保障資料の有向転送
NID || EncryptionKey || PrivacyKey = k2(NetKey, 0x02)
見てわかるように、2つの式は2番目のパラメータ値のみが異なる。関数k2はブルートゥース® メッシュ・プロトコル仕様書で定義されています。
2.2.9 車線確保と車線利用
アクセス メッセージ パブリッシュされ、Bluetooth Mesh Directed Forwarding が配信方法に選択された場合、パス内のすべてのレーンにあるすべてのノードを使用することができます。このメッセージはパスの発信元によってブロードキャストされ、パスの検出および確立時にどのレーンにあるとみなされたかに関係なく、パス上にあり、範囲内にある各Bluetooth Mesh Directed Forwardingリレーノードによってリレーされます。レーンを追加することは、パスを形成しサービスを提供するノードのセットにノードを追加するだけであり、アクセスメッセージの配信に使用される場合、レーン間の区別は重要ではなくなります。これは有益な結果をもたらします。
パス作成手順は、パス起点ノードから1つ以上のパス目標ノードへのメッセージ配送を処理できるノードのシーケンスを識別する。ノードシーケンスは、探索および確立手順の1回以上の反復処理で識別され、各反復処理は順次実行される。各レーンは、同じ送信元ノードと宛先ノードにサービスを提供する、異なるノードシーケンスのセットを含むと想像できる。宛先しかし、前述のように、Bluetooth Mesh Directed Forwardingを使用してアクセス メッセージすると、その区別は存在しなくなります。経路のレーンは、メッセージを転送できる単一の、より大きなノードの集合として機能します。宛先その結果、配信時に利用可能なノードのシーケンスがより明確になる可能性がある。アクセス メッセージ パスの検出と確立中に明示的に識別されたものよりも。
図11 - アクセス・メッセージの配信におけるパスの使用
図11は、ノードAからノードJへのパスを示しています。2つのレーンが必要であり、発見および確立手順はノードシーケンスA/D/E/JおよびA/X/W/F/G/Jを識別しました。D/X/W/F/G/JまたはA/X/D/このことは、マルチレーン経路によって、一見したところよりもさらに大きな冗長性と、それ故にさらに大きな信頼性が得られることを意味します。
2.2.10 ノード依存性
ノード依存の概念は、1つのノードがサポートノードとして機能し、1つまたは複数の他の依存ノードにサービスを提供する、異なるタイプのノード間の関係を説明します。たとえば、フレンドノードは、依存関係にある低電力ノードのサポートノードとして機能します。フレンドノード 、依存関係にある低電力ノード宛てのメッセージの一時的な格納場所として機能することで、依存関係にある低電力ノードにサービスを提供します。低電力ノードは、都合の良いときにフレンドノードからこれらのメッセージを収集し、その結果、無線アクティビティが減少して電力が節約されます。
ブルートゥース® メッシュ・プロトコル仕様のバージョン1.1では、ノード依存性がより広範に適用可能な概念となり、多くのシナリオでBluetooth Mesh Directed Forwardingに適用される可能性があります。要するに、依存ノードに有向転送サービスを提供するサポートノードは、依存ノードからのすべてのメッセージが中継時に有向セキュリティマテリアルで保護されていることを保証し、依存ノードに代わって必要な有向転送手順を実行します。
サポートノードの転送テーブルには、従属ノードエレメントのアドレスのリストが含まれており、Bluetooth Mesh Directed Forwarding手順の実行を含め、従属ノードに代わって実行されるすべてのBluetooth Mesh Directed Forwarding操作において、パスの起点として機能します。
プロキシノードとBluetooth Meshのダイレクトフォワーディング
プロキシ機能は、 クライアント プロキシサーバーを含む。クライアント は通常、GATTベアラー 上でプロキシプロトコルを使用し、プロキシサーバーを介し てネットワーク内の他のノードとメッシュPDUを送受信する。プロキシクライアントは、多くの場合、スマートフォン、デスクトップ、またはWebアプリケーションである。
プロキシサーバは、メッシュプロキシデータインと メッシュプロキシデータアウトの2つのGATT特性を含むGATTサービスを実装する。クライアント 、プロキシPDUを特徴 内のメッシュプロキシデータに書き込み、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メッセージを送る ことによって、有向プロキシサーバーの動作をある程度制御できる。それは、プロキシクライアント 、このクライアント 送るメッセージにBluetooth Mesh Directed Forwardingを使用することをプロキシサーバーに通知できるように、Use_Directed フィールドを含む。Use_Directedフィールドの値がenabledの場合、メッセージはProxy_Client_ Unicast_Addr_Rangeというオプションのフィールドも含む必要がある。このフィールドには、プロキシサーバーがBluetooth Mesh Directed Forwardingを使用しなければならないアドレス 範囲が含まれる。
プロキシクライアントはBluetooth Mesh Directed Forwardingを直接または間接的に使用することができる。
Bluetooth Mesh Directed Forwardingを直接使用するには、クライアント 指示されたリレーノードとして動作する必要があることを示すために、プロキシサーバーは指示されたセキュリティ材料でメッセージを保護します。
間接的に使用するために、クライアント サポートする有向プロキシサーバーが提供するサービスを活用する。メッセージはBluetooth Meshフラッディング マテリアルで保護され、プロキシサーバーでディレクテッドリレーが有効になっており、かつ宛先 アドレスパスが存在する場合にのみ使用されます、Bluetooth Mesh Directed Forwardingは、プロキシサーバーによって、依存するクライアントメッセージに使用されます。
フレンドシップとBluetoothメッシュ転送
フレンドノードは指示されたフレンドとして動作し、プロキシノードについて説明したのと同様の方法で、関連する低電力ノードにBluetooth Mesh Directed Forwardingサービスを提供することができます。有向制御状態でこの機能が有効になっている場合、フレンドは有向フレンドとして動作します。この場合、フレンドノード 可能な限りBluetooth Mesh Directed Forwardingを使用して低電力ノードからのメッセージを中継し、必要に応じてBluetooth Mesh Directed Forwarding手順を実行します。例えば、低電力ノードが、現在フレンドの転送テーブルにリストされているパスがないアドレス メッセージを送信しようとする場合、フレンドはパスの起点のステートマシン状態のインスタンスを作成し、Bluetooth Mesh Directed Forwardingの初期化手順を開始します。この機能を使用するには、低電力ノードはメッセージの発信にフレンドシップ 使用する必要があります。
3.閉じる
ブルートゥース® メッシュ・ディレクテッド・フォワーディング機能 、ネットワーク内で共有される無線スペクトラムの使用効率を向上させ、そうすることでネットワーク全体のスケーラビリティを向上させます。Bluetooth Mesh Directed Forwardingパスの自動作成とメンテナンスにより、ネットワークのプランニングとコンフィギュレーションがより簡単になります。