档案分享

档案分享（File sharing）是指主动地在网络上（互联网或小的局域网）分享自己的计算机文件。一般档案分享使用P2P模式，文件本身存在用户本人的个人电脑上。大多数参加档案分享的人也同时下载其他用户提供的分享文件。有时这两个行动是连在一起的。

## 历史

文件最初是在可移动媒体上交换的。计算机能够通过安装文件系统、bulletin board系统(1978)、Usenet(1979)和FTP服务器(1970年代)访问远程文件。多人在线交谈系统(1988)和热线(1997)使用户能够通过聊天进行远程通信和文件交换。Mp3编码于1991年被标准化，大大减少了音频文件的大小，并在20世纪90年代末得到广泛使用。1998年，MP3.com和Audiogalaxy成立，《数字千年版权法》获得一致通过，推动了第一批mp3播放器的问世。

## 网络结构

档案分享有多个重要的问题，其中两个最重要，第一个问题是中央集中制还是分散制，第二个是用户的隐私权和匿名性。后者在版权拥有者对一些档案分享用户起诉后成为了一个重要问题。第三个问题是使用所谓的“间谍软件”收集和出卖用户数据。

早年的客户端程序只接受一种协议，因此一个客户端程序要么只接受Napster要么只接受Gnutella。当时有一种在客户端建立一个使用多种协议的软件的运动。这个运动最主要的目的是一个用户没有必要使用不同的程序来做同一件事。

有时有的人分享的文件非常受人欢迎，这样许多人会想从他那里获得这个文件，这有可能导致这个人的系统无法满足所有的需要。分散制是减轻这个问题的一个办法，尤其是假如有许多人在分享这个文件的话，那么这个文件可以从不同的地方来获取。

分散制也被用来解决对中央集中制的威胁，这个威胁即可以来自法律控告，也可能来自敌对的用户。一个分散的网络无法被整个地攻击，攻击者只能对其个别成员进行攻击，而整个网络的剩余部分依然工作。

为了防止有人只收藏别人提供的文件而不肯分享它们，后来有的系统引入了交换和评分的功能。在这样的系统中，一个用户只在他能够期望获得报酬的情况下才分享。KaZaA使用一种非常简单的评分系统。客户端程序计算用户的优先权并告诉提供文件的一段该用户的优先权是多少。但这个系统被发明后不久就有人改变了客户端程序使得客户端用户总是拥有最高的优先权。

另一个使用评分系统的客户端程序是eMule。eMule的客户端程序适用多重来源档案传输协定，它监视用户向另一个用户下载或上传多少文件。有时这个评分系统似乎不影响下载的速度。假如用户有一个空闲的上传隧道的话，那么它接受对方，向对方上传8MB数据，然后将对方放到它的排队的最后。假如对方的评分为x2的话，那么对方比起评分为x1的用户只要等半数的时间就又排到了，用户再上传8MB数据。假如双方互相传送数据的话，那么它们相互之间的评分就会不断上升，传递的速度也提高。

BitTorrent协议也有非常好的评分系统。假如一个用户只下载而不上传的话，那么他的下载速度就非常低。

今天的系统在上传和下载的功能上和在防止侵犯法律方面的功能上都比较有效。

## 版权问题

高速互联网终端普及后匿名的档案分享系统（如Gnutella和Napster）深受欢迎，此外比较小而质量依然相当高的声音文件格式如MP3也为档案分享的成功提供了一定的帮助。虽然档案分享本身是一种合法的技术，但有些人（实际上大多数使用档案分享的用户）用此下载受版权保护的文件。这导致了一些版权拥有者对档案分享的反攻。

就档案分享的法律后果问题有很大的争议。尤其是假如分享文件的人来自法律不同的国家的话，这个问题会很复杂。比如在有些国家一定程度的加密算法只有在获得国家特别允许后才能被个人使用或拥有，而在其它国家里这个限制可能不存在。假如有人从一个允许使用这样的算法的国家里取得了这样的算法的源代码呢？

2000年代初整个档案分享社群不断受冲击。美国唱片工业协会和一些唱片公司企图关闭越来越多的档案分享。但他们的努力不很成功，因为不断有新的系统出现取代被关闭的系统，而且许多这些新的系统没有中心服务器，因此使用法庭的方法无法关闭它们，其它的一些系统则逃避到法律无法攻击它们的国家。

## 常用的协议

档案分享有许多不同的协议，以下列举的是最常用和最重要的。

### Ares

Ares是一个类似Gnutella的很普及的网络，其标准（和最普及的）Ares Galaxy客户端于2005年3月是美国P2P客户端中第六常用的。大多数使用Ares的是想要接触尽量多的网络而没有找到更好的协议的人。

### BitTorrent

BitTorrent协议是唯一广泛被用在公司分配系统中的档案分享协议，它的下载速度一般比较高，原因是每个“洪流”为每个文件或文件组存储着其用户的信息：相对于其它协议其协议本身比较小，缺点是它没有寻找功能。此外它不很灵活，另外精确地说它不完全是一个P2P协议。

2004年初有人发现BitTorrent比任何其它互联网档案分享协议所携带的信息都多。许多人相信这至今未变。

### Direct Connect

Direct Connect是一种常用于小的网络和大学内部网络中的协议，它尤其适用于这些小网络环境中。DC++是其最常见的客户端程序。

### eDonkey、Overnet和Kad Network

eDonkey2000和eMule是eDonkey网络最普及的P2P客户端程序。它被用来传送大量数据，其传送数目仅少于BitTorrent。它比BitTorrent最大的优点是其客户端程序有一个寻找引擎。用它用户可以找到许多文件，比起BitTorrent来它的传送速度较慢。

Overnet的设计目的是取代eDonkey，许多eDonkey用户端程序同时使用Overnet，Overnet没有中心服务器，但其用户数量现在少于eDonkey。

Kad网络很类似Overnet，几乎只有eDonkey的用户使用它，但它的普及性也很低。

### FastTrack

FastTrack的第一个客户端程序是KaZaA，它的协议与Gnutella2很相似。从2002年到2003年它是最大的用户网，但2005年它退到了第三名。

这个衰退的原因是因为这个网络无法对付众多用户同时使用，而且许多版权拥有者在网上放入了许多垃圾文件来阻止受版权保护的歌曲的交换。

KaZaA的用户端软件在用户电脑上设置一个间谍软件，法庭判决这个间谍软件违反了版权，因此不得再继续使用和分发。

iMesh也主要使用FastTrack为其协议，此外开放源代码的GiFT也可以用来连入FastTrack网络。

### Gnutella和Gnutella2

当Napster陷入法律困境时，Nullsoft的贾斯廷·弗兰克尔发展了Gnutella，Gnutella是第一个真正的非中心的客户端。此后这个协议获得了很大的发展。Gnutella对档案分享有深刻的影响。

Gnutella2本来是对Gnutella的一个改进和扩展，它的发展人是Shareaza的创始人迈克尔·斯多克斯。它提供了一个扩展的数据包格式、基于UDP的搜索算法和许多其它扩展比如数据包压缩等等。今天现代的Gnutella客户端程序都支持这些功能。

### OpenNap（前身为Napster）

OpenNap是对原来的Napster客户端程序改变后来的，Napster客户端程序是第一个普及率高的P2P档案分享程序。今天依然有人在发展它，WinMX等程序使用它。

### WinNY

WinNY是WinNY客户端程序使用的协议的非正式名称，它在日本（2005年）很普及，但在亚洲外很少被使用。

### WPNP

WPNP是WinMX最主要的协议。从2001年到2002年这个网络提供最好的搜索不明的英语材料的结果，但它最主要被用来搜索亚洲语言的材料。

## 私有档案分享

除公有云服务与对外分享平台外，档案分享亦可在组织内部的私有环境中进行。此类私有档案分享通常建立于内部网络或专用基础架构之上，并由档案服务器或网络附加储存设备 提供集中式档案存取。

私有档案分享系统通常具备使用者身份验证与存取权限控管机制，使档案仅能由授权人员存取。相较于公开分享平台，此类实作方式较著重于资料主权、管理一致性与内部协作需求，常见于企业、教育机构与研究环境中。