藍牙技術聯盟 藍牙Mesh 藍牙mesh 1.1 藍牙

子網橋接技術發威 藍牙Mesh 1.1實現靈活通訊(2)

藍牙技術聯盟(Bluetooth SIG)於2023年初宣布藍牙Mesh 1.1版本,針對跨子網(Subnet)通訊引入「子網橋接」功能,在不犧牲網路安全的前提下,讓Mesh網路布建更加靈活。
Pixabay

子網橋接技術介紹

(承前文)在某些情況下,不同子網的裝置之間需要進行通訊,但又不能影響子網提供的區域隔離,這時便可透過子網橋接功能實現通訊。

能力與優勢

子網橋接功能在網路使用子網進行區域隔離的情況下,選擇性允許相鄰子網的特定裝置之間進行通訊。

實現子網橋接

網路規畫人員必須決定網路中哪些節點將擔任子網橋接器,允許兩個相鄰子網中的某些節點之間進行受控通訊。橋接器配置服務端(Bridge Configuration Server)模型的存在,表示節點支援子網橋接。

要使節點成為子網橋接器,必須將名為「子網橋接器」的狀態值設定為啟用。此外,還必須在另一個名為「橋接表」的狀態中,填入配置節點子網橋接功能的項目。

橋接表狀態

橋接表是一種狀態,其中包含的項目定義了執行子網橋接的來源位址和目的地位址。一個項目定義了從一個位址到另一個位址的橋接,可以是單向橋接,也可以是雙向橋接。無論哪種情况,每個橋接表項目都包含兩個子網中每個子網的網路金鑰索引值。藍牙Mesh協議規格第4.2.42節提供橋接表項目的完整格式,可參照表1資料。

表1 橋接表狀態項目格式

表1中,方向欄位的值為0x01或0x02。0x01表示只允許單向橋接,適用於來源位址(SRC)等於位址1橋接表項目,且目的地位址(DST)等於位址2的訊息,允許訊息從第一個子網轉發到第二個子網。

0x02表示來源位址(SRC)等於位址2且目的地位址(DST)等於位址1的訊息,可以在任一方向進行橋接,包括從第二個子網到第一個子網。

子網橋接和安全

子網可以將網路的不同部分相互隔離,在某些情况下具有安全優勢,可以防止子網中的節點與另一個子網中的節點通訊。

子網橋接允許跨子網通訊,但橋接表確保這種通訊只能在特定的來源位址和目的地位址對,以及特定的子網對之間進行。例如,在一家旅館中,客人可以按下一個按鈕,向客房清潔小組發出訊號,表示希望打掃房間。該按鈕透過子網橋接和定向轉發,將訊息從客人房間所屬的子網發送到客房清潔小組,房間內的其他裝置則無法與該子網之外的任何其他節點通訊。子網橋接允許在子網間進行選擇性和受控通訊,同時保留了區域隔離帶來的安全優勢。

子網橋接器執行重放保護的方式與目的地節點相同,根據子網橋接處理訊息中的來源位址追蹤IV和SEQ值。如果IV和SEQ值組合在數值上不高於從特定來源位址收到的最後一次橋接值,就會遭到捨棄。如此一來,子網橋接器就能保護下一個子網免受阻斷服務攻擊,進而在下一個子網的目的地節點前執行重放保護。

實際運作的子網橋接

子網橋接在子網橋接器節點內的網路層進行。接收訊息時,將檢查橋接表中是否有位址1和位址2欄位與訊息來源位址和目的地位址相符的項目,或者是否有項目的位址2包含訊息SRC位址、位址1包含訊息DST位址,且「方向」欄位表示支援雙向橋接。此外還將進行進一步檢查,以驗證訊息網路PDU是否使用來源子網的NetKey加密。如果滿足這些條件,則使用來源子網NetKey對訊息進行解密,接著使用目的地子網NetKey重新加密,最後重新傳輸。如果準備了適當的子網橋接節點配置,訊息可以多次重發,並在多個子網中傳輸。

如果訊息的來源位址和目的地位址沒有以單向或雙向橋接項目格式出現在橋接表中,就不會將該訊息重新傳輸到其他子網。如果合適,中繼或定向轉發仍可能讓訊息在當前子網內重新傳輸。

子網橋接和定向轉發

定向轉發(參見定向轉發技術概述文件)可與子網橋接一起使用,並涉及兩種節點相依關係。

第一個相依關係存在於第一個子網中的來源節點和作為第二個子網成員的子網橋接器之間。第二個相依關係存在於作為第一個子網成員的子網橋接器和第二個子網的目的地節點之間。

子網橋接器在節點相依關係中充當支援節點,並代表其相依節點執行路徑探索和維護程序以及訊息轉發。

子網橋接讓子網運用更加靈活、更容易設定,能夠以不影響網路安全的方式實現跨子網通訊,將提升藍牙Mesh網路的採用體驗。

(本文作者Martin Woolley任職於藍牙技術聯盟、Omkar Kulkarni任職於Nordic Semiconductor、Piotr Winiarczyk任職於Silvair)

子網橋接技術發威 藍牙Mesh 1.1實現靈活通訊(1)

子網橋接技術發威 藍牙Mesh 1.1實現靈活通訊(2)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!