一种P2P内容下载缓存系统设计Word文档下载推荐.docx
《一种P2P内容下载缓存系统设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《一种P2P内容下载缓存系统设计Word文档下载推荐.docx(44页珍藏版)》请在冰豆网上搜索。
P2PContentCacheServer
1绪论
近几年来,随着以BitTorrent为代表的P2P技术的快速发展,彻底打破了传统的C/S资源共享模式,网络流量急剧增加,同时也影响了ISP的运营模式,使得ISP出口带宽紧缺,为了解决这些问题,ISP提出了很多方案,例如:
阻塞常用P2P端口、限制用户上限带宽、干扰peer间通信等措施,但是最终取得的效果却并不理想,因此当前需要一种新型的网络解决方案实现缓解ISP出口带宽紧缺的问题。
而P2P带宽解决方案的关键技术[1]在于:
高速应用层协议识别、范围控制与本地服务、高速数据内容检测、数据流重定向。
本论文的研究目的就在于设计出一种P2P内容下载缓存系统,通过P2P流量检测技术,将所有经过ISP出口的P2P流量重定向到P2P内容缓存服务器中,P2P内容缓存器完成P2P内容数据的集中,然后再将这些P2P内容数据传送给请求的用户,使绝大多数的P2P流量控制在ISP内部,从而缓解ISP出口的带宽压力。
本文在深入分析当前ISP缓解网络带宽方案的基础上,结合WebCaching技术与CDN内容分法网络的缓存系统原理,提出基于BitTorrent应用的P2P内容下载缓存系统,并通过编写代码,实现用于P2P内容缓存服务的软件系统。
该系统应能够支持基于BT协议的P2P下载控制以及将P2P缓存服务器中存在的P2P内容数据高速的传送给请求该内容的用户。
目前,暂时还没有关于使用P2P内容缓存服务器的方式来引导P2P流量的研究方案和实用系统,因此本系统的研究为P2P合理有效的利用和监管提供了新的方向和思路,对P2P技术的合理发展将起到一定的促进作用。
2P2P技术介绍
2.2传统资源共享方式
在如今的互联网时代,资源共享是其非常重要的功能之一。
传统的资源共享方式主要是C/S模式(客户端/服务器,Client/Server),其主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(Middleware)三个部件组成[2]。
客户应用程序是系统中用户与数据进行交互的部件。
服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。
中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。
比较经典的应用有FTP和WWW服务,其是FI'
P,它的全称就是“文件传送协议”,FTP协议以其稳定、高速、简单的文件传输而一直保持着很大的生命力。
C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。
但是随着网络技术的不断发展和网络用户增多,服务器非常容易产生瓶颈问题,影响用户的正常访问。
2.3P2P网络共享方式
P2P技术的诞生,彻底打破了传统的文件下载方式。
目前基于P2P技术的BitTorrent协议的文件下载软件风靡全球,BT的优越性在于克服了传统文件下载技术的速度瓶颈问题,文件的下载速度反而随着用户数的增加而得到提高。
2.3.1P2P网络原理
P2P是peer-to-peer的缩写,是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(peer)直接访问而无需经过中间实体。
在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源获取者(Client)。
P2P打破了传统的C/S模式,在网络中的每个结点的地位都是对等的。
每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。
P2P的技术特点见表1-1:
表1-1P2P与C/S模式统计数据之间的对比
性能
P2P模式
C/S模式
数据发布性
好
差
数据接收性
中
数据互动性
数据即时性
数据安全性
数据更新
数据质量
数据成本控制
数据管理方便性
2.3.2P2P网络应用模式
当初Internet产生和发展的主要动力是资源共享,这也正是P2P提出的最初目标,以P2P技术为基础的文件内容共享应用也是P2P最重要的应用。
同时,随着Internet的发展和人们对P2P思想的理解,其他一些基于P2P的应用也不断出现[3]。
(1)文件内容共享和下载:
例如Napster、eDonkey、eMule、Maze、BT、迅雷等;
(2)计算能力和存储共享:
例如SETI@home、Avaki、PopularPower等;
(3)基于P2P技术的协同与服务共享平台:
例如JXTA、Magi、Groove等;
(4)即时通讯工具:
包括ICQ、QQ、YahooMessenger、MSNMessenger等;
(5)P2P通讯与信息共享:
例如Skype、Crowds、OnionRouting等;
(6)基于P2P技术的网络电视:
沸点、PPStream、PPLive、QQLive、SopCast等;
(7)基于P2P技术的网络游戏;
2.3.3P2P网络路由模型
所有的对等网络有一个共同点,那就是实际的数据传输是在资源的请求者与接收者间直接进行的。
但是,P2P的控制层面的实现有不同的方式,据此所有的对等网络的应用可以归结为如下四种体系结构[4]:
✧集中式网络模型,中心服务器存储所有节点的信息的目录,而信息本身存在各个节点中。
✧分布式网络模型,无中心服务器,各节点直接通过“洪泛”模式传递搜索消息。
✧混合式网络模型,引入了超级节点的概念,超级节点域内采用集中结构工作模式,超级节点之间是分布结构工作模式。
✧结构化网络模型,一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务,目前的主流方法是采用分布式哈希表(DHT)技术,这也是目前扩展性最好的P2P路由方式之一。
目前比较成熟的DHT协议主要有:
Chord、CAN、Pastry、Kademlia。
2.4P2P流量的特征分析与识别
2.4.1P2P流量特征
(1)数据量大。
对于资源共享和基于P2P技术的网络电视应用来说,数据量是巨大的。
(2)数据突发性强。
用户发送数据在时间上具有很大的随机性,分布不均匀。
(3)高速传输。
由于P2P中每一个节点都是服务器,为其他节点服务,所以数据传输速率比传统C/S模式更快。
(4)在线时间长[5]。
P2P模式打破传统C/S模式,将服务器分散到每一个节点,节点在下载完毕时,仍然可以在线作为服务器,为其他对等节点服务,而且很多P2P应用软件为了充分发挥P2P技术的优越性,都有一定的激励措施,鼓励用户长期在线。
(5)上下行流量对称。
P2P中的节点既是客户端,也是服务器,在下载的同时,也在为其他对等节点服务,提供上传业务,因此,上下行基本对称。
(6)业务分布广泛。
目前P2P技术的应用很广,涉及到很多领域,在空间分布上也比较广泛。
(7)连接端口不确定。
P2P应用占据很多的带宽,因此在很多情况下,P2P业务被屏蔽,为了解决这个问题,很多P2P应用软件端口可以根据用户要求改变。
(8)连接IP地址特征[5]。
P2P是多点到多点的连接模式,因此,客户端同时与多个IP地址建立连接,但在一段时间内平均连接每个IP地址的次数不多。
2.4.2P2P流量识别与检测
对于P2P流量合理有效地识别应该包含如下内容。
第一,对P2P流量的特征必须具有良好的分布特征和可区分性;
第二,识别P2P流量和整个P2P覆盖网络,这样才可能依此提出新的针对于P2P网络的积极防御模式和机制。
目前常用的流量识别方法[6]主要有:
(1)端口匹配识别:
完成固定端口的常规业务和P2P业务应用识别。
通过取出流中的源端口或者目的端口,然后查找常用端口映射表,如存在,则识别成功,并考虑伪端口的存在(如一些P2P为了伪装而借用常用端口),予以剔除。
(2)净荷检测识别:
若通过静态的端口映射表无法识别,则表明这些流量是非标准协议或者动态端口的,需要采用特征字符串来匹配净荷的方式来识别这些业务或应用。
(常用P2P应用流量特征比特串见表3-1)
(3)连接模式识别:
不同的业务其建立连接的方式都有相应特征,可通过IP地址和端口的相应关系识别P2P业务。
主要是统计(IP,port)所连接到的各个IP、端口号、数据报大小和传送流量大小。
如果连接到的IP地址个数和port个数相近,则认为是P2P流量。
相反,如果连接到的IP数和port数相差大到10个以上,则认为是非P2P流量。
(4)拓扑特性识别:
不同的业务其拓扑也有各自特征,可通过分析协助识别。
(5)应用协议分析识别:
对于非标准协议的应用,但协议又是公开的,比如eMule等应用,可通过应用协议分析引擎对此类业务进行识别。
(6)(TCP/UDP)IPpair法识别:
根据观察和研究,同时采用了TCP和UDP协议的应用绝大部分都是P2P流量,除了特殊的几个应用,如:
DNS,NETBIOS,IRC,游戏和多媒体业务流量,但这些应用都有特定的端口,如135,137,139,445,53,3531等,可以通过端口匹配识别这些流量(见图1),其余的业务流量同时应用了TCP和UDP协议的流量,即为P2P流量。
表3-1常用P2P应用流量特征比特串
P2P协议名称
净荷比特字符串
eDonkey2000
0xe319010000
Fasttract
“Get./hash”
Bitterront
0x13Bittorrentprotocol
Ares
“Gethash:
”
(7)流统计特性的识别:
在IP层通过流量统计特征的方式识别P2P流。
P2P流量具有长时固定连接特点,因此理论上基于流状态的统计识别方式可以识别一切大规模P2P流量。
(8)采用双向识别:
当某个方向的流(五元组定义的流)被识别为P2P流,则其反方向流必然也是P2P流。
对于衡量某种流量识别方法的好坏,其技术指标主要有三个基本原则:
(1)尽量提高检测精度;
(2)在检测精度中偏重于降低虚警率(FalsePositiveRata,FP%),维持适当漏报率(FalseNegativeRata,FN%);
(3)维持适当的计算复杂度。
2.5P2P应用对ISP造成的影响
P2P以其独特的技术优势在这几年内迅速发展,其应用不断增长。
互联网用户数的增长率一直保持在10%到20%,但是带宽的需求却呈现300倍到500倍的增长,其中带宽需求的增长来源则主要是P2P应用,P2P应用的流量已经远远超过了http应用的流量,成为Internet流量的主体。
但是,P2P流量在所有Internet流量中的比例却由于所处地域的不同而存在着相当的差异[7],见表1-2。
据统计目前我国P2P流量占据了70%-80%的互联网流量。
表1-22004年Internet流量在不同地区的分布
area
Asia
Europe
England
America
PopularP2Ptraffic(%)
64
53
43
61
OtherP2Ptraffic(%)
18
3
17
6
Httptraffic(%)
2
12
10
Othertraffic(%)
16
32
23
24
注:
PopularP2Ptraffic主要是指BT,eDonkey,FastTrack以及Gnutella的流量
P2P技术在中国的大规模应用是从2003年下半年开始,以BT为代表的P2P技术急速升温,用户数量飞速发展。
作为一种新兴的技术,基于该技术的应用已成为互联网上最流行的应用之一,对整个通信产业和传媒业都带来了巨大的冲击[8]。
(1)对传统语音业务的冲击
VoIP(voiceoverIP)业务因其低廉的资费冲击着传统的语音业务,据市场咨询公司IDC称,到2009年底VoIP用户将达到2700万。
而P2P技术的出现,无疑是给VoIP插上了翅膀,使其保持低资费的条件下,大大提高了服务质量,其语音质量已与传统的PSTN语音相接近,进一步加速了VoIP对传统语音的替代趋势。
典型的代表就是Skype。
P2P的VoIP业务对传统语音业务形成了巨大的分流,同时也促使电信运营商降低价格应对竞争,导致了其收入的剧减。
(2)对网络带宽的蚕食
在P2P应用出现之前,互联网的主要流量来自于浏览网页、FTP传输和邮件等,下载的业务类型基本上都是基于Client/Server模式的,由于服务器容量等的限制,使用户接入带宽很少处于满的状态。
而P2P技术的出现,完全改变了这种状况,用户长时间在线与其他用户共享信息,用户接入带宽长时间处于饱和状态,网络流量急剧上升。
目前,P2P应用早已超过HTTP应用,成为互联网上最为普遍的应用,给运营商带来了新的挑战。
P2P应用使ISP陷入困境。
一方面P2P应用是最终用户的需求,现有的网络结构却难以完全满足;
另一方面,ISP没有有效地控制P2P流量的方法,这将导致整个网络的服务质量下降,进而影响其他业务的开展。
(3)内容的扩散无法控制
目前各电信运营商都在向综合信息服务提供商转型,需要利用其网络和服务资源优势,整合内容提供商的内容资源,打造整个互联网产业价值链,而这些都要在版权保护的前提下进行。
但是在P2P应用中,每个人都可以向别人提供文件和信息,因此导致数字产品的版权变得难以控制,数字产品的开发商同样也难以向私下共享的网民收取许可费用。
目前,虽然P2P下载已新生出许多合法的应用,但非法复制仍是P2P下载的主体,所以它必然更加直接地影响到各版权所有人的利益,因此,P2P的非法内容下载不仅影响了内容版权所有人的利益,也给电信运营商带来了冲击。
2.6目前对P2P应用的解决办法
由于P2P的应用对于ISP的冲击是巨大的,这要求ISP尽快找到解决这种状的办法,目前各大ISP对于P2P应用采取的措施[9]主要有以下几种:
(1)扩容网络,增强基础网络的承载能力
扩容网络是传统解决网络带宽拥塞的主要办法,但是由于P2P应用的增长速度迅速,新扩容的网络带宽在扩容后不久就被占用完,因此它只能暂时缓解网络拥挤压力,不能从根本上解决问题。
(2)限制P2P应用
根据网络使用的具体情况采取不同的限制措施,比如限制用户带宽、封杀P2P应用、限制P2P连接数目等等。
这种办法可以很好的解决网络拥挤的状况,但会引起网络用户的不满,而且从技术实现上,还存在一定的问题。
同时,这种方法,也不利于P2P技术的发展,互联网的发展。
(3)实施新的商业运营模式
例如恢复互联网初期实行的基于流量的收费方式,实现对用户网络流量的细化管理,从而限制网络用户对P2P应用的使用情况,但是这相对于目前ISP实行的粗放型的宽带包月收费制度,网络用户不太容易接受。
从目前情况来看,以上几种方式都存在一定的问题,需要找出一种新的方法来有效控制P2P使用,构建多方共赢的价值网络,降低网络投资,提高网络性能,改进用户体验,获得更好的经济效益和社会效益。
因此,本论文主张采取正确引导P2P流量的策略的方法,提出P2P内容缓存服务器的概念,利用缓存技术,将P2P内容放ISP设置的缓存器中来解决ISP出口拥挤的状况。
3目前一些缓存技术分析和P2P内容缓存系统的可行性
3.2WebCaching技术
WebCaching技术是为了解决网络带宽不足、服务质量差而提出来的,它依据统计学原理,将可能进一步使用或重复使用的内容缓存在相对高速的Cache服务器中,当有相同的请求时,直接在Cache中提取,从而提高网络响应效率。
WebCaching技术在现有网络架构的基础之上,利用传输本地化的方法达到了优化使用网络带宽、提高网络服务质量、增强网络信息可用性及提高网络灵活性的目的。
Web高速缓存服务器[10]通常是网络中的一个专用的计算机系统,它监视Web对象请求,获得这些对象,然后存储这些对象。
其工作原理如图2-1所示。
图2-1中,①为缓存服务器接受浏览器请求;
②③为缓存服务器从原始服务器获得缓存中的未存储对象(CacheMiss);
④为缓存服务器存储获得的对象,并将拷贝发送给浏览器。
此后,当用户对相同的对象(网站)提出访问请求时,就由缓存服务器来满足其要求,将已存储对象(CacheHit)的拷贝发送给浏览器。
Web网络缓存系统使得用户请求不必再通过Internet路由到达原始服务器而取回所请求的对象,从而降低了可能引起的服务延迟。
同时,Web高速缓存技术的应用还可以缓解Web服务器的负担。
因为大量的用户请求不再需要原始服务器进行处理。
Web高速缓存技术能够提供一种廉价而可靠的Web服务器负载分担方案。
图2-1 Web缓存技术的基本原理
WebCaching技术是一种基于客户请求查询的技术,可以称作是一种“拉”的技术,它在技术上的实现主要有三个方面的好处:
(1)节省网络带宽,降低了ISP的运营成本,减少了扩容压力。
虽然配备Cache缓存服务器需要成本,但是其成本相对于扩容网络的成本要小很多。
(2)减少了终端用户的响应时间,客户端的效率提高,也增加了用户对ISP的满意度。
(3)网络客观性加强,缓存引擎提供了访问控制与监测策略,使管理员很容易对某些不友好的请求进行隔离;
另外,缓存引擎还提供了全面的可操作的日志记录。
3.3CDN内容分发网络
3.3.1CDN工作原理
CDN的全称是ContentDeliveryNetwork,即内容分发网络。
其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。
从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。
CDN的工作原理[11]:
当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。
当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。
其用户访问的基本流程如下:
(1)用户在浏览器中输入要访问的网站的域名;
浏览器向本地DNS请求对该域名的解析;
(2)本地DNS将请求发到网站的主DNS,主DNS再将域名解析请求转发到重定向DNS;
(3)重定向DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户;
(4)用户向给定的CDN节点请求相应网站的内容;
(5)CDN节点中的服务器负责响应用户的请求,提供所需的内容。
3.3.2CDN框架结构
CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache