一种P2P内容下载缓存系统设计和下载软件开发 推荐Word下载.docx
《一种P2P内容下载缓存系统设计和下载软件开发 推荐Word下载.docx》由会员分享,可在线阅读,更多相关《一种P2P内容下载缓存系统设计和下载软件开发 推荐Word下载.docx(41页珍藏版)》请在冰豆网上搜索。
本人完全意识到本声明的法律后果由本人承担。
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
日期:
导师签名:
日期:
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
二、论文(设计)水平
评阅教师:
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
一种P2P内容下载缓存系统设计和下载软件开发
摘要
随着BitTorrent(以下简称BT)等一系列P2P应用的兴起,网络流量犹如洪水到来,互联网服务提供商(Internet
Service
Provider,以下简称ISP)正在面临巨大的网络带宽压力。
据统计,目前我国互联网P2P流量已占总流量的70%左右,而以BT为主的P2P下载流量已占P2P总流量的80%,因此为了缓解BT等应用带来的大量带宽的占用,ISP通过充分挖掘基础网络设备功能来达到最基本的效果。
本论文主张采取正确引导P2P流量的策略的方法,借鉴WebCaching技术与CDN内容分发网络技术的基本原理,提出设置P2P内容缓存服务器的方法和关键技术。
首先将用户请求的内容转移到P2P内容缓存服务器中,然后再通知用户到P2P内容缓存服务器中下载,尽量将P2P流量控制在ISP网络内部,从而有效控制ISP出口网络带宽拥挤的状况。
同时,实现了网络运营商对P2P内容的监管,为P2P技术推动互联网健康快速的发展起到了重要的作用。
关键词:
BitTorrent,P2P,互联网服务提供商,流量,网络带宽,P2P内容缓存服务器
ADesignandDevelopmentofP2PContentDownloadingCacheSystem
Abstract
WiththedevelopmentoftheuseofP2PsuchasBitTorrent,InternetServiceProvider(ISPforshort)isfacingthehugepressureofnetworkbandwidth.Atpresent,theInternetflowofP2Pisabout70%ofthetotalflowinourcountryaccordingtothestatistics,andespeciallytheP2PdownloadofBitTorrentis80%oftheP2Ptotalflow.Thus,inordertoreducetheusingoflargebandwidthtakenbyBT,ISPobtainsthebasiceffectbyexploitingthefunctionofthebasalinternetequipment.ThemainworkinthispaperistotakearightwaytoleadP2PflowcorrectlyandputforwardamethodofsettingContentCacheServerofP2PbyusingtheprincipleofWebCachingtechnologyandContentDeliveryNetworktechnology.First,theworkistotransferthecontentoftheuser'
srequesttoP2PContentCacheServer,andthentoinformhimtodownloadthecontentfromit,controllingtheP2PflowintheISPnetworkasfaraspossible,inordertocontrolthejamofbandwidthattheexportofISPnetwork.Meanwhile,themethodputsforwardthesupervisionofP2PbyInternetServiceProvider,andittakesanimportantpartinpromotingthedevelopmentofInternethealthilyandrapidly.
Keywords:
BitTorrent;
peer-to-peer;
InternetServiceProvider;
flow;
networkbandwidth;
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应用中,每个人都可以向别人提