对等网络

对等式网络（peer-to-peer，简称P2P），又称为点对点技术，是去中心化的互联网架构、依靠使用者之间（即节点或 peers）直接交换资讯，其主要目的是减少传统网络传输中对单一节点的依赖，进而降低资料遗失的风险。不同于以中央服务器为核心的集中式网络系统，对等网络中的每个节点既是用户端，也是服务器，具备双重功能。节点之间无法直接搜寻其他节点，而是透过整体使用者群体进行资讯交流与连结。

P2P节点能遍布整个互联网，也给包括开发者在内的任何人、组织或政府带来监控难题。P2P在网络隐私要求高和文件共享领域中，得到了广泛的应用。使用一般型P2P技术的网络系统有比特币、Gnutella或自由网等。另外，P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。有些网络（如Napster、OpenNAP、IRC @find）包括搜索的一些功能，也使用客户端-服务器结构，而使用P2P结构来实现另外一些功能。这种网络设计模型不同于客户端-服务器模型，在客户端-服务器模型中通信通常来往于一个中央服务器。

## 历史

<image>

P2P架构体现了一个网际网路技术的关键概念，这一概念被描述在1969年4月7日第一份RFC文档“RFC 1，主机软件”中。在不用中心索引服务器结构交换多媒体文件的大趋势下，这个概念已经得到广泛普及。

## 分类

### 根据中央化程度

- 一般型P2P
- 节点同时作为客户端和服务器端。
- 没有中心服务器。
- 没有中心路由器。
- 如Gnutella。
- 特殊型P2P
- 有一个中心服务器保存节点的信息并对请求这些信息的要求做出响应。
- 节点负责发布这些信息（因为中心服务器并不保存文件），让中心服务器知道它们想共享什么文件，让需要它的节点下载其可共享的资源。
- 路由终端使用地址，通过被一组索引引用来取得绝对地址。
- 如最原始的Napster。
- 混合型P2P
- 同时含有一般型P2P和特殊型P2P的特点。
- 如Skype。

### 根据网路拓扑结构

- 结构P2P
- 点对点之间互有连结资讯，彼此形成特定规则拓扑结构。
- 需要请求某资源时，依该拓扑结构规则寻找，若存在则一定找得到。
- 如Chord、YaCy、Kademlia。
- 无结构P2P
- 点对点之间互有连结资讯，彼此形成无规则网状拓扑结构。
- 需要请求某资源节点时，以广播方式寻找，通常会设TTL，即使存在也不一定找得到。
- 如Gnutella。
- 松散结构P2P
- 点对点之间互有连结资讯，彼此形成无规则网状拓扑结构。
- 需要请求某资源时，依现有资讯推测寻找，介于结构P2P和无结构P2P之间。
- 如Freenet、Zeronet。

## P2P网络的优势

P2P网络的一个重要的目标就是让所有的客户端都能提供资源，包括带宽，存储空间和算力。因此，当有节点加入且对系统请求增多，整个系统的容量也增大。这是具有一组固定服务器的Client-Server结构不能实现的，因为在上述这种结构中，客户端的增加意味着所有用户更慢的数据传输。

P2P网络的分布特性通过在多节点上复制数据，也增加了防故障的健壮性，并且在一般型P2P网络中，节点不需要依靠一个中心索引服务器来发现数据。在后一种情况下，系统也不会出现单点崩溃。

当用P2P来描述Napster 网络时，对等协议被认为是重要的，但是，实际中，Napster 网络取得的成就是对等节点（就像网络的末枝）联合一个中心索引来实现。这可以使它能快速并且高效的定位可用的内容。对等协议只是一种通用的方法来实现这一点。

## 应用

<image>

点对点技术有许多应用。共享包含各种格式音频，视频，数据等的文件是非常普遍的，即时数据（如IP电话通信，Anychat音视频开发软件）也可以使用P2P技术来传送。

有些网络和通信渠道，像Napster、OpenNAP和IRC@find，一方面使用了主从式架构结构来处理一些任务（如搜索功能），另一方面又同时使用P2P结构来处理其他任务。而有些网络，如Gnutella和Freenet，使用P2P结构来处理所有的任务，有时被认为是真正的P2P网路。尽管Gnutella也使用了目录服务器来方便节点得到其它节点的网络地址。

点对点技术亦常应用于加密货币上。比特币的白皮书标题正是“一种点对点式的电子现金交易系统”。对等网络中每个节点的地位相当，没有任何节点属于中央控制地位，也没有任何节点扮演交易中介的角色；网络中每个节点既是服务端，亦是用户端；节点可以选择随时加入，随时退出；节点可以选择运行所有的功能，也可以选择运行部分的功能；节点越多，整个系统的运算能力越强，数据安全性越高，抗破坏能力越强。比特币便是采用了这种P2P网络协议，其后的许多加密货币，如以太坊﹑ EOS 等仍然继续采用。

### 学术性P2P网络

2015年1月28日，宾西法尼亚州立大学的开发者，联合了麻省理工学院开放知识行动，西蒙弗雷泽大学的研究人员，还有第二代网际网络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技术的匿名服务，如电子邮件，同样有着相似的能力。

重要案例：

- 美国法律
- Sony Corp. vs Universal City Studios ( Betamax判决)
- MGM vs Grokster

### 安全方面

许多P2P网络一直受到怀有各种目的的人的持续攻击。例子包括：

- 中毒攻击（提供内容与描述不同的文件）
- 拒绝服务攻击（使网络运行非常慢甚至完全崩溃）
- 背叛攻击（吸血）（用户或软件使用网络却没有贡献出自己的资源）
- 在数据中插入病毒（如，下载或传递的文件可能被感染了病毒或木马）
- P2P软件本身的木马（如，软件可能含有间谍软件）
- 过滤（网络运营商可能会试图禁止传递来自P2P网络上的数据）
- 身份攻击（如，跟踪网络上用户并且进行不断骚扰式的或者是用合法性地攻击他们）
- 垃圾信息（如在网络上发送未请求的信息—不一定是拒绝服务攻击）

如果精心设计P2P网络，使用加密技术，大部分的攻击都可以避免或控制，P2P网络安全事实上与拜占庭将军问题有密切联系。然而，当很多的节点试着破坏它时，几乎任何网络也都会失效，而且许多协议会因用户少而表现得很失败。

2007年4月23日，CA公司发表资安警讯，指出Foxy、BitComet、eDonkey、µTorrent、Ares、Azureus、BearShare、Lphant、Shareaza、Hamachi、exeem lite、Fpsetup、Morpheus (档案分享软件)、iMesh等14款P2P软件都存在安全威胁，这些P2P软体的潜在威胁来源包括可能会覆写档案，为档案重新命名，删除档案，被第三方植入恶意程式等。

## 计算技术展望

技术角度严格来讲，对等网络双方严格对等并同等地提供和使用数据，没有服务器和客户端的区别。但这样的一般型P2P应用和网络少之又少，大部分称为P2P的网络和应用实际上依赖或包含像DNS这样的一些非对等单元。同时应用中实际也使用了多个协议，使节点可以同时或分时成为客户端、服务器、和对等节点；譬如Usenet(1979年)和FidoNet(1984年)这样已经使用多年完全的分布式对等网络。

很多P2P系统使用更强的对等点（称为超级对等点(Super Node)）作为服务器，那些客户节点以星状方式连接到一个超级对等点上。

在1990年代末期，早在即时通讯流行之前，为了促进对等网络应用的发展，昇阳（SUN）公司在Java技术中增加累一些类，以便开发者能开发不受控于中心服务器的实时聊天applet及应用。这个工作现在由JXTA工程来继续。

P2P系统和应用已经吸引了计算机科学研究的大量关注，在这一领域有包括Chord计划，ARPANET，the PAST storage utility，P-Grid（一个自发组织的新兴覆盖性网络），和CoopNet内容分发系统在内的一系列卓越的研究计划。

## 限制

### 中华人民共和国

P2P技术在中国法律方面处于空白状态，原则上不受中国政府的官方限制。但由于P2P技术会大量占用网络带宽，并且由于中国的网络设施的现状和中国对网络管理的态度，都不同程度的对P2P通讯方式有所限制。

目前中国各大ISP对网络接入都进行了限速，对占用带宽的应用比如P2P，会采取措施，常用的手段有限制TCP连接数，封锁P2P协议，限制下载/上传速度等。但是由于这些行为大部分都是秘密进行，因此中国众多P2P使用者称，此举严重侵犯了他们的知情权和使用权。在中国，被限制最多的P2P软件是BitTorrent系列软件和eMule。

在日趋稀少的IPv4地址资源的情况下，中国大部分地区开始采用“大内网”的方式，减少对IP地址资源的消耗，即大部分的家庭及个人用户将连接ISP的路由器，使用网络地址转换方式连接外部网络。因NAT和部分P2P协议的限制，导致P2P软件大多只能在内网进行传输，对P2P产业链产生了很大影响。

此外，中国出于对国内产业支持和信息控制的考虑，也会限制一些P2P方式的即时通讯软件。中国信息产业部曾发文要求VOIP只能在指定的网络运营商进行试验，并有地区封杀skype，不过也有官员对此否认并说明只是针对PC-Phone。

2009年12月，中国广电总局以无视听许可证为由，由工信部撤消了Btchina网站的备案号，使其被迫关站。此次行动还影响了包括悠悠鸟论坛等BT站点。

### 日本

在日本，根据日本现行著作权法，日本境内一切免费提供商业软件/或其他数据下载的网站均属非法。违法情节严重的可被判处有期徒刑，同时处以罚款。BitTorrent系列软件和eMule均被禁止。但因为Share和Winny软件的存在，P2P技术在日本仍然流行。这两款软件都采用了IP加密和数据加密的技术，目前日本有几百万人使用这两款软件来交流动画，游戏，音乐，软件等数据，但显然警方已经掌控了追查使用者的方法。2008年5月9日，三名在share上发布大量版权保护作品的职人遭到逮捕。这两款软件的流行也带来了一些负面问题，比如机密资料的泄漏和计算机病毒的传播。

### 新西兰

在新西兰，根据新西兰2011年9月实施的版权法，新西兰境内下载受版权保护的内容为违法，主要针对的就是P2P技术的下载。如果下载的内容收到版权方提诉，ISP会根据用户在下载的时间评估，如有版权侵犯，用户将被警告，警告三次将被罚款15000新西兰元，约合75000人民币。不过需要注意的是对于在线观看以及文件寄存类网站却不在此次罚款范围内。也就是说用户通过Torrent软件的BT种子下载一个受版权保护的作品可能会被罚款，但是如果利用离线文件下载方式则不会受到惩罚。而且在新西兰收版权保护的版权所有者通常仅包括欧美一些公司，所以对当地华人来说，即使使用p2p技术下载中国，韩国等亚洲地区综艺电影同样不会被提诉。

## 参考文献

- 内政部警政署刑事警察局科技犯罪防制中心， 〈小心使用P2P软件，以免你的个人档案也分享出去〉，2006年11月27日。
- Taiwan.CNET.com新闻专区， 〈CA点名多家P2P软件藏危机〉，2007年4月23日。
- Ross J. Anderson. The eternity service . In Pragocrypt 1996, 1996.
- Stephanos Androutsellis-Theotokis and Diomidis Spinellis. A survey of peer-to-peer content distribution technologies . ACM Computing Surveys, 36(4):335–371, December 2004. doi:10.1145/1041680.1041681.
- Biddle, Peter, Paul England, Marcus Peinado, and Bryan Willman, The Darknet and the Future of Content Distribution . In 2002 ACM Workshop on Digital Rights Management, 18 November 2002.
- Antony Rowstron and Peter Druschel, Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems. In proceedings Middleware 2001 : IFIP/ACM International Conference on Distributed Systems Platforms. Heidelberg, Germany, November 12-16, 2001. Lecture Notes in Computer Science, Volume 2218, Jan 2001, Page 329.
- Andy Oram et al., Peer-to-Peer:Harnessing the Power of Disruptive Technologies, Oreilly 2001
- I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of SIGCOMM 2001, August 2001.
- Ralf Steinmetz, Klaus Wehrle (Eds). Peer-to-Peer Systems and Applications. ISBN 3-540-29192-X, Lecture Notes in Computer Science, Volume 3485, Sep 2005

## 外部链接

- Glossary of P2P terminology
- Foundation of Peer-to-Peer Computing , Special Issue, Elsevier Journal of Computer Communication, (Ed) Javed I. Khan and Adam Wierzbicki, Volume 31, Issue 2, February 2008
- Ross J. Anderson. The eternity service . In Pragocrypt 1996, 1996.