《BluecoatSPHTTP反向代理和CDN技术方案建议jun》由会员分享,可在线阅读,更多相关《BluecoatSPHTTP反向代理和CDN技术方案建议jun(36页珍藏版)》请在金锄头文库上搜索。
1、XXX用户反向代理和CDN技术方案建议书2007年7月17日目 录 1前言42用户需求分析53方案设计原则64技术方案建议74.1反向代理网络的总体设计74.1.1在同一数据中心部署反向代理节点74.1.2异地部署反向代理节点94.2ADN + CDN业务(动态和静态网页同时加速业务)104.2.1设计概述104.2.2动态网页加速流程114.2.3设备选型134.2.4HTTPS加密动态网页加速业务144.2.5Reflect Client IP(用户IP地址传送)174.2.6保留用户原有域名174.3BlueCoat HTTP 业务特点184.3.1HTTPS源服务器卸载194.3.2H
2、TTP 压缩194.3.3多线程下载204.3.4典型HTTP策略设置204.4BlueCoat网络安全设计204.4.1Bluecoat 抗DDOS攻击和Port Scanning204.4.2SGOS 操作系统214.4.3Bluecoat 协议检测224.4.4防止反向代理服务器成为Open Proxy224.4.5管理员访问限制和安全234.5用户行为分析和统计及错误定位用户的追踪234.6全局网络管理244.7未来扩展255BLUECOAT HTTP缓存技术特点275.1Pipelining:快速的内容抓取275.2自适应的刷新:快速、新鲜的内容285.3自适应的刷新:对带宽消耗的影
3、响305.4新鲜度测量和报告315.5Blue Coat 存储子系统325.6HTTP 策略控制引擎335.6.1Blue Coat可视化策略管理器34 1 前言本文是Bluecoat对XXX用户HTTP反向代理工程的技术方案建议。我们期待着和XXX用户进行进一步的深入交流。2 用户需求分析XXX用户目前的网站站点设计有HTTP Apache服务器,主要服务的内容是大量新闻和图片及一些Flash视频类的节目。采用Apache服务器带来的主要挑战有三方面,一方面系统运行在通用操作系统上,网站安全性存在风险。另一方面Apache服务器的性能受限,通常一台服务器只能处理3000-5000个并发HTT
4、P客户连接。性能上存在瓶颈。最后还有在后台存储XXX用户使用基于FC SAN的磁盘阵列。当为了提升网站性能而增加前面的Apache 服务器时,后台存储的共享也成为了一个复杂的技术问题。为了解决上述的一些实际问题。XXX用户需要在HTTP Web Server前端增加硬件反向代理服务器,利用其安全和高性能的特性来降低Apache服务器的负载和被黑客攻击的风险。同时由于主要的负载都被反向代理服务器所承担,源服务器只需要保持一个基本的HA服务器就可以,也无需涉及复杂的FC SAN共享问题。3 方案设计原则考虑XXX用户的实际情况,在方案设计时需要遵循如下原则:1标准性现在构建的HTTP反向代理网络应
5、当符合网络业界的主流标准,保证系统和已有的Web Server的兼容性。2合理的性能价格比在满足当前的业务需求的同时,还考虑到今后业务发展的需求,确保在未来扩容时能够扩展到更多的性能和容量支持。同时尽量选择经济的设备,做到最优的性价比。3高可靠性在确保系统可靠工作和数据的可靠性的原则基础上,尽可能的做到高起点,选用先进的技术和设备,使构建的反向代理系统有较高的可靠性,以适应今后的发展。4可管理性和可维护性反向代理设备可以通过多种技术和方式实现了高可靠性,同时也增加了系统的复杂性,从而容易导致维护和管理的复杂性。因此在方案设计中在提供高可靠性的同时,也要注重提供反向代理系统的可管理性和可维护性。
6、整个系统应该能够采用基于Web的界面对存储设备进行配置管理。系统配置工作应该简单明了,流程清晰。系统应该能够提供远程告警。5. 高性能整个反向代理系统应该提供较高的HTTP和HTTPS性能,能够满足大量用户同时使用时的性能要求。4 技术方案建议4.1 反向代理网络的总体设计使用Bluecoat SG设备作为反向代理的方式对源服务器进行加速,利用Bluecoat设备的安全性和强大的性能来实现对源服务器的卸载和安全防护。同时可以部署多台Bluecoat SG设备在前端,实现高速性能负载均衡和系统高可用性。并且会降低后台源服务器的部署数量,解决存储共享的问题。4.1.1 在同一数据中心部署反向代理节
7、点在同一数据中心的条件下,部署反向代理的结构如下图所示:SLB设备/ 四层交换机InternetSGSG内网OCS 源服务器用户SG实际部署在源服务器的前端,缓存用户访问的内容,因此大部分的服务压力都会被SG所承担,而不需要源服务器具有高性能的处理能力。同时由于SG和源服务器之间是通过内部私网地址的连接,这样保证了内部的源服务器是绝对安全的,因为没有黑客能够从公网上访问到源服务器。后台的源服务器还可以使用多台Web Server来实现冗余和可靠性。在Bluecoat的方案中,后台的源服务器组并不需要使用四/七层交换机来实施负载均衡,因为SG设备本身可以具有负载均衡能力。在从SG向源服务器请求未
8、命中的内容时会根据几种不同的算法进行负责均衡,包括:Round-robin, 最少连接,用户源地址关联,根据用户被加速设备设置的Cookie关联等。Bluecoat SG设备还可以对后台的源服务器实施健康检查,检查的方法包括四层协议和HTTP协议等。如果发现某一台源服务器出现故障,SG则会自动将流量切换到别的服务器上。Bluecoat SG也提供了性能上的显著提升,通常的Web Server具有二方面的性能瓶颈:HTTP并发连接数,HTTP吞吐量。尽管可以给这些服务器配置较大的内存和更新的CPU,但是其性能依然无法令人满意。而作为对比,Bluecoat的设备SG810-C可以支持12000个客
9、户端的并发HTTP连接,并且在典型环境下支持150Mbps到200Mbps的反向HTTP代理吞吐量。因此同样的性能要求条件下,会使用数量很少的SG设备就可以满足用户的性能要求,并由此节省了大量的机房空间,电源消耗和空调消耗等相关资源。从维护成本的角度上来考虑,是更为节省的一个方案。在反向代理的方案中,对于静态网页的性能提升效果是非常明显的。因为大部分的静态网页会缓存在本地。而对于动态网页而言,由于不能缓存在代理服务器内部,所以必须代理回源服务器,此时对源服务器的服务并没有性能卸载的能力。对于这种动态网页的加速,可以参考后续章节的方案,Bluecoat提供了一种独到的ADN 加速方案来对动态网页
10、进行加速。这一方案的范围已经超出了反向代理的概念,而是和CDN的方案融合在一起。4.1.2 异地部署反向代理节点整个反向代理网络组件包括:GSLB和SLB设备,HTTP缓存设备,Web源服务器等。这种部署实际上已经成为了CDN的部署。下图表示了整体的网络架构:SG数据中心加速动态网页 WANSG加速动态网页SG加速静态网页SG加速流媒体SG加速流媒体镜像服务器GSLB设备SLB设备SLB设备内容分发字节缓存比较源服务器数据中心新建CDN节点动态网页源服务器在新建反向代理节点中部署4台SG缓存设备,其中2台主要用于加速流媒体业务,1台主要用于加速静态网页和Flash视频的业务,1台主要用于加速动
11、态网页的业务。考虑到业务安全的需要,2台加速HTTP网页的SG缓存设备可以通过SLB设备进行负载均衡。2台加速流媒体业务的SG缓存设备通过SLB设备进行负载均衡。这里假定缓存设备中已经存有用户需要访问的内容(用户访问命中的情况),其中第1步是DNS解析,用户解析过一次后就可以把DNS记录缓存在本机上,下次可以不用再去GSLB设备进行解析。如果用户访问的内容未命中,则会由Cache去源服务器抓取。对于较简单的单个节点异地反向代理方案,可以不使用GSLB设备,只使用DNS解析到反向代理服务器即可。4.2 ADN + CDN业务(动态和静态网页同时加速业务)4.2.1 设计概述在中心和边缘节点部署的
12、SG缓存设备和网络的总体架构如下图所示:SG数据中心加速动态网页InternetGSLB设备SLB 设备SLB设备静态对象(HTTP,FTP)源服务器中心节点(全国和北京)边缘CDN节点动态网页源服务器SG加速动态/静态网页SG加速动态/静态网页SG数据中心加速动态网页内容分发字节缓存比较DirectorCDN管理和内容分发考虑到冗余的设计要求。在中心节点放置二台SG加速设备,这二台加速设备并不需要一定连接在SLB设备之后来实施负载均衡。因为Bluecoat的ADN加速方案里提供了不需要SLB的中心点负载均衡。因此只需要给这二台设备各一个公网IP地址就可以。二台中心点的设备会设置ADN路由表,
13、自动把源服务器的网段地址广播给所有的边缘的SG设备。在边缘节点,如果有多台SG设备的话,则可以放置在SLB负载均衡设备后面,使用私网地址,然后在SLB上映射为公网的VIP。此时SLB负载均衡设备的算法建议使用基于用户源地址Hash的,来保证每个用户的连接都达到同一台SG设备中进行处理。这样加速效果更好。边缘节点的SG设备和中心节点的SG设备之间会形成Peer关系,并建立ADN隧道进行加速。二者的字节缓存是完全同步的。边缘节点的SG会根据目的地网段的ADN路由进行数据包转发选择。如果发现去往目的地的网段有多台SG Peer都可以通达,则会根据自己的设备ID采用Hash的方式自动选择一个Peer作
14、为下一跳。由于边缘节点有众多SG设备,因此最终会使得流量较为平均的转到中心节点的2台SG设备上。如果中心节点有一台SG设备故障,则边缘节点的SG设备会自动切换到另外一台中心节点SG上。Director分发设备需要一个独立的公网IP地址来管理所有的SG设备。为了管理的目的,每个边缘节点的SG也需要配置一个单独的公网IP地址用于管理。Director使用SSH协议管理SG设备。Director设备也可以被配置为冗余的来保证可靠性。4.2.2 动态网页加速流程下图表示了用户访问动态网页时的数据包流程:SG全国数据中心加速动态网页 InternetSG加速动态/静态网页GSLB设备SLB设备SLB设备内容分发字节缓存比较源服务器边缘CDN节点动态网页源服务器12345678SG加速动态/静态网页中心节点(全国和北京)这些流程可以分步骤解释如下:1) 用户请求内容http:/ GSLB设备作出就近性判断把用户的请求重定向到离用户最近的ADN 节点(边缘节点)的SLB设备上3) 边缘节点SLB把用户请求http:/ 发送给边缘SG。4) SG设备根据自己的加