Matter 使用 IPv6 进行运维通信,以及 使用 IPv6 Unicast 和 Multicast 分别用于访问其节点和群组。
低功率
一些 Matter 节点采用有线方式连接,其能耗预算 让他们的无线装置始终保持开启状态其他类型的节点,例如 传感器要求使用电池运行多年,以便操控无线装置 (例如 Thread)。代理 架构,以及 Thread 台休眠终端设备、 允许全能节点同时提供网络级和应用级 可将子节点的子节点隔离开来,避免高耗电 交易。
Matter 的一个基本方面是,它既适用于 Wi-Fi 和以太网等高吞吐量网络媒介,也适用于 Thread 等低延迟、低带宽网络。如果全部 有 Multicast 个数据包来自 Wi-Fi 已桥接至 Thread,这会使网络负担过重,并可能 Thread的目标是在低功耗、 低延迟网状网络,而非高带宽数据传输。虽然 本地网络中的Thread ICMPv6 ping 通常为 不到几十毫秒的 RTT,其总带宽限制为 250 kbps 符合 IEEE 802.15.4 PHY 标准。鉴于数据包的重新传输和开销, 最大带宽约为 125 kbps。换句话说,数量数量级 Wi-Fi。
IEEE 802.15.4 PHY 上的帧为 127 个字节,但其最大(也是典型) IPv6 数据包的 Thread 最大传输单元 (MTU) 为 1280 个字节。因此,IPv6 数据包通常需要拆分为多个 PHY 帧。这个过程由 RFC4944。
如需了解详情,请参阅 openthread.io 上的 Thread Primer 中的 IPv6 地址部分。
边界路由器
那么节点如何在同一结构中同时在两种传输媒介上共存呢? 尽管这两个广告网络共享应用级Matter 凭据没有使用相同的关联技术。在这种情况下, 网络需要 Thread 边界路由器 (BR) 才能启用连接。BR 是存根 IPv6 路由器。
桩路由器可实现桩网络与常规网络之间的连接。存根网络是“最后一公里”该网络可提供外部连接, 但不充当其他网络之间的中转网络路径。 通常,Matter 存根网络 基于 Thread。 请参阅 RFC 草稿 了解有关存根网络的更多信息。
因此,BR 负责充当桩网络与相邻基础架构网络(即本地 Wi-Fi 或以太网)之间的链接。它们仅转发 Thread 个网络。
这一过程是通过向 Thread 和相邻基础设施网络。因此,BR 仅转发与 Thread IPv6 前缀之间的单播。
边界路由器还负责:
- 自动为 Thread 和相邻基础架构网络配置 IPv6 前缀和路由,以便 Thread 边界路由器两侧的主机能够通信。
- 代表发布 mDNS DNS-SD 发现数据包 Thread 个节点,以便在相邻的节点上 基础架构网络
如需了解详情,请参阅边界路由器 openthread.io 上的相关指南。
IPv6 多播
群组邮件也很重要,因为它们可以让同时控制 几个 Matter 节点(通过 Multicast)。为了将此类流量路由到 Thread 网络,Matter 和 Thread 都实现了 RFC 3306 中定义的Unicast基于前缀的 IPv6 Multicast 地址方案。
此方法允许选择 Multicast 个数据包(基于其共享 IPv6) Unicast 前缀。
例如,Matter Multicast 地址 可能如下所示:
FF35:0040:FD<Fabric ID>00:<Group ID>
表 1 详细介绍了该地址的构建方式:
位 | 说明 |
12 位 | 0xFF3 |
4 位 | 0x05
范围:网站本地 |
8 位 | 0x00
已预订 |
8 位 | 0x40
表示长度为 64 位的前缀 |
8 位 | 0xFD
指定 ULA 前缀 |
56 位 | 织物 ID |
8 位 | 0x00 |
16 位 | 组 ID |
如需了解更多信息,请查看 Multicast Thread Primer 的部分和 RFC 本身。
在构成 IPv6 Multicast 地址时,它们还包含 Fabric ID 的 56 位高位。重要的是, Multicast 在 Fabric 中,而 Unicast 地址在 Fabric 之间共享。具有许多结构的节点 有多个 Multicast 地址定义重叠的节点 每个结构范围内的组。
端口
Matter 使用端口 5540 进行多播。