广域网加速并非“包治百病”
- 来源:计算机世界 smarty:if $article.tag?>
- 关键字:广域网,加速器 smarty:/if?>
- 发布时间:2013-03-15 14:08
如今很少有企业能够离得开网络。企业办公不仅需要网络,而且从内网向外经由广域网发送的数据量正在持续增长。因此,企业必须要开始考虑对内部以及向外传送的数据流量进行优化,以达到最佳性能。为了简化这个过程,诸多网络厂商都在销售被称之为广域网加速器(WAN accelerator)的产品。
事实上,这种产品对于用户的最大困扰在于,不了解其究竟能够干什么、不能干什么。也就是说,用户对广域网加速其缺乏了解。有些用户甚至以为,广域网加速器是互联网时代的灵丹妙药,能够扩大物理带宽。这种观点有些不太切合实际,尽管有时候用户确实能够看到网络吞吐的峰值超过了物理链路上限,但这并不是普遍情况。而且,用户还会经常听到有人对他们说,广域网加速器是神奇的技术设备,能加快任何应用的速度。在通常情况下,这两种观点都是不正确的。
广域网加速器在某些情况下是有作用的,但在某些情况下毫无帮助。此外,并非所有的广域网加速设备和软件堆栈都能实现同样的功能。请耐心读下去,以了解广域网加速器何时能够为企业提供速度更快的广域网网络。
一些基础知识
首先要明白的一点是,大多数广域网加速设备都是成对部署的,也就是说要在需要优化带宽的两个站点上分别部署一个。之所以在每个站点上都需要一个设备,是因为广域网加速设备在优化流量时采用了一些技术手段,经过处理过的流量难以被接收端解析。这就像加密一样,我们需要在另一端配套解密设备,才能解读经过加密的数据。
当企业试图加速两个站点之间的网络流量时,在每个网关处都要有这种广域网加速器。同时,企业也可以在员工的PC上部署广域网加速设备,以加速从办公室到员工所在位置的流量。这对于移动办公颇有益处。同样,想加速企业网络与云端之间的流量,就要在云服务商处部署一个广域网加速器作为虚拟设备,或者使用云服务提供商本身提供的广域网加速支持。
在这种情况下,你需要在连接的每一端都有广域网加速器。这意味着广域网加速技术对于普通的互联网接入基本上没有什么加速效果。其专门用于加速特定的网络连接。
进阶功能之协议优化
广域网加速器所能实现的最基本功能之一是TCP优化,广域网加速器可以克服端点TCP配置不当的问题。优化机制通常包括:通过接收端调节(receive-side scaling)来应用更大的TCP窗口、实施选择性应答,以及经过优化且能避免拥塞的响应机制。
选择性应答让目的站在没有收到整个TCP窗口的情况下能够应答TCP窗口的一部分。当你使用更大的TCP窗口时,如果出现了丢包,选择性应答可以避免出现重新发送整个窗口的情况。其还能防止整个窗口被“填充”,所以发送站可以不断地传送数据,这减小了链路延迟所带来的影响。
优化拥塞避免机制包括了更加积极的响应机制,以应对丢包问题;窗口重新调节则可以减小与拥塞有关的丢包所带来的影响。
需要提起注意的是,部署了广域网优化的端点无论是否进行过配置,都可以使用这些优化机制。由于加速设备成对部署,因此其本身之间就会商定优化措施。因此,尽管我将装有Windows Server 2003的主机配置为采用默认64KB窗口大小,但是其表现却好像是配置了更大的窗口。这就是由于这台主机和另一端的连接都使用了广域网加速技术,而且两个站点之间进行了协商。
当端点之间的连接非常可靠而且丢包现象很少出现时,这些优化机制的效果极好。但如果网络连接非常不稳定,优化技术反而会导致端点和应用程序出现异常行为。在许多情况下,从发送端点的角度来看,数据似乎已经被接收端点收到。而实际情况却是,本地加速设备向发送端点发送了应答信号,说服发送端点传送更多的数据。如果加速设备之间出现了丢包,导致连接超时中断,应用程序会以为接收端点收到了数据,但实际上接收端点并没有收到。
很明显,企业在将广域网加速设备应用于对丢包情况很敏感的应用程序时,需要更加慎重。
进阶功能之协议转换
仅仅优化TCP有时候还不足以满足需求,一些广域网加速器会将端点间的TCP数据流转换成为其他协议。在这种情况下,加速设备会在每个站点本地终止TCP连接,并将数据流转换成UDP等的无连接协议,而不再使用经过优化的TCP协议。
这不是个简单的过程,我们都知道TCP是一种可以容忍丢失的协议,而UDP之类的无状态协议则不是这样。采用这种方法的厂商必须设计自己的专有方案,并认识到一旦数据在传送途中已丢失,就需要重新发送,这反而会造成一些问题。
协议转换的好处是,在TCP优化无法起作用的情况下,这种方法能够从广域网连接中获得更高的性能。
进阶功能之重复数据删除
在传输有大量相似或低效封装数据的广域网上,部署可对数据流进行重复数据删除的广域网加速设备对企业是大有裨益的。这需要广域网优化设备拥有更大的快速存储容量,而且拥有合理的软件算法。
这种方式的工作原理是这样的。当数据包穿越连接发送端的广域网优化设备时,设备就会计算数据的散列值(Hash),然后本地存储该值。随后,设备会压缩数据的有效载荷(data payload),并通过广域网将其发送到接收端的成对设备。该设备将整个数据的有效载荷和散列存储在其缓存中,再发送到接收端点。如果发送设备在将来见到与有效载荷散列一样的数据包,它只需将散列(而不是有效载荷)发送到接收端设备。最后,该设备从缓存中拷贝匹配的有效载荷,然后将其发送到接收端点即可。
在传输数据内容迥异的情况下,这种方法不会有太大的效果。然而,要是企业每天都在重复发送类似的数据,那么其能够帮助用户充分利用广域网。
广域网优化如何工作?
广域网优化在现实环境中如何工作?我的回答是:“这要看情况。”没有人会喜欢听到这个答案,但事实就是这样。
企业需要考虑清楚其需要对哪种类型的流量进行优化。如果流量是VoIP等实时数据,或者RDP和ICA等远程显示协议,那么流量优化和重复数据删除不会有任何实际效果。然而,如果数据流是大量数据,尤其是重复的大量数据,那么具有重复数据删除功能的广域网加速器可以让广域网线路的吞吐量放大好多倍。
我曾经见过一个IP-SAN方面的例子。我见过一款优秀的广域网加速器能够以不到10Mbps的实际广域网带宽,处理到经常达到100Mbps的流量吞吐。
如今,许多SAN平台已经实现了大多数广域网加速器提供的TCP优化、压缩和重复数据删除等功能。为这些平台添加广域网加速器只能是重复做工。
通盘考虑你的网络
在你面临大量或重复(或者是大量且重复)的数据流时,广域网加速器有望带来巨大的好处,为你省下许多钱。但是,如果你没有合适类型的数据流,或者你选择的设备没有为处理这种类型的数据进行了优化,那么根本无法获得多少好处。
想评估广域网加速器,关键是在你的网络上用实际生产数据对它进行一番评估。大多数厂商都会允许企业在购买设备(虚拟或物理设备)之前先试一下,那样就能准确地评估该设备对你带来的价值。
别错过了这样的机会!
Matt Prigge
