Matter 使用 IPv6 進行作業通訊,並分別利用 IPv6 Unicast 和 Multicast 定址存取其節點和群組。
低耗電
部分 Matter 節點為有線,且有能量預算,可讓無線電持續開啟。其他類型的節點 (例如感應器) 則必須使用電池運作多年,並在 Thread 等低功耗網路上操作無線電。Proxy 架構和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) 為 1280 個位元組。因此,IPv6 封包通常需要分割成多個 PHY 框架。這項程序由 RFC4944 定義。
詳情請參閱 Thread 入門指南中的 IPv6 定址,網址為 openthread.io。
邊界路由器
那麼,節點如何在同一個 Fabric 中,同時存在於兩種傳輸媒介上? 雖然兩個網路共用應用程式層級的 Matter 憑證,但並未共用相同的連結技術。在這種情況下,網路需要 Thread Border Router (TBR) 才能啟用連線能力。BR 是虛設常式 IPv6 路由器。
虛設常式路由器可連結虛設常式網路和一般網路。虛設常式網路是「最後一哩」網路,可為成員提供外部連線,但不會做為其他網路之間的傳輸網路路徑。Matter 虛設常式網路通常是以 Thread 為基礎。如要進一步瞭解虛設常式網路,請參閱 RFC 草案。
因此,BR 負責連結 Stub 網路和相鄰基礎架構網路 (即本機 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 詳細說明這個位址的建構方式:
| Bits | 說明 |
| 12 位元 | 0xFF3 |
| 4 位元 | 0x05
範圍:站點本機 |
| 8 位元 | 0x00
reserved |
| 8 位元 | 0x40
表示 64 位元長前置字串 |
| 8 位元 | 0xFD
指定 ULA 前置碼 |
| 56 位元 | Fabric ID |
| 8 位元 | 0x00 |
| 16 位元 | 群組 ID |
詳情請參閱 Thread 入門指南的Multicast一節和 RFC 本身。
IPv6 Multicast 位址形成時,也會包含 Fabric ID 的前 56 位元。這代表 Multicast 的範圍在 Fabric 內,而 Unicast 位址則是在 Fabric 之間共用。如果節點有多個 Fabric,可能會有數個 Multicast 位址,定義每個 Fabric 範圍內重疊的節點群組。
通訊埠
Matter 使用通訊埠 5540 進行多點傳播。