スレッドと 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 と隣接するインフラストラクチャ ネットワークの両方に対して IPv6 プレフィックスとルートを自動的に構成し、Thread 境界ルーターの両側のホストが通信できるようにします。
  • Thread ノードに代わって mDNS DNS-SD 検出パケットを公開し、隣接するインフラストラクチャ ネットワークで検出できるようにします。

詳細については、openthread.ioBorder Router ガイドをご覧ください。

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 アドレス
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 を使用します。