ovpn-dco,一個用於加速 OpenVPN 性能的內核模塊

前幾天我OpenVPN 開發者發布 那個新聞 他們引入了一個名為“ovpn-dco”的內核模塊 其主要任務是顯著加快 VPN 的性能。

雖然模塊 仍在開發中 在linux-next分支中,處於實驗階段,已經達到了一定程度的穩定性,可以使用它來保證OpenVPN的運行。

與基於 tun 接口的配置相比,在客戶端和服務器端使用該模塊並使用 AES-256-GCM 加密使性能提高了 8 倍(從 370 Mbit / s 到 2950 Mbit s)。

當僅在客戶端使用該模塊時,出站流量的性能會增加三倍,而入站流量的性能不會改變。 僅在服務器端使用該模塊時,入站流量的吞吐量乘以 4,出站流量乘以 35%。

安全是在線時要考慮的最重要的事情之一。 您的在線通信使用加密越安全越好。 過去,數據加密會降低計算速度,而現代 CPU 已經改進了這一點。 但我們可以做得更多。 OpenVPN 剛剛推出了一項新開發,可以在內核空間不足時提高用戶的速度:OpenVPN 數據通道卸載 (DCO)。

通過移動所有加密操作來實現加速、包裹處理和渠道管理 到 Linux 內核,消除相關的開銷 通過上下文切換,可以通過直接訪問內核的內部 API 來簡化工作,並消除內核和用戶空間之間緩慢的數據傳輸。 (該模塊執行加密、解密和路由,而無需向用戶空間中的控制器發送流量。)

應該指出的是 負面影響 關於 VPN 性能 主要是由於加密操作消耗了大量資源 以及上下文變化引起的延遲。 處理器擴展如 Intel AES-NI 被用來加速加密,但上下文切換在 ovpn-dco 之前仍然是一個瓶頸。

除了使用處理器提供的指令來加速加密之外,ovpn-dco 模塊還提供將加密操作劃分為單獨的段並在多線程模式下進行處理,這使得使用所有可用的 CPU 內核成為可能。

對於像 OpenVPN 這樣的用戶空間 VPN,加密開銷和上下文切換會限制速度。 使用現代 CPU,加密開銷已通過 Intel AES-NI 等擴展得到改善,從而提高了 OpenVPN 用戶的速度。

但是上下文切換的過載仍然需要解決。 隨著個人和企業 Internet 速度的提高以及應用程序使用更多帶寬,用戶希望在線通信速度更快。 因此,這些開銷的影響變得更加明顯。

目前的限制 實施中提到的,將來也將被淘汰的,只有 AEAD 和“無”模式 (無需身份驗證)和 AES-GCM 和 CHACHA20POLY1305 密碼。

還提到 DCO 支持計劃包含在發行版中 的版本 OpenVPN 2.6, 定於今年第四季度。 目前,該模塊支持 OpenVPN3 開放測試版 Linux 客戶端和用於 Linux 的 OpenVPN 服務器的實驗版本。 也正在為 Windows 內核開發一個類似的模塊 ovpn-dco-win。

終於 如果您有興趣了解更多信息 關於筆記,您可以查看詳細信息 在下面的鏈接中。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。