P2P技术的研究与应用现状

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:lwh020827
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:阐述了P2P技术的原理,介绍了P2P技术的网络模型和研究的现状,并论述了P2P技术的主要应用领域和典型产品,对P2P的发展前景进行了展望。
  关键词:P2P;C/S;网络模型;集中式;分布式;VoIP;网络电视
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)36-10556-03
  Research and Rencent Application of P2P Technology
  GONG Li-hua1,2, LI Deng-dao2, LI Ke-feng1
  (1.Continuing Education College of Taishan University, Taian 271021, China; 2.College of Information Science and Engineering of Shandong UniVersity of Science and Technology, Qingdao 266510, China)
  Abstract: Expounding the principle of P2P technology, introducing the network model and the status of research of P2P technology, and discussing the main applications areas and typical products of P2P technology, prospecting the development of P2P.
  Key words: P2P; C/S; network model; centralized; distributed; VoIP; network TV
  对等网络(P2P)技术是目前国际计算机网络技术领域研究的一个热点,被《财富》杂志誉为将改变互联网未来的四大新技术之一,目前微软、Sun、IBM等很多著名的企业和公司都投入到对P2P技术的研究之中。P2P计算并非一种全新的技术,在20世纪70年代就已出现,其典型代表是USENET和FidoNet两个分散、分布的信息交换系统,但是受早期计算机性能、资源等因素的限制,大多数连接到因特网上的普通用户并没有能力提供网络服务,从而逐步形成了以少数服务器为中心的客户/服务器(Client/Server)架构。将P2P(Peer to Peer)技术带入网络世界的是1999年成立的Napster,真正的P2P技术的大规模应用正起源于该音乐文件交换软件。虽然“客户/服务器”模型是目前互联网上占统治地位的计算模型,但从某种意义来说,P2P计算可以说是一种向传统互联网技术的回归,体现了互联网的本质,因为互联网最初的设计目标就是让网络上的计算机互相之间可以直接通信而不需要中介。
  目前,业界对P2P的定义还没有一个标准的说法,Intel将P2P技术定义为“通过系统间的直接交换达成计算机资源与信息共享的系统”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。IBM则对P2P赋予了更广阔的定义,把它看成是由若干互联协作的计算机构成的系统并具备如下若干特性:系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在而构成一个虚拟或实际的群体。
  1 P2P技术概述
  简单地说,P2P技术是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术(其网络通信模式如图1所示),它打破了传统的Client/Server模式(其网络通信模式如图2所示)。C/S模式造成互联网络上的集中,无论信息资源还是成本资源均向同一方向集中,这样的模式符合一对多、强对弱的社会关系形式,如政府对个人、对企业,大企业对小企业,学校对学生,企业对职工等等关系。虽然“客户/服务器”模型是目前互联网上占统治地位的计算模型,但从某种意义来说,P2P模式可以说是一种向传统互联网技术的回归,体现了互联网的本质,因为互联网最初的设计目标就是让网络上的计算机互相之间可以直接通信而不需要中介。在P2P网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。由于P2P技术的飞速发展,互联网的存储模式将由目前的“内容位于中心”模式转变为“内容位于边缘”模式,改变Internet现在的以大网站为中心的状态,重返“非中心化”,将权力交还给用户。
  P2P的本质思想是,整个网络中不存在中心节点(或中心服务器)。在P2P结构中,每一个节点(Peer)大都同时具有信息消费者、信息提供者和信息通讯者等三方面的功能,在P2P网络中每一个节点所拥有的权利和义务都是对等的。在P2P工作方式中,每一个客户终端既是客户机,又是服务器。它弱化了服务器的作用,将信息数量、成本资源都向互联网各点均匀分布,也就是所谓的“边缘化”的趋势,消除了单个资源带来的瓶颈,可以控制和实现网络上各节点的负荷平衡。P2P技术不仅能利用服务器的资源,同时能合理地使用用户计算机的空闲资源。用户在享受媒体节目的同时,也在利用自身计算机所空闲的资源为其他用户提供着服务。所以,使用P2P技术提供高质量和大容量的流媒体服务系统成为可能。
  2 P2P技术的网络模型
  到目前为止,P2P技术的发展经历了四个阶段,每个阶段都代表着一种P2P网络模型:集中式、纯分布式、混合式和结构化模型。其中,混合式模型是当前最为成熟、有效的实现方式。P2P技术起源于文件交换技术,在P2P的发展过程中,文件交换技术的演变最具代表性,下面我们就以典型的P2P文件交换软件为例来研究P2P模式的几种主要形式。
  1)集中目录式结构
  集中目录式P2P结构是最早出现的P2P应用模式。集中式P2P模式采用星型结构,由一个中心服务器来负责记录共享信息以及反馈对这些信息的查询;每一个对等实体要对它所需共享的信息以及进行的通信负责,根据需要下载它所需要的其他对等实体上的信息。这种形式具有中心化的特点,但是它不同于传统意义上的Client/Server模式。因为传统意义上的Client/Server模式采用的是一种垄断的手段,所有资料都存放在服务器上,客户机只能被动地从服务器上读取信息,并且客户机之间不具有交互能力;而集中式P2P模式则是所有网上提供的资料都存放在提供该资料的客户机上,服务器上只保留索引信息,此外服务器与对等实体以及对等实体之间都具有交互能力。
  集中式P2P应用又被称为第一代P2P应用,Napster程序是第一代P2P应用的典型代表。Napster提供的MP3下载服务就是最早的P2P实践。其用户注册与文件检索过程类似于传统的C/S模式,区别在于所有资料并非存储在服务器上,而是存储在各个节点中,这是一种集中式对等网络模式。
  集中式P2P可提供中心服务器目录检索、管理服务和标准的点到点通信,具有高效的检索和低效的交换服务的特点。集中式P2P对小型网络而言在管理和控制方面占有一定的优势,但对大型网络并不适合。
  2)纯分布式结构
  纯分布式P2P模式也被称为广播式的P2P模型。它取消了集中的中央服务器,每个用户随机按入网络,并与自己相邻的一组节点通过端到端的连接,从而构成一个逻辑覆盖的网络。对等节点之间的内容查询和内容共享都是直接通过相邻节点广播接力 传递,同时每个节点还会记录搜索轨迹,以防止搜索环路的产生。
  纯分布式P2P应用被称为第二代P2P应用,它吸取了Napster失败的教训,改进了第一代P2P软件的缺陷。在纯分布式P2P中,对等机通过与相邻对等机之间的连接遍历整个网络体系。每个对等机在功能上都是相似的,并没有专门的服务器,而对等机必须依靠它们所在的分布网络来查找文件和定位其他对等机。Gnutella网络是第二代P2P应用的典型代表。在Gnutella网络中,一台新对等机首先通过访问某特殊站点提供的“主机缓存服务”机制来得到一台活动对等机地址;接着,该新对等机主动探查网络中的其它对等机,找到与之相邻的对等机节点,在进行文件查找时,该对等机首先向与之相邻的所有活动对等点发送一个查询描述符Query,在其他对等机接收到该查询描述符后,检查本地是否有符合查询请求的文件内容,如果有,则按查询描述符的发送路径返回一个查询响应描述符QueryHit,无论本地是否存在符合查询请求的文件内容,其他对等机都会将该查询包通过扩散方式继续在网络中传递;一旦定位了响应查询文件的对等机之后,就与响应对等机建立TCP连接,通过HTTP协议从响应对等机中下载自己查询的文件。
  纯分布式P2P模式也存在很多弊端,主要表现在以下方面:搜索请求要经过整个网络或者至少是一个很大的范围才能得到结果,占用很多带宽,而且需要花费很长时间才能有返回结果;随着网络规模的扩大,通过扩散方式定位对等点及查询信息的方法将会造成网络流量急剧增加,从而导致网络拥塞,最终使Gnutella网络被分片,使得查询访问只能在网络很小的范围内进行,网络的可扩展性不好,不适合大型网络;纯分布式的P2P模式很难被企业所利用,它缺少对网络上的用户节点数以及对他们提供的资源的一个总体把握;安全性不高,易遭受恶意攻击,如攻击者发送垃圾查询信息,造成网络拥塞。
  3)混合式结构
  混合式P2P模式结合了集中式和分布式P2P的优点,在设计思想和处理能力上都得到了进一步的优化。它在分布式模式的基础上,将用户节点按能力进行分类,使某些节点担任特殊的任务。这些节点共分为3种:用户节点、搜索节点、索引节点。
  混合式P2P模式结合了集中式和分布式P2P的优点,它的出现是为了改善第二代P2P应用的搜索效率和可用性等问题,因此又被称为第三代P2P应用。BT就是第三代混合式P2P网络的典型代表,开创了新一代P2P的潮流,它批判地继承了前辈产品的优点,将中心目录服务器的稳定性同优化的分布式文件管理结合起来,从而在效率上远远超出了eDonkey这类产品。它要求提供一个或多个统一的Web发布服务器,以供发布和搜寻资料。在客户端,它通过一个IE插件提供下载、上传管理。BT把一份大文件切割成碎片,为每一个碎片标上特殊标识,用户无需到一个固定地点(如传统网络的中心服务器)上下载完整的文件,系统会自动寻找、随机下载具有相同标识的文件碎片,将其加以整合成为完整的文件。
  4)结构化P2P模式
  结构化P2P网络模型是一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务,目前的主流方法是采用分布式哈希表(DHT)技术,它与非结构化模型的根本区别在于每个节点所维护的邻居是否能够按照某种全局方式组织起来以利于快速查找。这种模型有效地减少了节点信息的发送数量,从而增强了P2P网络的扩展性和避免了单一节点失效的问题。
  基于DHT的代表性的研究项目有微软研究院的Pastry项目等。由于基于DHT的结构化模型的系统要比Gnutella模型和Kazza模型等无结构的系统要复杂的多,所以采用DHT方式的P2P系统现在尚缺乏在因特网中大规模真实部署的实例,成功应用还比较少见。
  3 P2P技术的主要应用领域
  P2P技术有着广阔的应用领域。目前,在文件共享、网络电视、VoIP、分布式计算、在线交流、网络游戏甚至是企业计算与电子商务等应用领域P2P都显露出很强的技术优势。简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互。
  1)文件下载
  P2P文件下载是P2P应用中最为广泛的方式之一。它通过在不同用户间直接进行文件交换大道文件共享的目的。以典型的BT应用为例,当客户端从Web服务器或者其他传统服务器下载种子文件,客户端解析种子文件后连接TRACKER服务器,依次与Peer建立连接获取其需要的文件或片段。在文件下载的过程中,客户端不断地与TRACKER服务器交互已经上传或者下载得字节数、文件分片信息,方便其他客户端连接本地客户端获取该文件资源。因此,客户端越多,文件共享越频繁,与传统C/S模式相比,能满足更多人的文件快速共享需求;而且文件资源由各个客户端提供,非常丰富。
  2)在视频直播中的应用
  随着P2P研究的进一步深入,采用P2P技术的播放软件成就了网络电视的发展。P2P受到了广大网民的喜爱,目前主要的应用的网络电视下载有PPStream、PPlive、沸点网络电视、TVKoo、猫眼网络电视、QQ直播等。网络电视的发展吸引了众多的网民。网络电视提供的电视节目非常丰富,它比目前一般的有线电视节目更多,同时提供给用户许多交互的功能,还能提供给用户一个视频播放的平台。
  3)在VoIP中的应用
  VoIP(Voice over Internet Protocol)是一种运行在IP网络层上的话音通信应用,也可以理解为一种用因特网系统代替传统电话通信系统进行话音通话的技术。以Skype为代表的VoIP软件在网络通话业务系统中灵活应用了混合式P2P技术,它结合了集中式和分布式P2P模式的特点,在网络的边缘节点采用集中式的网络结构,而在超级节点之间采用分布式的网络结构。Skype率先将电话公司变为软件和宽带运营商,它将语音呼叫转移到因特网中,正在改变着我们的语音通信。另外,还有许多类似的免费VoIP应用,像headcall、QQ、MSN等。
  4)在其他领域中的应用
  此外,P2P技术在网络游戏、协同计算、海量存储、信息搜索、电子商务等领域有各种各样的应用。
  4 结论
  P2P以非集中方式,使用分布式资源来实现应用,开创了“人人为我,我为人人”的信息交互模式,具有自由化、自扩展、自愈合、自管理、低成本扩张等特性,可有效解决传统C/S架构在承载大容量数字媒体业务时所面临的高成本、低扩展性等问题。在内容共享、分布式计算和信息交流等方面,P2P的优势尤为明显,具有广阔的应用前景。
  参考文献:
  [1] 王一炜,杨可扬.浅谈P2P技术[J].忻州师范学院学报,2007(5).
  [2] Brookshier D.Java P2P 程序设计[M].北京:中国电力出版社,2006.
  [3] 侯太平,顾大权,汪晋.浅谈P2P技术[J].微计算机应用,2002(6):22-24.
  [4] 胡中红,王以群.基于P2P技术的信息网络[J].中国信息导报,2003(4).
  [5] Robert.Java P2P技术内幕[M].北京:人民邮电出版社,2003.
  [6] 张联峰等.对等网(P2P)技术[J].计算机工程与应用,2003(12).
  [7] 龚君芳,李圣文.P2P应用程序及设计[J].现代计算机,2002(9):36-38.
其他文献
近日,由中国建筑科学研究院与住房和城乡建设部科技发展促进中心共同主编的国家工程建设标准《可再生能源建筑应用工程评价标准》编制组成立暨第一次工作会议在北京召开。环能
AutoCAD应用软件绘图具有速度快、精度高、易修改的特点,已经基本取代了手工绘图,熟练掌握、使用绘图软件可以提高绘图的效率和质量。本文讲述了使用绘图命令和绘图工具时的一些技巧,这些技巧可以帮助工程技术人员快速、准确的完成较难图形的绘制以及一些必要的工程标注。
现代社会生活节奏的加快,使词义的变迁也令人为之兴叹。有一些词变化之后,词义变得漂移不定,令人难以揣摩。比如“普通”这个词,越来越变得不普通起来。请看这句话:“XXX出生在中
摘要:文中提出了一种用于高速锁相环的双斜鉴频鉴相器的结构设计。这种结构是基于两个调谐电路:细调电路和粗调电路。细调电路用来完成精确调制,粗调电路用来加快锁定速度。用MENTOIL GRAPHICS-ADMS對电路进行仿真。结果表明所提出的结构比普通型锁相环的锁定时间减少了50%以上。  关键词:锁相环;双斜鉴频鉴相器:电荷泵  中图分类号:TN492 文献标识码:A 文章编号:1009—3044(
近几年,城市发展速度不断加快,各类市政工程不断增多,在此期间,各类问题也随之不断显现出来,其中最为明显的一个问题就是雨水堆积,传统市政工程地面雨水无法渗透到地底,只能
本文提出了一种基于XML的集成测试方法,并给出了该方法的实现系统、数据接口的定义及被测系统接口的XML描述技术。该方法集用例设计、测试插装、测试驱动及测试报告生成于一
据《21世纪经济报道》2月16日报道,“新型农村养老保险制度今年开始试点,最低发放标准不会低于1800元/年的低保平均水平,而且随着财政收入的增长预期还会不断提高。”国务院发展
兴隆中密度纤维板厂生产线是在90年代引进的德国技术和工艺,在电气系统中以西门子S5—135U为控制中心,外围电气执行元件、开关和电机等全部采用德国的配套设备,在生产成本上对公
文中阐述了有线电视网络在我国的发展和从传统的有线电视网络升级到数字有线电视网络的必要性。同时论述了改造后的功能以及升级到数字有线电视网络的关键改造措施。
工程中往往需要VC++编写的程序进行大量的数学计算,如能在程序中使用Matlab的例程这些问题则能迅速解决。在Win-dows平台上Matlab提供了两个实现这一目标的接口——Matlab En