[ IoT ] OpenThread - Router Selection

OpenThread - Router Selection

Contents

  • Connected Dominating Set
  • 升級成路由 ( Router )
  • 降級成 REED
  • 單向接收連結 ( One-way receive links )

Connected Dominating Set

  • 路由 ( Router ) 必需是一個 Connected Dominating Set ( CDS ) 型式,其特性如下:

    資料來源: openthread.io

    • 任兩個路由間只有一個路由路徑
    • 在 Thread 網路中的任何一個路由都可以到達任何其他路由 ( Router )
    • 在 Thread 網路中的每個 End Device 都直接連接到路由 ( Router )
    • 分散式演算法維護 CDS,以確保最低程度的冗餘 ( redundancy )
    • 每個裝置最初都是以 End Device ( Child ) 角色連接到網路
    • 隨著 Thread 網路狀態的改變,透過演算法新增或移除 Router 來維護 CDS
  • Thread 新增 Router 特性:

    • 如果網路路由閾值 ( threshold ) 低於 16,則增加 Router 以提高覆蓋範圍
    • 增加路徑多樣性
    • 保持最低冗餘水平
    • 延伸連接與支持更多 Children
  • Thread 刪除 Router 特性:

    • 減少路由狀態以符合 32 個路由的最大上限
    • 當需要時,在網路的其他部分允許新增路由 ( Router )

升級成路由 ( Router )

  • 附加到 Thread 網路之後,Child 裝置能選擇成為路由 ( Router )
  • 在啟動 MLE 連結請求程序之前,Child 傳送位址徵求訊息 ( Address Solicit message ) 給 Leader 以詢問 Router ID
  • 如果 Leader 接受,Leader 回覆 Router ID 與 Child 自己升級成 Router

  • MLE 連結請求程序被使用來建立與相鄰 Router 間雙向 Router-Router 連結

    • 新的 Router 傳送廣播 Link Request 給相鄰的 Router
    • Link Request

      • Link Request 是一個來自 Router 到 Thread 網路中所有其他 Router 的請求
      • 當第一次成為路由時,裝置發送廣播 Link Request 到 ff02::2
      • 透過 MLE Advertisement 發覺其他路由之後,裝置傳送單播 Link Request

      資料來源: openthread.io

      • 訊息內容

  • Router 回覆 Link Accept 與所要求的訊息

    • Link Accept 與 Request

      • Link Accept 與 Request 是 Link Accept 與 Link Request 訊息的組合
      • Thread 在 MLE Link Request 程序使用最佳化來將訊息數量從 4 降低到 3

      資料來源: openthread.io

  • 新的 Router 透過單播 ( unicast ) Link Accept 回覆給每個 Router 以建立 Router-Router 連結

    • Link Accept

      • Link Accept 是一個來自相鄰路由所發送的 Link Request 的單播 ( unicast ) 回應,相鄰路由提供有關自己與接受相鄰路由連結的資訊

      資料來源: openthread.io

      • 訊息內容


降級成 REED

  • 當 Router 降級成 REED 時,它的 Router-Router 連結被切斷且裝置啟動 MLE Attach 程序以建立 Child-Parent 連結

  • 在 Router 重設之後,相鄰的 Router 可能仍然與重設的 Router 間有一個有效的接收連結,在此情況下,重設的 Router 傳送一個 Link Request 訊息給再建立 Router-Router 連結
  • End Device 可能希望與相鄰的非父 Router 建立接收連結以提高廣播可靠性

Reference
GitHub
List of blogs
ALL RIGHTS RESERVED. COPYRIGHT © 2018. Designed and Coded by Makee.io