Matter 1.0协议解读-安全信道(1)

1、整体介绍

安全通道和消息层提供一致的网络服务基板,以允许节点之间安全地通信。在调测和单播通信过程中,提供了发现机制来确定对端IPv6地址和运行参数。使用证书(CASE)或共享密码(PASE)提供安全会话建立机制。

1.1、消息

通信是通过消息进行的。消息要么是安全的,要么是不安全的。每条消息都有一个会话类型和会话ID,以便确定它是否安全,以及如果安全,如何解密和身份验证。每条消息都有一个message Counter字段,以便为安全和重复检测目的惟一标识消息。操作通信被定义为通过IP传输在委托节点之间使用安全的Matter消息格式的通信。所有操作通信都启用了消息安全性。节点之间的操作通信可以是单播或多播。

不安全通信严格限于:

1.1.1、消息类型

消息被定义为控制消息数据消息。大多数消息都是数据消息。控制消息为MCSP等内部协议保留,以初始化安全性。这两种消息类型在格式上是相同的,但是使用单独的消息计数器域,因此它们可以在相同的安全密钥上安全地操作。

1.1.2、消息传输

消息的大小是有限的,并通过支持的传输以单个数据包的形式发送:

BTP作为调试的传输协议提供。TCP和MRP(增加了可靠性的UDP)作为操作消息传递的传输协议提供。

1.1.3、消息交互

消息提供了一个交换层来跟踪组成小型、离散事务的相关消息。交换层向上面的交互模型层提供了这种事务跟踪工具,提供了在给定的底层会话上复用多个这样的并发事务的方法。交换层还将消息可靠性协议(MRP)集成为一种服务,用于UDP传输。此消息层体系结构如图“消息层堆栈”所示:

2、IPv6 可达性

为使节点间IPv6网络可达,需要配置IPv6网络。如之前“网络拓扑”所述,一个Matter网络可以由一个或多个IPv6网络组成。

在单一的网络配置中,所有的物质节点都附加到相同的IPv6链路上。单个网络配置可能包含单个桥接Wi-Fi /以太网网络,其中连接到该网络的所有节点都是同一广播域的一部分。当所有的物质节点都连接到同一个Wi-Fi /以太网网络时,链路本地IPv6寻址就足够了——不需要额外的IPv6网络基础设施。

在多网络配置中,一个Matter网络由(通常是一个)基础设施网络和一个或多个存根网络组成。与基础设施网络不同,存根网络不充当交通网络。通常情况下,基础架构网络是桥接的Wi-Fi /以太网网络,Thread网络是存根网络。stub路由器连接stub网络和基础架构网络,提供两个网络之间的IPv6可达性。

2.1、Stub(存根)路由器行为

stub路由器应该实现[draft-lemon-stub-networks]。在多网络配置中,基础设施网络和存根网络都需要可路由的IPv6地址进行跨网络通信。可路由的IPv6地址应具有全局作用域(如GUA或ULA) [RFC 4007],并应由发布为在线链接的前缀构造而成。如果在给定的网络中没有可路由的前缀,存根路由器必须提供它自己的可路由前缀。注意,Thread的“on-mesh前缀”相当于Wi-Fi / Ethernet的“on-link前缀”。

Stub路由器应向相邻网络上的所有可路由前缀通告可达性。连接线程网络的存根路由器应使用路由器通告[RFC 4861]中所载的路由信息选项[RFC 4191],向邻近的基础设施网络通告所有线程网络的可路由前缀的可达性。同一存根路由器还应在线程网络数据[Thread规范]中公布基础设施网络的所有可路由前缀到相邻Thread网络的可达性。

2.2、matter节点的行为

节点必须配置链路本地IPv6地址。此外,节点应支持至少三个可路由IPv6地址的配置(除了链路本地地址和(在Thread情况下)网格本地地址)。在Wi-Fi /以太网接口上,ICMPv6路由器通告(RA)消息发布用于在链路上使用的前缀[RFC 4861]。在Thread接口上,Thread网络数据包含用于链接的前缀[Thread规范]。如果一个节点收到一个允许在给定接口上自主配置的在线前缀,并且该节点配置的可路由IPv6地址少于三个,则该节点必须从该前缀自主配置一个IPv6地址。

matter节点还应配置到相邻网络的路由。在Wi-Fi /以太网网络中,节点必须处理路由信息选项[RFC 4191],并通过stub路由器配置分配给stub网络的IPv6前缀路由。Wi-Fi /以太网接口应支持维护至少16种使用路由信息选项配置的不同路由。在Thread网络中,节点应根据Thread网络数据[Thread规范]中提供的路由信息进行路由。Thread设备应支持在Thread网络数据中编码的尽可能多的路由。

matter节点应支持的IPv6邻居缓存项数量至少等于所支持的CASE会话数量加上所支持的路由数量。

3、设备广播和发现监测(discovery)

本节描述广播和matter的发现监测。广播和matter的发现监测现在以下上下文中使用:

服务发布和发现使用IETF标准的基于DNS的服务发现(DNS - SD) [RFC 6763]。Matter不需要修改IETF标准DNS - SD。使用DNS - SD意味着所提供服务的单播IPv6地址和端口都被发现,从而使Matter不再需要一个预先分配的固定端口。这也使得在单个设备上运行Matter软件的多个实例成为可能,因为每个实例都有自己的动态分配端口,而不是试图使用相同的预分配固定端口而发生冲突。在目前的Wi - Fi和以太网网络上,DNS - SD [RFC 6763]使用组播DNS [RFC 6762]进行零配置操作。

因此,在基础服务发现API中可行的情况下,发布服务可用性的Matter软件应该表明该服务的公告和应答只需要包括IPv6地址记录,而不需要包括IPv4地址记录。在同时支持IPv4和IPv6的通用双栈主机上,可以通过让与matter相关的SRV记录引用只附加IPv6地址记录的特定于matter的目标主机名来实现这一点。这允许通用双栈主机为仍然需要IPv4的遗留客户端软件提供可发现的IPv4地址,同时为Matter目的提供优化的仅ipv6地址发现。

同样,由于Matter不使用IPv4,发现其他Matter实例的Matter软件不应期望响应中包含任何IPv4地址。这两项处理服务发现消息的内容。当使用多播DNS时,与这些服务发现消息(通过IPv4、IPv6或两者发送)的传递相关的效率问题也会出现。

在底层服务发现API支持的地方,使用组播DNS发布服务可用性的Matter软件应该表明,该服务的公告和应答只需要在IPv6上执行。类似地,在底层服务发现API支持的地方,使用多播DNS发出服务发现查询的Matter应用软件应该表明,这些查询只需要在IPv6上执行。这些优化减少了组播包的大小和数量,这在Wi - Fi网络上尤其有益。一个只支持IPv6的Matter设备会自动得到这些优化,仅仅是因为它根本不支持IPv4。

对于Thread网状网络,过多使用组播将是有害的[RFC 7558], DNS - SD使用单播DNS代替,利用Thread边界路由器上的线程服务注册中心的功能[draft-lemon-stub-networks]。

从概念上讲,正在通信的DNS - SD [RFC 6763]信息与正在使用的Multi - number cast DNS [RFC 6762]是相同的,除了信息以单播报文的形式来往于指定的服务注册中心,而不是以组播报文的形式来往于同一广播域中的每个其他节点。

使用服务注册协议[SRP]和在Thread上运行的广播代理[AdProx]边界路由器,Thread网格上的事项节点可以被Thread网格上的其他事项节点发现相邻的以太网或Wi - Fi链路,不需要在Thread网格上使用组播。所有Thread和连接事项节点必须执行服务注册协议。

Thread边界路由器在Thread网络数据[Thread规范]中发布可用的SRP服务器。Thread设备应使用可用的SRP服务器注册其服务[Thread规范]。

当Matter节点向其他Matter节点发出短时间请求时,响应会返回到请求的源IPv6地址和端口。当matter节点向其他matter节点发出长时间的请求时,在响应生成时,请求者可能已经更改了IPv6地址或端口,因此响应者可能必须发现发起者的当前IPv6地址和端口,以便发送响应。

Thread边界路由器必须实现DNS - SD发现代理[RFC 8766],以使Thread网格(如其他节点)上的客户端能够发现使用相邻以太网或Wi - Fi链路上的组播DNS发布的服务(如事务节点),同时也不需要在Thread网格[draft-lemon-stub-networks]上使用组播的成本。对于短时间的瞬时查询,这些查询可以使用UDP单播DNS到DNS - SD发现代理执行。对于长期存在的、带有持续更改通知的查询,使用DNS Push Notifications [RFC 8765]和DNS Stateful Operations [RFC 8490]允许Thread网格上的客户端收到已发现服务集的更改通知,而不需要昂贵的轮询。

原则上,Thread网格服务注册表可以在Thread网格内部(甚至外部)的任何有能力的节点上运行,尽管实际上Thread边界路由器是提供服务注册表的一个有吸引力的候选者。Thread边界路由器设备通常是交流供电的,通常具有更强大的cpu和更大的闪存存储和RAM,而不是更受限制的电池供电的Thread节点。Thread上的物质设备依赖于线程为Thread网格上的Thread设备提供可靠的服务。这类似于Wi - Fi上的物质设备依赖于Wi - Fi接入点(AP),为使用该Wi - Fi接入点的Wi - Fi设备提供可靠的服务。

(未完待续)

展开阅读全文

页面更新:2024-03-25

标签:存根   前缀   信道   网格   节点   路由   路由器   协议   消息   地址   发现   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top