スレッドと IPv6

Matter は運用通信に IPv6 を使用し、ノードとグループへのアクセスには IPv6 の UnicastMulticast の両方のアドレスを使用します。

省電力

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

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 Primer の IPv6 Addressing をご覧ください。

ボーダー ルーター

では、同じファブリック内でノードを両方のトランスポート メディアで共存させるにはどうすればよいですか?両方のネットワークはアプリケーション レベルの 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 Primer の Multicast セクションと RFC 自体をご覧ください。

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

ポート

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