連結的主導組合
路由器必須形成連線主導集 (CDS),這表示:
- 兩個路由器之間只有一個路由器的路徑。
- 執行緒網路中的任何路由器都可以完全留在路由器集中,觸及其他路由器。
- 執行緒網路中的每部「最終裝置」皆直接連接至路由器。
分散式演算法會維護 CDS,以確保達到最低備援等級。每部裝置最初都以網路裝置 (Child) 的形式連結至網路。執行緒網路的狀態變更時,演算法會新增或移除路由器以維護 CDS。
Thread 會將路由器新增至:
- 如果網路數量低於路由器門檻 16,請提高涵蓋範圍
- 增加路徑多樣性
- 維持最低程度的備援功能
- 擴大連線能力並支持更多兒童
Thread 會將路由器移除:
- 將轉送狀態降到低於 32 個路由器的上限
- 視需要在網路的其他部分允許新的路由器
升級至路由器
連接至 Thread 網路後,子項裝置可能會選擇成為路由器。在啟動 MLE 連結要求程序之前,子項會傳送要詢問地址的主管訊息並詢問路由器 ID。如果主管接受,則會以路由器 ID 回應,而子項會自行升級為路由器。
接著,我們會使用 MLE 連結要求程序來建立與鄰近路由器的雙向路由器連結。
- 新的路由器會將多點傳送連結要求傳送至鄰近的路由器。
- 路由器會以「連結接受與要求」訊息回應。
- 新的路由器會回應個別路由器的 Link Accept 以建立路由器與路由器連結,
1. 連結要求
連結要求是從路由器向執行緒網路中所有其他路由器發出的要求。首次成為路由器時,裝置會傳送多播連結要求至 ff02::2
。稍後,在透過 MLE 通告探索其他路由器後,這些裝置會傳送單點連結要求。
連結要求訊息內容 | |
---|---|
版本 | Thread 通訊協定版本 |
挑戰 | 測試連結回應的時間軸以防止重播攻擊 |
來源地址 | 寄件者的 RLOC16 |
主管資料 | 儲存於路由器 (RLOC、分區 ID、分區權重) 中的路由器主管資訊 |
2. 連結接受與要求
「連結接受」和「要求」是「連結接受」和「連結要求」訊息的組合。Thread 在最佳化作業 (MLE) 的連結要求中使用這項最佳化作業,將訊息數量從 4 減少到三則。
3. 接受連結
「連結接受」是來自鄰路由器的「連結要求」的單向回應,可提供與自身相關的資訊,並接受鄰近路由器的連結。
連結接受訊息內容 | |
---|---|
版本 | Thread 通訊協定版本 |
回應 | 測試連結回應的時間軸以防止重播攻擊 |
連結頁框計數器 | 802.15.4 幀上的設備計數器 |
MLE 影格計數器 | 寄件者上的 MLE 影格計數器 |
來源地址 | 寄件者的 RLOC16 |
主管資料 | 儲存於路由器 (RLOC、分區 ID、分區權重) 中的路由器主管資訊 |
降級至 REED
當路由器降級至 REED 時,其路由器與路由器連結會中斷,且裝置會啟動 MLE 附加程序來建立子項父項連結。
如要進一步瞭解 MLE 附加程序,請參閱加入現有網路一文。
單向接收連結
在某些情況下,可能需要建立單向接收連結。
重設路由器後,相鄰的路由器可能仍有具備重設路由器的有效接收連結。在這種情況下,重設路由器會傳送連結要求訊息以重新建立路由器與路由器連結。
「終端裝置」也可能會想要建立與鄰近非路由器路由器的接收連結,藉此提升多播的可靠性。我們會在進行多點轉送時,進一步瞭解相關資訊
複習內容
涵蓋內容:
- 執行緒網路中的路由器必須建立連線主導集 (CDS)
- 執行緒裝置會升級至路由器或降級為最終裝置,以維持 CDS
- 使用 MLE 連結要求程序建立路由器與路由器連結