任何人都可以推荐一个好的IPSec软件, 可以使用多个CPU核心来达到在Linux双核四核E5620 Xeon设置(总共16个HT核心)上〜2Gbps的性能?
我曾尝试过OpenSwan和StrongSwan。 OpenSwan KLIPS堆栈只能在单个CPU内核上运行。 而且KLIPS + OCFencryption卸载也似乎执行得非常糟糕,因为它只消耗70%的全部16个CPU核心,而只能提供〜600Mbps。 作为副产品,它也是对TCP数据包进行重新sorting。
到目前为止,使用不同协议的OpenVPN ,我们能够在负载平衡的同一硬件上达到〜2Gbps,没有任何问题。 在16个核心中只有4个以100%被利用。 现在是时候用Ipsec做同样的事情了。 最好应该是OpenSource IPsec解决scheme。
更新:
我的最新发现表明,IPsec NETKEY堆栈可能能够处理两个通信stream量而不会出现问题(但只能在Multiqueue NIC上)。 我无法确认这一点,因为看起来NAPI在高负载下将NIC驱动程序切换到轮询模式,那时所有性能从1.7 Gbps下降到500 Mbps。 另外看来,Ubuntu 10.04并没有考虑到一些内核线程,因此我没有看到如何在所有CPU内核上分配工作负载。
hifn基于hifn的encryption硬件已经在BSD中使用了; 快速谷歌显示Linux驱动程序以及。 Express DX 1845卡在宣传册上拥有25Gbps的吞吐量,但是YMMV,显然我想先与产品/销售工程师交谈,看看它是否适用于您的目的。