图2-1 Web 缓存技术的基本原理
Web Caching技术是一种基于客户请求查询的技术,可以称作是一种“拉”的技术,它在技术上的实现主要有三个方面的好处:
节省网络带宽,降低了ISP的运营成本,减少了扩容压力。虽然配备Cache缓存服务器需要成本,但是其成本相对于扩容网络的成本要小很多。
减少了终端用户的响应时间,客户端的效率提高,也增加了用户对ISP的满意度。
网络客观性加强,缓存引擎提供了访问控制与监测策略,使管理员很容易对某些不友好的请求进行隔离;另外,缓存引擎还提供了全面的可操作的日志记录。
CDN内容分发网络
CDN工作原理
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。
CDN的工作原理[11]:当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。 其用户访问的基本流程如下:
用户在浏览器中输入要访问的网站的域名;浏览器向本地DNS请求对该域名的解析;
本地DNS将请求发到网站的主DNS,主DNS再将域名解析请求转发到重定向DNS;
重定向DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户;
用户向给定的CDN节点请求相应网站的内容;
CDN节点中的服务器负责响应用户的请求,提供所需的内容。
CDN框架结构
CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。而根据功能特性,一个典型CDN网络由内容缓存设备、内容交换机、内容路由器、CDN内容管理、内容分发系统五部分组成[11],如图2-2所示。各部分功能见表2-1。
图2-2 CDN网络组成结构图
表2-1 CND各部分功能表
内容缓存 位于 POP接入点或多点 IDC中,可缓存静态的Web内容和流媒体内容
内容交换机 在IDC中,可对内容缓存负载平衡及访问控制
内容路由器 在POP点或IDC中,负载为用户的请求选择最佳的访问站点
内容分发系统 内容缓存只可缓存静态内容而对于一些要求对其所有分布站点的内容作镜像的用户,我们需要一个内容镜像系统,这就是内容分发系统
CDN管理系统 由于CDN系统是提供给多个用户共享,所以需要一个中心管理系统作为 CDN的集中管理。
Web Caching与CDN系统比较
对于都是为了提高网络服务质量的两种技术——Web Caching技术和CDN内容分发网络技术,二者之间具有一定的联系,同时也存在不同之处,表2-2是对两种技术的比较:
表2-2 Web Caching与CDN技术比较
比较选项 Web Caching技术 CDN技术
设计目标 减小客户请求响应时间,节省网络带宽
实现手段 移动Web内容的位置
实现机制 客户端到服务器抓取 服务器向客户端推送
所处位置 网络边缘,分布在网络不同位置 网络中心和边缘相结合
系统特点 快速访问、健壮性好、透明性、可扩展性 可管理性、安全可靠性
技术手段 代理缓存、基于组播技术的缓存 高速缓存、镜像服务器
评价指标 客户访问时延、吞吐率、命中率 Web服务器负载、Web服务器负载均衡
性能特性 不理想(35%-50%Web内容不可缓存) 性能比较理想
服务对象 部分客户端 部分服务器
受益对象 所有Web服务器 所有客户端
CDN中通过位于网络不同节点处的Content Server缓存或复制源服务器的部分或全部内容,并由请求路由功能把不用的用户请求以透明的方式引导至不同的Content Server,这样相对于单纯的Web Caching技术更有效地达到减少网络数据流量、节约网络带宽、缩短用户访问时延等目的,从而提高了网络服务质量。
Web Caching技术可行性报告
作为早期解决网页浏览速度不理想的Web Caching技术与P2P内容缓存系统具有很多相似的地方,如都是终端用户首先提出请求,然后利用缓存机制将请求内容放到设置的缓存中,当下次用户请求时,直接到缓存中获取,这样就达到节省网络带宽的目的。但是Web Caching在P2P内容缓存系统中是否可行呢?
从透明性角度考虑,Web Caching对于客户端是透明的,这符合P2P内容缓存服务器的设计要求。
从实现机制考虑,Web Caching技术采用由客户端请求后,从服务器端抓取的办法,在这点上符合P2P内容缓存服务器的要求。
Web Caching获取的内容是网页内容,据统计用户在浏览网页时,会经常反复的访问某些网页,因此重复率很高,即使网页有内容更新,更新量相对来说不是很多,这时候,Web服务器只用返回更新的内容就可以了。而P2P内容缓存服务器获取的内容包括两个内容:种子和内容文件,其中内容文件中大多数都是娱乐视频资料,此时用户一般不会重复下载,同时这些内容文件不是放在某在固定的服务器上,而是放在某个peer对等节点上,节点的个数也不固定。
Web Caching所处的位置是在网络的边缘,可以靠近客户端,也可以接近服务器端,根据其所处的位置也有所不同。由于P2P应用的特点,每个peer节点既是客户端,也是服务器,所以P