スレッドと 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.ioThread 入門の 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 ネットワークに転送するために、MatterThread の両方が RFC 3306 で定義されている Unicast プレフィックスベースの IPv6 Multicast アドレス指定スキームを実装します。

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

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

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

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

表 1: Unicastプレフィックスベースの IPv6 アドレス
ビット 説明
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 を使用します。