我需要一个高性能的 VPN 服务器,谁能告诉我 L2TP 和 PPTP 之间的区别?
答案1
PPTP 使用相对简单的封装机制,并使用 RC4 流密码,这在 CPU 负载方面相对便宜。L2TP 具有更复杂的封装机制,可能最多有 6 层封装,封装的 IPSec 隧道通常使用 3DES 或(较新的)AES 加密。3DES 在硬件中实现时相对高效,但我的经验是,仅使用 3DES 的软件 L2TP 的开销大约是更简单封装协议的两倍,尽管我没有在同一硬件上同时运行 PPTP 和 L2TP 的丰富经验。使用 AES 时 CPU 开销应该更低,我认为这通常比 3DES 低 20-30%,但我没有任何确凿的数据来支持这一点。
早在 2002/2003 年,我就曾有一项有趣的任务,那就是支持由大量 Intel\Shiva Netstructure 3120 & 3130 VPN 网关支持 60k 个远程用户。当时,大部分基础设施都处于或接近其实际性能极限。设备本身(大部分)是标准的 x86 服务器硬件,配备 733Mhz Pentium III CPU 和 512MB RAM。3130 有一些专用的加密加速器硬件(用于 DES/3DES),可轻松处理 90-95Mbps 加密吞吐量\10K 同时隧道,但 3120 基本上只是一个没有加密加速的准系统服务器,只能管理大约 20Mbps 吞吐量\2K 同时隧道。该吞吐量基于专有的 Shiva\Intel 协议 SST,该协议具有只需要一个 UDP 端口即可工作的有用功能,但相同的硬件能够处理大约 75% 的 IPSec V2 吞吐量,而当时正在批准的 L2TP 吞吐量略低。实际上,3120 网关仍然可以轻松处理 1000 个并发隧道和 10Mbps 左右的 L2TP 吞吐量。
我的观点是,在单核 733Mhz Intel Coppermine CPU 上运行的 L2TP 纯软件实现,其架构支持不超过 1GByte/sec 的内存带宽,能够轻松处理大量并发会话中的 10Mbps 加密吞吐量。现代多核\多插槽服务器的每个插槽的 CPU 功率是 20-50 倍,内存带宽是 20 倍或更多,因此我预计这样的系统应该能够使用纯软件解决方案轻松支持 1Gbps 的 L2TP 吞吐量,并且使用任何加密硬件,现代系统应该能够在多个千兆接口上毫无问题地提供线速 L2TP。
答案2
简单来说,L2TP 是和 IPSec 一起使用的,而 PPTP 不是。L2TP 更安全,PPTP 更易于设置。
答案3
不知道 PPTP 怎么样,但对于 IPSec,您的性能将根据加密密码的选择而有所不同。如果您使用的是 *nix 盒,则运行
$ openssl 速度
它将对您的系统所支持的不同加密密码进行基准测试。