有谁能推荐一款好的 IPSec 软件可以使用多个 CPU 核心实现绩效~2Gbps在Linux 双CPU四核E5620 Xeon设置(总共 16HT 核心)?
我尝试过 OpenSwan 和 StrongSwan。OpenSwan KLIPS 堆栈仅在单个 CPU 核心上运行。而且 KLIPS+OCF 加密卸载似乎也实施得非常糟糕,因为它以 70% 的速率占用了所有 16 个 CPU 核心,而传输速度仅为 ~600Mbps。而且作为副作用,它还会重新排序 TCP 数据包。
到目前为止OpenVPN使用不同的协议,我们能够在同一硬件上实现 ~2Gbps 的负载平衡,没有任何问题。16 个内核中只有 4 个内核的利用率达到 100%。现在是时候使用 Ipsec 做同样的事情了。最好是开源 IPsec 解决方案。
更新:
我的最新发现表明,IPsec NETKEY 堆栈可能能够毫无问题地处理 2 GB 的流量(但仅限于多队列 NIC)。我无法确切地验证这一点,因为似乎 NAPI 在高负载下将 NIC 驱动程序切换到轮询模式,此时所有性能从 1.7 Gbps 降至 500 Mbps。此外,ubuntu 10.04 似乎没有对某些内核线程进行时间核算,因此我看不到工作负载如何在所有 CPU 核心上分布。
答案1
hifn
基于加密加速器硬件的 BSD 已经使用了一段时间;快速谷歌也显示了 Linux 驱动程序。特快 DX 1845该卡在其宣传册上宣称具有 25Gbps 的吞吐量,但是 YMMV,显然我希望先与产品/销售工程师交谈,看看它是否适合您的目的。