是什麼讓 MeshCore 與眾不同
許多 LoRa 網狀網路平台(例如 Meshtastic)依賴管理式/廣播式洪泛(managed/broadcast flooding),節點會依據跳躍數限制與重複抑制機制重新廣播訊息,而非單純「每個節點重複轉發所有訊息」的原始洪泛方式。MeshCore 則採用「先洪泛、後直接路由」的做法:
- 傳送給任一目的地的第一則訊息,會以洪泛方式路由,範圍內所有中繼器皆會重新廣播
- 目的地會回傳其接收到該洪泛訊息所經過的路徑
- 之後傳送給該目的地的所有訊息,皆會採用直接路由,並嵌入特定的中繼器路徑,僅有這些中繼器會轉發該訊息
對於重複性的單播流量而言,一旦路徑建立完成,便能降低頻道使用率;群組與廣播流量則仍然採用洪泛方式,而網路變動(例如節點移動或路徑失效)則會觸發重新洪泛。
頻率
- 台灣(目前需自行設定):920–925 MHz 頻段
- 美國/加拿大:910.525 MHz,SF7,頻寬 62.5 kHz,CR5 等
- 歐盟/英國:868 MHz 頻段
- 澳洲/紐西蘭:915 MHz 頻段
主要功能
- Room Server 提供訊息儲存轉發功能(每位使用者最近訊息會儲存於 RAM 中,容量依韌體而異)
- 路徑雜湊模式,可依行動式或固定式中繼器網路進行調整
- 透過 ISO 國碼進行區域範圍(region)劃分,防止跨區域干擾(例如歐盟成員國),也可根據地區自行命名
- 支援超過100種常見的裝置,多數主流 Meshtastic 裝置可以刷新韌體使用
韌體類型(節點角色)
- Companion 個人,你的個人節點;透過藍牙(BLE)或 USB 序列埠連接至 MeshCore 應用程式
- Repeater 中繼,基礎建設節點;負責轉發訊息,無使用者介面
- Room Server 伺服器,儲存並遞送未接收的訊息;承載社群的「房間」
還有更多其他各國興趣愛好者,根據自己的需求撰寫新的韌體,建立新型態的節點角色
加密機制
- 對稱加密:AES-128(ECB 模式)
- 訊息驗證:HMAC-SHA256(2位元組截斷式,採加密後驗證〔encrypt-then-MAC〕方式)
- 金鑰交換:透過 X25519 進行 ECDH(由 Ed25519 身分金鑰轉換而來)
- 身分簽章:Ed25519,廣播訊息會經過簽章以防止偽造
應用程式與工具
- 由 Liam Cottle 開發的 Android/iOS 應用程式
- 網頁版應用程式:app.meshcore.nz
- 燒錄工具:flasher.meshcore.io
- Repeater、Room Server 設定工具:config.meshcore.io
- Python CLI 工具:github.com/meshcore-dev/meshcore-cli
*參考資源 https://meshcore.io/