選取路由器

前往 GitHub 查看原始碼

連結的主導組合

OT 連線主導組合
「連結的主導組合」範例

路由器必須形成連線主導集 (CDS),這表示:

  1. 兩個路由器之間只有一個路由器的路徑。
  2. 執行緒網路中的任何路由器都可以完全留在路由器集中,觸及其他路由器。
  3. 執行緒網路中的每部「最終裝置」皆直接連接至路由器。

分散式演算法會維護 CDS,以確保達到最低備援等級。每部裝置最初都以網路裝置 (Child) 的形式連結至網路。執行緒網路的狀態變更時,演算法會新增或移除路由器以維護 CDS。

Thread 會將路由器新增至:

  • 如果網路數量低於路由器門檻 16,請提高涵蓋範圍
  • 增加路徑多樣性
  • 維持最低程度的備援功能
  • 擴大連線能力並支持更多兒童

Thread 會將路由器移除:

  • 將轉送狀態降到低於 32 個路由器的上限
  • 視需要在網路的其他部分允許新的路由器

升級至路由器

連接至 Thread 網路後,子項裝置可能會選擇成為路由器。在啟動 MLE 連結要求程序之前,子項會傳送要詢問地址的主管訊息並詢問路由器 ID。如果主管接受,則會以路由器 ID 回應,而子項會自行升級為路由器。

接著,我們會使用 MLE 連結要求程序來建立與鄰近路由器的雙向路由器連結。

  1. 新的路由器會將多點傳送連結要求傳送至鄰近的路由器。
  2. 路由器會以「連結接受與要求」訊息回應。
  3. 新的路由器會回應個別路由器的 Link Accept 以建立路由器與路由器連結,

連結要求是從路由器向執行緒網路中所有其他路由器發出的要求。首次成為路由器時,裝置會傳送多播連結要求至 ff02::2。稍後,在透過 MLE 通告探索其他路由器後,這些裝置會傳送單點連結要求。

OT MLE 連結要求
連結要求訊息內容
版本 Thread 通訊協定版本
挑戰 測試連結回應的時間軸以防止重播攻擊
來源地址 寄件者的 RLOC16
主管資料 儲存於路由器 (RLOC、分區 ID、分區權重) 中的路由器主管資訊

「連結接受」和「要求」是「連結接受」和「連結要求」訊息的組合。Thread 在最佳化作業 (MLE) 的連結要求中使用這項最佳化作業,將訊息數量從 4 減少到三則。

接受並要求 OT MLE 連結

「連結接受」是來自鄰路由器的「連結要求」的單向回應,可提供與自身相關的資訊,並接受鄰近路由器的連結。

接受 OT MLE 連結
連結接受訊息內容
版本 Thread 通訊協定版本
回應 測試連結回應的時間軸以防止重播攻擊
連結頁框計數器 802.15.4 幀上的設備計數器
MLE 影格計數器 寄件者上的 MLE 影格計數器
來源地址 寄件者的 RLOC16
主管資料 儲存於路由器 (RLOC、分區 ID、分區權重) 中的路由器主管資訊

降級至 REED

當路由器降級至 REED 時,其路由器與路由器連結會中斷,且裝置會啟動 MLE 附加程序來建立子項父項連結。

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

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

重設路由器後,相鄰的路由器可能仍有具備重設路由器的有效接收連結。在這種情況下,重設路由器會傳送連結要求訊息以重新建立路由器與路由器連結。

「終端裝置」也可能會想要建立與鄰近非路由器路由器的接收連結,藉此提升多播的可靠性。我們會在進行多點轉送時,進一步瞭解相關資訊

複習內容

涵蓋內容:

  • 執行緒網路中的路由器必須建立連線主導集 (CDS)
  • 執行緒裝置會升級至路由器或降級為最終裝置,以維持 CDS
  • 使用 MLE 連結要求程序建立路由器與路由器連結

測驗您的理解程度

哪些規則不會由「連結的主導組合」(CDS) 強制執行?
兩個路由器之間只有一個路由器的路徑。
答錯了。
Thread 網路中的任一路由器都可以完全留在路由器集中,連線到其他路由器。
答錯了。
執行緒網路中的每個最終裝置都會直接連結至路由器。
答錯了。
執行緒網路中只有一個路由器可能是邊界路由器。
答對了,一個 Thread 網路可以有多個邊界路由器。
為什麼路由器可能會從 Thread 網路中移除?
為了將轉送狀態降到低於 32 個路由器的上限。
答對了,執行緒網路致力於維持最佳路由器數量。所有 Thread 網路都應具備最多 32 個路由器。
,即可釋出頻道。
不正確。路由器的數量與管道用量或容量無關。
允許在網路的其他部分選擇新路由器。
答對了,減少 Thread 網路中一部分的路由器數量,就能提昇在其他地區轉送轉送能力的能力。
如果 REED 嘗試成為路由器,則必須執行與其他路由器之間的直接連結,才會發生什麼情況?
REED 必須傳送地址主動訊息訊息給網路負責人。
正確。
領先者必須授予路由器 ID 給 REED。
答對了,如果沒有路由器 ID,REED 仍然是下層裝置。
REED 必須傳送 MLE 連結要求。
答錯了。MLE 連結要求是裝置成為路由器後,裝置會與其他路由器建立連結的方式。
關於路由器降級時,以下敘述何者正確?
裝置會自動留存在網路上,但為兒童 (REED)。
答錯了。路由器降級時,必須完成更多步驟。
裝置必須啟動 MLE 附加程序,以便與網路建立新連線。
答對了,裝置會從路由器降級為 REED 連線會中斷,並且必須重新協商與網路的連線。
什麼程序可用來建立路由器與路由器的連結?
MLE 連結要求程序。
正確。
「連結與接受」連結。
不正確。我們不接受「連結接受」和「要求」程序。 連結要求接受和要求訊息會由路由器傳送,做為 MLE 連結要求程序中的一部分連結要求訊息。
MLE 附加程序。
不正確。MLE 附加程序是裝置加入現有 Thread 網路的程序。