可促成交易的发现
可委托发现在委托之前进行,是指发现和识别可委托节点的过程。可赚取佣金的节点可以通过以下三种方式宣传自己:
- Bluetooth 低功耗 (BLE)
- Wi-Fi 软 AP
- IP 网络上的 DNS-SD,也称为现有 IP 网络
无论采用哪种方法,可赚取佣金的节点都会通告信息,如表 1 所示。
字段 | 长度 | 必填 |
---|---|---|
判别器 | 12 位 | 是 |
供应商 ID | 16 位 | 否 |
产品 ID | 16 位 | 否 |
扩展数据 | 变量 | 否 |
根据 Matter 规范,供应商 ID 和商品 ID 不是必填项,但可以包含。区分标识符是必需的,在配置过程中至关重要,以便在同时连接多个相同的设备时预配正确的设备。扩展数据可用于编码特定于供应商的自定义信息。
许多设备在开机后都会进行短时间的通告(大约 3 到 15 分钟)。其他设备也不能开始进行广告宣传,因为它们的主要控制功能并非来自 Fabric,或者因为自动为锁具等设备进行未预配的广告宣传并不安全。表 2总结了这种行为。
主要设备功能 | 自动播报 |
---|---|
锁和屏障访问设备 | 否 |
大多数控制来自于面料。例如,开关或灯泡。 | 是 |
大多数控件都不是从 fabric 派生出来的。例如,洗碗机或冰箱。 | 否 |
蓝牙低功耗
在这种广告模式下,管理员会看到 BLE 广告。受托人必须实现 Generic Access Profile (GAP) 外围设备接口,并定期通告其未委托状态。在设备开机后的前 30 秒内,广告频率必须较高,间隔时间为 20 到 60 毫秒。
30 秒后,设备必须以 150 到 1500 毫秒的间隔以低频率进行通告。在被委托为其第一个 Fabric 时,设备必须停止其 BLE 广告。
专员无需发出扫描请求。它应对三个 BLE 广告信道(37 [2402 MHz]、38 [2426 MHz] 和 39 [2480 MHz])执行被动扫描。这些频道是从频谱中与 Wi-Fi 频道重叠最少的区域中挑选出来的,以最大限度地减少射频干扰。
BLE 不用于操作发现。
Wi-Fi 软 AP
使用 Wi-Fi 软 AP 时,系统会通过临时软接入点 (soft AP) 网络发现被授权方。网络的 SSID(网络名称)采用 MATTER-ddd-vvvv-pppp 的格式,其中:
- ddd 是十六进制中的 12 位标识符。
- vvvv 是 16 位供应商 ID(十六进制)。
- pppp 是十六进制 16 位商品 ID。
每当委托人连接到受托人时,这两者都会配置唯一的 IPv6 链路本地地址,以便在 Wi-Fi 层上建立连接。此时,发现过程会继续,就像下一部分中介绍的 DNS-SD 方法一样。
此外,Wi-Fi 软 AP 可以实现 IPv4 的 DHCP 和信息元素 (IE),以公开特定于供应商的其他信息。IE 是 802.11 (Wi-Fi) 管理帧中的可变长度字段,可将自定义信息传输到其他系统。
在委员会扫描期间,应优先使用 Wi-Fi 频道 1、6 和 11,但必须扫描当地频谱法规允许的所有频道。
Wi-Fi 软 AP 不用于操作发现。
DNS-SD
在这种情况下,委托方将通过其域名服务 - 服务发现 (DNS-SD) 广告进行发现,其中包含节点提供的服务的相关信息。如需详细了解 DNS-SD,请参阅 RFC 6762。在以下情况下,这是设备发现的常用方法:
- 受托人已连接到以太网,因此可以对未加密的网络媒介进行物理访问。
- 被授权人已通过任何非正规方式加入 Wi-Fi 或 Thread 网络。
- 受托方已委托给其他 fabric,并已加入 Wi-Fi/Thread 网络。在这种情况下,委托代理无法使用 BLE 通告或创建软 AP。因此,所有次级 Fabric 都是通过此方法预配的。
Thread 设备不会直接使用 DNS-SD,而是使用 Thread 边界路由器提供的代理方法。此方法由 DNS-SD 服务注册协议及其广告代理定义。Thread 设备会在 SRP 服务(通常由 Thread 边界路由器提供)中自行注册。此服务代表每个已注册的 Thread 节点处理 mDNS 流量,而不会让 Thread 网络承受这些协议生成的额外流量负担。
用于设备发现的 DNS-SD 实例名称为 _matterc._udp
,主机名由 48 位 MAC 地址或 64 位 MAC 扩展地址构建,以十六进制字符串(例如 A5F15790B0D15F32.local.
)表示。通常,只有在委托人可能获得佣金时,系统才会通告此记录。不过,即使不在配置模式下,它也可能会继续投放广告。这种行为称为“扩展发现”。
发现后,系统会在 AAAA 记录中返回 IPv6 地址,并在 DNS‑SD TXT 记录中返回键值对。键值对包含分辨标识符、供应商 ID 和商品 ID 等信息。该节点还会通告委托子类型,以便过滤结果,从而仅查找与特定属性匹配的委托。
运营发现
运维发现是指发现和识别已委托节点的过程。操作发现仅通过基于 IP 的 DNS-SD 方法进行。节点实例名称将由 64 位压缩 Fabric ID 和 64 位节点 ID 组成。然后,这些十六进制 ID 会通过连字符连接起来,如 2906C908D115D362-8FC7772401CD0696.local.
中所示。操作发现与 DNS-SD 设备发现共用相同的目标主机名称。
DNS-SD 服务类型为 _matter._tcp
。虽然使用 _tcp
命名,但设备可能会使用其他传输协议,例如 UDP。