以下是百度百科资料:
点对点技术 点对点技术(peer-to-peer, 简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P网络通常用于通过Ad Hoc连接来连接节点。这类网络可以用于多种用途,各种档案分享软件已经得到了广泛的使用。P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。
纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。
有些网络(如Napster, OpenNAP, 或IRC @find)的一些租燃功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。类似Gnutella 或Freenet的网络则使用纯P2P结构来实现全部的任务。
历史
P2P 架构体现了一个互连网技术的关键概念,这一概念被描述在1969年4月7日第一份RFC文档“RFC1,主机软件”中。而最近,在不用中心索引服务器结构实现多媒体文件交换的背景下,这个概念已经变的非常普遍了。
纯P2P:
节点同时作为客户端和服务器端李晌。
没有中心服务器。
没有中心路由器。
杂P2P:
有一个中心服务器保存节点的信息并对请求这些信息的要求做出响应。
节点负责发布这些信息(因为中心服务器并不保存文件),让中心服务器知道它们想共享什么文件,让需要它的节点下载其可共享的资源。
路由终端使用地址,通过被一组索引引用来取得绝对地址。
混合P2P:
同时含有纯P2P和杂P2P的特点。
P2P网络的优势
P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。因此,当有节点加入且对系统请求增多,整个系统的容量也增大。这是具有一组固定服务器的C/S结构不能实现的,这种结构中客户端的增加意味着所有用户更慢的数据传输。
P2P网络的分布特性通过在多节点上复制数据,也增加了防故障的健壮性,并且在纯P2P网络中,节点不需要依靠一个中心索引服务器来发现数据。在后一种情况下,系统也不会出现单点崩溃。
当用P2P来描述Napster 网络时,对等协议被认为是重要的,但是,实际中,Napster 网络取得的成就是对等节点(就象网络的末枝)联合一个中心索引来实现。这可以使它能快速并且高效的定位可用的内容。对等协议只是一种通用的方法来实现这一点。
应用
点对点技术有许多应用。共享包含各种哪型锋格式音频,视频,数据等的文件是非常普遍的,实时数据(如IP电话通信)也可以使用P2P技术来传送。
有些网络和通信渠道,象Napster,OpenNAP,和IRC @find,一方面使用了C/S结构来处理一些任务(如搜索功能),另一方面又同时使用P2P结构来处理其他任务。而有些网络,如Gnutella 和 Freenet ,使用P2P结构来处理所有的任务,有时被认为是真正的P2P网络。尽管Gnutella 也使用了目录服务器来方便节点得到其它节点的网络地址。
学术性P2P网络
最近,宾夕法尼亚州立大学的开发者,联合了麻省理工学院开放知识行动,西蒙弗雷泽大学的研究人员,还有第二代互连网P2P工作组,正在开发一个P2P网络的学术性应用。这个项目称为LionShare,基于第二代网络技术,更详细地说是Gnutella模型。这个网络的主要目的是让众多不同学术机构的用户能够共享学术材料。LionShare网络使用杂P2P网络类型,混合了Gnutella分散的P2P网络和传统的C/S网络。这个程序的用户能够上传文件到一个服务器上,不管用户是否在线,都能够持续的共享。这个网络也允许在比正常小得多的共享社区中使用。
这个网络与当前正在使用的其他P2P网络的主要不同是LionShare网络不允许匿名用户。这样做的目的是防止版权材料在网络上共享,这同时也避免了法律纠纷。另一个不同是对不同组有选择性的共享个别的文件。用户能个别选择哪些用户可以接收这一个文件或者这一组文件。
学术社区需要这种技术,因为有越来越多的多媒体文件应用在课堂上。越来越多的的教授使用多媒体文件,象音频文件,视频文件和幻灯片。把这些文件传给学生是件困难的任务,而这如果用LionShare这类网络则容易的多。
法律方面
在美国法律中,“Betamax判决”的判例坚持复制“技术”不是本质非法的,如果它们有实质性非侵权用途。这个因特网广泛使用之前的决定被应用于大部分的数据网络,包括P2P网络,因为已得到认可的文件的传播也是可以的。这些非侵犯的使用包括发放开放源代码软件,公共领域文件和不在版权范围之内的作品。其他司法部门也可用类似的方式看待这个情况。
实际上,大多数在P2P网络上共享的文件是版权流行音乐和电影,包括各种格式(MP3,MPEG,RM 等)。在多数司法范围中,共享这些复本是非法的。这让很多观察者,包括多数的媒体公司和一些P2P的倡导者,批评这种网络已经对现有的发行模式造成了巨大的威胁。试图测量实际金钱损失的研究多少有些意义不明。虽然纸面上这些网络的存在而导致的大量损失,而实际上自从这些网络建成以来,实际的收入并没有多大的变化。不管这种威胁是否存在,美国唱片协会和美国电影协会正花费大量的钱来试着游说立法者来建立新的法律。一些版权拥有者也向公司出钱希望帮助在法律上挑战从事非法共享他们材料的用户。
尽管有Betamax判决,P2P网络已经成为那些艺术家和版权许可组织的代表攻击的靶子。这里面包括美国唱片协会和美国电影协会等行业组织。Napster 服务由于美国唱片协会的投诉而被迫关闭。在这个案例中,Napster故意地买卖这些并没有从版权所有者那得到许可发行的音像文件。
随着媒体公司打击版权侵犯的行为扩大,这些网络也迅速不断地作了调整,让无论从技术上还是法律上都难于撤除。这导致真正犯法的用户成为目标,因为虽然潜在的技术是合法的,但是用侵犯版权的方式来传播的个人对它的滥用很明显是非法的。
匿名P2P网络允许发布材料,无论合法不合法,在各种司法范围内都很少或不承担法律责任。很多人表示这将导致更多的非法材料更容易传播,甚至(有些人指出)促进恐怖主义,要求在这些领域对其进行规范。而其他人则反对说,非法使用的潜在能力不能阻止这种技术作为合法目的的使用,无罪推定必须得以应用,象其他非P2P技术的匿名服务,如电子邮件,同样有着相似的能力。
安全方面
许多P2P网络一直受到怀有各种目的的人的持续攻击。例子包括:
中毒攻击(提供内容与描述不同的文件)
拒绝服务攻击(使网络运行非常慢甚至完全崩溃)
背叛攻击(用户或软件使用网络却没有贡献出自己的资源)
在数据中插入病毒(如,下载或传递的文件可能被感染了病毒或木马)
P2P软件本身的木马(如,软件可能含有间谍软件)
过滤(网络运营商可能会试图禁止传递来自P2P网络上的数据)
身份攻击(如,跟踪网络上用户并且折磨或合法地攻击他们)
垃圾信息(如在网络上发送未请求的信息--不一定是拒绝服务攻击)
如果精心设计P2P网络,使用加密技术,大部分的攻击都可以避免或控制,P2P网络安全事实上与拜占庭将军问题有密切联系。然而,当很多的节点试着破坏它时,几乎任何网络也都会失效,而且许多协议会因用户少而表现得很失败。
计算技术展望
技术上,一个纯P2P应用必须贯彻只有对等协议,没有服务器和客户端的概念。但这样的纯P2P应用和网络是很少的,大部分称为P2P的网络和应用实际上包含了或者依赖一些非对等单元,如DNS。同时,真正的应用也使用了多个协议,使节点可以同时或分时做客户端,服务器,和对等节点。完全分散的对等网络已经使用了很多年了,象Usenet(1979年)和FidoNet(1984年)这两个例子。
很多P2P系统使用更强的对等点(称为超级对等点)作为服务器,那些客户节点以星状方式连接到一个超级对等点上。
在1990年代末期,为了促进对等网络应用的发展,SUN公司增加了一些类到java技术中,让开发者能开发分散的实时聊天的applet和应用,这是在即时通信流行之前。这个工作现在有JXTA工程来继续实现。
P2P系统和应用已经吸引了计算机科学研究的大量关注,一些卓越的研究计划包括Chord计划, ARPANET, the PAST storage utility, P-Grid(一个自发组织的新兴覆盖性网络),和CoopNet内容分发系统。
国内外现状
国外的P2P研究现状
国外开展P2P研究的学术团体主要包括P2P工作组(P2PWG) 、全球网格论坛(Global Grid Forum ,GGF) 。P2P工作组成立的主要目的是希望加速P2P计算基础设施的建立和相应的标准化工作。P2PWG成立之后,对P2P计算中的术语进行了统一,也形成相关的草案,但是在标准化工作方面工作进展缓慢。目前P2PWG已经和GGF合并,由该论坛管理P2P计算相关的工作。GGF负责网格计算和P2P计算等相关的标准化工作。
从国外公司对P2P计算的支持力度来看,Microsoft公司、Sun公司和Intel公司投入较大。Microsoft公司成立了Pastry项目组,主要负责P2P计算技术的研究和开发工作。目前Microsoft公司已经发布了基于Pastry的软件包SimPastry/ VisPastry。Rice大学也在Pastry的基础之上发布了FreePastry软件包。
在2000年8月,Intel公司宣布成立P2P工作组,正式开展P2P的研究。工作组成立以后,积极与应用开发商合作,开发P2P应用平台。2002年Intel发布了. Net基础架构之上的Accelerator Kit (P2P加速工具包) 和P2P安全API软件包,从而使得微软. NET开发人员能够迅速地建立P2P安全Web应用程序。
Sun公司以Java技术为背景,开展了JXTA项目。JXTA是基于Java的开源P2P平台,任何个人和组织均可以加入该项目。因此,该项目不仅吸引了大批P2P研究人员和开发人员,而且已经发布了基于JXTA的即时聊天软件包。JXTA定义了一组核心业务:认证、资源发现和管理。在安全方面,JXTA加入了加密软件包,允许使用该加密包进行数据加密,从而保证消息的隐私、可认证性和完整性。在JXTA核心之上,还定义了包括内容管理、信息搜索以及服务管理在内的各种其它可选JXTA服务。在核心服务和可选服务基础上,用户可以开发各种JXTA平台上的P2P应用。
国内的P2P研究现状
• 北京大学—Maze
Maze 是北京大学网络实验室开发的一个中心控制与对等连接相融合的对等计算文件共享系统,在结构上类似Napster,对等计算搜索方法类似于Gnutella。网络上的一台计算机,不论是在内网还是外网,可以通过安装运行Maze的客户端软件自由加入和退出Maze系统。每个节点可以将自己的一个或多个目录下的文件共享给系统的其他成员,也可以分享其他成员的资源。Maze支持基于关键字的资源检索,也可以通过好友关系直接获得。
• 清华大学—Granary
Granary是清华大学自主开发的对等计算存储服务系统。它以对象格式存储数据。另外,Granary设计了专门的结点信息收集算法PeerWindow的结构化覆盖网络路由协议Tourist。
• 华中科技大学—AnySee
AnySee是华中科大设计研发的视频直播系统。它采用了一对多的服务模式,支持部分NAT和防火墙的穿越,提高了视频直播系统的可扩展性;同时,它利用近播原则、分域调度的思想,使用Landmark路标算法直接建树的方式构建应用层上的组播树,克服了ESM等一对多模式系统由联接图的构造和维护带来的负载影响。
更详细介绍见〔中国计算机学会通讯 Page 38-51 郑纬民等 对等计算研究概论〕
企业研发产品
• 广州数联软件技术有限公司-Poco
POCO 是中国最大的 P2P用户分享平台 , 是有安全、流量控制力的,无中心服务器的第三代 P2P 资源交换平台 , 也是世界范围内少有的盈利的 P2P 平台。目前已经形成了 2600 万海量用户,平均在线 58.5 万,在线峰值突破 71 万,并且全部是宽带用户的用户群。 成为中国地区第一的 P2P 分享平台。[a]
• 深圳市点石软件有限公司-OP
OP-又称为Openext Media Desktop,一个网络娱乐内容平台,Napster的后继者,它可以最直接的方式找到您想要的音乐、影视、软件、游戏、图片、书籍以及各种文档,随时在线共享文件容量数以亿计“十万影视、百万音乐、千万图片”。OP整合了Internet Explorer、Windows Media Player、RealOne Player和ACDSee ,是国内的网络娱乐内容平台。[a]
• 基于P2P的在线电视直播-PPLive
PPLive是一款用于互联网上大规模视频直播的共享软件。它使用网状模型,有效解决了当前网络视频点播服务的带宽和负载有限 问题,实现用户越多,播放越流畅的特性,整 体服务质量大大提高!(2005年的超级女声决赛期间,这款软件非常的火爆,同时通过它看湖南卫视的有上万观众)
P2P技术下载可以在游戏更新系统 / P2P VOD点播系统 / 视频更新 / 文件BT传输分发下载等系统中广泛应用。
点量BT内核提供标准的BT功能支持,同时支持目前流行的各类BT扩展协议,是一个功能丰富的BT应用开发工具包。除了BT功能,还支持客户自定义协议,在基于BT架构的基础上,帮助实现自己的P2P网络通讯协议,构建自己的P2P用户群。
定制BT的功能简介:
标准BT协议支持:完全标准官方BT协议的支持,并支持常用的多项扩展协议,点量BT完全兼容各类BT应用软件。并且在现有的所有内核中,点量BT的兼容性是最好的,您可以使用点量示例程序察滚下载一个流行的种子文件,速度是目前内核中最好的。这主要是由于点量BT内核完全支持DHT和Peer交换等各项扩展协议,以及对BT协议做了很多优化。
极其方便的调用方式:采用标准DLL方式,调用方式完全类似于系统API (CreateFile等函数),结合作者完善的开发文档和演示代码,开发一个功能完善的BT应用软件,所需时间之短超出你的想象。
强大的跨平台支持:点量BT内核是目前最具有可移植性的BT内核之一,目前发布有Windows、Linux、Android、IOS等主流平台的支持版本(3.7.7以后版本)。如需要Windows CE等其他平台的支持,也可以联系我们交流定制开发。
支持私有Tracker协议:2013年底左右,我们接到用户反馈和测试发现,部分地区运营商启用了tracker协议的封锁,标准的Tracker协议在很多地区获取不到邻居节点,也就无法拥有下载速度。因此,我们新版加入了私有协议Tracker功能,但需要Tracker服务器支持,目前配合我们自主研发的点量BT高性能Tracker服务器可以解决这一问题,强烈建议老客户升级这一功能。(3.7.5以后版本)
极低的资源占用:点量BT的内存和CPU占用您可以通过测试了解,极低的资源占用以及高效稳定的传输速度,是您选择BT的最佳选择。 点量BT的CPU、内存、硬盘等资源是目前国内资源占用最低的内核,3.4版本以后,示例程序自动设置了8M的缓存,计算内存占用时可以考虑去除8M的缓存使用。其实早在点量BT的第一个版本,就已经做到了是国内最少资源占用和速度最稳定的的内核,3.4版本的优化使得资源占用有了进一步降低,体现了在BT内核领域我们的不懈追求和专业。
兼容uTorrent的UDP穿透传输:点量BT3.6以后版本支持兼容uTorrent等的udp穿透传输,对无法映射的用户可以自动适应进行udp穿透传输。并且,点量BT3.6版本的udp穿透传输功能,无需任何额外服务器资源,在p2p网络中自动适应穿透,根据网络类型自动判断适应。(3.6以后版本)
支持HTTP协议同时下载(P2SP):点量BT当前版本支持Http跨协议下载,一方面突破了国内很多网络环境对BT端口和协议的封锁,另一方面解决了无人供种时的下载问题。将一个Http地址作为P2P系统中的一个节点,实现了在Http服务器和P2P用户之间同时下载。 IIS的稳定性,以及一些使用了CDN的用户,可以用IIS作为上传源。
可调节不同网络下的性能参数:比如在千M局域网中,高速硬盘环境下,通过设历迅置该参数,可以实现单对单传输达50M/s以上的速度,多人同时下载时可以达到磁盘或者网络的极限。默认设置为适合绝大多数普通网络模式的用户配置。(3.6.3以后版本)
DHT网络支持:点量BT提供标准的DHT网络支持,并自动加入Bitcomet、官方Bittorent等流行客户端的DHT网络,共享整个BT网络内的用户资源,一方面解决了无Tracker状态下的文件下载,另一方面提高了下载速度。
可选zip压缩传输:在传输前可对文本型文件可以进行压缩,收到后自动解压,大大减少传输的数据量和节约带宽,适合文件夹中很多文本型文件的情况,比如一些游戏的资源文件。(3.6.3以后版本)
可自定义IO读写:可以自定义自己的IO读写函数,比如将文件在读写过程中加密、分块分布式存储等。并方便支持Android/IOS下的OTG等移动设备,以及Android下肢没此的SAF等IO框架。(3.7.8以后版本)
支持伪装Http协议:用于突破一些特殊环境下的封锁。(目前发现的有巴西、马来西亚等一些网络封锁需要启用该功能)。该功能可以和不启用的用户自动兼容。(3.6.3以后版本)
智能磁盘分配:支持全面预分配模式,此模式下可以文件下载前预先分配磁盘空间,减少磁盘碎片的产生;同时也支持边下载边分配的方式,用户可以根据需要自己选择。 在NTFS格式的磁盘系统,还支持SPARSE稀缺分配方式。
支持HTTP和UDP Tracker协议,支持多Tracker协议,支持等效Tracker报告。
高效的UPnP穿透:无需XP SP2的支持,实现各版本系统下的内网免配置。
支持PMP方式的内网穿透:新型的PMP穿透作为UPnP的补充,进一步提升内网穿透的效率 。
支持内网自动发现:在同一个局域网内有两个以上用户下载时,系统会进行自动寻找,尽量利用上局域网内部带宽,速度得到迅速提升。
支持兼容Bitcomet的padding_file技术:制作种子时可以选择是否对齐文件,如果对齐文件后,一个分块不会横跨2个大的文件,文件末尾不足一整块的,由小文件或者padding_file对齐。这种机制非常适合文件更新的应用,保证了一个种子文件中,一个文件的某些变化,不会影响到其它文件也需要更新。 而传统的BT技术如果做大型文件夹的更新,由于没有padding_file间隔开文件,一个分块可能横跨了两个文件,第一个文件如果长度发生了变化,该文件后面的所有数据的分块hash均会变化,这样,该文件后面的所有文件都可能需要重新下载。 所以,点量BT的padding_file技术大大减少了文件更新量。