
P2P快取
P2P快取技术的突出特点就是“去中心化”。在P2P网路中,网路资源和服务散布于整个网路中,每个节点逻辑地位相等,都具备客户端和伺服器双重特性,可以同时作为服务使用者和服务提供者。
基本介绍
- 中文名:P2P快取
- 关键技术1:处理效率
- 关键技术2:扩展性
- 关键技术3:着作权保护
引言
随着BT、eMule、Skype等P2P套用的流行,P2P技术已经成为网际网路的重要组成部分,甚至很多人已经认为P2P技术将成为未来网际网路的发展方向。作为一种与伺服器/客户端模式完全不同的技术,P2P技术的突出特点就是“去中心化”。在P2P网路中,网路资源和服务散布于整个网路中,每个节点逻辑地位相等,都具备客户端和伺服器双重特性,可以同时作为服务使用者和服务提供者。
P2P套用的流行源于P2P技术所提供的无限服务能力、低廉的成本和良好的服务稳定性。P2P系统的服务能力随着用户数量的增加而增加,在理论上并不存在瓶颈,相反,传统的伺服器/客户端系统存在着无法突破的伺服器性能瓶颈。在打破了伺服器瓶颈后利用P2P技术可以在非常便宜的设备上架设服务,从而带来了成本优势。而且在P2P系统中各个peer端都分担了服务能力,单一peer故障不会造成系统崩溃,解决了传统伺服器/客户端系统中伺服器故障可能造成服务崩溃的问题。服务能力的优势还为P2P系统提供了新业务模式,例如,在P2P档案共享系统中,内容发布功能被开放给每一个peer端,极大地丰富了系统的内容,从而吸引了大量新用户。对于传统的伺服器/客户端系统,开放内容发布能力将给伺服器系统带来无法支撑的压力。近几年,P2P套用的用户数和流量都呈现爆炸式增长的趋势,截至2005年年底,中国P2P流媒体业务的用户数已经达到235万,比年初增长176%。
另一方面,随着P2P技术的快速发展,P2P技术和基础网路运营商之间的利益冲突日益明显,这种矛盾可能阻碍P2P技术的进一步发展。当前,网路使用时间通常是基础网路运营商和用户的结算依据,而支撑这种结算方式的是传统的网路业务访问模型,也就是用户在其访问时段内仅有部分时间活跃,用户占用的频宽随其访问的活跃程度而变化,使用的上下行频宽不对等。但是P2P技术的普及破坏了传统的网路业务访问模型,用户访问开始在其访问时段内永久活跃、频宽占用稳定并且上下行频宽基本相等。为此,基础网路运营商不得不为应付飞速上升的网路频宽需求而大规模地扩容。更要命的是此时的频宽投入已经无法带来合理的收入。当基础网路运营商无法通过改变结算方式解决频宽需求和业务收入的矛盾时,就只好转向用各种方式限制P2P技术在其网路上的套用,从而对P2P技术的继续发展设定了障碍。
下面介绍一种P2P流量最佳化技术——P2P快取系统。通过在网路边缘快取P2P内容,过滤掉传输重複的P2P内容,可以减轻P2P套用对核心带宽频来的压力。P2P快取系统需要完成捕捉网路流量、P2P协定分析以及内容快取等操作,并且还需要为后续P2P访问提供快取内容的代理服务。
通过部署P2P快取系统,基础网路运营商可以利用有限的投入支撑增长的P2P业务需求,从而解决当前P2P技术带来的频宽冲击。另外,P2P快取系统的使用还可以改善P2P套用的用户体验,从而吸引更多P2P客户,并可能为基础网路运营商带来更多客户。也就是说,P2P快取系统的部署不仅可能缓和P2P技术和基础网路运营商的矛盾,而且可能引导二者协同发展,创造出双赢局面。
P2P快取系统
基本原理
P2P快取系统将传统的快取原理套用到P2P内容上,其基本思想就是在网路边缘快取P2P内容,用快取内容服务后续的P2P请求,过滤掉重複的P2P内容。图1描述了P2P快取系统的工作原理。如图1所示,在使用了P2P快取系统后,P2P访问的流程如下。
首先,peer A请求下载内容片断X,下载请求由peer A所归属的Intranet路由转发给P2P快取设备。由于是初次下载,快取设备发现请求的内容并没有被快取过,于是将下载请求转发给网际网路上的peer C,peer A最终通过访问peer C获得片断X。注意X在被传送给peer A的同时会通过快取设备并被快取。当peer B再次发起下载片断X的请求时,下载请求将同样被引导到快取设备,此时快取设备已经快取了X,于是peer B对X的下载直接由快取设备提供。
研究表明,由于在P2P网路中同样存在热点内容,因而在P2P网路中部署快取设备可能获得高达90%的位元组命中率。这意味着P2P快取系统的使用可以非常有效地缓解P2P流量对网路频宽的占用。同时,由于快取系统靠近P2P用户,可以使用户访问不必穿过缺乏服务质量保证的核心网路,从而降低用户访问回响时间,保证用户访问质量,提升用户体验并吸引用户,从而为P2P技术的进一步发展提供保障。
系统架构和处理流程
P2P快取系统需要完成的主要工作有:P2P协定分析、内容快取、内容分发和代理。P2P快取系统通常由流量捕捉、协定处理、快取检查、内容存储、转发器等单元构成,如图2所示。
其中,流量捕捉完成对受监测流量的捕捉。最简单的实现方式是将快取系统串联到需要使用的路径上,不过也可以採用策略路由或其他方式完成流量捕捉。捕捉到的流量报文被传送到协定处理单元完成对协定的分析处理,注意此时的报文不仅仅包括P2P通信的。转发器是系统中的传送单元,接收从其他单元传送来的报文,并根据报文中的信息(如目的地址和连线埠)将报文传送给其他网路设备。在P2P快取系统中,协定分析单元仅对捕捉到的P2P传输报文做深度报文分析,对其他报文,协定分析单元将直接转发给转发器。一旦协定分析单元发现某报文是P2P内容请求,该报文所属的套用会话(包括后续访问直到会话结束)的状态就会被监视。一旦能够确认该会话所访问的内容(P2P系统中内容通常由其HashID标识),协定分析单元就会访问快取检查单元以判断该内容是否已经被快取,如果该内容已经被快取,该会话的后续请求就会被直接交给内容快取模组处理。内容快取模组根据协定分析单元的请求,从快取中获得相应的快取内容或将协定分析单元传送的内容做快取处理。为实现快取内容的传送,协定分析单元在通过内容快取模组获得内容数据后需要按P2P协定要求封装获得的内容,模拟源P2P回响,然后交给转发器传送给套用请求者。如果P2P会话所访问的内容并没有被快取,后续访问的内容就会被快取到内容存储单元中。图2中标记了不同流量在P2P快取系统中的处理流程。
图2 P2P快取系统架构

关键技术
图2的快取系统结构虽然能够完成基本的快取处理操作,但实际网路对P2P快取系统还有更多的要求。要使P2P快取系统融合到现实网路中,P2P快取系统还需要在处理效率、可扩展性、着作权保护以及系统部署等多方面进行最佳化。
处理效率
首先,网路设备必须满足一定的处理效率要求,对于快取设备,并发流量处理能力是一个关键性能指标,而流量处理能力的需求直接与系统所服务的终端用户量相关。对于P2P快取系统,一定数量的重複内容访问和快取命中率是发挥快取系统优势的基础,而重複请求的数量依赖于用户群体的规模和用户访问特徵。在流行的P2P共享系统中,共享的档案通常较大并且内容繁多,这些特徵要求快取系统能够服务较多的用户和较高的流量,以保证适当的访问命中率。另外,对频宽的需求也会受到网路物理连线埠的频宽限制。P2P内容的分析和快取要求设备做7层协定分析和处理,庞大的运算量使得P2P快取系统不得不採用较好的硬体设备,同时也要求系统充分最佳化流量处理过程。
高层协定分析的处理效率通常远低于低层协定,为解决对处理效率的要求,系统设计要儘可能在低层协定分析过程中过滤掉非P2P流量。虽然P2P套用的协定五花八门,没有统一的标準,并且在通信连线埠上也各不相同,但对P2P协定分析显示,各种P2P套用的报文在传输层协定上存在一定的特徵,如KaZaa使用的FastTrack协定在报文中存在“GET.\hash”栏位,eDonkev报文中存在“E30C5”栏位,BT报文中存在“BitTorrent protocol”栏位。因此,利用协定分析,在第四层的分析中过滤掉不具备P2P特徵的流量,系统就可以保证儘可能多的处理能力被用于7层的P2P协定分析,从而提供高流量的处理性能。
扩展性
对P2P快取系统的可扩展性要求包含两方面的内容:系统处理能力的可扩展性和可快取处理的协定数量的可扩展性。系统处理能力的可扩展性是要求系统的处理能力仅仅受系统中硬体处理能力限制,如处理器的运算能力、存储器的存储能力、网路频宽的通信能力。如果需要,系统可以通过购买新的硬体来满足更多处理能力需求。对于系统处理能力的可扩展性,现在有很多相关的解决方案,如群集(clustering)系统[5]。
可快取处理的P2P协定的可扩展性是要求快取新的P2P协定内容应当仅仅需要在现有系统上安装相关的分析模组,而不需要对现有快取系统的软体或硬体结构做整体修改,甚至是将现有系统替换掉。就当前P2P套用的发展状况来看,P2P套用和协定缺乏统一标準,P2P套用间信息难以共享。同时,P2P套用在最近几年获得了迅猛的发展,现在已经有了数百种,其中BT、eMule等少数套用已经占用了超过50%的网路流量,对网路性能有严重影响。虽然只要分析和快取BT等少数几个协定就可以在现阶段对P2P流量达到很好的最佳化效果,但随着P2P技术的发展,必然会产生对新协定分析和快取的需求,从而要求系统可以扩展其能够分析处理的协定。对于系统处理协定的扩展,可以通过系统良好的模组化并在协定处理和快取检查模组之间定义灵活可扩展的接口来得到保证。
着作权保护
着作权问题长期以来是困扰P2P系统的一个难题。一方面,对着作权缺乏保护造就了P2P档案共享网路上的丰富内容,推动了P2P档案共享的快速发展;另一方面,对着作权缺乏保护又使得P2P共享对着作权内容缺乏吸引,从而阻碍了P2P建立成功的商业模式并推动其进一步发展。迄今为止,虽然业界不断提出P2P档案共享系统的着作权保护解决方案,但各种方案或多或少地存在一些问题。如何在保持P2P系统开放性的同时吸引着作权内容的参与仍然是一个难题。
P2P快取系统是一个不负责内容发布的流量最佳化系统,在着作权保护方面也需要有一定的考虑,具体地说就是要求在提供快取内容的代理服务的同时不触犯任何着作权保护法例。需要注意的是,在中国至今仍然没有明确的相关法律法规,在全球範围内对相关问题有明确界定的也仅仅是美国的《千禧年数字着作权法(DMCA)》[8]。在该法案中对快取类设备定义了“着作权安全港”,这一定义对提供内容快取系统做了如下界定:快取是在本地伺服器中为终端用户所做的自动、暂时的内容存储,并对快取系统提出了以下要求:
● 快取系统不能成为内容的原始提供者;
● 快取系统不能在快取过程中改变被快取内容;
● 快取系统的存在不能影响内容的原始访问方式(如口令认证过程等);
● 快取系统对内容更新的处理应当符合相应的行业标準;
● 快取系统必须在了解到所提供/快取内容侵犯着作权所有人权利后立即删除相应内容。
为符合上述对“着作权安全港”的要求,快取系统在为peer访问提供快取内容服务后需要保证peer访问流程符合原有P2P套用的要求,也就是要求快取系统具备将P2P套用的数据和信令讯息分离的能力。所有的信令互动仍然由信令信道通过快取设备向提供档案服务的源peer传送,仅对数据通信提供最佳化加速。这可以通过在快取系统将访问peer。到被访问peer的连结分割为两个连结实现。对访问peer和快取设备之间的连结,快取设备模拟正常的peer访问流程,提供正常的数据通信;对快取设备到被访问peer的连结,快取设备在转发所有请求和控制信息的同时,将数据传输信息用占用频宽很少的P2P维持连结信息替代(如BT中有效内容长度为0的讯息),该信息同时还起到监测被访问peer状态的功能。当被访问peer停止提供服务时,快取设备需要停止为其内容提供分发服务。另外,快取设备还需要提供手动删除快取内容的能力,以保证在发现内容侵权的第一时间立即删除侵权内容。