【zz】P2P技术简介—by红瞳

来源:互联网 发布:淘宝外卖和美团外卖 编辑:程序博客网 时间:2024/04/30 20:44

P2P技术简介—by红瞳

转载自:http://darken99.spaces.live.com/blog/cns!6b19436cd6f6de66!148.entry

点对点技术与点对点协议的区别
点对点(Peer-To-Peer),通常简写为P2P。所谓网络中的点对点,其实可以看成是一种对等的网络模型。P2P技术实现网络上不同计算机之间,不经过中继设备直接交换数据或服务的一种技术。P2P技术允许网络中任一台计算机可以直接连接到网络中其他计算机,并与之进行数据交换。
而点对点协议(Point-To-Point Protocol)缩写为PPP,是TCP/IP网络协议包的一个成员。PPP是TCP/IP的扩展,它可以通过串行接口传输TCP/IP包,并增加了授权机制,该协议主要应用于传统MODEM拨号的通信方式。目前ADSL MODEM拨号上网方式则基于PPPoE技术(PPP over Ethernet),即虚拟拨号方式。
 
P2P网络模型
P2P作为一种网络的模型,它有别于传统的客户/服务器模型。客户/服务器模型一般都有预定义的客户机和服务器。而在P2P模型转并没有明确的客户端和服务器,但其实在P2P模型中,每一台计算机既可以看成是服务器,也可以看成是客户机。在网络中,传统上的客户机/服务器通讯模型中,发送服务请求或者发送数据的计算机,一般称为客户机;而接收、处理服务或接收数据的计算机称为服务器。而在P2P网络模型中,计算机不仅接收数据,还有发送数据,不仅提出服务请求,还有接收对方的服务请求。更简单的说,在以P2P技术为核心的网络中,每一台计算机的地位都是对等的,既是客户机又是服务器。
 
静态配置模型
静态配置模型是一种相对静态而简单的对等点定位模型。在该模型中,每个对等点都确切地知道存在于其P2P 网络中其它对等点的位置以及它们所提供的共享资源内容。
缺点:网络无法应付不能预知的随机事件和临时变更,比如对等点随机进入和退出网络。
 
动态配置模型
分布式
它由许多对等点组成,这些对等点在功能上很类似。没有专门的目录服务器。对等点必须使用它们所在的网络来定位其它对等点。没有一个对等点知道整个网络的结构或者组成网络的每个对等点的身份。希望知道网络中另一个对等点的位置时,它就发出一个查询请求并传递给邻居(网络上最近的P2P计算机)。这些邻居尝试满足这个请求。如果这些邻居不能完全满足这个请求,就将请求传递给它们的邻居。
缺点:容易导致网络拥塞,对大型网络应用并不适合。
优点:在查询过程中具有较大的灵活性。
目录式
在目录式模型中,一台或多台有特殊用途的服务器为对等点提供目录服务。对等点向目录服务注册关于自身的信息(其名称、地址、资源和元数据),并通过根据目录服务器中信息的查询,使用目录服务来定位其它对等点。Napster模型是一种典型的使用动态配置模型(目录式)的网络模型。
混合式
目录式P2P有利于网络资源的快速检索,并且只要服务器能力足够强大就可以无限扩展,但是其中心化的模式容易遭到直接的攻击;分布式P2P解决了抗攻击问题,但是又缺乏快速搜索和可扩展性。混合式P2P结合了目录式和分布式P2P的优点,在设计思想和处理能力上都得到了进一步的优化。它在分布式模式的基础上,将用户节点按能力进行分类,使某些节点担任特殊的任务。这些节点共分为3种: 
-->用户节点:普通节点,它不具有任何特殊的功能。
-->搜索节点:处理搜索请求,从它们的“孩子”节点中搜索文件列表,这些节点必须有128 kbit/s RAM的网络连接速度,建议使用高性能的处理器。
-->索引节点:连接速度快、内存充足的节点可以作为索引节点。索引节点用于保存可以利用的搜索节点信息,并搜集状态信息,维护网络结构信息。
 
P2P应用模型与实例
P2P引导网络计算模式从集中式向分布式偏移,也就是说网络应用的核心从中央服务器向网络边缘的终端设备扩散:服务器到服务器、服务器到PC机、PC机到PC机,PC机到WAP手机……所有网络节点上的设备都可以建立P2P对话。这使人们在Internet上的共享行为被提到了一个更高的层次,使人们以更为主动的方式参与到网络中去。 也许正如I2(第二代互联网)之父Doug. Van Houweling 在几个月前的中国之行时说到的:“下一代互联网民们将真正参与到网络中来,每个人都能为网络的资源和功能扩展作出自己的贡献。”
从目前的应用来看,P2P的作用主要体现在大范围的共享、搜索的方面,主要包括网络上五大类型的应用:对等计算、协同工作、搜索引擎、内容发布、分布式存储。
 (1)对等计算
通过众多计算机来完成超级计算机的功能,一直是许多科学家致力研究的重要技术。采用P2P技术的对等计算,可以将网络中的众多计算机暂时不用的计算能力连结起来,使用积累的能力执行超级计算机的任务。简单地说,对等计算就是网络上CPU资源的共享,因此任何需要大量数据处理的行业都可从对等计算中获利,如天气预报、动画制作、基因组的研究等,有了对等计算之后,在许多计算领域就不再必须购买昂贵的超级计算机。在硅谷现在有许多公司正在投入对等计算的开发,如Popular Power,Centrata,United Devices,Entropia等,并获得了巨大的风险资金。Intel也利用对等计算技术来设计其CPU,由于目前对等计算的发展是以PC机资源的有效利用为根本出发点的,因此自然也极力受到Intel的极力推崇。
在第二代互联网络中,网格技术与P2P有着深刻的渊源,由于从计算模式上看,P2P更加符合分布式计算的理念。其所倡导的计算能力边缘化、计算资源共享等思想,刚好与网格技术不谋而合。通过P2P软件,我们可以在不改变原有基础设施的基础上,实现对底层计算资源的控制和调用。因此,在未来的二代互联网络中,P2P技术有可能承担起一个非常重要的角色。
(2)协同工作
网络的出现,使公司中不同部门的协同工作成为可能。WEB方式虽然从系统建立和维护角度为办公工作提供了相当大的便利,但从另一个角度说,集中式的管理也给服务器带来了极大的负担,造成了昂贵的成本支出。P2P技术的出现,使得互联网上任意两台PC都可建立实时的联系,虽然现在P2P技术具有异常大的安全风险,但若能解决这些安全风险,那么P2P技术就可以帮助企业和关键客户以及合作伙伴之间建立起一种安全的、快速的、低成本的网上工作联系方式。因此基于P2P技术的协同工作方案受到了极大的重视。Lotous公司的创始人奥奇更是获得了6000万美元的风险投资,来开发其协同工作产品Groove。
 (3)搜索引擎
P2P技术使用户能够深度搜索文档,而且这种搜索无需通过Web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎(只能搜索到20%-30%的网络资源)难以达到的深度(理论上将包括网络上的所有开放的信息资源)。以P2P技术发展的另一先锋Gnutella进行的搜索为例:一台PC上的Gnutella软件可将用户的搜索请求同时发给网络上另外10台PC,如果搜索请求未得到满足,这10台PC中的每一台都会把该搜索请求转发给另外10台PC,这样,搜索范围将在几秒钟内以几何级数增长,几分钟内就可搜遍几百万台PC上的信息资源。可以说,P2P为互联网的信息搜索提供了全新的解决之道。著名的搜索引擎公司Google也宣称要采用P2P技术来改进其搜索引擎,一家名为Infrasearch的新建公司也因为开发P2P技术的搜索引擎而获得了一笔巨额风险投资。
 (4)内容发布
可以说内容发布的需求直接引发了P2P技术热潮。在WEB和FTP方式中,要实现内容需要服务器的大力参与,通过将文件上传到某个特定的网站,用户再到某个网站搜索需要的文件,然后下载,若下载用户很多,则对网站的网络吞吐能力提出了极高的要求。Napster就是在这样的情况下横空出世,它抓住人们对MP3的需求,在不长的时间里就风靡整个北美,可以说,Napster的MP3发布方式直接引发了网络的P2P技术革命。随后的中国,则是所谓的BT下载大行其道,不仅在很短的时间内如雨后春笋般建立起大量免费视音频、软件、动漫BT下载站,连一些游戏公司的客户端都支持甚至只支持BT下载方式。
P2P在内容发布方面有着相当强大的能力,其对网上存储设备和带宽的充分利用,在存在大量用户的情况下,下载速度可以达到非常高的程度,从时下流行的BT下载几乎成为下载服务的主流,就可以看出这一点。BT将中心目录服务器的稳定性同优化的分布式文件管理结合起来,从而在效率上远远超出了它的前辈。它要求提供一个或多个统一的Web发布服务器,以供发布和搜寻资料。在客户端,它通过一个IE插件提供下载、上传管理。BT把一份大文件切割成碎片,为每一个碎片标上特殊标识,用户无需到一个固定地点(例如传统网络的中心服务器)上下载完整的文件,系统会自动寻找、随机下载具有相同标识的文件碎片,将其加以整合成为完整的文件。
除了文件下载,视频点播和IPTV都看到了这个技术所能起到的作用,因此出现了诸如CoolStreaming、PPLive、沸点网络电视等IPTV工具。这类工具的后台,就是应用了P2P技术,观看的人数越多,播放效果就越好。
 (5)分布式存储
网络中的各个节点可以共享存储空间,发送出去的数据可以备份到多个节点上。每个需要备份的数据片段都被分割为多个冗余片段,而且要经过加密和分配,这样才能确保即使某些片段消失,通过分布式备份的众多片段也能重建原来的数据。目前,IBM、HP都开始采用基于P2P的开放式存储技术,以加快数据备份的速度,以期降低用户成本。
 
声明:除BLOG引用外,转载请注明出处!
 
P2P技术展望
国内P2P应用
国内P2P市场从2000年开始启动。目前,国内P2P的应用主要围绕两个方向:内容发布和即时通信。和国外P2P市场的多点开花的竞争态势有所不同,国内P2P市场的竞争焦点相对集中,无论公司实力还是用户规模,即时通信类产品与内容发布交换类产品,都占据明显的优势。竞争焦点的集中加速了同类产品的优胜劣汰,对这两类P2P产品整体水平的提高起到了重要的作用。目前,国内市场上主要有完全免费产品:workslink、Poco 、KuGoo(酷狗)、 ezPeer(易载) 、百宝、QQMessenger、KDT个人版;部分收费产品:Kuro、Openext、PP点点通、QQ、KDT企业版等等。在IPTV方面,则有CoolStreaming、PPLive、沸点网络电视等。
值得关注一点是,上海鹰腾公司基于P2P技术推出了PASP_E—school实时交互多媒体在线课堂教学软件。这也是目前国内市场上罕见的应用于教育的P2P产品。
在利用P2P技术面向企业应用方面,workslink2.0构建了一个通用的文件交换平台和即时通讯平台,这为企业员工进行协同工作带来了很多便利。
P2P的发展障碍
版权问题
Napster让人们开始关注P2P,但也使得许多人认为P2P就是歌曲交换、文件交换,甚至认为P2P和盗版有着必然的联系,尤其是Napster的败诉更加强了人们认为P2P就是盗版的认识。
但是,我们也应该看到,保护版权对P2P共享软件并非就是坏消息。Napster的败诉对其也有积极的一面。表面上看,Napster输了官司,但这也意味着其商业机会的出现。在此之前,Napster向用户收费似乎很困难,但法庭判决之后它只能与唱片公司合作,对有版权的音乐向用户收费。这种情况下,用户的观念也在慢慢改变,因为不可能永远免费下载MP3,只要价格合理,服务到位,用户是能够接受付费下载的。
安全与管理
无论是P2P的企业用户或是个人用户,安全性与可管理性是首先要考虑的问题。个人用户担心别人下载自己的东西时,是否能够进入非共享的目录;自己下载别人的东西时又担心会不会传染电脑病毒。对以娱乐应用为主的P2P用户来说或许安全问题并不重要,但对企业用户就不同了。由于涉及到一些商业机密文件的传输,安全问题就非常重要。对于那些想利用P2P技术构建企业内部通讯系统的公司来讲,P2P网络的安全与管理也是最大难题。
此外,相对于传统客户/服务器模式的服务器可以做主动和被动的防御,由于P2P节点安全防护手段的匮乏以及P2P协议缺乏必要的认证机制和计算机操作系统的安全漏洞,还由于P2P从其本质上说,会穿越防火墙进行点对点的通信,因此安全问题在P2P网络中极为严重。
标准问题
P2P技术应用所面临的困难还包括标准问题。在国外,Intel、Sun、Microsoft等公司都在制定自己的标准,国内公司目前还处于初步市场竞争阶段。P2P最大的优点在于能够提供可靠的信息查询,但从社会和法律意义来说,绝大多数的P2P服务都将不可避免地遇到知识产权冲突,也可能成为一些非法内容传播的平台。同时由于缺乏中心监管以及自由平等的动态特性,自组织的P2P网络在技术层面也有许多难以解决的问题。
道德问题
从某种意义上来说,P2P网络和人际网络具有一定的相似性。一般来说,每个P2P网络都是众多参与者按照共同兴趣组建起来的一个虚拟组织,节点之间存在着一种假定的相互信任关系,但随着P2P网络规模的扩大,这些P2P节点本质所特有的平等自由的动态特性往往与网络服务所需要的信任协作模型之间产生矛盾。激励作用的缺失使节点间更多表现出“贪婪”、“抱怨”和“欺诈”的自私行为,因此P2P中预先假设的信任机制实际上非常脆弱,同时这种信任也难以在节点之间进行推理,导致了全局性信任的缺乏,这直接影响了整个网络的稳定性与可用性。事实上,目前公网BT用户往往大幅度限制上载速度,这已经说明在P2P网络中,完全乐于共享渐渐成为理想情况下的状态。
网络资源问题
由于P2P网络中的节点本身往往是计算能力相差较大的异构节点,每一个节点都被赋予了相同的职责而没有考虑其计算能力和网络带宽,局部性能较差的点将会导致整体网络性能的恶化,在这种异构节点的环境中难以实现优化的资源管理和负载平衡。同时,由于用户加入离开P2P网络的随意性使得用户获得目标文件具有不确定性,导致许多并非必要的文件下载,而造成大量带宽资源的滥用。特别是大多数P2P用户更喜欢传送音频、视频这些较大的媒体文件,这将使得带宽浪费问题更为突出,尤其在中国大量的用户还是拨号用户,较窄的带宽也成为P2P应用难以逾越的障碍。
另外,P2P的方式就意味着原本并非使用于服务器的个人计算机资源:如CPU、硬盘等都会因为共享而增加损坏率。经常使用BT下载的用户往往都为了BT专门购置硬盘就可以说明这一点。
P2P技术发展前景
P2P技术在最近几年获得了高速的发展,也出现了较多应用,但截至目前,P2P中仍有很多的关键技术问题并没有得到解决,其中最典型的就是带宽吞噬、网络可扩展性差和路由效率低下等问题。这导致P2P至少在目前的技术水平而言只能是一种小范围不可靠的应用或是满足特定任务需求的专门应用。并且,作为一种潜在的商业应用,如何在P2P网络中有效地保护知识产权以及如何设计盈利模式将会面临更为严格的考验。
未来的网络将呈现大规模分布式、全球性计算和全球性存储的特征,从长远的趋势来看,对于访问和传输服务的需求必将远远大于对于计算功能的需要。尽管P2P技术现在还不成熟,但是迄今为止,至少在理论上P2P仍是最有吸引力的个人通信技术。尤其是P2P与网格技术的结合将是分布式计算技术最有吸引力的发展趋势,虽然现在还没有成熟的方案,但随着分布式系统经典问题的解决以及优化的资源动态分配和资源恢复技术的成熟,P2P与网格技术也许能结合起来,以影响整个计算机网络的概念和人们的信息获取模式。
个人总结
P2P技术,从字面意思上,可以理解为对等网络技术。也就是所有处于P2P体系内的计算机、带宽、内容等资源,都是被共享的自由使用的。如某个用户在某P2P体系中获取某类服务时,不再需要总是连接在遥远的服务器上,而是可以通过离他最近的一台或多台计算机获得(从这个角度说,P2P体系非常近似于由用户自己提供的CDN)。但是这个概念,仅仅是一个理想状态下的描述。事实上,P2P技术在未来的发展过程中,不可避免的要被加以大量限制,如微软正在开发的P2P产品,将只限于被其DRM技术所加密的产品发布;DataSynapse公司将P2P技术应用在局域网范围的计算资源共享等等。
虽然目前P2P被市场炒的很热,但我仍然认为P2P技术有一些无法回避的难题,如上文所述的道德问题,还有其技术核心理念所带来的安全问题,并不是通过某些技术革新就可以解决的,因此P2P进入主流技术行列还需要进行基本理念上改造。
尤其需要注意的是,资源共享这个概念,自古就是由弱势者提出,并借以推翻当前格局的口号,就象农民起义通常所用的“均田地”。但是,在通常由强势者作为主导者所书写的历史中,资源共享永远是最美好的想法,而不可能得到彻底的实施。因此,基于共享理念的P2P技术只有得到社会中上层的支持,并在资源共享方面能有效实施控制时,才有可能步入主流技术之列。
但是,P2P技术有其相当优秀的一面,当用户量比较大时,基于P2P技术的内容发布系统本身将不会承担很高的负载,因此可以大幅度降低发布成本。而且,通过这一技术,也可以在一定程度上保障服务的质量(当然,我们也必须看到,这种方式提供的服务质量一定是不稳定的)。
在校园梦网的平台上,我们目前可以将P2P技术应用在:
-->  提供数字产品的BT下载
-->  基于P2P的视、音频点播和直播
-->  在线教育
-->  即时通信
至于版权问题,事实上P2P技术对版权保护并没有什么直接责任。如采用DRM加密的数字产品,是在发布前就统一进行的加密工作,在用户获得后,使用前也必须到License服务器上进行认证,因此完全可以通过P2P技术进行发布。
最后,不得不提到将要来临的第二代互联网及IPV6技术,由于第二代网络IP地址的极大丰富,或有可能实现所有用户的实名上网(用户与IP地址进行绑定)。在这种情况下,用户的诚信将得到相当大的保障,犯罪成本也会大幅度提高(更容易抓住网络犯罪份子),也许P2P技术将获得更大的发展空间。