文件分享(英语:File sharing)是指主动地在网络上(互联网或小的局域网)分享自己的电脑文件。一般文件分享使用P2P模式,文件本身存在用户本人的个人电脑上。大多数参加文件分享的人也同时下载其他用户提供的分享文件。有时这两个行动是连在一起的。
历史
文件最初是在可移动媒体上交换的。电脑能够通过安装文件系统、bulletin board系统(1978)、Usenet(1979)和FTP伺服器(1970年代)访问远程文件。多人在线交谈系统(1988)和热线(1997)使用户能够通过聊天进行远程通信和文件交换。Mp3编码于1991年被标准化,大大减少了音频文件的大小,并在20世纪90年代末得到广泛使用。1998年,MP3.com和Audiogalaxy成立,《数字千年著作权法》获得一致通过,推动了第一批mp3播放器的问世。[1]
网络结构
文件分享有多个重要的问题,其中两个最重要,第一个问题是中央集中制还是分散制,第二个是用户的隐私权和匿名性。后者在著作权拥有者对一些文件分享用户起诉后成为了一个重要问题。第三个问题是使用所谓的“间谍软件”收集和出卖用户数据。
早年的客户端程序只接受一种协议,因此一个客户端程序要么只接受Napster要么只接受Gnutella。当时有一种在客户端建立一个使用多种协议的软件的运动。这个运动最主要的目的是一个用户没有必要使用不同的程序来做同一件事。
有时有的人分享的文件非常受人欢迎,这样许多人会想从他那里获得这个文件,这有可能导致这个人的系统无法满足所有的需要。分散制是减轻这个问题的一个办法,尤其是假如有许多人在分享这个文件的话,那么这个文件可以从不同的地方来获取。
分散制也被用来解决对中央集中制的威胁,这个威胁即可以来自法律控告,也可能来自敌对的用户。一个分散的网络无法被整个地攻击,攻击者只能对其个别成员进行攻击,而整个网络的剩余部分依然工作。
为了防止有人只收藏别人提供的文件而不肯分享它们,后来有的系统引入了交换和评分的功能。在这样的系统中,一个用户只在他能够期望获得报酬的情况下才分享。KaZaA使用一种非常简单的评分系统。客户端程序计算用户的优先权并告诉提供文件的一段该用户的优先权是多少。但这个系统被发明后不久就有人改变了客户端程序使得客户端用户总是拥有最高的优先权。
另一个使用评分系统的客户端程序是eMule。eMule的客户端程序适用多重来源文件传输协议,它监视用户向另一个用户下载或上传多少文件。有时这个评分系统似乎不影响下载的速度。假如用户有一个空闲的上传隧道的话,那么它接受对方,向对方上传8MB数据,然后将对方放到它的排队的最后。假如对方的评分为x2的话,那么对方比起评分为x1的用户只要等半数的时间就又排到了,用户再上传8MB数据。假如双方互相传送数据的话,那么它们相互之间的评分就会不断上升,传递的速度也提高。
BitTorrent协议也有非常好的评分系统。假如一个用户只下载而不上传的话,那么他的下载速度就非常低。
今天的系统在上传和下载的功能上和在防止侵犯法律方面的功能上都比较有效。
著作权问题
高速互联网终端普及后匿名的文件分享系统(如Gnutella和Napster)深受欢迎,此外比较小而质量依然相当高的声音文件格式如MP3也为文件分享的成功提供了一定的帮助。虽然文件分享本身是一种合法的技术,但有些人(实际上大多数使用文件分享的用户)用此下载受著作权保护的文件。这导致了一些著作权拥有者对文件分享的反攻。
就文件分享的法律后果问题有很大的争议。尤其是假如分享文件的人来自法律不同的国家的话,这个问题会很复杂。比如在有些国家一定程度的加密算法只有在获得国家特别允许后才能被个人使用或拥有,而在其它国家里这个限制可能不存在。假如有人从一个允许使用这样的算法的国家里获取了这样的算法的原始码呢?
2000年代初整个文件分享社群不断受冲击。美国唱片工业协会和一些唱片公司企图关闭越来越多的文件分享。但他们的努力不很成功,因为不断有新的系统出现取代被关闭的系统,而且许多这些新的系统没有中心伺服器,因此使用法庭的方法无法关闭它们,其它的一些系统则逃避到法律无法攻击它们的国家。
常用的协议
文件分享有许多不同的协议,以下列举的是最常用和最重要的。
Ares是一个类似Gnutella的很普及的网络,其标准(和最普及的)Ares Galaxy客户端于2005年3月是美国P2P客户端中第六常用的。大多数使用Ares的是想要接触尽量多的网络而没有找到更好的协议的人。
BitTorrent协议是唯一广泛被用在公司分配系统中的档案分享协议,它的下载速度一般比较高,原因是每个“洪流”为每个文件或文件组存储着其用户的信息:相对于其它协议其协议本身比较小,缺点是它没有寻找功能。此外它不很灵活,另外精确地说它不完全是一个P2P协议。
2004年初有人发现BitTorrent比任何其它互联网档案分享协议所携带的信息都多。许多人相信这至今未变。
Direct Connect是一种常用于小的网络和大学内部网络中的协议,它尤其适用于这些小网络环境中。DC++是其最常见的客户端程序。
eDonkey2000和eMule是eDonkey网络最普及的P2P客户端程序。它被用来传送大量数据,其传送数目仅少于BitTorrent。它比BitTorrent最大的优点是其客户端程序有一个寻找引擎。用它用户可以找到许多文件,比起BitTorrent来它的传送速度较慢。
Overnet的设计目的是取代eDonkey,许多eDonkey用户端程序同时使用Overnet,Overnet没有中心伺服器,但其用户数量现在少于eDonkey。
Kad网络很类似Overnet,几乎只有eDonkey的用户使用它,但它的普及性也很低。
FastTrack的第一个客户端程序是KaZaA,它的协议与Gnutella2很相似。从2002年到2003年它是最大的用户网,但2005年它退到了第三名。
这个衰退的原因是因为这个网络无法对付众多用户同时使用,而且许多著作权拥有者在网上放入了许多垃圾文件来阻止受著作权保护的歌曲的交换。
KaZaA的用户端软件在用户电脑上设置一个间谍软件,法庭判决这个间谍软件违反了著作权,因此不得再继续使用和分发。
iMesh也主要使用FastTrack为其协议,此外开放原始码的GiFT也可以用来连入FastTrack网络。
当Napster陷入法律困境时,Nullsoft的贾斯廷·弗兰克尔发展了Gnutella,Gnutella是第一个真正的非中心的客户端。此后这个协议获得了很大的发展。Gnutella对文件分享有深刻的影响。
Gnutella2本来是对Gnutella的一个改进和扩展,它的发展人是Shareaza的创始人迈克尔·斯多克斯。它提供了一个扩展的数据包格式、基于UDP的搜索算法和许多其它扩展比如数据包压缩等等。今天现代的Gnutella客户端程序都支持这些功能。
OpenNap是对原来的Napster客户端程序改变后来的,Napster客户端程序是第一个普及率高的P2P文件分享程序。今天依然有人在发展它,WinMX等程序使用它。
WinNY是WinNY客户端程序使用的协议的非正式名称,它在日本(2005年)很普及,但在亚洲外很少被使用。
WPNP是WinMX最主要的协议。从2001年到2002年这个网络提供最好的搜索不明的英语材料的结果,但它最主要被用来搜索亚洲语言的材料。
参见
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.