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

GitHub でソースを見る

Thread ネットワーク

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

  • 2 バイトのパーソナル エリア ネットワーク ID(PAN ID)
  • 8 バイトの拡張パーソナル エリア ネットワーク ID(XPAN ID)
  • 人が読めるネットワーク名

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

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

新しい Thread ネットワークを作成する場合や、接続する既存のネットワークを検索する場合、Thread デバイスは電波範囲内の 802.15.4 ネットワークに対してアクティブ スキャンを実行します。

  1. デバイスは、特定のチャネルで 802.15.4 ビーコン リクエストをブロードキャストします。
  2. 返信として、範囲内のルーターまたはルーター対応エンドデバイス(REED)は、Thread ネットワークの PAN ID、XPAN ID、ネットワーク名を含むビーコンをブロードキャストします。
  3. デバイスは、チャンネルごとに上記の 2 つの手順を繰り返します。

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

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

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

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

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

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

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

ネットワークの新規作成

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

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

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

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

1. 保護者からのリクエスト

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

OT MLE 親アタッチ リクエスト
保護者リクエスト メッセージの内容
Mode アタッチされているデバイスを記述します。
チャレンジ リプレイ攻撃を防ぐために親レスポンスの適時性をテストする
スキャン マスク リクエストを Router のみ、または Router と REED の両方に制限する

2. 保護者の対応

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

OT MLE の親の添付レスポンスを送信する
保護者への返信メッセージの内容
バージョン スレッド プロトコルのバージョン
レスポンス 保護者からのリクエストの確認のスクリーンショット
リンク フレーム カウンタ ルーター/REED の 802.15.4 フレーム カウンタ
MLE フレームカウンタ ルーター/REED の MLE フレーム カウンタ
送信元の住所 ルーター/REED の RLOC16
リンク マージン ルーター/REED の受信信号品質
接続 ルーター/Reed の接続レベルを記述します。
リーダーのデータ Router/REED のリーダーに関する情報
チャレンジ リプレイ攻撃を防ぐために、子どもの身分証明書リクエストの適時性をテストします。

3. 子どもの身分証明書のリクエスト

子 ID リクエストは、子デバイス(子)から送信されるユニキャスト リクエストで、子デバイスと親デバイスのリンクを確立するためにルーターまたは REED(親)に送信されます。リクエストが REED に送信された場合、REED はリクエストを受け入れ前に自身を Router にアップグレードします。

OT MLE の子どもの身分証明書の添付リクエスト
子どもの ID のリクエスト メッセージの内容
バージョン スレッド プロトコルのバージョン
レスポンス 保護者の回答の課題のコピー
リンク フレーム カウンタ 子デバイスの 802.15.4 フレーム カウンタ
MLE フレームカウンタ子デバイスの MLE フレーム カウンタ
Mode 子について説明します
タイムアウト 親が子を削除するまでの非アクティブ時間
住所登録(MED と SED のみ) IPv6 アドレスを登録する

4. 子 ID レスポンス

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

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

内容のまとめ

学習した内容:

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

理解度を確認する

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