ネットワークの発見と形成

GitHub でソースを見る

Thread ネットワーク

スレッド ネットワークは、次の 3 つの一意の識別子によって識別されます。

  • 2 バイトの Personal Area Network ID(PAN ID)
  • 8 バイトの拡張個人エリア ネットワーク ID(XPAN ID)
  • 人が読める形式のネットワーク名

たとえば、Thread ネットワークには次の識別子があります。

ID
PAN ID 0xBEEF
XPAN ID 0xBEEF1111CAFE2222
ネットワーク名 yourThreadCafe
OT アクティブ スキャン

新しい Thread ネットワークを作成するか、既存の Thread ネットワークを検索する際に、Thread デバイスは無線範囲内で 802.15.4 ネットワークのアクティブ スキャンを実行します。

  1. デバイスが、特定のチャンネルで 802.15.4 ビーコン リクエストをブロードキャストする。
  2. その代わりに、範囲内のすべての Router または Router 対象エンド デバイス(REED)が、Thread ネットワークの PAN ID、XPAN ID、ネットワーク名を含むビーコンをブロードキャストします。
  3. デバイスがチャネルごとに前の 2 つのステップを繰り返す。

Thread デバイスは、範囲内のすべてのネットワークを検出したら、既存のネットワークに接続するか、検出されない場合は新しいネットワークを作成できます。

Thread は、メッシュリンク確立(MLE)プロトコルを使用してリンクを設定し、ネットワークに関する情報を Thread デバイスに配布します。

リンク構成では、MLE は次の目的で使用されます。

  • 付近のデバイスへのリンク
  • 隣接デバイスへのリンクの品質の確認
  • 近隣デバイスへのリンクの確立
  • ピアとのリンク パラメータ(デバイスタイプ、フレーム カウンタ、タイムアウト)をネゴシエート

MLE は、リンクを確立することを希望しているデバイスに、次の種類の情報を配布します。

  • リーダーデータ(リーダー RLOC、パーティション ID、パーティションの重み)
  • ネットワーク データ(メッシュ上の接頭辞、アドレスの自動構成、より具体的なルート)
  • ルートの伝播

Thread のルート伝播は、距離ベクトル ルーティング プロトコルであるルーティング情報プロトコル(RIP)と同様に機能します。

ネットワークの新規作成

デバイスが新しいネットワークを作成することを選択した場合、デバイスは最もビジーでないチャネルと他のネットワークで使用されていない PAN ID を選択し、Router として自身を選択します。このデバイスは、他の 802.15.4 デバイスに MLE アドバタイズ メッセージを送信してリンク状態を通知し、アクティブなスキャンを行う他の Thread デバイスからのビーコン リクエストに応答します。

既存のネットワークに参加する

デバイスが既存のネットワークに参加する場合、Thread コミッショニングを介してチャネル、PAN ID、XPAN ID、ネットワーク名をターゲット ネットワークのものと一致するように構成してから、MLE 接続プロセスを実行して、子(エンドデバイス)として接続します。このプロセスは、子親リンクのリンクに使用されます。

  1. 子はマルチキャストの親リクエストを、ターゲット ネットワークのすべての隣接する Router と REED に送信します。
  2. 隣接するすべての Router と REED(親リクエスト スキャンマスクに REED が含まれている場合)は、親レスポンスを自身に関する情報とともに送信します。
  3. 子は親デバイスを選択し、子 ID リクエストを送信します。
  4. 親は子 ID レスポンスを送信して、リンクの確立を確認します。

1. 親のリクエスト

親リクエストは、接続デバイスからのマルチキャスト リクエストで、ターゲット ネットワーク内の隣接する Router と Router 対応エンド デバイス(REED)を検出するために使用されます。

OT MLE 親のリクエストの添付
親リクエスト メッセージの内容
Mode 接続デバイスについての説明
チャレンジ リプレイ攻撃の防止のため、親レスポンスの適時性をテストします。
スキャンマスク リクエストを Router のみ、または Router と REED の両方に制限する

2. 保護者の対応

親レスポンスは、親リクエストに対するユニキャスト レスポンスで、アタッチするデバイスに Router または REED に関する情報を提供します。

OT MLE 添付に関する保護者からの返信
保護者からの返信メッセージの内容
バージョン スレッド プロトコル バージョン
レスポンス 保護者リクエストチャレンジのコピー
リンクフレーム カウンタ 802.15.4 Router/REED のフレーム カウンタ
MLE フレーム カウンタ Router/REED の MLE フレーム カウンタ
送信元アドレス Router/REED の RLOC16
リンク マージン Router/REED の受信信号品質
接続 Router/REED の接続レベルを示します。
リーダーのデータ Router/REED のリーダーに関する情報
チャレンジ リプレイ攻撃の防止に子 ID リクエストの適時性をテストする

3.お子様 ID のリクエスト

子 ID リクエストは、子子リンクの確立を目的として、接続済みデバイス(子)からのユニキャスト リクエストで、Router または REED(親)に送信されます。リクエストが REED に送信されると、リクエストを受け入れる前に、自動的に Router にアップグレードされます。

OT MLE 子供 ID の添付リクエスト
Child ID Request メッセージの内容
バージョン スレッド プロトコル バージョン
レスポンス 保護者への対応の課題のコピー
リンクフレーム カウンタ 802.15.4 子のフレーム カウンタ
MLE フレーム カウンタ子供の MLE フレーム カウンタ
Mode 子の説明
タイムアウト 保護者がお子様を削除するまでの非アクティブ時間
住所登録(MED と SED のみ) IPv6 アドレスを登録する

4. Child ID のレスポンス

子 ID レスポンスは、親からユニキャストへのレスポンスで、子に親リンクが確立されたことを確認するものです。

OT MLE 子供 ID レスポンスを添付
Child ID Response Message の内容
送信元アドレス 親の RLOC16
住所 16 子供の RLOC16
リーダーのデータ 親のリーダー(RLOC、パーティション ID、パーティションの重み)に関する情報。
ネットワーク データ Thread ネットワークに関する情報(メッシュ プレフィックス、アドレスの自動構成、より具体的なルート)
ルート(REED のみ) ルートの伝播
タイムアウト 保護者がお子様を削除するまでの非アクティブ時間
住所登録(MED と SED のみ) 登録済み住所の確認

まとめ

学習した内容:

  • Thread デバイスは、既存のネットワークのアクティブ スキャンを実行する
  • Thread は、メッシュリンク確立を使用してリンクを構成し、ネットワーク デバイスに関する情報を配信します。
  • MLE アドバタイズ メッセージは、他の Thread デバイスにデバイスのネットワークとリンクの状態を通知します。
  • MLE のアタッチ プロセスによって子と親のリンクが確立される

理解度をチェックする

次の 2 つの識別子を使用すると、Thread ネットワークを識別できません。
2 バイトの Personal Area Network ID(PAN ID)。
不正解です。スレッド ネットワークの一部は PAN ID で識別されます。
8 バイトの拡張個人エリア ネットワーク ID(XPAN ID)。
不正解です。スレッド ネットワークは XPAN ID で識別されます。
人が読める形式のネットワーク名。
不正解です。スレッド ネットワークは、人が読めるネットワーク名で識別されています。
32 文字の SSID。
正解です。802.11 Wi-Fi ネットワークとは異なり、Thread ネットワーク識別子は SSID を使用しません。
保護者リクエストの用途
隣接するルーターと、ターゲット ネットワーク内のルーター対応エンド デバイス(REED)を検出する。
正解です。親リクエストは、ネットワークに接続しようとしているデバイスによって発行されます。
Router が親になることを示しています。
不正解です。Router は、別のネットワーク デバイスとの親子関係を開始しません。代わりに、ネットワーク デバイスがその子になる Router を選択します。
Router 対象エンド デバイスを Router に昇格させるようリクエストします。
不正解です。
親リクエストに使用する住所の種類
ユニキャスト
不正解です。
エニーキャスト
不正解です。
マルチキャスト
正解です。
ブロードキャスト
不正解です。
デバイスが最初に Thread ネットワークに接続されたとき、そのデバイス分類はどのようなものですか?
お子様(エンドデバイス)
正解です。Thread ネットワークに参加するデバイスは、常にそのネットワーク上のエンドデバイスとして開始されます。
FTD(フルスレッド デバイス)
不正解です。
REED(ルーター対応エンドデバイス)
不正解です。