檔案分享

檔案分享（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 年代初整個檔案分享社群不斷受衝擊。美國唱片工業協會和一些唱片公司企圖關閉越來越多的檔案分享。但他們的努力不很成功，因為不斷有新的系統出現取代被關閉的系統，而且許多這些新的系統沒有中心伺服器，因此使用法庭的方法無法關閉它們，其它的一些系統則逃避到法律無法攻擊它們的國家。

常用的協議

檔案分享有許多不同的協議，以下列舉的是最常用和最重要的。

4.1 Ares

Ares 是一個類似 Gnutella 的很普及的網路，其標準（和最普及的）Ares Galaxy 客戶端於 2005 年 3 月是美國 P2P 客戶端中第六常用的。大多數使用 Ares 的是想要接觸儘量多的網路而沒有找到更好的協議的人。

4.2 BitTorrent

BitTorrent 協議是唯一廣泛被用在公司分配系統中的檔案分享協議，它的下載速度一般比較高，原因是每個 “洪流” 為每個檔案或檔案組儲存著其使用者的資訊：相對於其它協議其協議本身比較小，缺點是它沒有尋找功能。此外它不很靈活，另外精確地說它不完全是一個 P2P 協議。

2004 年初有人發現 BitTorrent 比任何其它網際網路檔案分享協議所攜帶的資訊都多。許多人相信這至今未變。

4.3 Direct Connect

Direct Connect 是一種常用於小的網路和大學內部網路中的協議，它尤其適用於這些小網路環境中。DC++ 是其最常見的客戶端程式。

4.4 eDonkey、Overnet 和 Kad Network

eDonkey2000 和 eMule 是 eDonkey 網路最普及的 P2P 客戶端程式。它被用來傳送大量資料，其傳送數目僅少於 BitTorrent。它比 BitTorrent 最大的優點是其客戶端程式有一個尋找引擎。用它使用者可以找到許多檔案，比起 BitTorrent 來它的傳送速度較慢。

Overnet 的設計目的是取代 eDonkey，許多 eDonkey 使用者端程式同時使用 Overnet，Overnet 沒有中心伺服器，但其使用者數量現在少於 eDonkey。

Kad 網路很類似 Overnet，幾乎只有 eDonkey 的使用者使用它，但它的普及性也很低。

4.5 FastTrack

FastTrack 的第一個客戶端程式是 KaZaA，它的協議與 Gnutella2 很相似。從 2002 年到 2003 年它是最大的使用者網，但 2005 年它退到了第三名。

這個衰退的原因是因為這個網路無法對付眾多使用者同時使用，而且許多版權擁有者在網上放入了許多垃圾檔案來阻止受版權保護的歌曲的交換。

KaZaA 的使用者端軟體在使用者電腦上設定一個間諜軟體，法庭判決這個間諜軟體違反了版權，因此不得再繼續使用和分發。

iMesh 也主要使用 FastTrack 為其協議，此外開放原始碼的 GiFT 也可以用來連入 FastTrack 網路。

4.6 Gnutella 和 Gnutella2

當 Napster 陷入法律困境時，Nullsoft 的賈斯廷・弗蘭克爾發展了 Gnutella，Gnutella 是第一個真正的非中心的客戶端。此後這個協議獲得了很大的發展。Gnutella 對檔案分享有深刻的影響。

Gnutella2 本來是對 Gnutella 的一個改進和擴充套件，它的發展人是 Shareaza 的創始人邁克爾・斯多克斯。它提供了一個擴充套件的資料包格式、基於 UDP 的搜尋演算法和許多其它擴充套件比如資料包壓縮等等。今天現代的 Gnutella 客戶端程式都支援這些功能。

4.7 OpenNap（前身為 Napster）

OpenNap 是對原來的 Napster 客戶端程式改變後來的，Napster 客戶端程式是第一個普及率高的 P2P 檔案分享程式。今天依然有人在發展它，WinMX 等程式使用它。

4.8 WinNY

WinNY 是 WinNY 客戶端程式使用的協議的非正式名稱，它在日本（2005 年）很普及，但在亞洲外很少被使用。

4.9 WPNP

WPNP 是 WinMX 最主要的協議。從 2001 年到 2002 年這個網路提供最好的搜尋不明的英語材料的結果，但它最主要被用來搜尋亞洲語言的材料。