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 境界ルーターの両側のホストが通信できるように、Thread と隣接するインフラストラクチャ ネットワークの両方の IPv6 プレフィックスとルートを自動的に構成します。
- Thread ノードの代わりに mDNS DNS-SD 検出パケットを公開し、隣接するインフラストラクチャ ネットワークで検出できるようにします。
詳細については、openthread.io の境界ルータガイドをご覧ください。
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 に、このアドレスの構成方法を示します。
ビット | 説明 |
12 ビット | 0xFF3 |
4 ビット | 0x05
スコープ: サイトローカル |
8 ビット | 0x00
予約済み |
8 ビット | 0x40
64 ビットの長い接頭辞を示します |
8 ビット | 0xFD
ULA 接頭辞を指定します。 |
56 ビット | ファブリック ID |
8 ビット | 0x00 |
16 ビット | グループ ID |
詳細については、Thread プリマーズの Multicast セクションと RFC 自体をご覧ください。
IPv6 Multicast アドレスが形成されると、ファブリック ID の上位 56 ビットも含まれます。重要な意味合いは、Multicast のスコープは Fabric 内にあるのに対し、Unicast アドレスは Fabric 間で共有されることです。多くのファブリックがあるノードには、各ファブリックのスコープで重複するノードグループを定義する複数の Multicast アドレスが存在する可能性があります。
ポート
Matter はマルチキャスト用にポート 5540 を使用します。