购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 Cache设备的工作方式和设计要求

前面提到了内容缓存技术,它是通过对内容副本进行缓存来满足后续相同的用户请求,是整个CDN系统实现的基础。在实际的网络部署应用中,内容缓存工作是通过Cache设备来实现的。下面,就让我们看看Cache设备是如何工作的,一个Cache设备的设计主要有哪些方面的要求?

通常来说,根据缓存内容的不同可以将Cache设备分为Web Cache和流媒体Cache两大类。Web Cache设备主要用于缓存普通网页的内容和对象,同时大多数设备也具备文件下载、流媒体服务等能力;流媒体Cache设备主要是针对视频流媒体服务进行加速,功能相对单一。目前,大多数设备厂商在研发Cache设备时,不会对主要用于流媒体的Cache设备和主要用于网页缓存的Cache设备进行产品区分,但对于CDN服务运营提供商,由于在缓存的内容类型、用户行为、内容更新等方面有较大的差异,对性能的优化技术上需要采用不同的技术路线和实现方式,基本上都会将Web Cache和流媒体Cache作为两个相对独立的产品线进行开发和优化。

Web Cache设备是最早出现的Cache设备类型,历经多年发展,目前已比较成熟,且有多种使用方式,因此本章将以Web Cache为例,分析和说明内容缓存技术的工作原理,为进一步了解整个CDN系统奠定基础。关于流媒体Cache的相关技术内容,读者可在第6章看到。

目前,市场上的Web Cache设备种类较多,一款Web Cache产品在投放市场之前需要考虑较多的市场因素,比如需要应用的场景、面临的客户群。因此,不同的市场需求对Web Cache的基本功能、性能、管控以及工作方式都有着不同的要求。

Web Cache作为一种网页缓存技术,可以在用户访问网站服务器的任何一个中间网元上实现。根据HTTP协议的定义,在一次网页访问中,用户从客户端发出请求到网站服务器响应请求内容的交互过程中,通常会涉及4个关键的网元:用户、代理、网关和Web服务器。其中,在用户端实现缓存技术在HTTP协议中有明确的规定,比如用户浏览器可以缓存已经访问过的网页,用户再次访问时可以直接访问这个网页副本。根据不同的应用场景和用户需求,Web Cache通常作为代理或网关部署在用户的访问路径上,部署的位置不同、工作模式不同,对Web Cache有不同的要求。当Web Cache作为代理使用时,通常工作在正向代理或者透明代理的模式,Web Cache可以在这两种模式下实现访问内容副本的缓存和服务;Web Cache应用最多的地方还是在网关上,这也是CDN的典型应用场景,网关通常工作在反向代理模式。下面,我们对正向代理、反向代理和透明代理的工作方式进行介绍。

3.2.1 正向代理

正向代理(Forward Proxy)方式下,使用者需要配置其网络访问的代理服务器地址为Cache设备的地址,内网用户对互联网的所有访问都通过代理服务器代理完成。使用者也可以仅对特殊应用设置代理服务器,此时仅该类访问需要通过代理服务器代理完成。通常正向代理的缓存设备支持冗余配置,从而保证代理系统的稳定性和可用性。正向代理的工作原理示意图如图3-1所示。

图3-1 正向代理工作原理示意图

图3-1演示了一个正向代理的应用例子。用户主机和代理服务器部署在同一网络环境中,用户主机地址为192.168.10.101,正向代理服务器的地址为192.168.10.1,用户想要访问的外网服务器地址为172.16.10.200。通常用户需要为所使用的主机配置正向代理服务器地址(192.168.10.1)和服务端口(8080),之后用户在上网时其主机对外网服务器的数据传输首先要传输给正向代理服务器,代理服务器检查代理缓存中是否保存了用户请求数据,如果有则直接返回给用户,如果没有缓存请求内容,则正向代理服务器负责发送用户主机请求数据到外网目标服务器,同时接收并缓存外网服务器响应数据,同时将响应数据反馈给用户主机。在执行正向代理功能时也可以完成安全认证和访问控制功能,比如可以设置某些特定用户在工作时间访问外网站点,或者禁止访问某些外部站点等。

正向代理多用于中小企业网络环境,Cache设备作为企业网的出口网关提供代理服务、内容缓存、Internet访问控制、安全认证等功能。在正向代理模式下,Cache设备可以为企业网节省出口带宽,提高企业内部网络的安全性,防止员工滥用网络资源并在一定程度上防御病毒感染。

图3-2所示为正向代理部署示例,正向代理服务器部署在企业内部网络环境中,内部用户在访问外部网络时需要配置正向代理服务。

图3-2 正向代理部署示例

3.2.2 反向代理

在反向代理(Backward Proxy)方式中,用户不需要配置代理服务器地址,Cache设备的地址作为被访问域的服务地址写入DNS记录,并利用Cache设备的内容路由/交换能力完成代理访问。反向代理和其他代理方式的区别是,反向代理专门对定制的内容进行加速,如域名streamabc.com之中的所有网页内容或域名streamcde.com之中的所有流媒体内容。

反向代理多用于大型ISP/ICP和运营商环境,对于运营商和ISP,反向代理可以实施透明的内容缓存,增加用户访问内容的速度和提高客户满意度。反向代理的优势在于对于用户来说,不会感觉到任何Cache设备的存在。同时,反向代理的部署方式有很多变化,ISP可以通过在服务器集群前部署简单的内容交换设备实现。在反向代理方式下,当Cache数量较多,网络规模较大时,需要部署GSLB(Global Server Load Balancing)来对全网中的Cache进行负载均衡,并对全网的内容分发策略进行设定,就形成了CDN网络的雏形。

图3-3演示了一个反向代理的应用实例。代理服务器(Cache)和应用服务器(Server)部署在同一网络环境中,用户主机地址为192.168.10.101,应用服务器地址为172.16.10.200,反向代理服务器地址为172.16.10.1,应用服务器对外访问地址为反向代理服务器地址172.16.10.1,用户直接访问代理服务器获取应用服务器提供的服务,而不需要配置任何代理服务。大致流程为,用户首先发送数据请求到外网的反向代理服务器,代理服务器检查代理缓存中是否保存了用户请求的数据,如果有则直接返回给用户,如果没有缓存请求的内容,则反向代理服务器将用户主机请求数据发送给应用服务器,同时接收应用服务器响应数据并反馈给用户主机,同时缓存用户请求相关内容。在执行反向代理功能时,代理服务器响应了大部分应用访问请求,大大减轻了应用服务器的负载压力。

图3-3 反向代理工作原理示意图

图3-4所示为反向代理部署示例,反向代理服务器部署与应用服务器部署在同一网络环境中,应用服务器借助反向代理对外提供服务,反向代理提供负载分担和安全隔离作用。

图3-4 反向代理部署示例

3.2.3 透明代理

透明代理(Transparent Proxy)方式下,用户的浏览器不需要配置代理服务器地址,但是用户的路由设备需要支持WCCP协议(Web Cache Control Protocol)。路由器配置了WCCP功能后,会把指定的用户流量转发给Cache,由Cache对用户提供服务。另一种方案是利用4层交换机将用户的流量转发给Cache,由Cache对用户提供服务。使用WCCP或4层交换都可以支持负载均衡,可以对多台Cache平均分配流量。这样可以扩展网络规模,支持大量的用户访问。用户不会感觉到任何Cache的存在。

透明代理可以看做是通过网络设备或协议实现的正向代理工作模式,因而具备很多与正向代理相同的特点,多用于企业网环境和运营商环境。Cache设备作为企业网的Internet网关出口提供代理服务、内容缓存、Internet访问控制、安全认证等功能。在透明代理模式下,Cache设备可以为企业网节省出口带宽,提高企业内部网络的安全性,防止员工滥用网络资源并在一定程度上防御病毒感染。图3-5演示了一个透明代理的工作原理。

图3-5 透明代理工作原理示意图

与正向代理部署方式类似,用户主机和代理服务器部署在同一网络环境中,用户主机地址为192.168.10.101,正向代理服务器的地址为192.168.10.1,目标应用服务器地址为172.16.10.200。用户访问目标服务器时不需要配置任何代理服务,直接将服务请求的目标地址设置为应用服务器IP地址,用户主机请求数据在发往目标主机前被透明代理截获,透明代理检查代理缓存中是否保存了用户请求数据,如果有则直接返回给用户,如果没有缓存请求内容,透明代理服务器则将用户主机请求数据发送到目标服务器,同时监听外网服务器响应用户请求数据,用户主机保持相关数据在缓存中以便后期服务网内相同的访问请求。由于透明代理可以截获用户访问数据,在提供缓存功能的同时也可以完成与正向代理相同的安全认证和访问控制功能。

图3-6所示为透明代理部署示例,透明代理服务器部署在企业内部网络环境中,与正向代理不同,内部用户在访问外部网络时不需要配置任何代理服务。

图3-6 透明代理部署示例

3.2.4 Web Cache产品实现关键要素分析

开发一款Web Cache设备需要考虑多方面的因素。

首先,Web Cache的技术本质是缓存,在面向用户一侧时扮演服务器的角色,在面向网站的源服务器时扮演客户端的角色。因为Web Cache的介入,原始的客户端直接访问源服务器的访问过程就变成了从客户端到Web Cache,再从Web Cache到源服务器的两个访问过程,所以原有的点到点的单次HTTP协议过程也变成了多次HTTP协议过程,因此Web Cache应具备HTTP协议所描述的基本功能。在3.3节将详细介绍关于HTTP协议的背景知识,描述协议中的关键消息和相关机制,特别是与缓存技术相关的机制。

其次,在实现最基本的HTTP协议能力和缓存工作方式的基础上,要根据应用场景和工作模式确定Web Cache应具备的功能,并明确应达到的性能指标。从前文可以看出,Web Cache设备在不同的应用场景和工作模式下对性能的要求不同,比如面向企业用户时,Web Cache主要工作在正向代理模式或者透明代理模式下,在根据企业内部用户数量来决定并发连接数量、并发流量大小、存储空间大小以及缓存的大小的同时,也要考虑Web Cache对数据的分析、过滤以及安全保障能力,包括CPU处理能力在内的处理性能指标显得尤其重要;如果是面向Web站点的Web Cache,为给大量互联网用户提供较好的加速服务,新增连接处理能力、并发连接处理能力、存储空间和缓存大小都是需要重点考虑的性能指标;与面向Web站点的Web Cache类似,面向运营商的Web Cache需要考虑包括新增处理能力、并发处理能力等在内的性能指标,但是对指标的要求将会更高,以达到运营商所要求的服务能力。在3.4节将重点介绍设计Web Cache设备时需要考虑的各项功能要求和性能指标,包括工作模式、内容更新机制、存储管理机制以及安全保障机制的描述。 9ITTQDh/7joyCGHVd8WXEHcn6NRXhYi0B70WoiqdCG66gdx7J1JU6DHXyZ2k0JgV

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开