引入了一個可以顯著加速 OpenVPN 的核心模組

OpenVPN虛擬專用網路套件的開發人員引入了ovpn-dco核心模組,可顯著提高VPN效能。 儘管該模組仍在開發中,僅著眼於 linux-next 分支並處於實驗狀態,但它已經達到了一定程度的穩定性,可以用來確保 OpenVPN 雲端服務的運作。

與基於 tun 介面的配置相比,在客戶端和伺服器端使用採用 AES-256-GCM 密碼的模組,可以實現吞吐量增加 8 倍(從 370 Mbit/s 到 2950 Mbit) /秒)。 僅在客戶端使用此模組時,傳出流量的吞吐量增加了三倍,而傳入流量的吞吐量則沒有變化。 僅在伺服器端使用此模組時,傳入流量的吞吐量增加了 4 倍,傳出流量的吞吐量增加了 35%。

引入了一個可以顯著加速 OpenVPN 的核心模組

透過將所有加密操作、封包處理和通訊通道管理移至Linux 核心端來實現加速,從而消除了與上下文切換相關的開銷,使得可以透過直接存取內部核心API 來優化工作,並消除核心之間的緩慢資料傳輸和使用者空間(加密、解密和路由由模組執行,而不將流量傳送到使用者空間中的處理程序)。

值得注意的是,對VPN效能的負面影響主要是由資源密集型加密操作和上下文切換引起的延遲造成的。 Intel AES-NI 等處理器擴展用於加速加密速度,但上下文切換仍然是一個瓶頸,直到 ovpn-dco 出現。 除了使用處理器提供的指令來加速加密之外,ovpn-dco 模組還確保加密操作被劃分為單獨的段並以多線程模式處理,從而允許使用所有可用的 CPU 核心。

目前的實施限制將在未來解決,包括僅支援 AEAD 和「無」模式,以及 AES-GCM 和 CHACHA20POLY1305 密碼。 計劃在今年第四季發布的 OpenVPN 2.6 中包含 DCO 支援。 該模組目前在 Beta 測試版 OpenVPN4 Linux 用戶端和 Linux 版 OpenVPN 伺服器的實驗版本中支援。 類似的模組 ovpn-dco-win 也正在為 Windows 核心開發。

來源: opennet.ru

添加評論