Thread 網路
Thread 網路會透過三個專屬 ID 識別:
- 2 個位元組個人區域網路 ID (PAN ID)
- 8 個位元組的 Extended Personal Area Network ID (XPAN ID)
- 使用者可判讀的網路名稱
舉例來說,Thread 網路可能會有以下 ID:
ID | 值 |
---|---|
PAN ID | 0xBEEF |
XPAN ID | 0xBEEF1111CAFE2222 |
網路名稱 | yourThreadCafe |
建立新的 Thread 網路或搜尋要加入的現有網路時,Thread 裝置會對無線電範圍內的 802.15.4 網路執行主動掃描:
- 裝置會在特定頻道上廣播 802.15.4 信標要求。
- 回傳時,範圍內的任何路由器或路由器適用終端裝置 (REED) 都會廣播含有其 Thread 網路 PAN ID、XPAN ID 和網路名稱的訊號。
- 裝置會針對每個管道重複上述兩個步驟。
當 Thread 裝置發現範圍內的所有網路後,可以連結至現有網路,或在未發現任何網路的情況下建立新網路。
網狀連結建立
Thread 會使用 Mesh Link Establishment (MLE) 通訊協定,設定連結並將網路相關資訊散布到 Thread 裝置。
在連結設定中,MLE 可用於:
- 探索鄰近裝置的連結
- 判斷鄰近裝置連結的品質
- 建立鄰近裝置的連結
- 與同類裝置協商連結參數 (裝置類型、影格計數器、逾時)
MLE 會將下列類型的資訊散布給希望建立連結的裝置:
- 領導者資料 (領導者 RLOC、分區 ID、分區權重)
- 網路資料 (網格前置字串、位址自動設定、更具體的路徑)
- 路由傳播
Thread 中的路徑傳播方式與距離向量路徑傳播協定 (RIP) 類似。
建立新的網路
如果裝置選擇建立新的網路,就會選取最不繁忙的管道,以及其他網路未使用的 PAN ID,然後成為 Router,並選取自己為 Leader。這部裝置會將 MLE 廣告訊息傳送至其他 802.15.4 裝置,通知對方連線狀態,並回應其他執行主動掃描的 Thread 裝置發出的訊號要求。
加入現有網路
如果裝置選擇加入現有網路,就會透過 Thread 委派程序,將自己的頻道、PAN ID、XPAN ID 和網路名稱設定為與目標網路相符,然後透過 MLE 附加程序,以子裝置 (終端裝置) 的形式附加。這項程序適用於子項與父項連結。
- 子路由器會將多點廣播的「Parent Request」傳送至目標網路中所有相鄰的路由器和 REED。
- 所有相鄰的 Router 和 REED (如果父項要求掃描遮罩包含 REED) 都會傳送父項回應,其中包含自身資訊。
- 孩子選擇家長裝置,並傳送孩子 ID 要求。
- 上層傳送子項 ID 回應,確認連結建立。
1. 家長要求
父項請求是來自連結裝置的多播要求,用於在目標網路中找出鄰近的路由器和可使用路由器的終端裝置 (REED)。
家長要求訊息內容 | |
---|---|
眾數 | 說明連接裝置 |
挑戰 | 測試父項回應的即時性,以防範重播攻擊 |
掃描遮罩 | 將要求限制為僅限路由器,或路由器和 REED 皆可 |
2. 父項回應
父項回應是對父項要求的單播回應,可為連接裝置提供 Router 或 REED 的資訊。
家長回應訊息內容 | |
---|---|
版本 | 執行緒通訊協定版本 |
回應 | 家長要求驗證的副本 |
Link Frame 計數器 | 路由器/REED 上的 802.15.4 影格計數器 |
MLE 影格計數器 | 路由器/REED 上的 MLE 影格計數器 |
來源地址 | 路由器/REED 的 RLOC16 |
連結邊界 | 接收 Router/REED 的訊號品質 |
連線能力 | 說明 Router/REED 的連線層級 |
領導者資料 | 路由器/REED 領導者的相關資訊 |
挑戰 | 測試子項 ID 要求的時間準確性,以防範重送攻擊 |
3. 兒童 ID 要求
子裝置 ID 要求是從連結裝置 (子裝置) 傳送至 Router 或 REED (家長裝置) 的單播要求,目的是建立子裝置與家長裝置的連結。如果要求傳送至 REED,REED 會在接受要求前將自己升級為 Router。
兒童 ID 要求訊息內容 | |
---|---|
版本 | 執行緒通訊協定版本 |
回應 | 父項回應挑戰的副本 |
Link Frame 計數器 | 子項上的 802.15.4 影格計數器 |
MLE 影格計數器 | 子項中的 MLE 影格計數器 |
眾數 | 說明子項 |
逾時 | 上層物件移除子項前的閒置時間長度 |
地址註冊 (僅限 MED 和 SED) | 註冊 IPv6 位址 |
4. 子項 ID 回應
子項 ID 回應是來自上層的單播回應,會傳送至子項,以確認已建立子項-上層連結。
兒童 ID 回覆訊息內容 | |
---|---|
來源地址 | 父項 RLOC16 |
Address16 | 子項的 RLOC16 |
領導者資料 | 父項領導者 (RLOC、分區 ID、分區權重) 的相關資訊 |
網路資料 | Thread 網路相關資訊 (網格前置字串、位址自動設定、更具體的路徑) |
路徑 (僅限 RED) | 路由傳播 |
逾時 | 上層物件移除子項前的閒置時間長度 |
地址註冊 (僅限 MED 和 SED) | 確認已註冊的地址 |
重點回顧
您學到的內容:
- Thread 裝置對現有網路執行主動掃描
- Thread 會使用 Mesh Link Establishment 設定連結,並散布網路裝置的相關資訊
- MLE 廣告訊息會將裝置的網路和連結狀態通知其他 Thread 裝置
- MLE 附加程序會建立子項與父項的連結