保護者による定期的な検索

GitHub 上のソースを見る

Thread ネットワーク内のエンド デバイス(ED)が、ネットワークに接続されたまま、現在の親よりも優れた親に切り替わるようにするには、定期的な親検索機能を有効にします。

候補の親が ED に適しているかどうかを判断するために、この機能は次のようなさまざまな属性をチェックします。

  • RSSI(受信信号強度インジケーター)
  • リンク品質
  • 候補の親ノードと他のメッシュ エクステンダとの接続性
  • 候補の親の既存の子の数

これにより、ED はリンク品質や接続性が低い親に接続されたままになるのではなく、可能な限り最適な親に接続されます。この機能は、新しいメッシュ エクステンダを既存の Thread ネットワークに追加する場合に特に便利です。

仕組み

  1. ED は、構成されたチェック間隔(OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL)に従って、現在の親の平均 RSSI 値をチェックします。
  2. ED の現在の親の平均 RSSI 値が構成されたしきい値(OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD)を下回ると、親の検索が開始されます。
    1. 親検索でより適切な親が見つかった場合、ED は現在の親子リンクを解消し、新しい親との MLE アタッチ プロセスを開始します。
    2. 親検索でより適切な親が見つからなかった場合、既存の Child-Parent リンクはそのまま残ります。
  3. 親検索の試行後、ED は構成されたバックオフ間隔(OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL)に従って、現在の親の平均 RSSI 値を確認するまで待機します。このバックオフは、親検索の結果に関係なく発生します。

この機能と併せて、Inform Previous Parent on Reattach 機能を有効にすることをおすすめします。

有効にする方法

この機能はデフォルトでは無効になっています。

定期的な親検索を有効にするには、OpenThread をビルドする前に、/src/core/config/parent_search.h ファイルで OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE を 1 として定義します。

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

パラメータ

/src/core/config/parent_search.h で次のパラメータを使用して、この機能をカスタマイズします。

パラメータ
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
デフォルト値
540 秒(9 分)
説明
親検索を実行するために、トリガー条件をチェックする子どもの間隔を秒単位で指定します。
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
デフォルト値
36,000 秒(10 時間)
説明
子で親検索がトリガーされた後に、親検索を実行しないバックオフ間隔を秒単位で指定します。
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
デフォルト値
-65
説明
親検索をトリガーするために使用される RSSI しきい値を指定します。

API

この機能の公開 API はありません。

CLI

この機能に関連する CLI コマンドはありません。