0

我有一个 Linux 机器,它有几个 10 Gbe 接口。我想要的是制作一个能够处理 10 Gbit/s 流量以及 10 Gbit/s 路由器/防火墙的加密隧道。有一些方法可以实现这一点,但正如我所见,所有方法都被带到了用户空间或内核空间处理中。

至于用户空间解决方案,我想是 TUN/TAP 设备。但我的实验表明,单个 TUN 设备在 1 Gbit/s 边界处具有性能限制。我尝试了某种 TUN 的聚合,它在 8xCPU XEON 配置上给了我大约 3.5 Gbit/s(没有加密思想)

至于内核空间解决方案,我想它可能比用户空间更快,但它有另一个程度的复杂性......

有没有人知道如何制作基于 Linux 的 10th Gbit/s 的 VPN 解决方案?

UPD #1

需要软件解决方案

4

1 回答 1

3

TOE(TCP 卸载引擎)在这里既是你的朋友也是敌人。

TOE 是相当于显卡中的 GPU 的网卡以及旧式硬盘控制器使用的DMA(直接内存访问)之类的东西。它允许将 TCP/IP 堆栈的工作卸载到 NIC,而不是通过主板前端总线和 CPU 来运行它,这些都是以这种速度处理的数据的瓶颈。

为了满足您的要求,您需要 10Gbps 卡在操作系统和驱动程序中启用 TOE(硬件加速)。大约三年前,我使用 Cisco Nexus 交换机和大约 5500 美元的 NIC 卡参与了一个类似的项目,所以我对这项技术有点过时了。我打赌事情已经发展,成本下降了。

如果您已经解决了 TOE 问题,请忽略我的回复。

于 2013-08-19T21:07:24.737 回答