任何人都可以推荐一款优秀的IPSec软件,它可以使用多个cpu内核在
Linux双cpu四核E5620 Xeon设置(总共16HT内核)上实现~2Gbps的性能?
我试过OpenSwan和StrongSwan. OpenSwan KLIPS堆栈仅在单个cpu核心上运行.并且KLIPS OCF加密卸载似乎也非常糟糕,因为它在70%时消耗所有16个cpu内核,而仅提供~600Mbps.作为副产品,它也在重新排序TCP数据包.
到目前为止,使用不同协议的OpenVPN,我们能够在同一硬件上实现~2Gbps的负载均衡,没有任何问题. 16个核心中只有4个被利用,100%.现在是时候和Ipsec做同样的事了.最好是OpenSource IPsec解决方案.
更新:
我的最新发现表明IPsec NETKEY堆栈可能能够毫无问题地处理两次流量(但仅限于多队列网卡).我无法确认这一点,因为看起来NAPI在高负载下将NIC驱动程序切换到轮询模式,此时所有性能都从1.7 Gbps降至500 Mbps.此外,似乎ubuntu 10.04没有为某些内核线程做时间计算,因此我没有看到所有cpu核心的工作负载是如何分配的.
解决方法
基于hifn的加密加速器硬件现在已经在BSD中使用;快速谷歌也展示了Linux驱动程序.
Express DX 1845卡在他们的宣传册上拥有25Gbps的吞吐量,但YMMV,显然我想首先与产品/销售工程师交谈以确定它是否适用于您的目的.