资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
代理服务器阵列缓存协议 樊兆春 冯玉双 ( 北方交通大 学多 媒体通信实验室1 0 0 0 4 4 ) 摘要1随若” ,的普及,用户对I n t e r n e t 的响应速度提出了 越来 越高的要求, C a c h e ( 缓存) 技术在提高 I n t e r n e t 访问 速度与效率中扮演若越来越重 要的角 色 共享N e b C a c h e在实 际应用中叫 缓存代理服务器( P r o x y S e r v e r ) ,拥有一 组代理服务器( 共享C a c h e ) 显然要比只拥有一 个代理服务 器( 共享C a c h e ) 的 效果要 好得多 .而 对于 代理服务 器 阵列,就需要一个协调各P r o x y 有序高效工 作 的机制 协议) ,本文就旨 在介绍两种此类协 议:较通用的I C P 和较新的H a s h路由协议. 1 关健字1 C a c h e I C P H a s h 1 . C a c h e简介 C a c h e 是一种应用于I n t e r n e t 上 用以 从一个较近的地方获得一个所请求对象的c o p y 来 代 替连接远端W e b 服务器,以 减少访问 延迟的 机制,目 前存在两种, e b 缓存机制,即客户 本地缓 存和共享缓存。 两种机制在 实际中都应用甚 厂。 1 9 9 4年以前,多数浏览器尚未包含本地 C a c h e , 所以 用户每次访问一个页面的时 候, 都需 要一次到远端的 连接, 来给用户提供所需的对象口 有人戏称 “ W o r l d W i d e W e b ” 为 “ W o 这样自 然就存在着一种时间的浪费,以 致于 件开始把本地硬盘的一部分作为 硬盘上要好. 如图, 当浏览器I 访问P a g e A 时, P a g e A 就会暂存于 本地C a c h e 里,当浏览器 I 离开P a g e A去 访 问P a g e B 之 后再次访lu7 P a g e A 时,只要 “ B a c k ”就可以了,而 不需要再一次连接。 r l d W i d e W a i t “ 。为改变这种重 复连接的状况, 浏览器软 C a c h e来存储对象 ( 例如页面等), 这种效果要比 直接存储在 it9!S fa z( “.ilCache) MMV 3 OFIR“clk Cache)I P rox y 图 1 ) - 一 一- ffi尹o x y - # a c h e 侧提 孩许多 用户 所共享的,P r o x y 服务器 对每个 对象只 进行一次请求, 就可以 将该 对象的一个C o p y 留在C a c h e 当 中,以 便为将来对该对象的再 访问 作出 迅速的反应。例如浏 览器 1 访 问P a g e A 以 后, 就会自 动留一个P a g e 次访问。 P a g e八P e g e a P e g e C P a g e a 介口 s . - A 的c o p y 在P r o x y 的C a c h e 中, 以 备 浏 览器2 或1 的 再 P r o x y C a c h e 在 网 络 中 的 位 置 如 图2 所 示, 两个网络接口: 一个网卡 连内 部网, 在P r o x y S e r v e r ( C a c h e ) 阵列 中 每 个 成员 均 配 置 另 一个接外部网 ( I n t e r n e t ), 每台 服务器中的 S A T表 都 包含整个网 络的1 Y 地址, 但不能包括 外部.p 终接n 的T P 地b f e 中心需一个 R A S服务器 来处理分支代理服务器 ( R A S客户) 的拨入 请求, 列中的一台机器上。 可把它装在服务器 阵 p r o x y s e ver 阵列 W e b ( 图 2) 所有的I n t e r n e t 请求都由 P r o x y S e r v e r阵 列处理, 对于W e b 客户的 访问 请求先在 P r o x y 阵列内 部相互转发,如果某一P r o x y S e r v e r 的C a c h e 中 恰好有所请求的内 容, 则处 理该请求, 将所请求内容返回给客 户;否则连接原始远端服务器, 获得客户所请求的内容。若设置成主动 C a c h e ,还可以自 动更新某些经常访问的内容。 目 前市 场上 的P r o x y S e r v e r 有M i c r o s o f t P r o x y S e r v e r , N e t s c a p e P r o x y S e r v e r , W i n G a t e 2 . 0 P r o , W i n P r o x y 1 . 1 等。 W e b P r o x y S e r v e r 对W e b 导 航 , 检 查 己 被 缓 存 起 来 的W e b 页面 , 若 页面己被 修改, P r o x y S e r v e r 在本 机驱动器上重新存储该页面的新版本。 P r o x y S e r v e r 还可以 根据一定的 规则白 动访问页面中的连接,以下载相关页 面, 这样,当 用户需要 重新访问那些常 用资源时, 可以 直接在 P r o x y S e r v e r上获得, 而没有必要上 I n t e r n e t ,从而,大大提高了 响 应速度。 当 然, 就P r o x y C a c h e 来 说, 拥有一 组共享的C a c h e 要比只拥有一个C a c h e 的效果要好得 多。 而对于一组共享的 C a c h e ,为使其中所缓存的页面对象被 L A N内所有浏览器客户所共享, 就需要一种协调各个 C a c h e , 使其高效有序-I . 作的 机制。所以 本文将着重介绍两种 共享 C a c h e 的协议:I C P 和H a s h路由协议。 2 . 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 ) I C P是基于P i n g C a c h e 来试图定位一个对象。I C P是应 用层的协议, 运行于T C P / I P 之上。一 个 I C P 信息 包括2 0 个字节的头和可变长 度的负载。负载通常包括该对象的 U R L , 炼个W e b 客户 被配置 连接在指定的 共享C a c h e 上( 通常是通过在客户端配置浏览器, 所以 在这种情况下, P r o x y S e r v e r 将是一个特定的共享C a c h e 。 该客户所有的h t t p 请求都将直接传给这个 P r o x y S e r v e r 去处理)当P r o x y C a c h e 接收到一个 W e b 客户的 请求时, 首先看看自 己 是否可以响 应该请求, 如果所请求的对象不在本C a c h e 中, 它就会询 问所有的其他共享C a c h e 。 这是通过向 其他的C a c h e 发送一个q u e r y 信息来实 现的。而q u e r y 信息以并 行方 式传给其他的 共享C a c h e 。 收到该q u e r y 信息的每个共享C a c h e 都将从 I C P 信息中提取出 对象的U R L ,并检查该对象是否在本C a c h e 中, 如果找到. 该共享C a c h e 将返回一个h i t 信息给发出询问的C a c h e ; 如果请求的对象不在本C a c h e 中,则共享C a c h e 将返回一个 m i s s 信息。q u e r y , h i t , m i s s 信息 都是 I C P 应用层协 议的组成 部分 ( 如图3 ). 如果发出请求的C a c h e 收到一个来自 共享C a c h e 的h i t 信息, 它将立即发 送一个h t t o 请求 给第一个返回h i t 信息的共享 C a c h e : 如果没有一个 共享的C a c h e 询问的C a c h e 将一直等到所有的m i s s 信息收到为 止 中包含所请求的对象,发出 ( 也可预先设置最大超时), 这时发出 询问 任 42 ) h t t o W e b P r o x y S e r v e r 阵N (图 3 ) , k I rA 忍.留 份 - p r ”信患 2卜 第 二乡 的 常一 种 情况 的 C a c h e将通过 I n t e r n e t 连接从该对象所在的远程服务器上获取对象。 一 口 _ 发出询 问的C a c h e 从一个共享的C a c h e 或远程W e b 服务器获得一 个对象,将首先将该 对象的c o p y 留在 本C a c h 。 中,然后再将该对象传送给清求的W e b 客户。 I C P 的 特性是, 对犷 一 个特定的对象,也许有不止一 个c 叩y 存在于各个共享的C a c h e 中。 这种重复的原因是因为一 个 C a c h e 也许要从另一个共享C a c h 。 中获得一个 对象的c o p y 来满足客 户的 诸求。 这种 特性造成了 镜像效应, 因此对象 ( 特别是热点对象) 将趋向于 在每 个共享C a c h e 中重复出现。不幸的结果是 只有一部分共享的存储空间保存着唯一的对象,余下的存储空间被 同一 个对象的多 个 c o p y 所白自浪费掉了; 好的结果是当其中一个共享 C a c h e出现故障时,它所 缓存的多数对象还可以在其他的共享 C a c h e中找到。 随着共享C a c h e 越来越趋向于 镜像化, 从一 个共享C a c h e 收到一个h i t 信息的概率将趋子 0. - -一 另外., 4G P . 产生了 额外的网络负 载 载在I C P 机制中 是很普 遍的。 3 H a s h 路由协议 ( H R ) H R方突一种基于H a s h的解决方案 技术是在共享C a c h e 中分配U R L 空间, 简单 的H R 方案1 作 如卜( 如图9 ) ( I C P 信息), 它必须要由C a c h e 来处理, 这种 额外的负 空间H , H a s h 空间可能是一 个集合 在于 所有的客户机上。H a s h 空间H 将一个对象映射到唯一 的共享C a c h e 中。 H a s h 在 共享C a c h e 之上建立一个单 独的逻辑上的C a c h e . 。令h ( ) 为一个H a s h 函数, 它将U R L映 射到一个H a s h 对象时,客户机计算 h 加) ( u ( 例如,一个3 2 位 进制数的集合),同一 个 h ( . ) 函 数存 被分 成 N 个子 集, N 是共享C a c h e 的个数。当 客户 请求某个 是对象的U R L ) , H a s h A数 值 h ( u ) 必将属于f la s h 空间N 个子 集中 的一个,如 果 h ( u ) 属于 第k ( 1 = k - N ) 个子集,客户机就发送一个h t t p 请求信息 给第k 个共享 C a c h e ,共享C a c h e 将检卉本C a c h e 石足否可以 找到该对象, tT拢到,就以 h t t p 的响应信息 给客户返问对象, 若不存 在, 共享C a c h e 将发送一个h t t p 请求信息给远程W e b 服务器。当 共享 C a c h e 从远程W e b 服务器获得一个 对象时,它就会先在本C a c h e 将对象以h t t p 响应信息的形 式返回给客户。 中保留一 份该 对象的 C 叩, ,再 W e b C l i W i t h H R方案的一个重要的特征是在一组共享 C a c h e中
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号