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 ボーダー ルーター(BR)が必要です。BR はスタブ IPv6 ルーターです。
スタブ ルーターを使用すると、スタブ ネットワークと通常のネットワーク間の接続が可能になります。スタブ ネットワークは、メンバーに外部接続を提供する「ラストマイル」ネットワークですが、他のネットワーク間のトランジット ネットワーク パスとしては機能しません。通常、Matter スタブ ネットワークは Thread ベースです。スタブ ネットワークの詳細については、RFC ドラフトをご覧ください。
したがって、BR は、スタブ ネットワークと隣接するインフラストラクチャ ネットワーク(ローカル Wi-Fi またはイーサネット ネットワーク)間のリンクとしての役割を担います。Thread ネットワークに関連するパケットのみを転送します。
このプロセスは、Thread と隣接するインフラストラクチャ ネットワークに異なる IPv6 プレフィックスを割り当てることで実現されます。したがって、BR は Thread IPv6 プレフィックスとの間でユニキャストのみを転送します。
ボーダー ルーターは、次の役割も担います。
- Thread と隣接するインフラストラクチャ ネットワークの両方に対して IPv6 プレフィックスとルートを自動的に構成し、Thread 境界ルーターの両側のホストが通信できるようにします。
- Thread ノードに代わって mDNS DNS-SD 検出パケットを公開し、隣接するインフラストラクチャ ネットワークで検出できるようにします。
詳細については、openthread.io の Border Router ガイドをご覧ください。
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 に、このアドレスの構成方法を示します。
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 を使用します。