缓存技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、缓存技术
缓存技术是一种在本地存储经常访问的信息的一种技术。
Web缓存在用户本地的存储设备上存储Web网页及其内容,这要比Web查询快。
通过减少WAN链路和Web服务器上的传输量,缓存为ISP、企业网络及终端用户提供了以下一些好处。
1、减少W AN带宽的占用,降低成本。
ISP把缓存引擎(Cache Engine)置于网络关
键点上,以提高响应时间,降低骨干网上的带宽占用需求。
ISP也把缓引擎置于W AN 访问的关键点上,使其能从本地磁盘上为Web查询提供服务,而不能远距离或通过Web服务器读取信息。
在企业网中,由于Web缓存技术可以用低成本、低带宽的W AN链路服务同一个位置的用户群,从而大大降低了对带宽的占用时间。
企业可以利用现有的W AN链路带宽增加用户数,并为用户提供更多的服务。
2、提高终端用户的效率。
本地Web缓存的响应时间比W AN下载相同内容的时间快
三倍,终端用户可明显感到响应时间的加快,并可实现完整的传输。
3、安全访问控制及监测。
缓存引擎为网络管理员提供了一个简单、安全的方法,通
过URL过滤机制,可加强基于站点地址的访问控制策略。
4、可操作日志记录。
网络管理员能了解哪些URL被点击、每秒缓存服务多少个查询、
从缓存提取的URL的百分比是多少以及其它操作相关的统计数据。
Web缓存按以下步骤工作:1、用户访问Web网页;2、当网页传输给用户时,缓存系统存储网页并把与其相关的图文存储到本地存储设备上;3、另一个用户(或初始用户)访问此网页;4、Web缓存从本地存储器中取出网页,而不用在Internet上发送查询信息,这样就加快了下载速度,减少了W AN链路的带宽需求;5、不同的系统对保证缓存信息与源信息同步更新的方法各不相同。
IP缓存加快网络访问速度
I P超高速缓存(I P C a c h i n g)已经成为优化使用
带宽和提高网络性能的一种良好的解决方案。
对最终用
户的近端所需文件频繁存储,可以降低相应的W A N或
I n t e r n e t连接的带宽需要,这样反过来又省去了或延
缓了昂贵的升级之需。
因为所有通信都是以L A N的速度
传输,这同样提高了最终用户的性能。
这种缓存技术减少了W A N的数据链接流量,减轻了W e b服务器的负担,它给I S P、企业网与最终用户都带
来了显而易见的好处。
1.减小W A N的带宽从而降低了网络开销;
2.提高最终用户的效率。
采用了I P缓存技术的网络,从缓存服务器中下载的回应速度要比从W A N上下载
同样的内容快3倍。
现实的提速方案早在万维网流行以前人们就知
道I P缓存的这个好处。
典型的例子是I n t e r n e t上诸如F T P、G o p h e r和n e w s g r o u p s之类的归档文件的存放,
文件在世界各地以镜像方式就近存放。
但对于H T T P,
由于用户请求的随机性数据量大和时间相关性强,镜像存储并不可行。
I P缓存服务器对H T T P就相当于对上述归档协议的镜像存储。
这两种缓存服务器工作原理基本相同。
I P
缓存服务器截获浏览器向W e b服务器发出的数据请求,当这部分数据从W e b服务器下传给浏览器时,将它们存在硬盘上。
这样,以后I P缓存服务器再截获到类似请求时,就可以直接把相应的缓存数据发给请求者。
I S P由于面对来自用户和I C P方要求提高服务质量的压力,成为了I P缓存服务器的主要使用者。
对于用户来说,更快的连接如D S L s(D i g i t a l S u b s c r i b e r
L i n e s)、I S D N和C a b l e M o d e m s将取代链路中的薄弱
环节———电话M o d e m(目前一般它的最大传输速率为56k b i t/s)。
那些升级了他们因特网接入的用户,将感到浏览器性能有明显的提高,同时更大的数据流量也将注入I n t e r n e t主干线。
在市场的推动下,I S P寻求
性能价格比更高的方法来充分利用现有网络带宽,I P
缓存则是现在和将来的主要解决方案。
代理服务器是前身
典型的早期缓存服务器是代理缓存服务器。
它们为一组用户提供数据代理服务,接受用户的请求并转发到目的地。
作为所有用户访问I n t e r n e t唯一的接入点,代理服务器要进行内容过滤、用户认证、活动日志及数据缓存,和防火墙一起,它是一种安全的接入I n t e r n e t 的方案。
最早的代理缓存是基于软件的H a r v e s t C a c h e,它是1994年到1996年美国几家研究部门资助的一个联合研究项目的成果。
从那时起,市场上陆续出现了一些代理缓存服务器。
其中最引人注目的有M i c r o s o f t
N e t s c a p e C o m m u n i c a t i o n s和N o v e l l等几家,它们的
代理缓存服务器都与其各自的公司产品紧密结合。
除了有缓存功能,它们还有许多代理功能,如用户认证、内容过滤、病毒检查、安全、活动日志等。
“软”变“硬”是主流
1997年一个题为“为什么有缓存的”的报告中,
研究机构F o r r e s t e r预言缓存将从软件转向硬件。
D a t a q u e s t1998年7月也同样预言硬件缓存将是缓存
市场的主流。
因此1998年许多供应商纷纷公布了硬件缓存的应用。
他们声称硬件缓存比纯软件好,因为操作系统和缓存硬件是紧密集成的,并针对缓存进行了优化。
他们还声称其产品易于安装和配置,是一个更安全的平台。
概括地讲,基于软件的缓存,如代理缓存,是针对代理特性来设计的,而硬件缓存装置能支持繁重的缓存任务,并且也能用于代理。
值得注意的是最近推出的,相对低廉的缓存装置。
这些基于非专有硬件和软件的设备,是预先配置好的,着重于低价和易用。
它们对于小公司和那些希望只在工作组内实行缓存,又因以前的解决方案价格过高或操作过繁而犹豫不决的大公司特别有吸引力。
现有的协议
I C P(I n t e r n e t C a c h i n g P r o t o c o l),来源于
H a r v e s t P r o j e c t的早期缓存研究,规定了多个I P缓
存如何交换有关W e b内容的新信息,如何从对等的缓存上检索数据(如从源W e b服务器上检索相应数据)。
通过I C P,缓存服务器的管理员可以将机器配置成能检索其他支持I C P的缓存。
如一个本地的缓存可以轮询上一级的缓存,看看它们是否得到所需文件的更新拷贝,或者是否核实了该文件在源地的保存时间。
即使上一级的缓存没有文件的新版本,它也可能在更近的时间里核实了该文件在源地没有被更新或者以一个新的版本存储。
依赖于本地缓存的更新算法,可用该信息从源地得到文件的一个新版本,或是利用本地的版本。
轮询上一级的缓存数据因来回要耗时,延迟也会相应地增加,但因请求无需传到源地去,仍可节省大量的时间。
另外,从就近的基于I C P链接的缓存获得数据,一般会减少I n t e r n e t主干网的阻塞,为I n t e r n e t的其他用户节省了带宽。
目前市场上的缓存几乎都支持
I C P。
和I C P一样,C R P(C a c h i n g A r r a y R o u t i n g
P r o t o c o l)是缓存对等协议,它主要着重于本地缓存服务器间的载荷平衡。
它是由M i c r o s o f t起草的,已经作为I n t e r n e t提议提交给了3W C(W o r l d W i d e W e b
C o n s o r t i u m)。
除了M i c r o s o f t,其他不少的厂商如
P a c k e t s t o r m T e c h n o l o g i e s和S u n也支持C A R P。
不足之处
代理缓存方案有两个主要缺点。
第一,缺乏透明性。
目前,为了将对W e b的访问要求指向一个本地缓存服务
器而非原来的某个远程服务器,有的必须将W e b浏览器
的客户端的所有请求配置成指向缓存服务器。
尽管这对
于经验丰富的用户来说也许并不难,只需重新配置客户
端浏览器,但这也是大多数网络管理员所尽量避免的,
因为这样做,对于任何大规模的安装管理、技术支持和
统一规划用户来说,实在是太麻烦了,而且开销也过大。
第二,可扩展性不足。
现在的系统局限在缓存器的大小、
增长和性能上,目前的W e b缓存服务器包括防火墙代理
服务器,网络管理员们现在正面对着他们曾遇到的,与
早期防火墙相同的扩展性局限。
结果是当今的缓存服务
器系统不提供成千上万同时产生的,链接增长的路径,
网页的存储以及容错等等,缓存服务器被设计者们限定
成一个孤立的、集中的缓存装置。
为了克服缺点,可以安装基于策略的路由器或第四层的交换机将数据流重定向到一组缓存服务器,实现透
明的缓存。
这些缓存服务器截获发向H T T P80端口的请
求并重定向到缓存服务器,由它来接管H T T P请求并将
所需数据回传给浏览器。
一个真正透明的缓存方案还应
该支持缓存服务器负载平衡以及故障恢复的功能。
典型
的第四层交换机有A l t e o n N e t w o r k s的A C E d i r e c t o r
和F o u n d r y N e t w o r k s的S e r v e r I r o n。
联想iCache的基本工作方式及应用环境浅析2000年
03月-04月
第二十四期
作者:李晓洪;创建时间:2000-05-19
联想iCache产品可放置于网络的多个点上,每台设备可服务于一组用户、工作组或地理区域。
联想iCache产品有Internet加速(正向代理), Web服务器加速(反向代理),高速缓存分层, 高速缓存集群四种工作方式。
这里我们主要介绍一下前两种工作方式:正向代理与反向代理。
Internet加速(正向代理)
正向代理用来加速用户(如浏览器)请求响应的时间。
从网络配置观点看,这不是最简单的方法。
但是,它确实要求所有用户将其浏览器配置为将联想iCache设备作为代理服务器使用,而代理已经被定义为可以在Cisco路由器或L-4交换机(透明代理)之后透明地发挥作用。
基本
上讲,正向代理的操作原理如下(见图3):
(图3).
浏览器从其正向代理服务器设备iCache请求初始web服务器的web页面。
转发代理服务从DNS获得数字IP。
从Web server上获得初始服务器的对象。
iCache将收到的对象的副本转发到浏览器。
转发代理服务无需访问DNS或初始Web服务器即可处理。
相同页面对象的后续请求。
1.系统中的用户发出浏览器请求,要求访问某Web站点。
为方便起见,我们称此站点为。
如果转发代理激活,Web请求将从本地的高速缓存设备或Web站点的初始服务器履行。
2.为方便起见,我们假设对的请求以前尚未由系统中的其它任何人实施过,因而请求页面无法从本地高速缓存中获取。
在这种情况下,请求将沿着Internet到达Web站点的初始服务器(),在此点上将请求的数据返回到选择此站点的用户。
转发代理被激活后,这个已经访问过的Web站点()的所有静态元素都将本地存储于联想iCache 设备上。
3.现在,如果该用户再次请求访问同一站点,或者网络系统上的另一位用户希望访问该站点,此时浏览器无需再连接到Web站点的初始服务器,只要调用本地高速缓存的数据即可。
4.转发代理能大大提高每个后续用户的速度,使他们无需再穿越Internet(可能会遇到带宽和性能问题),只要从本地高速缓存中获取内容即可。
转发代理高速缓存还能起网络防火墙保护的作用。
与Internet的直接连接会将网络暴露给外面,因而容易遭到入侵。
转发代理服务器是Internet和网络之间的缓冲器,能作为两种系统之间的联系点。
这意味着代理服务器需要对Internet"开放",因而能通过将网络在防火墙之外隔离开来而保护网络。
如前所述,必须为每个浏览器设置代理高速缓存,这样相当耗费网络管理员的时间。
而且,代理高速缓存比较脆弱:作为网络的Internet"网关",代理高速缓存是潜在的最大故障点。
如果代理高速缓存出现故障或瘫痪,整个网络上的Internet服务就会中断。
Web服务器加速(反向代理)
反向代理是Web服务器加速器。
这时它作为代理高速缓存,不针对浏览器用户小组,而针对一台或多台特定初始Web服务器。
Web服务器加速或反向代理的关键在于95%从Web站点请求的对象是静态对象,如HTML页面和图形等。
其余请求针对非高速缓存对象,如CGI收集器程序的输出等。
为实施此高速缓存技术,只要将联想iCache 设备放置在一台或多台Web服务器前端即可。
此"代理高速缓存"设备能假装作Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。
因此,大量Web服务工作量被卸载到高速缓存上。
联想iCache 设备将经常请求的Web 对象存储在RAM中,使之能快速响应。
非高速缓存请求被传送到Web服务器,多数情况下与浏览器被直接;连接一样快或更快(见图4)。
图4.
Web上的浏览器请求一个初始web服务器的主页。
与往常一样,这样会向DNS产生一个要求该web服务器IP地址的请求。
DNS不会返回初始web服务器的数字IP地址,返回iCache的IP地址。
浏览器利用iCache设备的IP地址请求Web页。
iCache从初始web服务器获得web页面对象。
iCache向浏览器返回对象的复制品。
联想iCache的两种应用环境介绍:
iCache在企业中的应用---正向代理缓存(Proxy Cache)
iCache在ICP中的应用---反向代理缓存(Reverse Proxy)
联想iCache在企业中的应用
联想iCache在企业中的部署属正向代理缓存(Proxy Cache)方式:(见图5)
它是将联想iCache部署在企业的局域网中客户机前端,将用户访问过的页面在内存和硬盘中进行缓存,当下一个用户访问同样的页面时,可以直接从本地iCache中调用该Web访问信息,从而大大加快对Internet的访问速度,提高了响应性能;由于减少了对Internet的访问量,节约了宝贵的广域链路带宽(可以降低网络流量25--75%,平均50%),也就可以为企业节省上网费用50%。
另外,由于联想iCache了解用户的兴趣与需求,利用它可以限制和控制用户所访问的内容,提高安全性可管理性。
联想iCache在ICP中的应用:见图6
联想iCache在ICP中的部署属反向代理缓存(Reverse Proxy)形式:
是指为特定的WWW服务器设置iCache,又称Web加速器(Web ccelerator),它是用来减少WWW服务器要响应的服务请求。
这种iCache服务的最大特点就是所缓存的是同一WWW服务器的内容。
以Yahoo为例,当用户发起连接请求时,根据负荷情况,在多个为Yahoo 的WWW提供加速iCache中选择负荷较低的服务器为用户提供服务,减轻了服务器的负荷,实现负载平衡。
值得注意的是仍然是一台服务器,只是到它的连接请求根据负荷被送到其他的Cache服务器。
作为反向加速的iCache,其命中率在90%左右,也就是说,90%的信息可以不用到原Web服务器上获得,直接在Cache中得到。
iCache Web加速器可以部署在电信端,成为电信对外提供的一种增值服务,其优势是,突破用户64K DDN专线的带宽限制,相当于租用的电信主干带宽,从而大大提高Web响应速度,大大增加了Web服务器的承受并发连接的能力,相当于对原Web 服务器升级或采用Web阵列等方式提高Web 服务器性能。
利用iCache 的Web加速器可以实现Web服务器的镜像,这种实现方式比传统Web镜像方式的优势在于其维护、管理非常方便。
如何有效实现Web缓存
(作者:马昕2001年03月05日 13:25)
Web缓存近来成为各种媒体上频频出现的热门词语,其概念非常简单,就是“一次取来,多次使用”。
具体来说,是当网络上的用户要求Web服务时,缓存服务器代表用户向源Web服务器发出请求。
反过来,源服务器将响应这一请求的Web对象连同头信息一起发送给缓存服务器,头信息中包含有关于缓存的重要信息,比如这一对象是否能够缓存,可缓存多长时间等。
如果该对象可被缓存,Web缓存就将它保留在局域网的本地服务器中,以便下次本地用户要访问同一Web对象时,可直接到本局域网的缓存服务器中取得,从而减少了广域网的流量,加快了用户访问Internet的速度。
不过当有新请求到来时,Web缓存检查缓存对象的存在时间,同时利用收到的头信息来判断缓存内容是否过期,或判断缓存内容自上次请求后是否更改。
很清楚,Web缓存是一个实用的、有效率的概念,但在应用此技术之前,需要考虑如下问题:这个技术将会怎样影响网络配置?怎样处理由此带来的单点故障?
代理自动配置方式
目前有两种广泛使用的实现Web缓存的方法:带缓存功能的代理和透明缓存。
第一种方法和通常所用的代理服务是完全一样的,只是Web 内容存在代理服务器本地的硬盘或RAM中。
很多代理服务器同时还缓存FTP、Gopher以及NNTP(Network News Transfer Protocol)的内容。
所有基于代理方式的技术都有一个共同的缺陷,就是所有的客户机都需要单独配置,来指明代理服务器的地址,从而将请求发给特定的代理服务器。
这一缺陷在过去是难以忍受的,但是现在随着代理自动配置URL (Proxy Automated Configuration,PAC)技术的引入,这一代理服务固有的缺点正逐渐被克服。
当使用PAC URL时,所有浏览器在启动的时候都访问由PAC URL指定的一个文件,此文件中含有HTTP的代理配置信息。
这一方法可以使关于代理的任何变化很快地在整个网络中传播,而不用单独配置每一个客户机。
当网络中有问题存在时,可以很容易地通过代理配置信息的改变绕开故障点,保证用户对网络的实时访问。
虽然这一方法非常奏效,但是仍然需要花时间来指示每一客户机经由PAC URL寻找配置信息。
同过去相比,这一工作已经非常简单明了。
同时,Web代理自动发现协议(Web Proxy Autodiscovery Protocol,WPAD)的引入,更加简化了在PAC-URL网络中对于代理服务的配置。
缓存透明方式
透明的缓存要比基于代理的缓存更方便,但也有一个不足之处。
在采用透明缓存的网络中,缓存装置截取所有通向外部的网络流量,包括HTTP。
因为所有的HTTP流量都经过Web缓存,所以用户不需要在客户端
进行单独配置来指示Web流量如何流向代理服务器。
有三种标准的放置缓存设备的方法:或作为以太网桥,或作为网络的缺省网关,或通过使用像Cisco系统授权的Web 缓存控制协议 (Web
Caching Control Protocol,WCCP)来透明地截取路由器或交换机流量,
根据你的网络结构可选择一种最佳方式。
透明缓存的优点在于不需要在客户端做单独配置来指明代理服务器的地址,这对大型ISP和企业环境非常合适。
但缺点也很明显, Web客
户无法避免Web 缓存的单点故障,甚至无法检测到故障的发生,并且除
HTTP外的其他网络流量也会受影响。
容错机制的引入
如果采用透明缓存,当缓存服务器失败了,所有的网络流量就无法送出。
因此,为了检测错误并且在错误出现的时候重定向网络流量,必
须引入容错机制。
一些厂商采用不同的容错机制,最常用的是 Novell的Internet 缓存系统(Internet Caching System,ICS)和InfoLiria的DynaCache。
ICS实质是采用集群技术,系统配备多个ICS,这些ICS互相交换信息,
当其中一个ICS失败时,另外的ICS可以接管它的工作,对用户来说就
像错误没有发生一样。
另一个容错机制是利用独立的硬件,分别设立原设备和错误恢复设备,在其中运行私有协议。
在原设备发生故障之后,协议可以将网络流
量重定向到错误恢复设备,从而达到容错目的。
InfoLibria的DynaCache
就是采用的这种方式。
尽管ICS和DynaCache有诸多优点,它们仍不能提供出一个完整的对用户透明的容错结构。
ICS群中的一个失败将会使传输中断一段时间,
并且InfoLibria的解决方案也是不能完全避免服务中断的困扰。
放到第四层上去解决
另一个可能的解决方案是使用一个4层交换机来完成Web缓存负载均衡的应用。
WebSystems等许多公司都具有这种交换机,它们能监测缓
存应用的状态且能绕开失败点指示出网络流量的新通路。
除有极强的容
错性能外,它们在使用缓存高峰时还提供负载均衡的能力来提高其性能。
利用Web交换技术优化因特网结构
中国数据网
1 引言
随着越来越多的用户加入到Internet这个全球网络中来,人们在网上的活动也正在变化,从信息收集发展到购物、娱乐以及进行各种商业交易。
面对不断增加的负载和新的应用需求,网上业务的提供者需通过架构新的体系结构以适应其业务的增长,Web交换机应
运而生,为数据中心设备包括互联网服务器、防火墙、高速缓存服务器、网关等提供管理、路由和负荷分担。
除了提供可由传统第二、三层交换机提供的连接和打包路由服务外,Web交换机还可提供传统局域网交换机和路由器所不能提供的服务器负载均衡、存取控制、QoS保证及带宽管理等功能,可在应用层为运营商提高性能,增强安全性、可用性和扩充能力。
Web交换机又称第四层交换机,目前Web交换技术已由纯粹的传输层(第四层)发展到具有基于内容(第七层)交换的智能,这种技术在新一代Internet中将会具有更广泛的应用。
2Internet发展的新要求
2.1Web服务器集群
以单台服务器处理Web服务的结构已渐成历史,现在通常是以多台服务器联合支持一个网站,并以一个单一的虚拟IP地址(VIP)代表整个服务器集群,由集群中的多台服务器来分摊处理访问流量。
这种结构使得某台服务器发生故障时,不影响Web服务的继续工作,同时通过增加更多的服务器可以平滑地提升Web服务的性能,具有较高的扩展性,这样在服务器之间起引导传输作用的负载均衡器就成为必需。
负载均衡器截取进入VIP的客户端请求,并将请求分配给相对性能最佳的服务器。
Web服务器的虚拟化也带来了内容管理方面的挑战。
如果同一个网站的服务器都能为任意请求提供服务,那么这些服务器就必须存取整个网站的内容,这在Internet发展的今天几乎是行不通的。
而且,服务器功能的专业化(如专门内容存储和专门从事计算)也使内容的分离势在必行,如动态内容最好存放于经过优化后适于运行Scripts和Javaapplets的高性能服务器,而图片、样板文件、视频剪辑文件等静态内容可以存放于具有较大存储容量的低档服务器,以降低成本。
2.2Web用户的虚拟化
在有代理服务器、防火墙、VIP的服务器集群中,IP地址的简单的一一对应关系不复存在,这就使IP用户不能再以其IP地址作为网络上的唯一识别标识。
事实上,由一个用户向同一个地址发出的连续性请求可能代表不同的源IP地址。
这会令持续性(persistense)难以实现。
持续性是指把来自每个独立用户的多个请求传递给同一台服务器进行处理,这对于网上购物等应用至关重要。
在线应用如购物卡或搜索引擎等应用常常需要持续的处理,这意味着一个客户在一个会话期间要不断地与同一个真实服务器对话,而且可能是由多个TCP连接完成。
如购物卡,如果一个客户和服务器连接不是持续的,可能导致购物破裂,甚至授权给其他用户。
持续性连接有助于提高服务器效率,实现网上购物、多页表格的状态性事物处理。
2.3多媒体应用
现代因特网上多媒体业务发展非常迅速,RTSP(实时流协议)和VoIP(IP话音)协议在客户端和服务器之间利用不同的通道传送控制信息和数据流,用于数据传送通道的端口号是动态产生的,并通过预先建立的控制通道在客户端和服务器之间通信。
为正确将这些应用程序送到适合的服务器,流量管理设备必须解析控制通道传输的内容,以为数据通道析取出动态端口,使相关的控制和数据通道可作为单一的逻辑会话进行处理。
2.4带宽管理。