スレッドと IPv6

Matter は運用通信に IPv6 を使用し、それぞれノードとグループにアクセスするために IPv6 Unicast アドレスと Multicast アドレスの両方を利用します。

低電力

一部の Matter ノードは有線接続されており、無線を継続的にオンにできるエネルギー予算があります。センサーなどの他のタイプのノードは、Thread などの低電力ネットワークで無線を動作させながら、バッテリーで数年間動作させる必要があります。プロキシ アーキテクチャと Thread スリーピー エンドデバイスにより、フルパワーのノードは、エネルギー消費の多いトランザクションから子ノードを分離するネットワーク レベルとアプリケーション レベルの両方の機能を提供できます。

Matter の基本的な側面は、Wi-Fi やイーサネットなどの高スループットのネットワーク メディアだけでなく、Thread などの低レイテンシ、低帯域幅でも動作することです。Wi-Fi からのすべての Multicast パケットが Thread にブリッジされると、ネットワークに過負荷がかかり、フラッディングが発生する可能性があります。Thread の目標は、高帯域幅のデータ転送ではなく、低電力、低レイテンシのメッシュ ネットワーキングで IPv6 を有効にすることです。ローカル ネットワークでの Thread の ICMPv6 ping は通常、数十ミリ秒の RTT ですが、IEEE 802.15.4 PHY での合計帯域幅は 250 kbps に制限されています。パケットの再送信とオーバーヘッドを考慮すると、一般的な最大帯域幅は約 125 kbps です。つまり、Wi-Fi より数桁少ないということです。

IEEE 802.15.4 PHY のフレームは 127 バイトですが、Thread の IPv6 パケットの最大伝送単位(MTU)の最大値(および標準値)は 1, 280 バイトです。そのため、IPv6 パケットを複数の PHY フレームに分割する必要があることがよくあります。このプロセスは RFC4944 で定義されています。

詳細については、openthread.io の Thread 入門ガイドの IPv6 アドレス指定をご覧ください。

ボーダー ルーター

同じファブリック内で、両方のトランスポート メディアでノードを共存させるにはどうすればよいでしょうか?両方のネットワークはアプリケーション レベルの Matter 認証情報を共有しますが、同じリンク テクノロジーは共有しません。このシナリオでは、接続を有効にするためにネットワークに Thread Border Router (TBR) が必要です。BR はスタブ IPv6 ルーターです。

スタブ ルーターを使用すると、スタブ ネットワークと通常のネットワーク間の接続が可能になります。スタブ ネットワークは、メンバーに外部接続を提供する「ラストマイル」ネットワークですが、他のネットワーク間のトランジット ネットワーク パスとしては機能しません。通常、Matter スタブ ネットワークは Thread ベースです。スタブ ネットワークの詳細については、RFC ドラフトをご覧ください。

したがって、BR は、スタブ ネットワークと隣接するインフラストラクチャ ネットワーク(ローカル Wi-Fi またはイーサネット ネットワーク)間のリンクとしての役割を担います。Thread ネットワークに関連するパケットのみを転送します。

このプロセスは、Thread と隣接するインフラストラクチャ ネットワークに異なる IPv6 プレフィックスを割り当てることで実現されます。したがって、BR は Thread IPv6 プレフィックスとの間でユニキャストのみを転送します。

ボーダー ルーターは、次の役割も担います。

  • Thread と隣接するインフラストラクチャ ネットワークの両方に対して IPv6 接頭辞とルートを自動的に構成し、TBR の両側のホストが通信できるようにします。
  • Thread ノードに代わって mDNS DNS-SD 検出パケットを公開し、隣接するインフラストラクチャ ネットワークで検出できるようにします。

詳細については、OpenThread Border Router (OTBR) ガイドをご覧ください。

IPv6 マルチキャスト

グループ メッセージも重要です。Multicast を介して複数の Matter ノードを同時に制御できます。このトラフィックを Thread ネットワークにルーティングするために、Matter と Thread の両方が RFC 3306 で定義されている Unicast プレフィックスベースの IPv6 Multicast アドレッシング スキームを実装します。

このメソッドを使用すると、共有 IPv6 Unicast プレフィックスに基づいて Multicast パケットの宛先ノードを選択できます。

たとえば、Matter Multicast アドレスは次のようになります。

FF35:0040:FD<Fabric ID>00:<Group ID>

表 1 に、このアドレスの構成方法を示します。

表 1: Unicast プレフィックス ベースの IPv6 アドレス
Bits 説明
12 ビット 0xFF3
4 ビット 0x05

スコープ: site-local

8 ビット 0x00

予約済み

8 ビット 0x40

64 ビットの長い接頭辞を示します

8 ビット 0xFD

ULA プレフィックスを指定します

56 ビット ファブリック ID
8 ビット 0x00
16 ビット グループ ID

詳細については、Thread Primer の Multicast セクションと RFC 自体をご覧ください。

IPv6 Multicast アドレスが形成されるとき、ファブリック ID の上位 56 ビットも含まれます。重要な意味合いは、Multicast のスコープは Fabric 内にあり、Unicast アドレスは Fabric 間で共有されることです。多くのファブリックを持つノードには、各ファブリックでスコープ設定された重複するノードグループを定義する複数の Multicast アドレスが存在する可能性があります。

ポート

Matter はマルチキャストにポート 5540 を使用します。