组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:ouyang@china-pub.com 译者:郝国生(booking gs_hao@263.net) 译文发布时间:2001-8-14 版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须 保留本文档的翻译及版权信息。 Network Working Group I. Cooper Request for Comments: 3040 Equinix, Inc. Category: Informational I. Melve UNINETT G. Tomlinson CacheFlow Inc. January 2001 Internet网复制和分类法 (RFC3040——Internet Web Replication and Caching Taxonomy) 备忘录状态 该备忘录专为Internet 组织提供信息。它不指定任何类型的Internet 标准。本备忘录的发行 不受任何限制。 版权声明 Copyright (C) The Internet Society (2001). All Rights Reserved. 摘要 本备忘录指定了标准术语和网络复制的分类法,以及正如当今所配置的存储基础结构。 该备忘录阐述了各标准概念,和当今在这一应用领域中使用的各协议。当前提出的配置解决 方案是利用这些技术建立一种标准的分类法。众所周知的存储代理问题存在于题为"Known HTTP Proxy/Caching Problems"的文献中,且不是本文献要讲述的部分。该文献介绍了各公 开的协议和对于每一份协议所公布材料的观点。 目录 1. 介绍 4 2. 术语学 5 2.1 基础术语 5 2.2 一级派生术语 6 2.3 二级派生术语 7 2.4 可拓扑的术语 7 2.5 代理服务器的自动应用 7 3. 分布式系统的关系 8 3.1复制关系 8 3.1.1复制品的客户 8 3.1.2相互复制 9 3.2代理关系 9 3.2.1非拦截代理的客户服务器 9 3.2.2源服务器的代理客户 10 3.2.3间接代理 10 3.2.3.1(高速缓存)代理网眼 10 3.2.3.2(高速缓存)代理队列 11 3.2.4高速缓存的网络要素 12 4.复制品的选择 12 4.1导航超级链接 12 4.2复制品的HTTP重定向 13 4.3域名服务的重定向 13 5.内部复制通信 14 5.1批量驱动的复制 14 5.2要求驱动复制 14 5.3同步复制 15 6.用户代理的带代理服务器配置 15 6.1手工操作代理配置 15 6.2代理自动配置(PAC) 16 6.3缓存阵列路线协议(CARP)1.0版 16 6.4网页代理自动发现协议(WPAD) 17 7. inter-proxy 通信 18 7.1 宽带耦合inter-proxy通信 18 7.1.1网络高速缓冲协议(ICP) 18 7.1.2超文本缓冲协议 18 7.1.3 Cache Digest 19 7.1.4 Cache Pre-filling 19 7.2紧耦合Inter-Cache 通信 20 7.2.1 Cache Array Routing Protocol (CARP)v1.0 参看6.3部分 20 8.网络元件通信 20 8.1 常用网络高速缓冲控制协议(WCCP)参考资料: 20 8.2网络元件控制协议(NECP) 21 8.3 SOCKS 21 9.安全性考虑 21 9.1鉴定 22 9.1.1 中介攻击 22 9.1.2值得信赖的第三方代理 22 9.2保密性 22 9.2.1信任第三方的服务 22 9.2.2登陆和合法的含义 22 9.3服务器的安全性 23 9.3.1服务器拒绝 23 9.3.2重新实施攻击 23 9.3.3乏味的代理配置 23 9.3.4版权暂用拷贝 23 9.3.5应用级存取 23 10.鸣谢 23 作者地址 26 1. 介绍 自从本备忘录的介绍在1990年公开以来,万维网已经从一个简单的客户服务器模型发 展成一个复杂的分布式体系结构。以指数级增长的缩放比例问题在很大程度上推动了这一发 展。为满足特殊的需求已经出现了独特的范例和解决方案。同时,为满足这一增长要求而正 在使用的两个核心基础结构元件是复制和高速缓存。在许多情况下,有一种对网络高速缓存 器和复制服务能够共存的需要。 本备忘录详细说明了标准术语和网络复制的分类方法,以及当今配置于国际互联网中的 高速缓存基础结构。该文献的主要目标是要建立一种对这一应用领域的共同理解和参考点。 也期望该文献将来可以用于创建高效的、可靠的和可预测的服务的标准建筑框架,在这种网 络服务中既包括复制品又包括高速缓存器。 本备忘录所提及的一些协议仅被列入公司技术论文或工作进展文献清单中。这些参考用 来证明这些协议的存在,论证当今在国际互联网中他们的实验配置,或者帮助读者加深对这 一技术领域的理解。 当今有许多公开的和私有的协议被应用于网络复制和高速缓存。大多数公开的协议包括 DNS [8], Cache Digests [21][10], CARP [14], HTTP [1], ICP[2], PAC [12], SOCKS [7], WPAD [13], and WCCP [18][19].接下来讨论这些协议以及他们在高速缓存和复制环境中的使用。 2. 术语学 接下来的术语学为在网络复制和高速缓存体中应用的通用术语提供了定义。基础术语可 能来自于HTTP/1.1的说明[1],在此用作参考。一级和二级派生术语由基础术语构造出,以 帮助定义存在于这一领域中的关系。 具有共同使用方法的术语,以及在RFC 2616和本文献中定义相反的术语是比较突出的。 2.1 基础术语 这些术语中的大多数被认为来自于RFC 2616 [1]中,在此用作参考。 客户机程序(来自于[1]) 一种为了传送请求而建立连接的程序。 代理服务器程序(来自于[1]) 一种为满足服务请求而通过返回响应接受连接的应用程序。 任何给出的程序可以既是一个客户机程序又是一个服务器程序,这些术语的使用仅仅涉 及到为了一种特殊的连接而被程序执行的任务,通常涉及不到程序的实际能力。同样,任何 一个服务器程序都可以作为起始服务器程序、代理服务器程序、网关或通道,及基于每一个 请求本质的转换行为。 代理程序(来自于[1]) 一种为满足代表其他用户提出请求的目的,而既可作为服务器程序又可作为客户机程序 的中间程序。请求可在内部进行处理,或在可能的转化下把请求传送到其它的服务器。代理 服务器必须执行规约的客户机程序和服务器程序。"透明服务器"是一种不更改请求或响应代 理服务器,这些请求或响应需要服务器在另一端进行鉴定和辨认。"非透明服务器"是一种更 改请求或响应代理服务器,以便提供给用户代理商一些额外的服务,例如一些批注释服务、 媒体类型转换、协议缩减或者是匿名筛选。除了在代理服务器中或者透明或者非透明服务器 被准确规定之外,HTTP代理服务器程序要求适用于两种类型的代理服务器。 注意:术语"透明服务器程序"是指像在[1]中所描述的一种语义上清晰的代理服务器程序, 不是在高速缓存体中通常理解的那样。建议术语"透明服务器程序"始终放在前边以避免混肴 (如"网络透明服务器程序")。不管怎样,看下面的"中断服务器程序"定义。 以上所述服务器程序和客户机程序执行HTTP/1.1请求的条件仅适合于非网络透明服务器程 序。 高速缓存(来自于[1]) 是指程序响应信息的局部存储以及控制其存储、恢复和删除的子系统。在相同的请求下, 高速缓存器存储可缓存的程序响应以减少响应时间和将来网络带宽的消耗量。尽管高速缓存 器不能被正用作通道的服务器所使用,但是任何一个客户机程序或服务器程序都可以包括一 个高速缓存器。 注意:术语"高速缓存"被单独使用时通常是指"高速缓存代理服务器程序"。 注意:使用高速缓存有其它的目的,例如,减少服务器程序的负载(作为将来减少响应时间 的手段)。 可缓存的(来自于[1]) 如果高速缓存器允许存储用于响应并发请求的消息响应,则响应是可缓存的。用来确定 HTTP响应缓存性能的标准在第13部分中定义。尽管资源是可缓存的,也可能有额外的约 束,即高速缓存器是否能够使用为特殊请求而缓存的副本。 网关(来自于[1]) 是一种作为其它服务器中间媒介的网间连接器。和代理服务器不同,网关接受请求就如 同它是被请求资源的起始服务器,而提出请求的客户机可能不知道它正和网关进行通讯。 通道(来自于[1]) 一种用来在两条线路之间随意传输的中间程序。一旦发挥作用,通道便不再看作HTTP 通讯的一部分,尽管通道可能已经被一个HTTP请求所触发。当传输线路两端都关闭时,通 道便不再存在。 复制 "在另一个不同计算机上创建和保存数据库或文件系统一个完全相同的副本,是服务器 一个典型的应用。" - Free Online Dictionary of Computing (FOLDOC) 入站/出站(来自于[1]) 入站和出站是指信息请求和响应路径:"入站"是"将请求和响应传向起始服务器",而"出 站"是"将请求和响应传向用户代理服务器"。 网络元件 一种在原文件和目标文件之间引入多路径的网络装置,对HTTP是透明的。 2.2 一级派生术语 下列术语是根据以上所述基础术语进行构造的。 起始服务器(来自于[1]) 在该服务器上已经存有给出的或将要创造出资源。 用户代理服务器(来自于[1]) 是指提出请求的客户机。通常拥有浏览器、编辑器、蜘蛛(网络传输遥控设备)或者其 它的终端用户设备。 高速缓存代理服务器 一个带有高速缓存器的代理服务器,用作客户机的服务器,也是起始服务器的一个客户。 高速缓存代理服务器常被称作"代理服务器高速缓存"或者简单地称为"高速缓存"。当提到高 速缓存代理服务器时,常会误用"代理服务器程序"这一术语。 代理服务器 和起始服务器协同定位的网关,或是位于网络中的不同点处被赋予操作的职权,典型地 与一个或多个起始服务器密切协同工作。响应从内在的高速缓存器被典型地传送。 代理服务器可以驱动来自起始服务器或来自另一个起始服务器的代理服务器的高速缓存器 端口。在某些情况下,代理服务器可以传送这些请求。 代理服务器和起始服务器之间的密切协作,可以对协议的一些要求进行修改,其中包括在[1] 中的高速缓存控制指令。这些修改仍然要被充分地说明。 通常被称作"反向服务器"和"(起始)服务器加速器"的设备应被更适当地定义为代理服务器。 反向服务器 参见"代理服务器" 服务器加速器 参见"代理服务器" 2.3 二级派生术语 以下术语进一步建立在一级派生术语的基础上。 主起始服务器 是指拥有资源最终版本的起始服务器。 备份起始服务器 是指拥有资源副本的起始服务器,但这一资源可用作客户请求的权威参考。 满足消费者 通过用户代理服务器的使用,用户或系统发出进站请求。 浏览器 为使消费者满意而用作浏览装置的一种用户代理服务器的特殊设备。 2.4 可拓扑的术语 下列定义进一步描述高速缓存装置的拓扑。 用户代理程序高速缓存 在用户代理程序中的高速缓存。 局域高速缓存代理服务器 和用户代理服务器相连的高速缓存代理服务器。 中间高速缓存代理服务器 从容量消费者的观点看来,是指所有参加高速缓存网的高速缓存器,这些高速缓存器不 是用户代理的局域高速缓存代理服务器。 高速缓存服务器 是由局域和中间高速缓存代理服务器提出请求的服务器,而它本身不作为代理服务器。 高速缓存阵列 是指一系列的高速缓存代理服务器,逻辑上当作一种服务,以及划分穿过阵列的资源名 空间。高速缓存阵列也称作"扩散阵列"或"高速缓存器群"。 高速缓存网 一套松散连接的协作代理高速缓存服务器,或服务器组,各服务器独立工作但通过内部 高速缓存通信协议共享缓存容量。 2.5 代理服务器的自动应用 网络管理员可能希望通过代理人推动或促进代理服务器的应用,使在网络内部的这种配 置本身或用户代理服务器的自动化系统成为可能,这样能使消费者满意,且没有必要知道任何 配置上的问题。 下面给出描述这些配置的术语。 自动用户代理服务器配置 是指发现一个或多个代理服务器有效性的技术以及用户代理使用它们的自动配置。代理 服务器的使用显然是为了满足用户的需求而不是为了满足用户代理。术语"自动代理服务器 配置"也是在这种意义下使用的。 通行拦截 是指利用网络元件检查网络通讯量以决定其是否需要改变方向的过程。 通行变向 从网络元件执行通行拦截到代理服务器客户机请求的变向。可用来配置(高速缓存)代 理服务器而不需要手动重新配置个别的用户代理服务器,或者加强不会另外出现的代理服务 器的使用。 拦截代理(a.k.a."明显的代理","明显的缓存") "明显的代理"这个术语已经被用在了为描述用零配置在用户代理的范围内被使用的代 理的高速缓存群里了。这样的使用对用户代理来说是明显的。由于对[ 1 ](参照以上对"代 理"的定义)的解释的差异,并且,对"明显"这个词的使用存在缺陷,我们解释这个词"拦截 代理"是用来描述从实行通信拦截的网络要素收到改变方向的通信流的代理服务器。拦截代 理服务器通过改道通信进程接收内部的通信流。(这种代理服务器由网络管理员配置,用来 推动代理提供的适当的服务的使用,或者是满足由代理提供的适当的服务的需求。与拦截代 理的配置有关联的问题描述在"知名的http代理/缓存问题"一文中[ 23 ]。 3. 分布式系统的关系 这一章鉴别出了存在于一个分布式的复制与缓存的环境里的各种关系。现在正在定义 着这些关系,较新的章节描述了在每层关系中被使用的通信协议。 3.1复制关系 下面的一章描述了客户和复制品之间的关系以及复制品之间的关系。 3.1.1复制品的客户 客户可以和一个以上的复制的服务器通信,就象是和主服务器通信一样。(在没有复制 的服务器的情况下,与源服务器直接相互作用就是很平常的事了。) ---------------------- --------------------- ---------------------- | 复制源 | | 主机 | | 复制源 | | 服务器 | | 服务器 | | 服务器 | ---------------------- --------------------- ---------------------- \ | / \ | / ----------------------------------------------------------- | 客户通过 ---------------------- 复制源服务器 | 客户 | ---------------------- 用来使客户可以使用复制品之一的协议可以在第4章中找到。 3.1.2相互复制 这是一种主服务器和复制的服务器之间的关系,用来复制由客户端存取的在3.1.1节中 提到的关系中的数据组。 ------------------ ----------------- ------------------ | 复制源 |-----| 主机 |-----| 复制源 | | 服务器 | | 服务器 | | 服务器 | ------------------ ----------------- ------------------ 用于这种关系的协议可以在第5章中找到。 3.2代理关系 在高速缓存服务器和缓冲服务器之间通信,以及与用户代理的通信有许多不同的方法。 3.2.1非拦截代理的客户服务器 客户可以为了某一些或全部的请求和零个或更多的代理进行通信。在没有使用代理的 通信结果的结果的地方,这种关系是客户和源服务器之间的关系(参见3.1.1看)。 ----------------- ----------------- ----------------- | 本地 | | 本地 | | 本地 | | 代理 | | 代理 | | 代理 | ----------------- ----------------- ----------------- \ | / \ | / ----------------------------------------- | ----------------- | 客户 | ----------------- 另外,用户代理可以与补充性的服务器相互作用。代表代理的操作是为了用户代理的代理配 置的自动化。在这些关系中被使用的配置和协议能在第6章中找到。 3.2.2源服务器的代理客户 客户可以为了某一个或几个源服务器已计划好的请求和零个或更多的代理服务器进行 通信。 在代理不被使用的地方,客户服务器和起源服务器直接通信。在代理人被使用的地方,客户 服务器的通信就象与源服务器直接通信一样。代理执行来自内部缓存的请求,或者是作为源 服务器的大门或通道。 -------------- -------------- -------------- | 源 | | 源 | | 源 | | 服务器 | | 服务器 | | 服务器 | -------------- -------------- -------------- \ | / \ | / ----------------- | 代理 | | 服务器 | ----------------- | | ------------ | 客户 | ------------ 3.2.3间接代理 间接代理关系作为网眼(松松地结合)和群体(紧紧地结合)而存在。 3.2.3.1(高速缓存)代理网眼 在松散的相连结的(高速缓存)代理服务器的网眼中,通信能和同等级别的服务器之 间以及父系服务器之间进行。 --------------------- --------------------- -----------| 中间 | | 中间 | | | 高速缓存代理(D) | |高速缓存代理(E) | |(同级) --------------------- --------------------- -------------- | (父系) / (父系) | 缓存 | | ------/ | 服务器 (C) | | / -------------- | / (同级) | ----------------- --------------------- -------------| 本地缓存 |------- | 中间 | | 代理 (A) | (同级)| 高速缓存代理 (B) | ----------------- --------------------- | | ---------- | 客户 | ---------- 插图目的仅仅是说明客户包括在其中。 内部请求可以被发送到大量的基于决定父级服务器是否更适合解决那些请求的中间(高速缓 存)代理服务器之一的服务器中。 例如,在上述的插图中,缓冲服务器C和中间高速缓存代理服务器B与本地的高速缓存代 理服务器A是同级的,A只能被使用当A的资源请求在B或C中存在的时候。 中间高速缓存代理服务器D和E是A的父级服务器,而且它们是A用来解决特殊的请求的 选择。A和B之间的关系仅仅是在有高速缓存的环境中才是有意义的,然而A和D的关系 以及A和E的关系也是适当的,在D或E是非缓存代理服务器的领域。 在这些关系中被使用的协议能在第7.1节中找到。 3.2.3.2(高速缓存)代理队列 在用户代理可以与代理服务器有关系的地方,它可以代替用成队的代理把关系排列在 紧紧地结合的网眼里,这是有可能的。 ---------------------- ---------------------- | --------------------- | | | (高速缓存) 代理 | |----- | 阵列 |----- ^ ^ --------------------- ^ ^ | | ^ ^ | |--- | | |----- | -------------------------- 在这种关系中被使用的协议议能在第7.2节中找到。 3.2.4高速缓存的网络要素 一个网络要素在实行通信截取时可能选择把来自客户的给特定的代理服务器的要求在 队列的范围内改变方向。 (它们也许不选择改变通信方向的方法。在这种情况下客户与(复制)源服务器的关系参照 第3.1.1节)。 ----------------- ----------------- ----------------- | 高速缓存代理 | |高速缓存代理| |高速缓存代理| | 阵列 | | 阵列 | | 阵列 | ----------------- ----------------- ----------------- \ | / ----------------------------------------- | -------------- | 网络 | | 要素 | -------------- | /// | ------------ | 客户 | ------------ 拦截代理可能会直接把数据流排成一队,拦截着的网络要素和拦截代理服务器来自同一硬件 系统,或者是脱离路径。它要求截取的网络要素把通信给另一个网络段改变方向。 在这后者例子,通信协议能使截取的网络要素停下来,开始把通信改变方向,当拦截代理变 得有用的时候。 这些协议的细节能在第8节中找到。 4.复制品的选择 这一章描述了用于在客户服务器和复制源网络服务器之间协作和交流的配置和协议。 理想的状况是为客户服务器发现一个用于通信的最优的复制源服务器。 最优化是一种基于决策的策略,常常在接近的基础上,但是也可能基于其他标准就象负载。 4.1导航超级链接 最好的知名的参考资料: 本备忘录。 描述: 最简单的客户对复制品通信的机构。 这种超级链接的域名的应用被植入网页中指向某一特定复制源服务器。 这满足了用户手工选择他们想用的复制源服务器的链接。 安全: 依赖于与适当的域名配置有关联的安全协议上。 配置: 这也许最普通地配置了客户与复制品的通信的机构。就如同普遍存在的人类的协同工作的能 力一样。 提交: 文档编辑。 4.2复制品的HTTP重定向 最好的知名参考资料: 本备忘录。 描述: 最简单最普通的连接客户与复制源服务器的机构就是运用HTTP重定向。 客户服务器被重定向到一个最佳的复制源服务器经由HTTP[ 1 ]协议的响应代码,例如, 302"找到",或307"临时重定向"。 客户可以建立与一个复制源服务器的HTTP通信。 这样,最初联系的复制源服务器就能既选择接受服务又可以重定向客户的请求。 关于HTTP响应代码的信息请参照第10.3节中的HTTP/1.1[1]部分。 安全: 完全依赖于HTTP安全协议。 配置: 遵循大多数大网站的配置。 它在因特网里的使用范围还未知。 提交: 文档编辑。 4.3域名服务的重定向 最好的知名的参考资料: * RFC 1794 DNS Support for Load Balancing Proximity [8] * 本备忘录 描述: 域名服务(DNS)给客户与复制通信机构提供更完善的服务。 以下这些都是由DNS来完成的 分类解决的IP地址服务器服务质量基于服务政策的质量。 当客户要处理一个源服务器的域名时,加强的域名服务器把可用到的复制源服务器的IP地 址分类,从最好的复制品到最差的复制品。 安全: 完全依赖于DNS安全协议,其它协议也被用来决定排序的顺序。 配置: 遵循大多数大型网站和ISP网络主服务器的配置。 在因特网中的使用的范围未知,但是确认正在增加。 提交: 文档编辑。 5.内部复制通信 这一章描述了主服务器和复制品服务器之间的协作和通信。 用于在源服务器之间进行数据组的复制。 5.1批量驱动的复制 最好的知名参考资料: 本备忘记录。 描述: 对复制源服务器进行更新以便于开始与主服务器进行通信。 通信每隔一段时间就建立一次在处理队列的基础上,这些处理队列为了延期的进程而预定。 时序安排机制的政策是多样化的,但是一般的重复发生要在指定的时间内。 一旦通信被建立,数据集被复制到初始化的复制源服务器上。 安全: 安全问题依赖于传输数据集的协议。 FTP [ 4 ]和RDIST是最通用的需要遵循的协议。 配置: 在因特网中镜像站点的同步化是非常普通的。 提交: 文档编辑。 5.2要求驱动复制 最好的知名参考资料: 本备忘录。 描述: 复制源服务器获得所需要的内容应归于客户的的要求。 当客户要求的资源不在复制源服务器上或代理服务器上时,于是就尝试从主服务器上获得这 些资源,再返回到发出请求的客户端,以解决这个问题。 安全: 安全问题依靠适用于传输资料的有关的协议。 FTP [ 4 ],Gopher[ 5 ],http [ 1 ]和ICP [ 2 ]是最常用的应遵循的协议。 配置: 参照几个大网站的配置。 在因特网中的使用范围未知。 提交: 文档编辑。 5.3同步复制 最好的知名参考资料: 本备忘录。 描述: 被复制的源服务器之间的协作使用同步策略,专门用复制协议以保持复制数据集的连贯性。 同步化战略从紧密的连贯性(两三分钟)到疏松的连贯性(两三个小时或更多)都会涉及到。 更新的产生在复制源服务器之间进行,基于粘合性模型展开的同步化时间约束,并且一般地 只使用三角形式。 安全: 全部知名的协议都是运用严密的密钥的交换方法,它既基于Kerberos的共享秘密的模式又 基于公共/私人的密钥的美国RSA实验室模式。 配置: 参照几个网站,特别是大学校内站点。 提交: 文档编辑。 注: 编辑应至少知道两个开放的资源协议-AFS和CODA-就象诺威尔(网络)的所有权协议一样。 6.用户代理的带代理服务器配置 这一章描述了配置、协作和用户代理和代理服务器之间的通信。 6.1手工操作代理配置 最好的知名参考资料: 本备忘录。 描述: 每个用户都必须通过提供适合于代理协议和本地政策的信息来配置他的用户代理。 安全: 潜在的出错率比较高; 每个用户都要单独设置自己的参数。 展开: 大范围地展开,使用在当前全部的浏览器中。 大部分的浏览器也支撑附加的选项。 提交: 文档编辑。 6.2代理自动配置(PAC) 最好的知名参考资料: "网景代理服务器的自动配置文件格式"[ 12 ]描述: 一种Java描述语言手稿从一个网页服务器上执行,为每一个URL访问去选择合适的代理服 务器用来存取资源。 用户代理必须做好配置以便于请求这种程序启动。 这儿没有引导程序,手工配置是必需的。 尽管是手工操作,这种代理服务器的配置还是被集中在一起而简化了,通过在单一情形下的 一个程序。 安全: 在每一个组织里使用通用政策是可能的,但是还是需要进行手工配置的初始化。 PAC比"手工代理服务器配置"好 因为PAC管理员可以更新代理的配置不受未来用户的干涉。 由于PAC文件的互用性不高,不同的浏览器在解释同一程序时会有轻微的不同,这可能导 致产生我们不想看到的影响。 展开: 在网景和微软公司Internet Explorer中实现。 提交: 文档编辑。 6.3缓存阵列路线协议(CARP)1.0版 最好的知名参考资料: * "缓存阵列路线协议"[ 14 ](在进行中工作) * "缓存阵列路线协议(CARP)1.0版说明书"[ 15 ] * "缓存阵列路线协议和微软公司代理服务器2.0版"[ 16 ] 描述: 用户代理商可以直接使用CARP,作为复述功能基于代理服务器的选择机制。 他们需要用群体信息的位置进行配置。 安全: 在进行中工作的安全考虑没有在说明书中被掩盖。 展开: 在微软公司代理服务器-Squid中实现。 在经过PAC程序的用户代理中实现。 提交: 文档编辑。 6.4网页代理自动发现协议(WPAD) 最好的知名参考资料: "网页代理自动发现协议"[13](工作在进行中) 描述: WPAD使用预先存在的因特网资源发现机制来执行网页自动发现代理。 WPAD的唯一的目的是定位PAC URL [ 12 ]的地点。 WPAD不指定哪个代理将被使用。 WPAD提供PAC URL和PAC程序,然后根据以上的定义运作去为每一个资源请求选择代 理服务器。 WPAD协议的详细说明如下: * 怎样为了指定的网页自动发现代理的目的使用每一个机制 * 机制应该被实行的顺序 * 由一个WPAD的合适的用户代理所必须尝试的最低限度的机制设置 WPAD利用的资源发现机制如下面所示: * 动态的主机配置协议DHCP * 服务定位协议SLP * "众所周知的别名"正在使用DNS A记录 * DNS SRV记录 * "服务:URL" 在DNS的TXT记录中 安全: 依赖有关DNS和HTTP安全协议。 展开: 在一些用户代理和高速缓存代理服务器中实现。 可以两个以上独立的执行。 提交: 乔希科恩 7. inter-proxy 通信 7.1 宽带耦合inter-proxy通信 这部分描述了高速缓冲服务器之间的协作和通信。 7.1.1网络高速缓冲协议(ICP) 常用参考资料:网络高速缓冲协议(ICP) 2[2]版 描述: ICP协同UDP使用。因为UDP(用户数据报协议)是一个为修正的网络传输协议,可以通 过ICP协议计算的缺少量来估算网络的密集度和可利用度。由此初步估算得出的数值,和 环游次数,可以为高速缓冲服务器提供装载平衡的方法。 安全性: 参考 RFC 2187〈http://www.faqs.org/rfc2187.html>[3] ICP并不能传送与HTTP头文件有关的资源的信息。HTTP包括控制路径和定向缓存。由于 服务器要求信息的可靠性,所以在访问后用HTTP使之复原;在进行复原时可能发生错误操 作(例如:目标文件存在缓存,却不能存入到子目录中)。ICP可以经受住所有UDP安全范 围内的问题。 展开: 广泛展开。多数现行的高速缓冲服务器都以一定形式实现对ICP 的支持。 提交:文档编者。 同时参看:"internet cache protocol extension"[17] (作业进度) 7.1.2超文本缓冲协议 常用参考资料:RFC 2756 超文本缓冲协议(htcp/0.0)[9] 描述: HTCP是为搜索HTTP高速缓冲服务器和缓存数据的协议,它管理一组HTTP高速缓冲服务 器并控制缓存活动。与ICP v2不同,HTCP请求包含HTTP头文件的资料,使HTCP回复 更精确的描述行为,这将作为随后的HTTP请求的相同的资源。 安全性: 有选择地使用,与HMAC-MD5 [11]共享的密码证明。如果不使用密码鉴定,协议易受到攻 击。 展开:HTCP在网络网关侦听和Squid中实现 提交:编者。 7.1.3 Cache Digest 常用参考资料: * "Cache Digest Specification - version 5" [21] * "Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol" [10] (参看注释) 描述: CACHE DIGESTS 是前面的INTER-CACHE通行技术拥挤和潜在问题的一个反映。例如: 网络缓冲协议(ICP)[2]和超文本缓冲协议[9]。不像那些协议,CACHE DIGESTS支持位于 缓存代理和缓存服务器同等地位的设备为每个入站请求发生请求-响应交换。位于缓存的目 录总汇被与之同等地位的其他系统所替代。使用CACHE DIGESTS比通过特定系统存储给 出的资源的确定性更精确。CACHE DIGESTS既是交换协议又是数据格式。安全性:如果 DIGEST的内容是灵敏的,他将被保护。被用来保证一个HTTP连接的任何方法都能使用与 CACHE DIGESTS。"特洛伊木马"能够通过网络进行攻击:处于同级的能够建立复制品 DIGEST的系统A对系统B和对处于与B同级当B请求服务时提供服务的系统进行攻击。 通过这种方式,A能直接和B通信。这种通过拖拉模块的方式对CACHE DIGESTS从一个 系统到另外一个系统转移所带来的问题影响最小。CACHE DIGESTS提供了位于URL级的 同等缓存的目录信息。因此,他们不能操纵特殊的管理级,也不能在任何级实现不同策略(用 户,组织者,等)。 展开: Cache Digests are supported in Squid. Cache Meshes: NLANR Mesh; TF-CACHE Mesh (European Academic networks 提交:Alex Rousskov for [21], Pei Cao for [10]. 注释:缓存技术汇总[10]是Wisconsin-Madison大学为决定的专利 7.1.4 Cache Pre-filling 常用参考资料:"Pre-filling a cache - A satellite overview" [20] (作业进度) 描述:提前填充缓存是通过入栈缓存实现的。他特别适用于IP-multicast网络,因为他允许 在多种目标集中提前选择资源和同时插入缓存。缓存提前填充的不同实现已经存在,特别是 在附属的关系中,然而,对于这类压入缓存的方式仍没有确切的标准,卖主建议的解决方法 既是基于扩充设备也是在具有提前填充的模块的扩展公用域的缓存。 安全性:依靠Inter-Cache的协议已被使用。 展开:在任两个商业分布目录服务器供应商之间共同遵守 提交: Ivan Lovric 7.2紧耦合Inter-Cache 通信 7.2.1 Cache Array Routing Protocol (CARP)v1.0 参看6.3部分 常用参考资料: * "Cache Array Routing Protocol "[14]'(工作进度) * "Cache Array Routing Protocol (CARP) v1.0 Specifications" [15] * "Cache Array Routing Protocol and Microsoft Proxy Server 2.0" [16] 描述: CARP是为除掉一簇服务器中URL空间的散列函数。包含在CARP,是一个服务器数组成 员列表的定义,也是下在这条信息的路径。实现VARP V1.0的用户代理商能明确的为任一 个服务器成员列表中请求的URL分配路径。由于用户通过服务器提出请求,复制缓存内容 被取消,而通过共用缓存可以提高点击速率安全性: 安全性考虑不包括在说明工作进度中。 展开:在高速缓冲服务器中的实现。两个以上的服务器共同实现。 提交:文档编者 8.网络元件通信 这部分描述的是代理和网络元件之间的协作和通信。例如:网络元件包括路由器和网关,他 们通常用于配置侦听代理或多方向传输数据。 8.1 常用网络高速缓冲控制协议(WCCP)参考资料: "网络高速缓冲控制协议(WCCP)"[18][19] (WORK IN PROGRESS)注释:协议名称的多样化。有时WCCP指的是网络高速缓冲调和 协议(WEB CACHE COORDINATION PROTOCOL)。但是,大部分情况下,用"WCCP"指 代前者以避免混淆。 叙述:WCCP V1是在作为重定向网络元件功能的路由器和输出侦听代理之间运行。协议允 许一个或多个服务器通过单个路由器登陆来获得重定向的通信量。它也可以通过指令指示路 由器如何重定向通信来指定一个服务器,使之传输大量数据。WCCP V2又增加了在多重路 由器和服务器之间运行的功能。 安全性: WCCP V1无安全性功能 WCCP V2提供可选择的协议鉴定。 展开: 网络元件:WCCP应用与各种CISCO路由器 高速缓冲服务器:WCCP被许多销售商的高速缓冲服务器中配置。 提交: 文献编者: David Forster 8.2网络元件控制协议(NECP) 常用参考材料: "NECP"网络元件控制协议[22](work in progress) 描述: NECP为网络元件获得服务器容量,可靠性提供了方法。并且暗示通过的数据流能否被服务。 这使得网络元件通过一个区域的服务器执行加载平衡,重定向侦听服务器,或切断通过的数 据流,使得服务器不能为这片区域体提供服务。 安全性:有选择的使用HMAC-SHA-1 [11]共享伴随的复杂数字鉴定密码可以适度的增强安 全性。如果不使用密码鉴定,协议将受到攻击。 展开: 目前未知;一些网络元件和高速缓冲服务器主明确目的,达成有关协议。 提交:Gary Tomlinson 8.3 SOCKS 最常用的参考资料:GARY TOMLINSO 8.3 SOCKS RFC 1928〈HTTP://WWW.FAQS.ORG/RFCS /RFC1928.HTML〉 SOCKS PROTOCOL VERSION 5[7] 叙述:SOCKS最初在防火墙协议中被用作高速缓冲器的代理人,尽管 firewalls不符合前面 所定义的狭隘的网络元件定义,但他们是网络基础构造的一个重要组成部分。当与防火墙共 同使用时,SOCKS在高速缓冲存储器和防火墙之间提供一个可信通道。 安全性: 广泛的结构框架提供了多重的证明方法,当前,SSL,CHAP, DES 3DES被证 明是可利用的。 展开性:SOCKS在互联网上被广泛地展开 提交:文件编辑装置。 9.安全性考虑 这些文档为高速缓冲器及其复制品提供了一种分类方法.推荐的策略,体系结构和协议并没 有被详细的描述在这里,合法的含义是指:进行或保存暂用的或永久地拷贝不会覆盖原有的 内容。通过注释所参考的有关每个协议的安全性信息由先前部分提供,并保存在他们的伴随 文件中。 HTTP的安全性在RFC 2616部分被讨论。 HTTP://WWW。FAQS。ORG/RFCS/RFC2616。HTML〉[1], HTTP/1。1规范 and to a lesser extent in RFC1945 包含了对HTTP代理权的安全性考虑。 高速缓冲存储器proxies与其它的应用级proxies有相同的安全性问题.应用级proxies不会被 这些安全性因素所覆盖。当proxy被用于通信时,经过鉴定的IP编号 是有问题的,在这里 将不再详细的讨论。 9.1鉴定 请求网上资源,并获得响应,可能被直接复制或通过中继代理传送到目的的。完整的通信需 要被预先保存,用来在发生存取错误和无意地修改时保护数据。 9.1.1 中介攻击 HTTP服务器是计算机通信的中介, 它是最容易遭到攻击的部分,对于这部分的内容将在 RFC 2616的15部分进行讨论 〈http://www.faqs.org/rfcs/rfc2616.html> 9.1.2值得信赖的第三方代理 代理商不仅仅是以营利为目地的源服务器或客户机,他还必须担任信息通道的任务。当现行 的高速缓冲服务器的对象是客户时,客户需要信任源服务器的代表即高速缓冲代理商A REPLICA也可能,从起点服务器处获得委任。 9.1.3 基于IP编码的鉴定 基于客户的IP编号的鉴定当通过代理商连接时是存在问题的,因为鉴定设备仅仅是接近代 理商的IP编号对这种问题的解答是此IP编号是代理商为了让客户请求服务的欺骗手段。基 于IP编号的鉴定设想即因特网的end-to-end 的特性被保持。这并不是典型的包含侦听的计 算机软件工程环境的代理 9.2保密性 9.2.1信任第三方的服务 当共同使用同一设备时,必须同时信任统一的起点服务器和共同的选择的系统。通信量的重 定向是自动地复制选择方法,或在代理范围内可以引入第三方的最终用户或值得信任的起点 服务器。在侦听代理的情况下,第三方汇聚通常是在其他两个通信的终端节点不知道的情况 自发生的。位置的第三方可以说具有相对的安全性。代理和复制选择的服务器可以对聚集的 信息进行存取。典型的代理知道,每个用户可以通过访问获得比单个起点服务器,提供的更 详细的信息。 9.2.2登陆和合法的含义 从代理处登陆将获得安全性的保持,因为他们提供有关用户信息和他们的行为模式,由于用 户的请求总是通过代理,因此代理的登记比网络服务器的登记更灵敏。从复制的起点服务器 登记可能需要从服务器合并获得聚集的统计数字,并且通过边框传送登陆来获得合法的暗 示。在一些国际阿,登陆控制被以法律的形式限制。在因特网这个大环境下,网络回应和高 速缓冲系统对对象安全性和隐秘性的要求是相同的,仅能依靠的方法是加强保密措施 end-to-end 加密经常使得信息源uncacheable,因为在这时,SSL加密页处于对话状态。 9.3服务器的安全性 9.3.1服务器拒绝 通信量的任何重定向对拒绝服务的通过攻击代理商,可以使得大量的客户机不能访问服务器 据争论侦听代理的说明是一个服务攻击的否认 9.3.2重新实施攻击 高速缓冲存储器代理是通过定义重新攻击来实现的。 9.3.3乏味的代理配置 很容易理解他有一个能伤害内部消费者服务器的Stupy 配置。这是代理的最普通的安全性 问题。 9.3.4版权暂用拷贝 立法强制的范围是认定暂用拷贝的问题,像那些抑制反响和高速缓冲存储器系统就是合法 的。 9.3.5应用级存取 高速缓冲代理在通信量流通路径中处于是应用级,可以让入侵者获得允许范围内的信息即 被处于网络级别的代理商允许使用的免费空间。一些网络级设备可以通过设置物理性通道来 获得详细的用户信息。应用级元件的引入可以达到更好的系统安全性。 10.鸣谢 编者对下列人物的协助而提出感谢: David Forster, Alex Rousskov, Josh Cohen, John Martin, John Dilley, Ivan Lovric, Joe Touch, Henrik Nordstrom, Patrick McManus, Duane Wessels, Wojtek Sylwestrzak, Ted Hardie, Misha Rabinovich, Larry Masinter, Keith 参考文献: [1] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L.,Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616 , June 1999. [2] Wessels, D. and K. Claffy, "Internet Cache Protocol (ICP), Version 2", RFC 2186 , September 1997. [3] Wessels, D. and K. Claffy, "Application of Internet Cache Protocol (ICP), Version 2", RFC 2187 , September 1997. [4] Postel, J. and J. Reynolds, "File Transfer Protocol (FTP)", STD 9, RFC 959 , October 1985. [5] Anklesaria, F., McCahill, M., Lindner, P., Johnson, D., Torrey, D. and B. Alberti, "The Internet Gopher Protocol", RFC 1436 , March 1993. [6] Berners-Lee, T., Fielding, R. and H. Frystyk, "Hypertext Transfer Protocol -- HTTP/1.0", RFC 1945 , May 1996. [7] Leech, M., Ganis, M., Lee, Y., Kuris, R., Koblas, D. and L. Jones, "SOCKS Protocol Version 5", RFC 1928 , March 1996. [8] Brisco, T., "DNS Support for Load Balancing", RFC 1794 , April 1995. [9] Vixie, P. and D. Wessels, "Hyper Text Caching Protocol (HTCP/0.0)", RFC 2756 , January 2000. [10] Fan, L., Cao, P., Almeida, J. and A. Broder, "Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol", Proceedings of ACM SIGCOMM'98 pp. 254-265, September 1998. [11] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104 , February 1997. [12] Netscape, Inc., "Navigator Proxy Auto-Config File Format", March 1996, live.html>. [13] Gauthier, P., Cohen, J., Dunsmuir, M. and C. Perkins, "The Web Proxy Auto-Discovery Protocol", Work in Progress. [14] Valloppillil, V. and K. Ross, "Cache Array Routing Protocol", Work in Progress. [15] Microsoft Corporation, "Cache Array Routing Protocol (CARP) v1.0 Specifications, Technical Whitepaper", August 1999, >. [16] Microsoft Corporation, "Cache Array Routing Protocol and Microsoft Proxy Server 2.0, Technical White Paper", August 1998, >. [17] Lovric, I., "Internet Cache Protocol Extension", Work in Progress. [18] Cieslak, M. and D. Forster, "Cisco Web Cache Coordination Protocol V1.0", Work in Progress. [19] Cieslak, M., Forster, D., Tiwana, G. and R. Wilson, "Cisco Web Cache Coordination Protocol V2.0", Work in Progress. [20] Goutard, C., Lovric, I. and E. Maschio-Esposito, "Pre-filling a cache - A satellite overview", Work in Progress. [21] Hamilton, M., Rousskov, A. and D. Wessels, "Cache Digest specification - version 5", December 1998, v5.txt>. [22] Cerpa, A., Elson, J., Beheshti, H., Chankhunthod, A., Danzig, P., Jalan, R., Neerdaels, C., Shroeder, T. and G. Tomlinson, "NECP: The Network Element Control Protocol", Work in Progress. [23] Cooper, I. and J. Dilley, "Known HTTP Proxy/Caching Problems", Work in Progress. 作者地址 Ian Cooper Equinix, Inc. 2450 Bayshore Parkway Mountain View, CA 94043 USA Phone: +1 650 316 6065 EMail: icooper@equinix.com Ingrid Melve UNINETT Tempeveien 22 Trondheim N-7465 Norway Phone: +47 73 55 79 07 EMail: Ingrid.Melve@uninett.no Gary Tomlinson CacheFlow Inc. 12034 134th Ct. NE, Suite 201 Redmond, WA 98052 USA Phone: +1 425 820 3009 EMail: gary.tomlinson@cacheflow.com 此文档或其译文可能被拷贝或被其他人提供,由其引出的评论或其他的解释或有助于他的作 品可以被备用,拷贝,出版或分类。但是,文档本身不能被以任何形式修改,比如删除版权 信息或互联网组织或其他的互联网组织的参考书目.除了作为需要发展国际互联网的目的的 标准,在于哪一种计算机辅助软件工程为版本,而定义在国际互联网标准的过程必须随之定 义,或者需要把它翻译成不同于英语的语言。 上述的有限的许可授予是永久的,将不会被国际互联网组织或特在这里,此文档及其所包含 的信息是在"参见"的基础上提供的。国际互联网组织,因特网工程任务的影响力放弃所有的 授权,专使,。。,包括但不是限制。 This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 认证 RFC编辑装置函数的当前认证资金是由国际互联网组织提供的。 RFC3040——Internet Web Replication and Caching Taxonomy Internet网复制和分类法 RFC文档中文翻译计划 2