libschc 是靜態上下文標頭壓縮的 C 實現,由 IETF 起草。它是一種標頭壓縮技術,用於低功耗廣域網,以使微型低功耗微控制器能夠擁有端對端 IPv6 連接。此儲存庫包含壓縮和碎片機制。有關 SCHC 的更多信息,請參閱 https://datatracker.ietf.org/doc/draft-ietf-lpwan-ipv6-static-context-hc/。
有關實現和配置的更多信息,請參閱文件和我們的評估論文。
libschc 的部分開發得到了 VLAIO、FWO 和imec 的支持。它也是物聯網中間件堆疊的一部分,是為歐盟的 Horizon 2020 PortForward 項目開發的,其中 LwM2M 與該庫集成,以提供基於開放標準的傳感器雲連接。
由於此實施工作正在進行中,因此您應該記住一些限制。
該庫的設計方式使其可以在受限設備上使用,也可以在功能更強大的伺服器端設備上使用。因此,避免了記憶體分配和記憶體密集型計算。定點運算用於 8 位元微處理器,但可以進行一些最佳化。因此,規則由 8 位數組構成,可在所有設備上使用。動態記憶體分配被省略,因為許多 MCU 沒有配備記憶體管理單元 (MMU),因此會出現記憶體碎片並且效能會受到影響。然而,對於網路網關來說,應該為多個功能實現動態記憶體分配,以避免大量記憶體預先分配。
目前的實作是基於 RFC 8724 (https://datatracker.ietf.org/doc/html/rfc8724/),但缺少一些功能。其中大多數都列在該存儲庫的issues
下。
請記住,該庫可以運行,但仍處於實驗階段!
資料夾範例中提供了基本的壓縮和碎片範例。碎片範例使用了計時器庫,並且應該適合您的平台(請參閱碎片和範例資料夾)。
libschc 具有雙重授權。 GNU 通用公共授權第 3 版(「授權」)是開源授權:除非遵守許可證,否則您不得使用這些文件。您可以在 https://www.gnu.org/licenses/gpl-3.0.nl.html 取得授權副本
請參閱許可證,了解許可證下管理權限和限制的特定語言。
對於非開源許可證,請造訪 https://imec.flintbox.com/#technologies/36dfa28f-bf48-4a34-8c29-4439fc41d563
© 版權所有 2018-2023,Bart Moons [email protected]、imec 和根特大學