【IT168 专稿】如今,排名全球2000名以内的企业均朝向数据中心整合与服务器整合的方向发展,数据中心从数以百计缩减为少数几个,应用程序也整合到少数几台服务器上。由此,越来越多的企业员工以远程方式或在分公司内工作。
企业在建设集中数据中心时大多使用广域网作为传输网络,而广域网的传输性能问题,也为集中数据中心应用的效率带来了全新的挑战,这个问题经常造成数据中心访问速度低下,而广域网的传输性能主要受到以下的因素影响:传输线路带宽的大小、数据的传输效率、网络的延时和TCP协议传输控制方式等。
而为了解决广域网的传输性能问题,Juniper、F5、Citrix、RiverBed、深信服等网络设备厂商都纷纷推出了各种各样的解决措施,例如数据压缩、Cache动态缓存、TCP协议优化、应用协议优化、QoS优化等系列广域网加速手段,
为了全面剖析广域网加速技术,IT168网络频道推出了系列广域网加速技术连载,从各个方面去分析广域网加速技术,以及它为企业用户所带来的好处。
广域网加速技术连载目录:
网间加速之TCP协议和应用协议优化
网间加速之数据压缩、Cache动态缓存
网间加速之Web应用加速分析
网间加速之C/S应用加速分析
网间加速之应用难题分析
【IT168 专稿】在多种网间加速方法中,除了数据压缩、Cache动态缓存这两种主要的加速手段外,相对重要的就要算TCP协议和应用协议优化了。
100Mb/s到底比2Mb/s带宽快多少?
目前有一种常规的认识是,100Mb/s带宽肯定比2Mb/s带宽的数据传输速率高,并且会高很多。真的是这样的么?
回答是不幸的。这里有一份来自国内网络设备厂商深信服给企业所做的实际测试数据。某企业同时使用100Mb/s带宽接入和2Mb/s带宽的带宽接入,并对之进行对比。
根据实际测试数据显示,一条2Mb/s的ADSL线路在最大64K字节窗口(TCP数据传输协议的相关数据传输原理术语)情况下,在网络延时小于40ms时,线路能达到其带宽允许的最高数据吞吐量,但是当网络延时逐渐增大的时候,线路传输效率明显下降,实际的吞吐量只能达到带宽所允许的最高数据吞吐量的10%以下。
在另外的100Mb/s带宽的线路上面进行相同(64K字节窗口)的测试,得到的结果显示在网络延时大于40ms以后,100Mb/s带宽线路的数据吞吐量和2Mb/s的线路几乎下降到同样的水平,所以说存在网络延时以及TCP窗口不合适的时候100Mb/s带宽线路的数据传输能力并不比2Mb/s带宽线路的数据传输能力强多少。
从上面的测试可见,并不是带宽足够大了,网络的传输能力就一定能够同步增长,宽带足够大只是必要条件,不是充分条件,它还受制于数据的传输协议以及网络延时对传输协议的影响等多种因素。
协议优化如何影响速率?
现在我们知道,在网络传输的过程中,网络协议通常会对数据传输产生较大的影响,这些典型的协议既包括处在传输层的TCP协议,也包含各种应用层的协议比如:MAPI协议、CIFS协议、HTTP协议、基于RPC的应用协议等,下面我们就从这两个层面来看网间加速技术是如何来针对性的解决这些问题的。
TCP协议:应答信号避过广域网,提高响应率
TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议-Transport Control Protocol,可靠的主机到主机层协议。这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的6个基本协议的一种。TCP是一种可靠的面向连接的传送服务,它在传送数据时是分段进行的,主机交换数据必须建立一个会话。
TCP协议是一个确保连接和安全的传输协议,而使用的手段就是连接握手和Ack机制。在TCP会话初期,有所谓的“三握手”:对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接;同时在每一次数据包的传输过程中都需要客户端和服务端之间进行Ack,这样在客户端和服务端之间就存在着大量的应答交互,这些应答交互放到公网上以后就会收到网络延时的影响,并且随着应答交互次数的增加将延时的影响进行放大。
根据测试数据,在一个2M带宽的网络条件下,使用TCP协议进行数据传输时,网络传输速度和延时存在着如下的关系:
图1 |
从上图我们可以看到在网络延时小于40ms的时候,传输速度可以达到网络带宽的90%左右,但是随着网络延时的增加,传输速度逐渐减小,当网络延时达到120ms以上后,传输速度将到带宽的10%了。
现在我们知道TCP协议会受到网络延时的影响了,那么是否有方法来解决这个问题,能不能既确保数据传输的安全性同时又把网络延时造成的影响降到最低程度,接下来就看看网间加速是怎么解决这个问题的。
图2 |
实际上,网间加速技术采用的是类似于“代理”这样的方式来解决这个问题的,就是说将原本需要通过广域网进行传输的应答消息,改成由本地网间加速设备来进行处理,在分支机构的网间加速设备代替服务器来处理客户端的应答消息,而在总部的网间加速设备则代替客户端来处理服务端的应答消息,这样所有的应答消息都是在本地网络进行传输,自然就消除了广域网的影响。
TCP协议经过以上的优化,众多的应答消息就直接避开了广域网,从而极大地减少了网络延时,提高了网络传输效率。
应用协议:多招优化提网速
除了TCP协议对网络传输有影响外,应用层协议同样会对网络传输有重要的影响。目前,很多以前的软件应用在设计时并没有考虑广域网的特殊环境,比如微软的CIFS和Exchange/Outlook(MAPI)等,大量的使用小包及在应用层面存在过多的Request/Response交互,这种设计在局域网中运行很顺畅,但在广域网这种延时巨大的环境中(由于地理距离,跨越多个路由设备以及运营商之间的路由策略造成)会造成带宽使用率低下的结果。
由此可见,以前的很多同数据传输有关的应用层协议已经不再随应时代了,协议也需要革命。目前需要革命的应用协议主要有:基于RPC的应用协议、MAPI协议、CIFS协议、HTTP协议等。现在,我们分别来看一下网间加速设备是如何通过应用协议优化手段,来提升网络传输速率的。
优化手段一:提前下载网络MAPI协议消息
这是专门针对协议MAPI协议,该协议主要是用于Exchange服务,对于接入集中Exchange服务器的远程Outlook用户来说,网间加速技术允许用户在请求消息片断前下载WAN上的全部消息,从而大幅度加快响应速度。网间加速技术随后可确保整个电子邮件及其附件以LAN速度发送给用户,从而加速Exchange性能并简化效率极低的连续性大块传输。
优化手段二:担前请求文件的数据块
这招主要用在CIFS协议身上,这个协议用来打开和传输文件,并且会采用以小型数据块的方式连续传输数据。网间加速技术可在用户请求前请求文件的数据块,加速并改进远程文件服务的性能,从而加快WAN链路上的CIFS传输速度。
优化手段三:对网页对象请求实施本地缓存
这招有点像二级缓存的方法。我们知道,典型的网页包括数十个单独对象,这些对象每次一个连续请求。因此,构建网页至少需要多次往返。为了加快分支办事处的网页下载速度,网间加速技术“了解”与特定URL相关的对象,并在链路上传输它们,以便在这些对象下次被请求时能够在本地提供它们。
优化手段四:避开网络应答过程
一些国内常用的ERP系统通常是基于RPC协议来进行数据访问的,它们也是采用“闲谈”的方式来进行数据传输的,这种方式放在本地局域网里面是没有问题的,但是一旦放到了广域网上面,就会将网络延时的影响进行放大,甚至可能导致系统根本无法部署到广域网上。
和TCP协议的情况类似,网间加速技术也是通过减少通过广域网交互的次数来解决这个问题的,即在分支机构的网间加速设备代替服务器来处理客户端的应答消息,而在总部的网间加速设备则代替客户端来处理服务端的应答消息,这样所有的应答消息都是在本地网络进行传输。
协议优化让Web访问速度提升10倍?
通过TCP协议和应用层协议的优化,对网络传输速率的提升是非常有效的。下面是深信服在给国内的一家企业做测试时,协议优化给企业所带来的好处(当然数据压缩、Cache缓存也有功劳)。
这家物流企业的主业务系统为物流管理系统,该系统使用WEB技术开发,在公司总部所在地深圳进行集中部署。武汉和北京设立华中和华北两个大区,分别有100个和130个客户代表,各大区和总部之间通过Internet方式部署VPN来进行连接。原来都通过2M的ADSL线路进行连接,当客户代表集中访问公司管理系统的时候,普遍反映速度相当慢。
通过测试部署网间加速设备后,系统页面访问速度可以提高10倍以上。并且原来因为传输速度较低,为了不影响访问质量,页面上面只能表现比较简单的数据,现在可以使用复杂的图表、图像等元素,不用担心访问速度的问题了。