檔案分享

檔案分享（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年這個網絡提供最好的搜索不明的英語材料的結果，但它最主要被用來搜索亞洲語言的材料。

**參見**
 上載和下載- -{zh-cn:文件分享教; zh-hant:檔案分享教;}-