高性能的DPDK IPSec library!了解更新和功能集
目錄
更新 - DPA IPSec library 目前的工作
🔧
嗨大家好,我是 Declan Tardes Johnson,我在中國和愛爾蘭與 Intel 合作。今天我要給大家帶來有關 DPA IPSec library 目前工作進展的更新。這個項目由我們團隊中的 Constantine 領導,在這裡我將為大家提供一些背景信息,並介紹社區開發中出現的變化以及 API 層次的改變。我們為什麼要開發 IPSec library?主要是為了創建一個高性能的 IPSec 數據平面處理庫,以擴展 T PDK 的功能。IPSec 是一個核心技術,在數據平面應用中變得越來越普遍,因此在 T PDK 中提供一個完整的解決方案,尤其是隨著 IPSec 在更多場景中進行加速、長期而言可能移至智能 NIC,這個庫是非常重要的。
IPSec library 的背景和目的
🔐
IPSec library 的目的是為了創建一個高性能的 IPSec 數據平面處理庫,並結合 T PDK,為 IPSec 在數據平面應用中提供完整、可擴展的解決方案。IPSec 技術在數據平面應用中變得越來越常見,因此提供一個高效、可靠的處理庫非常重要。我們的目標是開發一個模塊化的庫,其中核心功能用於執行數據平面的處理,例如封裝和解封裝 IP 包、加密和解密。同時,我們還希望提供一些可選的模塊,用於實現安全關聯和安全策略數據庫,以及一個用於集成現有客戶端的接口層。我們的目標是從一開始就實現硬體加速的支援,包括查找型加速和內聯型加速。
IPSec library 的組件
💡
IPSec library 主要由以下組件組成:
1. 核心功能
- 數據平面處理
- SA (Security Association) 管理
2. 可選模塊
3. 接口層
我們希望這些組件可以根據集成模型的不同在選擇性上使用,並通過現有的 DPDK 函式庫實現集成。此外,我們還希望提供一個集成點的 shim layer,以方便與現有客戶端的集成。
1902 版本的功能集
🚀
在 1902 版本中,我們計劃實現以下功能集:
- 支持隧道和傳輸模式的 ESP 封裝(重點是 IPv4)
- 支持 AES-CBC、HMAC-SHA1 和 AES-GCM 等常見加解密算法
- 支持不同的金鑰大小,如 256 和 192 位的 AES
- 支持 CPU 和 Lookaside(如 FPGA、ASIC 等)型加速器的硬體加速
- 支持 inline 模型加速,即通過物理設備的進出口進行加解密操作
- 支持擴展序列號和反重放攻擊保護
- 支持多線程功能,可以更好地處理序列號和窗口
這些功能集將為用戶提供更好的性能和安全性選擇,同時實現了跨平臺和可擴展性。
未來的發展和路線圖
🔮
在未來的版本中,我們將繼續推進 IPSec library 的開發和改進,並實現以下目標:
- 支持 IPv6 的隧道模式
- 完全遷移 security gateway 應用程序到新的 IPSec library
- 支持多核處理的數據平面擴展
- 實現高級的 API 接口,以便更方便地使用 IPSec library
- 實現安全關聯和安全策略數據庫
- 開發用於控制和使用加密設備的模塊
- 支持動態切換加密處理模型
- 開發用於與外部 I daemon 集成的模塊
我們非常歡迎各方的合作和反饋意見,讓我們共同推動 IPSec library 的發展和完善。
結論
✨
這就是我對 DPA IPSec library 目前工作的更新,我們正在致力於開發一個高性能的 IPSec 數據平面處理庫,並結合 T PDK,為 IPSec 提供完整的解決方案。我們已經在 1902 版本中實現了一些重要的功能,並有著更多的計劃和發展。如果你對這個項目感興趣,並願意提供意見和合作,請隨時與我們聯繫。
常見問題解答
❓
問:IPSec library 的目的是什麼?
答:IPSec library 的目的是為了創建一個高性能的 IPSec 數據平面處理庫,以擴展 T PDK 的功能。
問:IPSec library 可以提供哪些功能?
答:IPSec library 可以提供數據平面處理、安全關聯和安全策略數據庫、API 接口集成等功能。
問:IPSec library 支援哪些加解密算法?
答:IPSec library 支援 AES-CBC、HMAC-SHA1 和 AES-GCM 等常見的加解密算法。
問:是否可以使用其他加密設備進行硬體加速?
答:是的,IPSec library 支援 CPU 和 Lookaside 型加速器,如 FPGA 和 ASIC。
問:IPSec library 的未來發展方向是什麼?
答:IPSec library 的未來發展包括支援 IPv6、數據平面擴展、高級 API 接口、安全關聯和安全策略數據庫等。
資源: