Thread ネットワーク
スレッド ネットワークは、次の 3 つの固有の ID で識別されます。
- 2 バイトのパーソナル エリア ネットワーク ID(PAN ID)
- 8 バイトの拡張パーソナル エリア ネットワーク ID(XPAN ID)
- 人が読める形式のネットワーク名
たとえば、Thread ネットワークには次の識別子があります。
| 識別子 | 値 |
|---|---|
| PAN ID | 0xBEEF |
| XPAN ID | 0xBEEF1111CAFE2222 |
| ネットワーク名 | yourThreadCafe |
新しい Thread ネットワークを作成するとき、または参加する既存のネットワークを検索するとき、Thread デバイスは無線範囲内の 802.15.4 ネットワークのアクティブ スキャンを実行します。
- デバイスは、特定のチャネルで 802.15.4 ビーコン リクエストをブロードキャストします。
- 範囲内の Extender-Capable Devices(ECD)は、Thread ネットワークの PAN ID、XPAN ID、ネットワーク名を含むビーコンをブロードキャストします。
- デバイスは、各チャンネルに対して前の 2 つの手順を繰り返します。
Thread デバイスは、範囲内のすべてのネットワークを検出すると、既存のネットワークに接続するか、ネットワークが検出されなかった場合は新しいネットワークを作成します。
メッシュリンクの確立
Thread は、Mesh Link Establishment(MLE)プロトコルを使用してリンクを構成し、ネットワークに関する情報を Thread デバイスに配信します。
リンク構成では、MLE は次の目的で使用されます。
- 近隣のデバイスへのリンクを検出する
- 近隣デバイスへのリンクの品質を判断する
- 近隣デバイスへのリンクを確立する
- ピアとのリンク パラメータ(デバイスタイプ、フレーム カウンタ、タイムアウト)をネゴシエートする
MLE は、リンクの確立を希望するデバイスに次の種類の情報を配信します。
- リーダーデータ(リーダー RLOC、パーティション ID、パーティションの重み)
- ネットワーク データ(オンメッシュ プレフィックス、アドレス自動構成、より具体的なルート)
- ルートの伝播
Thread のルート伝播は、距離ベクトル ルーティング プロトコルである Routing Information Protocol(RIP)と同様に機能します。
ネットワークの新規作成
デバイスが新しいネットワークを作成することを選択した場合、最も使用率の低いチャネルと、他のネットワークで使用されていない PAN ID を選択し、メッシュ エクステンダになってリーダーに選出されます。このデバイスは、MLE アドバタイズメント メッセージを他の 802.15.4 デバイスに送信して、リンク状態を通知します。また、アクティブ スキャンを実行している他の Thread デバイスからのビーコン リクエストに応答します。
既存のネットワークに参加する
デバイスが既存のネットワークに参加することを選択した場合、Thread Commissioning を介してターゲット ネットワークと一致するようにチャネル、PAN ID、XPAN ID、ネットワーク名を構成し、MLE Attach プロセスを経て Child(エンドデバイス)としてアタッチします。このプロセスは、親子リンクに使用されます。
- 子デバイスは、ターゲット ネットワーク内のすべての近隣の Extender-Capable Device にマルチキャスト Parent Request を送信します。
- すべての近隣のメッシュ エクステンダ(親リクエスト スキャン マスクにスタンバイ ECD が含まれている場合はスタンバイ ECD も含む)は、自身の情報を含む親レスポンスを送信します。
- 子どもは親デバイスを選択し、それに子 ID リクエストを送信します。
- ペア設定の確立を確認するため、Parent は Child ID Response を送信します。
1. 保護者からのリクエスト
親リクエストは、ターゲット ネットワーク内の近隣の Extender 対応デバイスを検出するために使用される、接続デバイスからのマルチキャスト リクエストです。
| 保護者からのリクエスト メッセージの内容 | |
|---|---|
| Mode | 接続デバイスを説明します |
| 設問 | リプレイ攻撃を防ぐために、親レスポンスのタイムリーさをテストします |
| スキャン マスク | リクエストをメッシュ エクステンダーのみに制限するか、すべてのエクステンダー対応デバイスに制限します |
2. 保護者の回答
親レスポンスは、エクステンダー対応デバイスに関する情報を接続デバイスに提供する親リクエストに対するユニキャスト レスポンスです。
| 保護者の返信メッセージの内容 | |
|---|---|
| バージョン | Thread プロトコルのバージョン |
| レスポンス | 保護者リクエスト チャレンジのコピー |
| Link Frame Counter | 拡張機能対応デバイスの 802.15.4 フレーム カウンタ |
| MLE フレーム カウンタ | Extender 対応デバイスの MLE フレーム カウンタ |
| 送信元アドレス | Extender-Capable Device の RLOC16 |
| リンク マージン | Extender-Capable Device の信号品質を受信する |
| 接続 | Extender-Capable Device の接続レベルを記述します |
| リーダーデータ | Extender-Capable Device のリーダーに関する情報 |
| 設問 | リプレイ攻撃を防ぐために、Child ID Request のタイムリーさをテストします |
3. 子 ID リクエスト
Child ID Request は、Child-Parent リンクを確立する目的で、接続デバイス(子)から Extender-Capable Device(親)に送信されるユニキャスト リクエストです。リクエストがスタンバイ状態の Extender-Capable Device に送信された場合、リクエストを受け入れる前にメッシュ エクステンダにアップグレードします。
| 子 ID リクエスト メッセージの内容 | |
|---|---|
| バージョン | Thread プロトコルのバージョン |
| レスポンス | 保護者からの回答チャレンジのコピー |
| Link Frame Counter | 子デバイスの 802.15.4 フレーム カウンタ |
| MLE フレーム カウンタ | 子での MLE フレーム カウンタ |
| Mode | 子を説明する |
| タイムアウト | 親が子を削除するまでの非アクティブ期間 |
| 住所の登録(MED と SED のみ) | IPv6 アドレスを登録する |
4. 子 ID レスポンス
Child ID Response は、Child-Parent リンクが確立されたことを確認するために、Parent から Child に送信されるユニキャスト レスポンスです。
| 子 ID のレスポンス メッセージの内容 | |
|---|---|
| 移行元の住所 | Parent's RLOC16 |
| Address16 | Child's RLOC16 |
| リーダーデータ | 親のリーダーに関する情報(RLOC、パーティション ID、パーティションの重み) |
| ネットワーク データ | Thread ネットワークに関する情報(オンメッシュ プレフィックス、アドレス自動構成、より具体的なルート) |
| ルート(スタンバイ ECD のみ) | ルートの伝播 |
| タイムアウト | 親が子を削除するまでの非アクティブ期間 |
| 住所の登録(MED と SED のみ) | 登録済み住所を確認する |
内容のまとめ
学習した内容:
- Thread デバイスが既存のネットワークのアクティブ スキャンを実行する
- Thread はメッシュリンク確立を使用してリンクを構成し、ネットワーク デバイスに関する情報を伝播します
- MLE アドバタイズメント メッセージは、デバイスのネットワークとリンクの状態を他の Thread デバイスに通知します。
- MLE Attach プロセスで親子リンクが確立される