選取網狀網路延伸器

在 GitHub 上查看來源

連通支配集

OT Connected Dominating Set
連線主導集範例

網狀延伸器必須形成連線主導集 (CDS),也就是:

  1. 任意兩個 Mesh 擴充器之間只有 Mesh 擴充器路徑。
  2. Thread 網路中的任何無線訊號延伸器,都能完全在無線訊號延伸器集合中,連線至其他無線訊號延伸器。
  3. Thread 網路中的每個終端裝置都會直接連線至網狀網路擴充器。

分散式演算法會維護 CDS,確保最低程度的備援。每個裝置一開始都會以「終端裝置」(子項) 的身分連上網路。隨著 Thread 網路狀態改變,演算法會新增或移除網狀網路擴充器,以維持 CDS。

討論串會將網狀延伸器新增至:

  • 如果網路低於網狀擴充器門檻 16,請擴大覆蓋範圍
  • 提高路徑多樣性
  • 維持最低備援等級
  • 擴大連線範圍,支援更多孩子

執行緒會移除網狀延伸器 (將其切換為待機狀態 支援延伸器功能的裝置 (ECD)),以便:

  • 將「路由」狀態保持在最多 32 個網狀延伸器以下
  • 視需要允許網路其他部分的新 Mesh 擴充器

升級為 Mesh 擴充器

連上 Thread 網路後,可做為擴充器的子裝置可能會選擇成為網狀網路擴充器。在啟動 MLE 連結要求程序之前,子項會傳送地址請求訊息給領導者,要求路由器 ID。如果領導者接受,就會傳回路由器 ID,而子裝置會自行升級為網狀延伸器。

然後使用 MLE 連結要求程序,與鄰近的 Mesh Extender 建立雙向 Mesh Extender 連結。

  1. 新的 Mesh 擴充器會向鄰近的 Mesh 擴充器傳送多點傳播「連結要求」
  2. Mesh Extender 會以「Link Accept and Request」訊息回應。
  3. 新的 Mesh Extender 會以單點播送 Link Accept 回應每個 Mesh Extender,建立 Mesh Extender 連結。

「連結要求」是指 Mesh 擴充器向 Thread 網路中的所有其他 Mesh 擴充器提出的要求。裝置首次成為 Mesh Extender 時,會將多點傳播連結要求傳送至 ff02::2。之後,裝置會透過 MLE 廣告探索其他 Mesh 擴充器,並傳送單點播送的連結要求。

OT MLE 連結要求
連結要求訊息內容
版本 Thread 通訊協定版本
挑戰 測試連結回覆的及時性,防範重送攻擊
來源位址 寄件者的 RLOC16
領導者 資料 儲存在傳送端 (RLOC、分區 ID、分區權重) 的 Mesh Extender 領導者相關資訊

「連結接受和要求」是「連結接受」和「連結要求」訊息的組合。Thread 會在 MLE 連結要求程序中使用這項最佳化功能,將訊息數量從四則減少為三則。

OT MLE 連結接受和要求

「連結接受」是鄰近網狀延伸器對「連結要求」的單點播送回應,提供自身資訊並接受與鄰近網狀延伸器的連結。

OT MLE Link Accept
連結「接受訊息內容」
版本 Thread 通訊協定版本
回應 測試連結回覆的及時性,防範重送攻擊
連結影格計數器 傳送端的 802.15.4 影格計數器
MLE 影格計數器 傳送端的 MLE 影格計數器
來源 位址 寄件者的 RLOC16
領導者 資料 儲存在傳送端上的 Mesh Extender 領導者相關資訊 (RLOC、 分割區 ID、分割區權重)

降級為備用擴充器相容裝置

當 Mesh Extender 降級為待機的 Extender-Capable Device 時,Mesh Extender 連結會中斷,裝置會啟動 MLE Attach 程序,建立子項與父項的連結。

如要進一步瞭解 MLE Attach 程序,請參閱「加入現有網路」。

在某些情況下,可能需要建立單向接收連結。

重設 Mesh 擴充器後,鄰近的 Mesh 擴充器可能仍與重設的 Mesh 擴充器有有效的接收連結。在這種情況下,重設 Mesh 擴充器會傳送「連結要求」訊息,重新建立現有的 Mesh 擴充器連結。

終端裝置也可能希望與鄰近的非父項網狀延伸器建立接收連結,以提升多點播送的可靠性。我們會在討論多點傳播路由時,進一步瞭解這項功能。

重點回顧

學到的內容:

  • Thread 網路中的網狀信號延伸器必須形成連線主導集 (CDS)
  • 可升級的擴充裝置 (ECD) 可升級為網狀擴充裝置,或降級為待機 ECD,以維持 CDS
  • MLE 連結要求程序用於建立 Mesh Extender 連結

隨堂測驗

下列哪些規則不會由連線主導集 (CDS) 強制執行?
任意兩個 Mesh 擴充器之間只有 Mesh 擴充器路徑。
答錯了。
Thread 網路中的任何無線訊號延伸器,都能完全在無線訊號延伸器組內,連線至其他無線訊號延伸器。
答錯了。
Thread 網路中的每個終端裝置都會直接連線至網狀網路擴充器。
答錯了。
Thread 網路中只能有一個 Mesh 擴充器做為邊界路由器。
沒錯。一個 Thread 網路可以有多個邊界路由器。
為什麼 Mesh Extender 可能會從 Thread 網路中移除 (即降級為待機的 Extender 裝置)?
將路由狀態保持在最多 32 個網狀延伸器以下。
沒錯。Thread 網路會盡量維持最佳數量的網狀擴充器。任何 Thread 網路最多應有 32 個 Mesh 擴充器。
釋出頻道。
答錯了。Mesh 擴充器的數量與頻道用量或容量無關。
允許在網路其他部分選取新的 Mesh 擴充器 (如有需要)。
沒錯。減少 Thread 網路某部分的網狀信號延伸器數量,可提高其他部分的路由容量。
嘗試成為網狀延伸器的延伸器相容裝置,必須先完成哪些步驟,才能與其他網狀延伸器建立直接連結?
支援擴充功能的裝置必須將位址要求訊息傳送至網路領導者。
答對了。
領導者必須將路由器 ID 授予可擴充裝置。
沒錯。如果沒有路由器 ID,支援擴充功能的裝置仍會是終端裝置 (子裝置)。
支援擴充功能的裝置必須傳送 MLE 連結要求。
答錯了。裝置成為 Mesh 擴充器後,會透過 MLE 連結要求與其他 Mesh 擴充器建立連結。
以下有關 Mesh 擴充器降級的敘述何者正確?
裝置會自動留在網路上,但會成為子裝置 (待機的擴充器相容裝置)。
答錯了。Mesh 擴充器降級時,需要執行更多步驟。
裝置必須啟動 MLE Attach 程序,才能建立與網路的新連線。
沒錯。如果裝置從 Mesh 擴充器降級為待機的擴充器相容裝置,就會中斷連線,必須重新協商與網路的連線。
建立 Mesh Extender 連結的程序為何?
MLE 連結要求程序。
答對了。
接受連結要求和提出連結要求程序。
答錯了。沒有所謂的「接受連結」和「要求連結」程序。 Mesh 擴充器會傳送「連結接受」和「連結要求」訊息,以回應「連結要求」訊息,這是 MLE 連結要求程序的一部分。
MLE 附加程序。
答錯了。MLE Attach 程序是指裝置加入現有 Thread 網路的程序。