北京麦弗瑞科技有限公司
地址: 北京市海淀西三环北路50号豪柏大厦C2座18—19层
电话: 010 - 88518768
传真: 010 - 88518513
网站: www.microshield.com.cn
邮件:ms-gb@microshield.com.cn
邮编:100048
1 需求分析
近年来,Internet 作为一种重要的交流工具在各种规模的商业机构和各个行业中得到了普遍应用。在机构借以执行日常业务活动的各种网络化应用中,目前已包括从合作供应链管理到销售业务系统、数据优化管理、合作开发工具和资源管理等一系列的应用。这些不断增长的网络化应用对各行业通讯的效率和可用性也提出了较高要求。
1.1 单一链路导致单点故障和访问迟缓
用户的网络结构通常如下:单一链路实现内部网络和Internet之间的连接。
而在Internet接入的稳定性对于各行业用户来说至关重要的,单一ISP链路显然已经无法保证提供的Internet链路的持续可用性,从而可能导致用户Internet接入的中断,带来无法预计的损失。
不同ISP的互连互通一直存在着很大的问题,在南方电信建立的应用服务器,如果是南方电信用户访问正常,Ping的延时只有几十甚至十几毫秒,对用户的正常访问几乎不会造成影响;但如果是北方网通的远程用户访问,Ping的延时只有几百甚至上千毫秒,访问应用时则会出现没有响应设置无法访问的问题。如果用户采用单条接入链路,无论是采用电信(或则网通),势必会造成相应的网通(或则电信)用户访问非常慢。
因此,采用多条链路已成为用户实现Internet接入的稳定性的必然选择。
1.2 传统解决方案无法完全发挥多链路优势
下图是一个多链路接入的典型拓扑,在图中内部网络到Internet有两条Internet接入链路,其中一条通过ISP1进行连接,而另一条则通过ISP2连接。
传统多链路方案:每个ISP为内网分配一个不同的IP地址网段。因而,对内网来说2个IP网段同时生效。
存在问题:地址的静态分配给寻址带来了很大的复杂性。
除了复杂性之外,传统的多链路网络方案也具有一些缺陷:
传统的多链路接入依靠复杂的设计,解决了一些接入链路存在单点故障的问题。 但是,它远远没有把多链路接入的巨大优势发挥出来。
2 应用交付解决方案
作为应用交换业界的领先厂商,应用交付 应用交付产品。凭借其强大的技术优势,在市场上处于领先地位。
N etScaler 解决方案就是在内部交换机和连接ISP的路由器之间,跨接一台应用交付设备,所有的地址处理和Internet链路优化全部由应用交付来完成。
针对各种用户的典型需求,应用交付在以下几个环节上提供了先进的功能和完善的解决方案:
2.1 方案拓扑图
典型的应用交付解决方案架构如下图所示:
2.2 链路负载优选方案
应用交付能够同时实现双向(Inbound和Outbound)流量在多条两路上的负载均衡的。
2.2.1 链路健康检查
应用交付会通过多种方式检测两条链路的健康状况,一旦发现其中一条链路故障,会立即将所有用户流量定向至其它可用链路,从而实现Internet连接的高可用性。主要的方法有:
为了确保多条ISP链路的畅通,应用交付将采用Ping的方法,检查和其相连的路由器的端口是否可达,确保整个路径的畅通。
注:该方法要求ISP的链路对ICMP开放。
针对所有的网络环境(包括禁止ICMP的ISP),应用交付提供了丰富的4~7层检查方式,可以通过检查运算结果,最终准确判断链路的健康状况。例如:通过CT的路径,检查www.citrix.com 的80端口,只要一个检查通过即可判断CT链路正常。避免了某网站故障导致链路状态误判的可能性。
2.2.2 流入(Inbound)流量处理
应用交付需要客户配合将域名的解析功能导向到应用交付,由应用交付来进行域名的解析。这样当远程通过域名访问应用时,通过远程用户的本地DNS服务器、根DNS服务器,最终由应用交付来进行域名的解析。此时应用交付就会通过静态列表或者动态判断算法,选择最优的线路,然后将域名解析成相应线路的IP地址,响应到远程用户。
例如:当某个电信的远程用户访问某网站时,首先向他当地的DNS服务器发起域名解析的请求,再通过他接入运营商的根DNS服务器,最终递归给应用交付请求DNS解析,此时应用交付就会通过静态列表或者动态判断算法,选择最优的线路(电信),然后将域名解析成网通线路的IP地址(219.x.x.1)。这样远程的电信用户就会使用电信的目标IP地址,通过电信的线路进行访问,实现了访问时链路方面的负载均衡优化。
下面以www.citrix.com 为例,描述Inbound流量处理的过程。
假设图中的Server1是Web服务器,Internet主机名为www.citrix.com,地址为私有IP:192.168.10.1/24。
如图所示,在DNS服务器上主则两条NS记录,指向应用交付:
NS www.citrix.com 100.1.1.100
NS www.citrix.com 200.1.1.100
而在应用交付上设置URL与内部主机地址的对应关系:
www.citrix.com 192.168.10.1
而在应用交付上设置静态的地址翻译:
100.1.1.101 192.168.10.1
200.1.1.101 192.168.10.1
当有Internet用户访问www.citrix.com是时,DNS服务器回应给用户由应用交付来完成最终地址解析。应用交付根据具体设置来选定适当的ISP线路,如果选择ISP1,则将地址解析为200.1.1.101。同样,如果选择ISP2,则将地址解析为100.1.1.101。从而完成流入流量的负载均衡。
2.2.3 流出(Outbound)流量处理
应用交付主要采用以下集中方式来处理流出流量。
RNAT
对于流出流量的智能地址管理,应用交付使用了称为RNAT的算法。当选定一个路由器(某一个ISP)传送流出流量时,应用交付将选择该ISP提供的地址。在图二中,如果应用交付选择ISP1作为流出流量的路径,则它将把内部的主机地址192.168.2.*/24翻译为100.1.1.*/24,并作为流出数据包的源地址。同样,如果应用交付选择ISP2作为流出流量的路径,则它将把内部的主机地址192.168.2.*/24翻译为200.1.1.*/24,并作为流出数据包的源地址。
2.3 链路负载的优势
应用交付能够根据用户访问的目的IP、各条链路的负载等情况来综合考虑,计算出内部用户访问Internet的最佳路径,以保证用户能够得到最快和最高效的服务和响应。
用户可在应用交付上为某个目标定义静态的最佳链路。例如目标IP地址属于ISP1的,应选择ISP1链路;目标IP地址属于ISP2的,应选择ISP2链路。
在选择最佳链路时,应用交付会综合考虑数据传输的延迟和链路的实时负载,使用最佳的负载算法,计算出最佳路径。因此用户能充分地享受到优化的服务和快速地响应。
2.4 应用交付应用优化技术提升用户访问质量
NS 提供了一套有针对性的方法来减少服务器压力,降低互联网延迟和客户机连接瓶颈对其应用访问性能所造成的影响。通过综合采用多种应用优化手段以后,应用访问的性能可以得到显著提高。与此同时,由于服务器性能的提高,还可以达到减少服务器数量,减少带宽占用从而节省投资的目的。
2.4.1 (请求交换)Request Switching技术
应用交付拥有专利的Request Switching技术是WEB应用系统的基础,它是拥有最佳的性价比,能保证持续,安全的WEB应用。
基于在网络优化方面的领先研究,Request Switching技术以最有效的方法处理WEB应用流量: 在应用请求层进行分析,然后加入安全性,重定向进入流量,使得优化流向,保护以及控制流量变为可能。基于这些技术,应用交付打破了应用请求对于传输层的依赖性,从而实现了每个最终用户的请求
这一独特的处理特定应用请求以及响应的能力,使得应用层得到保护,网络基础得到全面优化,而这是其他技术以及方案所不能提供的。
应用交付突出的特点表现在:
1.持续的应用有效性使得各种应用在流量浪涌以及恶意攻击下也能得到保证。
2.增加了服务器的能力,在降低带宽占用,降低复杂性的同时,整体运营成本也显著降低。
3.提供了对于WEB应用的线速安全保护能力。Request Switching技术使得应用交付用户能100%保护其应用内容的安全性,持续的提供服务给最终用户,并且降低了总体的运营成本,而这一切都不会影响最终用户的使用感觉。
那么Request Switching是如何工作的呢?
应用交付拥有专利的Request Switching 技术向我们展示了下一代的流量管理技术。应用交付打破了存在于连接和请求之间的关系,并在请求层检测所有的流量,Request Switching 提供了高性能的,安全的,可扩展的应用层服务。
在 Request Switching 技术的核心是一个新的运行范例,正是在这之上, 应用交付系统分开管理每一客户端连接以及服务器端连接。因为应用交付 系统是每个客户端以及服务器端连接的终点,而不是简单的传输连接,所以它能提供以前其他流量管理系统所无法达到的许多加速和优化技术。因为Request Switching 引擎被专门设计来在请求层检测流量,所以负载均衡以及内容交换可以非常高效的完成。策略以及过滤可以在进入的请求上被应用并且丝毫不影响性能。 成熟的负载均衡算法以及健康检查机制保证了服务的均衡性以及持续可靠性。 先进的加速和优化技术在降低服务器负载的同时更快的把内容传送给了最终用户。
Request Switching 是应用交付 应用提供系统的基础。基于在请求层管理流量的原理,Request Switching 可以在最终用户的地理位置和连接速度各不相同的情况下高效的加速和优化内容传输。由于 应用交付 系统是一个在客户/服务器端通信的中介者,使得它能够利用HTTP 1.1对于连接保持的优越特性。
多个请求可以在一个客户连接上被复用,这样消除了连接建立的时间以及客户端的延迟。与服务器保持的常连接,可以复用多个客户端来的请求,甚至可以是从不同客户端来的,或者甚至客户端不支持连接保持。 这减少了TCP连接在服务器上的消耗,使得服务器可以更有效的专注于内容的服务。
图1: 利用常连接的 Request Switching 技术
此外,Request Switching优化过的TCP/IP堆栈允许应用交付 系统消除了服务器对于客户端连接速度的依赖性。一旦一个向服务器的请求建立,响应可以全线速无阻塞的传递到应用交付系统。应用交付 系统会缓冲该响应并以客户端连接速度来把内容传递给客户端,这样使得服务器可以持续服务接下来的其他请求。
作为卸载TCP 处理以及缓冲到应用交付系统的结果,每个服务器都可以处理几倍于其本身性能的并发请求。 这一结果使得载服务器软件以及硬件上的投资大幅度减少,数据中心空间利用降低,并且也可观的减少了维护成本。
2.4.2 浪涌保护和SureConnect安全保护技术
浪涌的情况,一般都发生在某一短时间的交易任务大幅增加的情况下,在目前国内股市交易活跃的情况下,出现短时期内访问峰值不断增加,很多时候甚至出现超出服务器群处理能力的情况,导致服务器群的雪崩效应出现大面积宕机。
应用交付浪涌保护功能通过将访问请求缓存在应用交付内部,并进行访问队列排队的方式,将访问请求暂时保留,之后逐步释放给服务器,就能起到保证证券应用不会由于这样的突发局面而出现服务器宕机。
而对于排队等待中的访问,也可以使用SureConnect技术来提示等待时间。SureConnect可以在用户排队期间,送给用户一个事先设定好的等待提示页面,除了显示等待时间外,证券公司可以利用这个页面发布各种股票通知,公告或者其他广告信息,给用户良好的人性化感受。相比直接提交一个服务器无法响应的警告,SureConnect这种方式可以让用户对证券公司应用服务的亲和力大增。
2.4.3 动静态缓存和压缩技术
压缩是一个普遍用来增加性能以及降低带宽占用的技术。压缩的内容只要较少的时间就可以被下载,所以可以加快客户反应时间并同时减少带宽的使用。但是,使用压缩有其薄弱之处。实时压缩是一个非常占用处理器资源的进程,甚至会使得服务器超负荷。预先压缩内容是一个解决方案,但是由此增加的管理花费却不得不加以考虑。
应用交付 应用传输系统利用内置的高性能压缩引擎解决了这些问题,这一引擎称为AppCompress。这一引擎与Request Switching其他技术一起配合使用,可以解决实时的应用流量压缩。 从服务器来的数据被送到客户端前在应用层被压缩,这样减少了下载的时间并且减少了带宽占用的消费。其他的压缩程序都不需要,服务器被从压缩任务中解放出来,对于预先压缩内容的维护消耗也被消除。同样,在维持高性能服务的同时,基础设施消费以及管理成本被明显降低。
缓存是增加WEB应用性能的另一个常用方法。缓存在离用户更进的地方保存内容,增加了响应时间并且减少了原始服务器的负载。但是,由于缓存服务器的独立性,使得网络变的更加复杂并且难以管理,并且独立的缓存通常不具备对于动态内容的支持以及所期望的一些控制管理功能。
内置于内存中的,被称为AppCache的,并且与Request Switching一起工作的应用交付缓存技术,使得应用交付系统可以卸载很大部分服务器对于请求的消耗,并且可以更快的向最终用户传送内容。静态以及动态内容都可以支持,缓存的策略以及有效性也可以灵活的设置。高性能的缓存以及压缩,内容交换等其他优化技术一起协同工作,使得用户响应时间达到最佳,并且WEB站点的客扩展性也显著提高。
图3. 缓存技术与 Request Switching
2.4.4 SSL加速技术
由于商务活动带来了更多的应用,所以内容的安全性被越来越重视了。但是,安全的传输内容是一个富有挑战性的技术。因为传统的流量管理不能理解经加密的内容,所以它们不能进行加密内容的交换或者对其进行其他一些处理。此外,SSL的加密和解密对于服务器来说也是非常消耗资源的进程。
Request Switching 利用内置于应用交付的SSL密码加速技术解决安全内容的传输问题。当一个请求到达时,应用交付 对其进行解密并且载传递到相应服务器之前进行内容交换策略的选择和过滤。从服务器来的响应可以经过压缩和缓存,然后经加密传送到用户端。
这一系列步骤使得流量管理和优化技术可以应用于安全内容,并且减少了服务器的处理密码的进程消耗,降低了服务器负载。高性能加密同时意味着IT经理们不需要再出于性能的考虑而限制内容传输的安全性。所以在保持灵活性以及响应时间在一个优越水平的前提下,安全性也会得到提高。
图4 Request Switching 以及 SSL Offload
2.4.5 多重安全防护技术和Web应用防护
作为高性能的安全设备解决方案,应用交付 WAF TM阻止了所有已知和未知的针对Web应用和基础架构的攻击。应用交付 WAF 采用了积极的安全模式,只允许执行那些正确的应用行为,而且不依赖攻击特征符。它分析了所有双向流量,包括SSL加密通信,阻止了16大类Web应用漏洞攻击,同时不对应用作出任何更改。
高级Web应用保护配置增加了高级Web应用的会话层分析保护功能,此高级Web应用包括了对敏感数据的已验证访问。而且保护范围扩展到Cookie、格式字段和会话专用URL等动态生成的元素。这种保护对于电子商务、在线金融服务和安全的外联网应用都是强制性的,
并且它还具备应用学习能力,针对行为可能会违背默认安全策略的某些应用帮助管理员创建安全策略的可管理例外。
在应用交付 WAF 的DDOS防御机制中,Cookies被发送到发送请求的用户端,该初始会话状态没有被保留在应用交付 WAF 系统上。正因如此,应用交付 WAF 没有为该会话分配内存,正常的由合法的用户发出的TCP连接并不会被打断。应用交付 WAF 系统的SYN-cookie 概念一直是起用的,并不需要其他额外配置。应用交付 WAF 系统在收到非HTTP流量的最终ACK包或者收到HTTP流量的HTTP请求包时才为连接分配内存。 正因如此,应用交付 WAF 系统可以达到非常高的SYN处理能力(达到1.1M SYN/SEC)。
应用交付 WAF 系统的DDOS防御机制确保了以下几点:
正由于内存只在收到HTTP请求后才予以分配给连接, 应用交付 WAF 系统使得WEB站点避免受到 “空闲连接” 攻击。
此外,应用交付 WAF 系统还能有效的防范7层 DOS 攻击。
一般来讲,有两种类型的7层 HTTP DOS攻击: GET攻击以及 IDLE攻击。 对于GET攻击,黑客在一个连接建立后发出非常多的GET请求。 对于IDLE攻击,攻击者在连接建立后恶意停止一切活动而空闲等待。
应用交付 WAF 系统在处理时,当连入的SESSION速率达到一个预先设定的门限值时,DOS防卫功能就自动触发。 应用交付 WAF 系统会抽样对一部分客户端请求发送带有SET-COOKIE的响应。 恶意攻击主机通常不会响应SET-COOKIE,所以这些攻击包就会被丢弃。 而普通正常的HTTP请求不会受到影响。 这个触发的门限值以及发送SET-COOKIE的比例值可以针对每个服务来精细微调。 并且,由上所述,连接不会在第一个GET请求到达前建立。所以应用交付 WAF 系统也可以有效的防止IDLE攻击。
3 总结
应用交付的Request Switching 技术能显著增加INTERNET应用基础的吞吐量以及可靠性,其基础是建立在对每个应用请求/响应的传输侦测,从而达到最优化的利用传输层协议和资源,这一技术甚至在所有被传输的内容都加密和压缩的情况下也可以达到。正是基于对于整个请求/响应处理的全程管理,应用交付能独特的做到极其有效的引导和控制从用户端向服务器发起的应用请求以及响应。
应用交付 可以为用户管理多链路的运行,实现Internet 服务的持续连接以及理想的内容传递,从而实现可靠、高性能和高性价比的连接。 应用交付 是一个经过实践检验的优秀的链路解决方案。
通过应用交付的部署,可以帮助用户建立稳定、高效和安全的Internet。
Citrix 的解决方案具有几大优点:
卸载了服务器以及缓存的传输处理
分析以及优化每个服务请求
提供了在不丢失交易的前提下的对请求流量的精细调节
保持客户端TCP连接从而加速请求反应时间
复用以及反向复用应用层请求从而优化了服务性能