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. 权利:您可以随时限制,恢复和删除您的信息。