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