編織紋織布

織布

Weave 織布是支援 Weave 的資源集合。這項功能可讓使用者輕鬆透過安全的方式交換訊息,用於使用者首頁中的 Weave 節點。

這項元件是由 Weave 系統中的第一個節點佈建。佈建完成後,其他節點就可以使用 Weave 憑證安全地加入布料。稍後我們會進一步認識憑證和安全性,但請記住,使用 Weave 的裝置配對和布料會安全無虞。

針對每項資源,則都會獲派一個特殊的 IPv6 位址,供 Weave 應用程式使用。無論使用哪種可路由的無線技術,也沒有任何問題。 乙太網路、Wi-Fi 或 Thread - 只要每個節點都執行 Weave 且是元件成員,就可以收發訊息。

範例

假設您有一個簡單的家用區域網路 (HAN),其中包含由 Wi-Fi 和 Thread 連接的資源。這兩個網路由邊界路由器結合在一起,而這兩個路由器會同時參與這兩個網路,並做為路由器之間轉送流量的路由器。

HAN

每個網路中的資源都使用標準 IP 轉送設定,透過 UDP 或 TCP 等傳輸通訊協定相互通訊。不過,如果已佈建 Weave 架構,現在可以透過相同的傳輸傳遞 Weave 訊息。

使用 Weave 執行 HAN

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 的布料 ID,則布料的全域前置字串會變為:

fd00:0000:fab1::/48

節點編號

織布中的每個節點會指派一個 Weave 節點 ID,格式為 IEEE 擴充專屬識別碼 (EUI-64)。大部分的節點會從 MAC 位址取得節點 ID。節點可能會有 48 位元或 64 位元的 MAC 位址,這些位址通常會分別與 WiFi 或 802.15.4 介面相關聯。Weave 偏好使用 64 位元值做為節點 ID (如果有的話)。

如果節點只有 48 位元 MAC 位址,根據 RFC 4291,Weave 會在中間插入 FF:FE 的 16 位元值,以建立 EUI-64 值,該值會用於編製節點 ID。

舉例來說,如果節點的 MAC 位址是 48 位元的 3c:36:13:33:73:2e,則產生的 Weave 節點 ID 就是 3c3613fffe33732e

如要在 IPv6 位址中使用節點 ID,您必須轉換第 7 個位元 (稱為全域/本機位元),將其轉換為介面 ID。因此,節點 ID 為 3c3613fffe33732e 會變成 3e3613fffe33732e 的介面 ID。

子網路

Weave IPv6 位址的最後一個部分是子網路,這是用於識別網路介面的 16 位元值。這些值取決於基礎網路。例如 Wi-Fi 或 Thread。

在此範例中,假設我們的子網路是 0x0002

全面整合使用

將上述所有元素放在一起,就可以建立 Weave IPv6 位址:

布吉 (ULA)

透過加入布料的資源,Weave 設定檔現在可以透過節點的 Weave 指派的 IPv6 位址,在其與其他布料中的其他資源之間傳送訊息。接下來我們將探討 Weave 中的訊息基本概念。

重點回顧

您學到的內容:

  • 布料 是一個購縮服務的集合 ,它可以合作向用戶和架段提供服務
  • 所有資源都經過驗證和安全加入
  • 系統會為織布中的每個資源指派 IPv6 不重複的本機位址 ,供 Weave 使用
  • 無論基礎無線技術或傳輸方式為何,