编织物

编织面料

Weave 结构是启用了 Weave 的一系列资源。它为用户家中的 Weave 节点提供了一种便捷的方式来以安全方式交换消息。

结构由 Weave 系统中的第一个节点预配。预配后,其他节点可以使用 Weave 证书安全地加入结构。我们稍后会详细介绍证书和安全机制,但请注意,加入 Weave 的设备配对和机制始终是安全的。

结构中的每个资源都会被分配一个特殊的 IPv6 地址,供 Weave 应用使用。无论您使用哪种可路由无线技术,以太网、Wi-Fi 或线程 - 只要每个节点运行 Weave 且是结构的一部分,就可以发送和接收消息。

示例

假设您有一个简单的家庭局域网 (HAN),它由 Wi-Fi 和 Thread 连接的资源。这两个网络通过边界路由器连接在一起,该路由器会参与这两个网络,并充当路由器在它们之间路由流量。

汉语

每个网络中的资源都使用其标准 IP 路由配置通过传输协议(如 UDP 或 TCP)相互通信,但通过预配 Weave 结构,它们现在可以通过相同的传输来传递 Weave 消息。

Hana 与 Weave

IPv6 地址

Weave 结构通过为架构中的每个资源分配唯一的本地地址 (ULA) ,跨 Weave 应用实现简单的 IPv6 路由。Weave 应用使用此地址来路由 Weave 消息。

以下是一个节点的 IPv6 Weave 地址示例:

fd00::fab1:2:3e36:13ff:fe33:732e

我们来了解一下组成地址的不同元素。

全局前缀

所有 Weave 节点都使用 fd00::/48 的 IPv6 全局前缀。此块中的地址由 IETF 在 RFC-4193 中指定,以便在 HAN 等专用网络内使用。

织物 ID

结构将配置为在结构配置期间随机生成的唯一 64 位 ID。此 ID 会成为 IPv6 全局前缀的一部分。

例如,如果为结构体分配了一个 fab1 的 Fabric ID,则结构体的全局前缀将变为:

fd00:0000:fab1::/48

节点 ID

结构中的每个节点都会为其分配一个 Weave 节点 ID,其格式为 IEEE 扩展唯一标识符 (EUI-64)。大多数节点都会通过其 MAC 地址派生其节点 ID。节点可能具有 48 位或 64 位 MAC 地址,通常分别与 Wi-Fi 或 802.15.4 接口相关联。Weave 倾向于使用 64 位值(如果可用)作为节点 ID。

根据 RFC 4291,如果节点只有 48 位 MAC 地址,Weave 会在中间插入 16 位值 FF:FE 以创建 EUI-64 值,该值用作 Weave 节点 ID。

例如,如果节点的 MAC 地址为 48 位 3c:36:13:33:73:2e,则生成的 Weave 节点 ID 为 3c3613fffe33732e

如需在 IPv6 地址中使用节点 ID,您必须通过翻转第 7 位(称为通用/本地位)将其转换为接口标识符。因此,节点 ID 3c3613fffe33732e 会变为 3e3613fffe33732e 的接口标识符。

子网

Weave IPv6 地址的最后一部分是子网,它是 16 位值,用于标识网络接口。这些值由底层网络确定。例如 Wi-Fi 或线程。

在本例中,假设我们的子网是 0x0002

综合应用

将上述所有元素组合在一起可得到 Weave IPv6 地址:

Fabric Uula

将资源联接到结构后,Weave 配置文件现在可以通过节点的 Weave 分配的 IPv6 地址在它与结构中的其他资源之间传递消息。接下来,我们将了解 Weave 中消息功能的基础知识。

要点总结

您学到的内容:

  • 结构 是支持 Weave 的资源 的集合,用于向用户提供服务和结构
  • 资源始终经过身份验证并安全地连接到结构
  • 结构中的每项资源都分配有一个 IPv6 唯一本地地址 ,供 Weave 使用
  • 无论底层无线技术或传输如何, 在这些 IPv6 地址之间传递的消息