天天看點

Router 選擇

Connected Dominating Set

Router 選擇

Example of a Connected Dominating Set

Router 必須形成一個 CDS(Connected Dominating Set,連接配接支配集),這意味着:

  1. 在任何兩個 Router 之間都有一個 Router-only 的路徑。
  2. Thread 網絡中的任何一個 Router 都可以通過完全位于 Router 集中而到達其他任何 Router。
  3. Thread 網絡中的每個 End Device 都直接連接配接到 Router。

Thread 使用分布式算法維護 CDS,進而確定最低程度的備援。每個裝置最初都作為 End Device(子)連接配接到網絡。随着 Thread 網絡狀态的更改,算法會增添或移除 Router 以維護 CDS。

Thread 在下列情況下将會增添 Router:

  • 如果網絡低于 Router 門檻值(16) —— 為了增加覆寫範圍
  • 增加路徑多樣性
  • 保持最低程度的備援
  • 擴充連接配接并支援更多子節點

Thread 在下列情況下将會移除 Router:

  • 将路由狀态減少到最多 32 個 Router 以下
  • 必要時允許在網絡的其他部分使用新 Router

更新成 Router

子裝置連接配接到 Thread 網絡後,可以選擇成為 Router。在開始 MLE Link Request 過程之前,子裝置會向 Leader 發送 Address Solicit 消息,以請求一個 Router ID。如果 Leader 同意該請求,則它将響應一個 Router ID 給子裝置,并且子裝置會将自身更新為 Router。

然後,MLE Link Request 過程用于與相鄰的 Router 建立雙向 Router-Router 鍊路。

  1. 新 Router 将發送一個多點傳播 Link Request 到相鄰的 Router。
  2. Router 使用 Link Accept and Request 消息進行響應。
  3. 新 Router 使用單點傳播的 Link Accept 響應每個 Router,以建立 Router-Router 鍊路。

1. Link Request

Link Request 是從 Router 到 Thread 網絡中所有其他 Router 的請求。首次成為 Router 時,裝置會發送一個多點傳播 Link Request 到

ff02::2

。稍後,在通過 MLE Advertisement 發現其他 Router 後,裝置将發送單點傳播的 Link Request。

Router 選擇
Link Request Message Contents
Version Thread 協定版本
Challenge 測試 Link Response 的及時性,以防止重播攻擊
Source Address 發送者的 RLOC16
Leader Data Router 的 Leader 的相關資訊(RLOC, Partition ID, Partition weight)

2. Link Accept and Request

Link Accept and Request 是 Link Accept 和 Link Request 消息的組合。Thread 在 MLE Link Request 過程中使用此優化将消息的數量從四減少到三。

Router 選擇

3. Link Accept

Link Accept 是對來自相鄰 Router 的 Link Request 的單點傳播響應,該響應提供有關自身的資訊并接受到相鄰 Router 的鍊路。

Router 選擇
Link Accept Message Contents
Version Thread 協定版本
Response 測試 Link Response 的及時性,以防止重播攻擊
Link Frame Counter 發送者上的 802.15.4 幀計數器
MLE Frame Counter 發送者上的 MLE 幀計數器
Source Address 發送者的 RLOC16
Leader Data Router 的 Leader 的相關資訊(RLOC, Partition ID, Partition weight)

降級成 REED

當 Router 降級成 REED 時,其 Router-Router 鍊路斷開,并且裝置開始 MLE Attach 過程以建立父子鍊路。

有關 MLE Attach 過程的更多資訊,請參閱 加入現有網絡。

單向接收鍊路

在某些情況下,建立單向接收鍊路是有必要的。

在 Router 重置後,相鄰 Router 可能仍具有與重置的 Router 的有效接收鍊路。在這種情況下,重置的 Router 發送 Link Request 消息以重建立立 Router-Router 鍊路。

置的 Router 的有效接收鍊路。在這種情況下,重置的 Router 發送 Link Request 消息以重建立立 Router-Router 鍊路。

End Device 也可能希望與相鄰的 Router(非父節點)建立接收鍊路,以提高多點傳播可靠性。當我們進入多點傳播路由時,我們将學習更多與此相關的内容。

繼續閱讀