编织消息

编织消息

在编织的心脏就是消息。为了执行配置文件的功能,HAN 中的资源必须能够相互发送消息。

编织可靠的消息传递

编织可靠消息传递(WRM) 是编织应用层消息,以便与确认。它确保在结构中的任何两个资源之间可靠地传递任何类型的通用或隧道消息,而不管它们的底层网络传输如何。

编织TLV

编织TLV(标签长度值) 是用于数据的压缩编码的二进制格式。 TLV 在表示上与 JSON 兼容,并针对有效的反序列化进行了优化。它与 CBOR 和 ASN.1 等数据格式最相似,但通常比要编码和表示的给定数据集更简单、更小。

Weave 消息以 TLV 编码,其设计时考虑到了受限设备。 TLV 确保通过网络传输的数据量最少——使用尽可能简单的编码。

Weave TLV 不是人类可读的,因此您不需要在 Weave TLV 中编码任何内容或直接处理它——您只需指定消息类型及其内容,Weave 会为您完成所有工作。

消息类型

有两种类型的 Weave 消息,它们可以以加密和未加密的形式传输。加密两种类型的消息的过程是相同的,并且可以使用相同的密钥对两种类型的消息进行加密。

一般信息

一般信息使用由纺织物应用传达应用程序特定的数据和请求。它们包含描述消息语义以及有效负载结构的元素:

  • 配置文件 ID - 哪个配置文件应该处理消息
  • 消息类型 -​​ 消息的特定类型(操作)
  • Exchange ID — 标识两个资源之间的消息交换流

一般消息还可以传达确认收到较早消息的信息。这是 Weave Reliable Messaging 协议的一部分。

隧道消息

隧道的消息封装编码IP包(IPv6的实践中,虽然支持IPv4),而输送2个编织资源之间。隧道消息在结构上更简单,并且放弃了通用消息中存在的许多特定于应用程序的标头。

隧道数据包可以传送任何有效的 IP 协议,包括 UDP、TCP 或 ICMP。

回顾

你学到了什么:

  • 编织可靠消息确保了两种形式的交流编织可靠的消息传递:
    • 请求-响应
    • 订阅更新
  • 编织TLV 是编织的消息压缩编码的二进制格式
  • 有两种类型的 Weave 消息:
    • 一般消息由轮廓用于被用于传送应用程序特定的数据和请求,诸如那些
    • 隧道的消息封装的IP数据包

有关更深入的信息,请参阅: