完美作业版P2P技术原理及其应用.doc_第1页
完美作业版P2P技术原理及其应用.doc_第2页
完美作业版P2P技术原理及其应用.doc_第3页
完美作业版P2P技术原理及其应用.doc_第4页
完美作业版P2P技术原理及其应用.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

P2P技术原理及其应用姓 名:班 级:学 号:联系电话:P2P技术原理及其应用【摘要】P2P主要指计算机之间以对等方式形成的网络连接,弱化或完全取消了服务器的作用。本文从P2P的基本概念入手,分析了P2P技术目前的发展现状,并列举了现今P2P的主要应用。【关键字】P2P 原理 技术特点 应用1 P2P技术的基本概念1.1 什么是P2PP2P是peer to peer的缩写,中文译名为点对点技术,又称之为对等互联网络技术。在P2P网络中各个节点被称为peer(对等体)。P2P是一种网络模型,在这种网络中所有的节点是对等的(称为对等点),各节点无主从之分,具有相同的责任与能力并协同完成任务。对等点之间通过直接互连共享信息资源、处理器资源、存储资源甚至高速缓存资源等,无需依赖集中式服务器或资源就可完成。1.2 P2P的发展历史最初的 P2P 应用大约产生于20年前,并且其中的许多至今仍然被使用。尽管这些早期应用的核心就是 P2P,但由于大多数的使用者并未感觉或接触到,因此通常并不认为它们是 P2P 技术。P2P并非一种全新的技术。虽然 P2P 这个术语是现在才发明的,但 P2P 本身的基本技术的存在时间却至少和 USENET、FidoNet 这两种非常成功的分布式对等网络技术一样长,甚至更长些。关键在于,在最初的 P2P 应用出现时,许多使用该技术的人们甚至不会使用计算机。USENET 产生于 1979 年,是一种分布式系统,能够为各个地方提供新闻组。USENET 最早的雏形由是两名研究生 Tom Truscott 和 Jim Ellis 实现的。当时并没有任何类似于互联网上“随选”信息的概念,文件只能通过电话线批量传送,且常常选在长途费用比较低的夜间进行。因此,当时的 USENET 若采用集中式的控制管理方法将效率低下,自然而然地就提出了一种分散、分布式的管理方法。早期 P2P 应用另一个杰出的代表则是 FidoNet。它和 USENET 类似,也是一个分散、分布的信息交换系统。Tom Jennings 于 1984 年创建了 FidoNet 系统,来让不同 BBS 系统中的用户们互相交换信息。这种符合人们需要的技术,迅速成长起来,并一直沿用到今天。P2P技术再次引起学术界及商界的重视,主要有以下两大因素的影响:一是用户的需求。随着因特网的逐渐普及并深入到人们的日常生活,人们需要更直接、更广泛的信息交流以实现更多的资源和服务共享;二是技术发展。首先是网络技术的发展,网络技术一方面促进Internet在全世界的普及,使越来越多的用户可以实现与Internet的连接,一方面又使Internet接入速度和骨干网的带宽得以大幅度提高,为各种网络应用的发展创造了条件。其次是软硬件技术(特别是芯片技术)的发展,它们使得个人PC在计算能力和存储能力上有了极大提高,计算机性能的提高使各种网络终端具备了一定的网络服务能力,为P2P的应用创造了条件。最后是集中式网络模式所造成的带宽瓶颈以及网络稳定性等方面的问题,这些都迫使人们开始寻求一些新的网络应用模式。其次的是,Napster,我们一定要记住这个名字,就是它让P2P回到了人们的视野之中,让P2P回到了舞台的中央。Napster是一个美国大学生编写的音乐共享软件,开创性地在互联网上推出了音乐交换服务。利用它,用户可以搜索、下载彼此计算机里存储的MP3文件。由于这种方式免费而且方便,所以在短短的时间内Napster就产生了巨大的影响力。但免费下载歌曲触犯了版权法,所以也是在短短的时间内Napster就被告上了法庭。如今,P2P文件共享产生的流量是今天因特网最大的单项流量,P2P技术也早已融入到我们的网络生活中。1.3 P2P的基本原理早期的计算机使用的是众多用户共享大型计算机,后来个人计算机得以发展,使得应用模式从集中走向了分布模式。在互联网上也存在着类似的情况,起先采用客户机(浏览器)-服务器方式,用户使用网站上集中的服务器,进一步将逐步发展为走向分布式,集中的服务器变成分布的,即每一个用户终端一个结点。结点既是客户机又是服务器,这就是P2P对等连接模式。在P2P模式中,每一个结点可以存储内容,也拥有计算力。通过在互联网上对等连接这些结点,用户可以共享内容和计算力。以共享下载文件为例,在下载同一个文件的众多用户中,每一个用户终端只需要下载文件的一个片段,然后互相交换,最终每个用户都得到完整的文件,即实现了共享内容。网格就是一个共享计算力的例子。实现P2P的第一步是在互联网上进行检索,找到拥有所需内容和计算力的结点的地址,第二步是通过互联网实现对等连接。为了充分发挥互联网无所不在的优势,P2P不能对互联网协议进行任何修改,因而解决的方法是在基础的互联网上架设一个P2P重叠网。2 P2P的技术特点2.1 P2P的结构体系2.1.1 混合式P2P体系混合1.1 到我们网络生活的各个“混合式”在这里指的是C/S与P2P的混合,它反映了网络工作模式从C/S到P2P的过渡。分布式的思想在混合式P2P网络中有着深层次的渗透。混合式P2P体系的典型代表是:P2P的网络的先驱Napster及采用了分片优化的BitTorrent。工作机制为:用户从服务器获得服务提供者的地址等相关信息,然后直接和服务提供者建立连接进行交互。混合式P2P网络都采用混合式体系结构,即星形拓扑结构,服务器仍然是整个网络的核心。如下图1 Napster工作原理图:以服务器为核心的混合式P2P网络,其容错性只在于服务器的故障概率,如果使用多台服务器组成机群,并且提供冗余、替代机制使得一台服务器发生故障时它的任务可以被其它服务器所分担,那么这样的系统容错性将会非常高。然而,增加、升级服务器的支出通常非常昂贵,因此这种增加混合式P2P网络容错的方法不实用。混合式P2P网络的自组织、自适应基本上依靠服务器的监控,用户之间的协作建立在服务器监控之上,因此只要服务器正常工作,网络和结点信息就能得到有效地维护。混合式P2P网络可以提供匿名性,学术界也提出了不少实际可行的以服务器为核心的匿名方案,但出于简单、高效的考虑,目前的混合式P2P网络基本不提供匿名性。Napster是第一代P2P网络的代表,但它留下了许多缺陷。在其基础上,后来的混合式P2P网络都采用了一些增强机制来提高网络的效率,如BitTorrent提供文件分片机制,限定用户在下载的同时必须上传以杜绝自私结点的存在,这些都提高了网络工作效率,当然也增加了网络复杂性。另一方面,在安全上BitTorrent开始逐步采用一些简单、有效的机制以防止常见的网络攻击。2.1.2 无结构P2P体系无结构的P2P完全实现了“去中心化”而走向了“边缘化”。“无结构P2P网络”的“无结构”是指覆盖网没有固定、严格的拓扑结构,而是一个随机生成、松散组织的普通图,理论上这张图可以是任何形状的。类似于今天的Internet,虽然无结构P2P网络的拓扑结构不严格遵守某种形状,但总是符合一定的规律小世界模型(结点集群现象明显)或者幂律模型(是指网络中拥有连接数L的结点占网络结点总数的份额正比于L的负a次幂,a是一个取决于网络本身的常数因子)。后来的无结构P2P网络都发展成了基于超结点的双层拓扑结构,而超结点之间的连接方式往往也是符合上面两个规律。如下图2为Gnutella工作原理图:幂律模型的一大特点就是对于随机结点失效的高容错性,因此无结构P2P网络也是高容错的。无结构P2P网络的自适应所要做的工作主要是检测自己的邻居是否还在线,因此只需要简单的PING消息探测就可以维持结点状态的更新,因此它具有较强自适应能力。如果采用单纯的洪泛法,网络难扩展;如果采用更好的方法去改造洪泛法,网络的可扩展性会变高。比如采用超结点路由的KaZaA,其网络结点数经常在300万左右,一样工作得很好。但是这种结构的P2P技术路由效率不高,可扩展性不高,数据无法准确定位。它在这三方面都无法和结构化P2P网络相比。2.1.3 结构化P2P体系结构化P2P网络是P2P领域的热点,其中比较经典的有Chord、CFS 、CAN 、Tapestry、OceanStore、Pastry、PAST、Kademlia、SkipNet等,它们分属于环形P2P网络、多维空间P2P网络、超立方体P2P网络和混合式结构P2P网络。结构化P2P网络的最大特点在于它们都有一个严格的覆盖网拓扑结构,其主要拓扑结构有:1)带弦环;2)多维空间;3)超立方体;4)蝴蝶形;5)de Bruijin图;6)CCC;7)其他形状(如跳表)。所有结构化P2P网络都使用散列表(DHT)来将结点、数据对象映射到覆盖网中。为了使这种映射唯一、均匀、随机,分布式散列表都是用安全的一致散列函数。由非结构化P2P的容错性与安全性可知,结构化P2P网络的容错及安全性都较差。2.2 P2P技术的特点P2P以其独特的技术特点,成为当今文件共享的理想平台。P2P的技术特点主要体现在以下几个方面:(1)分散化:网络中的资源和服务分散在所有节点上,通过各个节点间的合作,直接在节点之间完成内容的传输和服务的实现,避免了中心存储和内容交换可能存在的瓶颈。(2)可扩展性:在P2P网络中,节点在获取资源的同时也为其它节点提供服务。(3)健壮性:P2P有很强的自适应性,天生具有耐攻击、高容错的优点。(4)高性能/价格比:随着硬件技术的发展,个人计算机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。采用P2P架构可以有效地利用互联网中散布的大量普通结点,将内容交换、计算任务或存储资料分布到所有结点上。2.3 P2P技术的流量特性前文中我们提到,P2P文件共享产生的流量是今天因特网最大的单项流量,下面我们就来分析P2P技术的流量特性。P2P流量特征具有上下行流量对称的特性,这使得直接面向用户的接入网络需要相应提高所能承载上行流量的能力。P2P相对随机的端口号,使得企业难以对内部的网络实行有效地监测和管理,加大了日常维护的难度。对于ISP,P2P应用的影响不仅增加了网络升级的难度,同时也将降低了网络的总体性能以及P2P本身的服务质量。用户可以选择高带宽接入以正常使用各种P2P应用,企业用户可以通过谨慎的企业内部安全规范的制订来保证网络的正常使用,而ISP成为P2P应用产生流量的最终承担者,设备升级速度加大,维护费用升高。有效识别和管理网络中的P2P流量成为ISP最为关心的问题。P2P的流量呈现出与传统流量不同的特性,P2P应用所产生的流量具有分布非均衡的特性、上下行流量的对称特性、流量的隐蔽性、数据集中性等。(1)非均衡特性:在网络中,大部分节点的数据流量都是从为数很少的一些节点获取。文献16对该流量分布的非均衡性做了比较详细的研究。文章认为,P2P中服务提供者的价值不应该只以高的链路带宽来刻画,还应考虑节点的可用时间。在实验结果中,系统只有20%的主机拥有93%以上的实际在线时间。不到20%的P2P节点拥有80%以上的P2P网络在线时间。而正是这些少数的长时间在线主机贡献了网络中的主要流量。文献17中的研究结果表明,研究者可通过仅仅监测网络中1%的节点来达到了解整个P2P网络中80%以上流量的目的。(2)对称性:在文献16中对上下行流量的对称特性进行了详细的研究,通过对P2P上下行流量比较得出结论,具有高带宽的用户通常会以更长的时间为其他的节点提供下载服务,上下行对称流量已经成为P2P网络流量区别于其他流量的主要特征。(3)隐蔽特性:它们通常使用随机端口或用户自定义端口,无法通过简单的端口识别P2P流量,目前常用的方法是通过特征码检测的方式识别P2P流量。P2P应用的特征码处在不断变化之中,加深了P2P流量的这种隐蔽特性。此外,对P2P节点之间传输文件的研究中发现,80%以上的P2P流量都是在不断地重复传播几个用户乐于获取的热点文件,这种热点文件的存在影响了P2P网络中的传输效率,针对P2P网络传输数据的高集中性,研究者提出了一系列包括文件缓存在内的解决方案。(4)集中性:这个特性已经成为网络服务提供商控制P2P域间流量以及提高P2P服务质量的基本理论依据。2.4 实现P2P标准化应用JXTA平台JXTA是为了构建P2P网络而制订的一组协议,是处理构建P2P网络所碰到的问题的解决方法。JXTA致力于为P2P应用提供一个P2P平台基础。其中包括一系列独立于语言,平台和网络技术之外的协议(假设并不知道网络的下层实现)。这些协议解决了P2P应用的基本需求。协议的设计目标是简单并且低成本,引用JXTA目标声明的话就是“每一个设备都有一个数字心跳”(every device with a digital heartbeat)。JXTA将会成为P2P应用的地层开发平台。现在的JXTA还处在初级阶段,未来它会逐渐成熟提供一个强壮的,可靠的框架给P2P计算。由于Java是构建异构环境下应用的首选所以它也是建立P2P应用的自然选择。目前JXTA的核心协议有:Peer Discovery Protocol(PDP)对等点发现协议;Peer Resolver Protocol(PRP) 对等点解析协议;Peer Information Protocol(PIP)对等点信息协议;Peer Membership Protocol(PMP)对等点成员协议;Pipe Binding Protocol(PBP)管道绑定协议;Endpoint Routing Protocol (ERP) 终点路由协议等。3 P2P技术的应用现状由于能够极大缓解传统架构中服务器端的压力过大、单一失效点等问题,又能充分利用终端的丰富资源,所以P2P技术被广泛应用于计算机网络的各个应用领域,如分布式科学计算、文件共享、流媒体直播与点播、语音通信及在线游戏支撑平台等方面。(1)分布式科学计算许多计算机的CPU资源并不是时刻保持峰值运转的,甚至很多时候计算机处于“空闲”状态,比如使用者暂时离开等情况。而P2P技术可以使得众多终端的CPU资源联合起来,服务于一个共同的计算。这种计算一般是计算量巨大、数据极多、耗时很长的科学计算。在每次计算过程中,任务(包括逻辑与数据等)被划分成多个片,被分配到参与科学计算的P2P节点机器上。在不影响原有计算机使用的前提下,人们利用分散的CPU资源完成计算任务,并将结果返回给一个或多个服务器,将众多结果进行整合,以得到最终结果。(2)文件分享当下中国最流行的文件下载方式恐怕要算是“BT”了。“BT”是BitTorrent的简称,是一种依赖P2P方式将文件在大量互联网用户之间进行共享与传输的协议,对应的客户端软件有BitTorrent、BitComet和BitSpirit等。由于其实现简单、使用方便,在中国用户之间被广泛使用。BitTorrent中的节点在共享一个文件时,首先将文件分片并将文件和分片信息保存在一个流(Torrent)类型文件中,这种节点被形象地称作“种子”节点。其他用户在下载该文件时根据Torrent文件的信息,将文件的部分分片下载下来,然后在其他下载该文件的节点之间共享自己已经下载的分片,互通有无,从而实现文件的快速分发。由于每个节点在下载文件的同时也在为其他用户上传该文件的分片,所以整体来看,不会随着用户数的增加而降低下载速度,反而下载的人越多,速度越快。(3)流媒体直播我们以华中科技大学集群与网格计算湖北省重点实验室研发的AnySee软件为例来介绍基于P2P技术的流媒体直播。他们是是中国最早研究P2P流媒体直播的小组之一,期望能够使得用户在网上任何时候任何地点都能观看多媒体直播节目。 AnySee的第一个版本基于树状结构:节目源是一个多播树的根节点,之后的节点被调度为其“儿子”或子树。每个节点向其父节点索要数据,并将数据提供给多个子节点。这样的结构可以使得节点快速加入到网络中,并且可以根据IP邻近原则构建起一棵IP多播树,使得节点加入位置都是和自己IP邻近的节点,从而优化服务质量。之后AnySee推出第二个版本,结合了原有的树状结构和流行的网状结构,使得“控制数据走树,媒体数据走网”,既能帮助节点快速定位到加入点,又能实现一定程度的负载均衡,并缓解了原有纯树状结构中底层节点和顶层节点之间播放时差较大的问题。最近的AnySee版本已经取消了树的结构,演化成了优化的网状结构(如图2所示),即每个节点维护一定数量的邻居成员,并从中选出最合适的“伙伴”节点与之交换数据。伙伴的数量既有上限又有下限,在不满足下限时,节点会不断寻找新的合适节点加入伙伴列表;在达到下限时,节点停止主动寻找伙伴的过程,但可以接受其他节点将其加入伙伴列表的请求;在达到上限时,节点不再和新的节点建立伙伴关系。(4)流媒体点播由于观看直播节目时用户不能选择观看指定片段,所以在人们热烈研究P2P流媒体直播时,已有人开始将目光转向P2P流媒体点播服务。目前成功推出P2P流媒体点播的机构还不多,典型的有GridCast系统、PPStream点播系统。GridCast也是一款由华中科技大学集群与网格计算湖北省重点实验室于2005年12月份成功研发并投入使用的对等视频点播系统,具有支持多人共享点播片段、跟踪(Tracker)服务器用户引导、环状结构内容组织等特点。由于一个点播频道的人数往往不会太多,所以在用户进行视频录放(VCR)操作时(即前后拖动播放点、暂停/继续播放等操作),能否快速将用户定位到观看该点节目的其他用户处就成了P2P点播技术的关键。为了实现快速定位,GridCast中采取了一种同心圆环的媒体内容组织结构。在每一个节目频道里,媒体内容按指数递增的区间进行划分,例如一个一个半小时的电影节目,可划分成0, 5、(5, 15、(15, 35、(35, 75和(75, END=90几段,其单位为分钟。每个节点记录几个正在观看各个段之间内容的节点。这样,在和AnySee类似的网状结构中,可以定期交换这种分段记录,从而,在某个用户拖动观看点时,可以快速定位到相应段的记录节点处,并从这些节点当时所观看的区间内得到大量备用记录以请求该区间媒体数据。此外,GridCast还根据用户习惯对数据调度策略进行优化。(5)IP层语音通信IP层语音通信(VoIP)是一种全新的网络电话通信业务,它和传统的PSTN电话业务相比有着扩展性好、部署方便、价格低廉等明显的优点。在全球范围内的VoIP应用中,由于通信各方可能处于不同的网络状况下,所以采取少数几个服务器来进行话音包中转不仅存在压力过大的问题,还可能无法为指定通信双方提供满意的通话质量保证。所以采取P2P技术动态自适应地根据通信双方网络进行链路控制与消息转发是可行的解决方案。目前风靡全球的Skype即是一款典型的P2P VoIP软件。Skype由于能够提供清晰的语音质量和免费的服务,使用起来又方便快捷,所以吸引了全球数千万的用户,每天在线用户达500万人,并且注册用户数每天增加15万。基本上,Skype采取类似KaZaA的拓扑结构,在网络中选取一些超级节点。在通信双方直连效果不好时,一些合适的超级节点则担当起其中转节点的角色,为通信双方创建中转连接,并转发相应的语音通信包。(6)网络游戏平台大型网络在线游戏和网络对战游戏是不少“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论