スレッドと IPv6

Matter は、IT 運用通信に 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 Addressing をご覧ください。

ボーダー ルーター

では、ノードは同じファブリック内で両方のトランスポート メディアにどのように共存できるのでしょうか。どちらのネットワークもアプリケーション レベルの Matter 認証情報を共有しますが、同じリンク テクノロジーを共有することはありません。このシナリオでは、接続を有効にするためにネットワークに Thread Border Router (TBR) が必要です。BR はスタブ IPv6 ルーターです。

スタブ ルーターは、スタブ ネットワークと通常のネットワーク間の接続を可能にします。スタブ ネットワークは、メンバーに外部接続を提供する「ラストマイル」ネットワークですが、他のネットワーク間のトランジット ネットワーク パスとしては機能しません。通常、Matter スタブ ネットワークは Thread ベースです。スタブ ネットワークの詳細については、RFC ドラフトをご覧ください。

したがって、BR は、スタブ ネットワークと、ローカル Wi-Fi またはイーサネット ネットワークである隣接インフラストラクチャ ネットワークとの間のリンクとなる役割を担います。Thread ネットワークに関連するパケットのみを転送します。

このプロセスは、Thread と隣接インフラストラクチャ ネットワークに異なる IPv6 プレフィックスを割り当てることで実現されます。したがって、BR は Thread IPv6 プレフィックスとの間のユニキャストのみを転送します。

ボーダー ルーターは、次の処理も行います。

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

詳細については、OpenThread Border Router (OTBR) ガイドをご覧ください。

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 に、このアドレスの構成方法の詳細を示します。

表 1: Unicast プレフィックス ベースの IPv6 アドレス
Bits 説明
12 ビット 0xFF3
4 ビット 0x05

スコープ: サイトローカル

8 ビット 0x00

reserved

8 ビット 0x40

64 ビットの長いプレフィックスを示します。

8 ビット 0xFD

ULA 接頭辞を指定します。

56 ビット ファブリック ID
8 ビット 0x00
16 ビット グループ ID

詳細については、Thread 入門書の Multicast セクションと RFC 自体をご覧ください。

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

ポート

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