VPN
虚拟专用网络 (VPN) 包含两种基本的方案:远程访问 VPN 和站点对站点的 VPN。两种方案都可以使用多种协议,并且可与应用程序筛选或状态筛选协同工作。基于 Internet 协议安全 (IPSec) 的协议还可以利用许多网络适配器中可用的硬件卸载功能,从而提高整体处理器利用率。有些协议还可以利用压缩来提高吞吐率或节省带宽。正如接下来的几个小节所要解释的,所有这些特性均影响性能。
远程访问 VPN
从 Internet 拨入的远程访问客户使用 VPN 远程访问来访问他们的公司网络。远程访问中使用的协议是点对点隧道协议 (PPTP) 和 Internet 协议安全 (IPSec) 上的第 2 层隧道协议 (L2TP)。这两种协议都支持压缩,推荐使用压缩,因为它节省带宽和加密所需的处理能力。
为了确定 ISA Server VPN 服务器的足够容量,首先需要计算出 ISA Server 计算机需要支持的并发远程连接的最大数量。例如,如果预计组织内的员工中建立并发远程连接的人数不超过 5%,并且组织有 5,000 名员工,那么 250 个并发 VPN 远程访问连接就是您需要的容量。
下表给出了每种硬件平台支持的并发 VPN 远程访问连接的最大数目。这些数据假设即拆即用的 ISA Server 设置整合了 Web 代理筛选、MSDE 日志记录以及同时用于 PPTP 和 L2TP/IPSec 协议的压缩。
以下内容适用于上表: *带宽。带宽数据是所需的 Internet 链路带宽。由于压缩,实际的带宽是上表所示的数据的两倍。
带宽数据假设每个连接的平均吞吐率为 30 Kbps,大致相当于一个 56 KB 的拨号连接。
在能够从更高程度上信任 VPN 客户端的部署中,可以禁用应用程序级筛选,从而因为放松安全级别而提高总容量。下表给出了禁用 Web 代理筛选器时的相同数据。
以下内容适用于上表: *连接。单 Pentium 4 3 GHz 处理器能够达到上表中所示的最大并发连接数。
站点对站点的 VPN
在站点对站点的 VPN 中,从性能和容量角度看,存在两个主要的选择。一种选择是使用 PPTP 或 IPSec 上 的 L2TP。这些协议提供应用程序流量压缩,从而使得可通过站点对站点的链路传输的吞吐量加倍。例如,通过 PPTP 或 L2TP 隧道发送 2MB 的文件实际上仅传递 1 MB。另一种选择是使用 IPSec 隧道,它没有整合压缩。因此与 IPSec 隧道相比,PPTP 和 IPSec 上的 L2TP 实际上节省了 50% 的站点对站点的吞吐量。
在禁用 Web 代理筛选时,对于 15 Mbps 的应用程序流量,IPSec 上的 L2TP 需要单颗 Pentium III 550-MHz 处理器。由于压缩,单方向传递该流量仅需要 7.5 Mbps 的链路容量。单颗 Pentium 4 3GHz 处理器最多能够处理需要 T3 链路容量(45 Mbps)的 90 Mbps 的应用程序流量。当启用了 Web 代理筛选时,一颗 Pentium III 550-MHz 处理器能够维持需要 3.5Mbps Internet 链路带宽的 7 Mbps 应用程序流量,而单颗 Pentium 4 3-GHz 处理器能够处理对应于 17 Mbps Internet 链路带宽的 34 Mbps 的应用程序流量。双 Xeon 3-GHz 处理器能够处理需要 26.5 Mbps 的 Internet 链路带宽的 53 Mbps 的应用程序流量。在相同的 CPU 使用情况下,PPTP 能够多处理大约 15% 到 20% 的吞吐量。
第二种选择是使用 IPSec 隧道,它不支持压缩,意味着 Internet 链路流量与应用程序流量相同。当与状态筛选(启用 Web 代理筛选器)配合工作时,IPSec 隧道能够在单颗 Pentium III 550MHz 处理器上处理 10 Mbps,在单颗 Pentium 4 3GHz 处理器上处理 52 Mbps。当启用 Web 代理筛选时,针对单 Pentium III、单 Pentium 4 和双 Xeon 平台的吞吐量数据分别是 4 Mbps、18 Mbps 和 30 Mbps。
横向扩展 ISA Server
可通过多种方式横向扩展 ISA Server 系统:
使用高级网络交换硬件设备。这些交换机通常称为 L3、L4 或 L7 交换机(第 3 层、第 4 层或第 7 层),因为它们基于不同网络层的各种可用信息来提供交换功能。L3 交换基于数据包层的信息(IP),L4 基于传输层信息(TCP),而 L7 基于应用程序数据(HTTP 报头)执行交换。这些层可用的信息能够根据 IP 源或目标地址、TCP 源或目标端口、URL 以及内容类型提供高级的负载平衡。由于交换机是作为硬件设备来实现的,它们具有相对较高的吞吐量,并且高度可用和可靠,但也较为昂贵。大多数交换机都能够检测服务器停机条件,从而允许容错。
使用 DNS 循环名称解析。一个服务器群集可在 DNS 中被赋予相同的名称。DNS 通过循环该列表来响应名称查询。这是廉价(无成本)的解决方案,但是具有缺点。一个问题在于,负载不必要地在群集中的服务器之间均匀分布。另一个问题在于,它没有提供容错。
由于 ISA Server 维护着所通过的每个流的状态,所有横向扩展方法都必须支持“粘性 (stickiness)”,以便所有数据都通过 ISA Server 计算机。
扩展用于增加系统的容量。每种扩展方法都具有其优点和缺点,对于 ISA Server 来说,它还取决于具体的方案。在决定要使用哪种扩展方法时,可考虑以下因素:
性能因素。 可通过添加另一台计算机来获得的吞吐量。
系统成本。 购买系统的初始成本,不是拥有成本。
系统管理。 在管理系统方面的复杂程度。这直接影响系统的拥有成本。
容错。 系统用于支持高可用性和可靠性的方法。
系统增长。 用于增加系统的处理能力的方法。升级成本也是一个重要的考虑。
下面是在决定进行横向扩展时所要权衡的事项:
单点故障与容错。 单计算机部署的可用性要比多计算机群集更容易发生硬件故障。系统主板或磁盘控制器故障将导致整个系统崩溃,从而需要修复。这也适用于具有故障的硬件负载平衡器。
增长。只要计算机上存在空闲的处理器插槽(或硬件负载平衡交换设备中存在可用的端口),将单计算机解决方案从一个处理器升级到两个处理器是很简单的。在多计算机群集中,添加另外的计算机就更复杂了。
下表总结了各种横向扩展方法。