Thread ネットワーク
スレッド ネットワークは、次の 3 つの一意の識別子によって識別されます。
- 2 バイトの Personal Area Network ID(PAN ID)
- 8 バイトの拡張個人エリア ネットワーク ID(XPAN ID)
- 人が読める形式のネットワーク名
たとえば、Thread ネットワークには次の識別子があります。
ID | 値 |
---|---|
PAN ID | 0xBEEF |
XPAN ID | 0xBEEF1111CAFE2222 |
ネットワーク名 | yourThreadCafe |
新しい Thread ネットワークを作成するか、既存の Thread ネットワークを検索する際に、Thread デバイスは無線範囲内で 802.15.4 ネットワークのアクティブ スキャンを実行します。
- デバイスが、特定のチャンネルで 802.15.4 ビーコン リクエストをブロードキャストする。
- その代わりに、範囲内のすべての Router または Router 対象エンド デバイス(REED)が、Thread ネットワークの PAN ID、XPAN ID、ネットワーク名を含むビーコンをブロードキャストします。
- デバイスがチャネルごとに前の 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 接続プロセスを実行して、子(エンドデバイス)として接続します。このプロセスは、子親リンクのリンクに使用されます。
- 子はマルチキャストの親リクエストを、ターゲット ネットワークのすべての隣接する Router と REED に送信します。
- 隣接するすべての Router と REED(親リクエスト スキャンマスクに REED が含まれている場合)は、親レスポンスを自身に関する情報とともに送信します。
- 子は親デバイスを選択し、子 ID リクエストを送信します。
- 親は子 ID レスポンスを送信して、リンクの確立を確認します。
1. 親のリクエスト
親リクエストは、接続デバイスからのマルチキャスト リクエストで、ターゲット ネットワーク内の隣接する Router と Router 対応エンド デバイス(REED)を検出するために使用されます。
親リクエスト メッセージの内容 | |
---|---|
Mode | 接続デバイスについての説明 |
チャレンジ | リプレイ攻撃の防止のため、親レスポンスの適時性をテストします。 |
スキャンマスク | リクエストを Router のみ、または Router と REED の両方に制限する |
2. 保護者の対応
親レスポンスは、親リクエストに対するユニキャスト レスポンスで、アタッチするデバイスに Router または REED に関する情報を提供します。
保護者からの返信メッセージの内容 | |
---|---|
バージョン | スレッド プロトコル バージョン |
レスポンス | 保護者リクエストチャレンジのコピー |
リンクフレーム カウンタ | 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 にアップグレードされます。
Child ID Request メッセージの内容 | |
---|---|
バージョン | スレッド プロトコル バージョン |
レスポンス | 保護者への対応の課題のコピー |
リンクフレーム カウンタ | 802.15.4 子のフレーム カウンタ |
MLE フレーム カウンタ | 子供の MLE フレーム カウンタ |
Mode | 子の説明 |
タイムアウト | 保護者がお子様を削除するまでの非アクティブ時間 |
住所登録(MED と SED のみ) | IPv6 アドレスを登録する |
4. Child ID のレスポンス
子 ID レスポンスは、親からユニキャストへのレスポンスで、子に親リンクが確立されたことを確認するものです。
Child ID Response Message の内容 | |
---|---|
送信元アドレス | 親の RLOC16 |
住所 16 | 子供の RLOC16 |
リーダーのデータ | 親のリーダー(RLOC、パーティション ID、パーティションの重み)に関する情報。 |
ネットワーク データ | Thread ネットワークに関する情報(メッシュ プレフィックス、アドレスの自動構成、より具体的なルート) |
ルート(REED のみ) | ルートの伝播 |
タイムアウト | 保護者がお子様を削除するまでの非アクティブ時間 |
住所登録(MED と SED のみ) | 登録済み住所の確認 |
まとめ
学習した内容:
- Thread デバイスは、既存のネットワークのアクティブ スキャンを実行する
- Thread は、メッシュリンク確立を使用してリンクを構成し、ネットワーク デバイスに関する情報を配信します。
- MLE アドバタイズ メッセージは、他の Thread デバイスにデバイスのネットワークとリンクの状態を通知します。
- MLE のアタッチ プロセスによって子と親のリンクが確立される