网络安全 频道

惠尔顿应用加速 打造网络应用新趋势

文/惠尔顿北京交通大学实验室  兰富超

  信息化时代的到来为我们带来了前所未有的便利。随着应用水平的提高,企业对互联网的应用早已扩大到电子商务、移动办公人员的VPN接入、系统的远程维护等关系到企业日常运行的应用。而传统的网络技术已经无法满足这些需求了,越来越多的拥塞、瘫痪以及安全问题出现,即使当有充分带宽时,延时也会降低应用程序效率。现阶段,为了解决越趋复杂的网络问题,网络应用与安全集于一身的全新概念——“应用交付网络(ADN)”开始了它的使命。
就目前来看,应用交付有着两个重要的发展趋势:
  一是横向发展趋势,应用交付的功能、手段越来越多样化,例如,它包括了安全、流量管理、流量负载分担、链路负载均衡、VPN、网络加速等。
  二是纵向发展趋势,应用交付从高端向普及化发展。此前,应用交付设备首先在电信、移动、银行、大型网站等单位进行了应用,因为其网络流量瓶颈的现象最突出,另外的原因是此类设备太贵了。
惠尔顿公司于2008年研发上市的应用加速AA系列产品,集成五大应用加速技术:数据流缓存技术、对象缓存技术、数据流压缩技术、TCP协议优化技术、QoS带宽管理技术,突破速度限制,为您的应用加速,给您更加流畅的应用体验。
一、数据流缓存技术
  在我们使用远程应用的时候,我们需要不断的和服务器进行交互、发送数据、接收数据,这样在客户端和服务器之间的数据就好似流水一样。在我们和服务器通信的数据的时候,可能有大量的数据是曾经在客户端和服务器之间已经流通过。比如说,我们先执行了一个SQL查询语句,返回了1000记录;后来增加了几条记录再执行同样的SQL查询语句,这次返回的有1000多条记录,但是这些记录其中1000条记录都是曾经已经从服务器到客户端,

这1000条记录是否可以不再需要传输呢?那么,如果我们能在第一次传输的时候,将这1000记录都缓存在服务器和客户端的网关设备上,当再次查询的时候就只需要只传输新增的那几条记录了。
  首先,当数据流通过网关设备的时候,在设备上建立数据的缓存和索引,如图建立索引索引"16"和数据"13A5……6548"、"17"和数据"354A……5F23"、索引"18"和数据"1321……6542"等之间的对应关系。然后,在准备发送数据"……6548354A……     5F238986……"时,通过快速匹配算法,发现"354A……5F23"和已经建立的索引能够匹配,于是将"354A……5F23"替换成"17",这样原来的数据就变成了"……6548178986……";最后,在接收端再交索引17还原成为数据"354A……5F23",这样对于上层应用接收到的数据就是"……6548354A……5F238986……",跟原始数据是完全一样的。这种匹配替换可以同段数据流中替换很多次,甚至有时候整个数据流只需要一个索引就能完全的代替,这样极大的减少了在网络传输中的数据。对于用户来说这一切完全是透明的,但是用户能感觉到在原来的网络上传输了更多的数据,数据传输得更快了。
  这种数据流缓存技术,能够大量地删除重复数据,如"13A5……6548"、"354A……5F23"、"1321……6542"等,这些数据只需要传输一次而无需不断地在网络上传输。由于数据和索引之间的长度比可能很大,可能是5倍、10倍、甚至100倍,即是说能够将原始数据压缩5倍、10倍、甚至100倍,这样极大的减少了数据在网络上的传输,节约了带宽,传输了更多的有效数据,更加有效地利用了带宽。在进行数据匹配的时候,采用了线性匹配算法,使得数据的匹配更加快速。并且这种匹配算法跟匹配的数据在数据流中的位置是没有关系的,即不管匹配的数据在数据流的前部、中部、还是后部都没有关系,都能够快速地匹配,这样保证了更加有效的更多的数据匹配。
这种数据流缓存技术,能够加速所有基本于TCP协议的应用,能够有效地节约带宽,更加有效地利用带宽。
二、对象缓存技术
  我们有很多的应用,有很多的应用协议,如HTTP、POP3、SMTP、CIFS,对于不同的协议,它们有各自己的对象。当我们使用我们的应用的时候,也需要不断地请求服务器上的对象,比如http://www.wholeton.com/index.htm——一个网页对象、http://www.wholeton.com /iamges /logo.jpg——一个图片对象、邮件中的一个附件等,这种对象我们也有可能向服务器请求多次,但是可能这些对象在我们的多次请求过程中并没有发生变化,

或者我们很多客户端同时请求这些对象。因此,能不能像数据流缓存技术那样,将这些这对象也缓存起来,加速我们的应用呢?答案是肯定的,这就是对象缓存技术。
  由于不同的应用协议认为的对象是不一样的,需要不同的应用协议区别设计,他与对象缓存技术的原理是一样的,所以HTTP协议的Web对象为例解释对外对象缓存技术。这种技术可以有多种部署方式,根据方式的不同,产生的效果也是不同的。首先,可以只在客户端部署对象缓存技术设备,以加速客户端对应用的访问。比如,在一个分支机构里,在网关设备下10台PC,现在这些PC都要访问远程应用——公司网站http://www.wholeton.com。第一台PC先通过网关设备访问了这个网站,在这个PC访问网站的时候,从网站下载了http://www.wholeton.com/index.htmhttp://www.wholeton.com/images/logo.jpghttp://www.who  leton.com/images/banner.swf、http://www.wholeton.com/css.css等对象。当它下载这些对象的时候,在网关设备里也识别到了这些对象,于是在网关设备里为这些对象建立缓存。当这台PC再次访问的时候,或者其它PC访问的时候,如果这些对象没有更新,那么就可以直接从本地的网关设备里将这些返回给这些PC。这样,后来的访问都不需要再通过Internet访问原始的应用服务器,不需要再在网络上传输这些对象,不需要等待传输这些对象的时间——可能由于网络延迟比较大,而传输这些对象需要比较长的时间。这样有效地节约了带宽,减少了由于网络延迟带来的影响。
  其次,可以只在服务器端部署缓存技术设备,以减轻服务器的负载、加速应用的访问。一般的应用可能很多的任务,比如要处理复杂的业务逻辑、要连接后台数据库服务器查询数据、要动态生成对象、要将这些对象传输给远程客户端。在远程客户端访问应用的时候,先通过缓存服务器,如果缓存服务器上有对象并且对象是最新,则缓存服务器就可以直接响应客户端的请求。并且在没有客户端请求的时候,如果缓存服务器比较空闲,则可以查检对象是否过期,如果已经过期,则更新对象。这样就无需要等到请求这些对象的时候,再更新对象,以加速应用的访问。这样原始服务器,只需要传输一次对象到缓存服务器,之后的对象请求都将由缓存服务器完全代替原始服务器,以减少原始服务器的负载,这样原始服务器可以专注于处理自己的业务逻辑。
  甚至,还可以在服务器端和客户端都部署缓存服务器,这样既能节约带宽、减少由于网络延迟带来的影响,还能减轻原始服务器的  负载。进一步的,还一个新的特点,在缓存服务器中的对象需要更新的时候,由于在两端的缓存服务器都旧的对象,而服务器端的缓存服务器同时还有最新的对象,这样在更新对象的时候,只需要传输这个对象变化了的一不部分,而无需传输整个更新了的对象。这样就更进一步的节约了带宽,更进一步的有效地利用了带宽。
三、数据流压缩技术
  虽然我们将数据流缓存到了网关设备里,但是有时候数据流可能在缓存并没缓存,或者没有全部缓存起来,这样还是需要在网关设备之间传输数据流。当在进行数据流传输的时候,对数据流进行压缩,使原本比较大的数据变小,使数据传输变得更快。如图,现在有1440字节的数据需要传输,在网关设备里将压缩成只有510字节,

再通过Internet将其传输到另一个网关设备,将其解压成1440字节的数据。这样在Internet传输的数据就只有510字节,而不是原来的1440字节。这样就更进一步节约了带宽,更中有效地利用了带宽。
这种技术只需要对数据进行压缩,因此它具有速度快、资源消耗少的特点,能基本上加速所有的基于TCP协议的应用。
四、TCP协议优化
  TCP协议优化有很多技术,如快速连接、TCP滑动窗口优化、ACK代理应答等。所谓快速连接,就是简化TCP连接建立的步骤,快速地建立TCP连接。众所周知,TCP连接需要“三次握手”,一是客户端先通过客户端的代理网关和服务器端的代理网关向服务器发送一个SYN请求,二是服务在收到SYN请求之后通过服务器端的代理网和客户端的代理网关关回复一个SYN/ACK应答,三是客户端在收到SYN/ACK之后通过客户端的代理网关和

服务器端的代理网关再回复一个ACK,这样对建立完成了TCP连接。快速连接对连接建立的流程做了优化,一是客户端发送了一个SYN请求,这个SYN请求被代理网关收到,于是代理网关代替原始服务器给客户端回复一个SYN/ACK,于是客户端就能立即收到SYN/ACK,并回复一个ACK给代理网关,这样客户端这边的连接就建立完成了。代理网关在回复了SYN/ACK之后,将原SYN包保持不变继续发送给服务器端的代理网关。服务器的代理网关在收到SYN之后,将其中的初始序列号记录下来,并把SYN请求转发给原始服务器。原始服务器收到SYN请求之后,回复一个SYN/ACK,服务器端的代理网关在收到SYN/ACK之后,将中的SYN又记录下来,并且不做任何响应,因为客户端会再发送一个ACK包,只需要修改这个ACK包,然后发送给原始服务器,这样服务器端的TCP连接也建立完成了。这样,客户端建立TCP连接的时间几乎为零,而服务器端建立TCP连接也只用了0.5RTT,而原本建立TCP连接需要1.5RTT。
  优化TCP滑动窗口,就是对TCP滑动窗口进行动态的调整,以使其更加适合当前的网络状况。TCP的滑动窗口决定了TCP发送数据的数据,滑动窗口大,发送速率就大,滑动窗口有,发送速度就小。动态的调整滑动窗口就是,在网络比较好的时候,增大滑动窗口,以加速数据的发送;当网络状况不是很好的时候,减小滑动窗口,以减小数据发送的速度,以缓解网络拥塞的状况。
ACK代理应答,就是网关设备一直代理远端服务器对本地的TCP请求作应答,这样使在Internet的通信就像是在局域网一样快速响应。当然,由于对于上层应用来说,通信就是在局域网内进行,可能会导致其发送数据的速度过快。因此,还需要相关的机制保证不会过快地发送数据而导致网络的拥塞。
  这一些TCP优化技术,同样也具有速度快、资源消耗少的特点,能对所有的基本TCP协议的应用加速,能在网络延迟比较大的时候也能有效地工作。
五、QoS带宽管理
  我们可能有很多应用,比如ERP、WEB、财务、政务、上网等。而这些应用的优先级可是不一样的,有的可能比较优先,像财务、政务,而有的可能优先级不高,像上网这种应用。因此需要对这些应用所使用的带宽按照优先级别进行分配,保证关键应用——优先级高的应用——的带宽,而限制非关键应用——优先级不高的应用——的带宽。这样,更加有效地利用带宽。
当然还有一些其它的应用加速技术,如减少条件请求、保持持久连接、对象压缩技术等。对于具体的应用,可以根据应用的特性,使用这些加速技术中的一种或几种的组合,来得到最有效的加速效果。下图为这些加速技术的一个汇总,在进行加速技术组合的时候,以作参考。

  惠尔顿研发的这一技术和相对应的应用加速解决方案,关注应用,贴近应用,以应用为导向,保证关键业务的可靠性、可用性与安全性。可以预见,我们的管理软件网络优化专家的经营理念将伴随着大应用交付于网络的时代的到来而更加璀璨!

 

特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
0
相关文章