2006年9月22日 星期五

三種P2P軟體的比較


  • eMule
    使用積分制與優先權設定。上傳給別人的資料越多,就擁有越高的積分,如此從別人那下載檔案時,就能得到較高的優先權。檔案也有設定優先權,越小或(擁有的人)數量少的檔案,優先權越高。早期的版本是屬於集中式架構,需要連上一個中央伺服器才能開始分享檔案。但是有了Kademlia(KAD)這種分散式的架構之後,就幾乎不需要伺服器了。檔案在eMule網路上的生命週期算是中等,不過一部份的決定因素跟檔案大小(使用者的硬碟大小)有關,越大的檔案其生命週期越短。擁有檔案搜尋功能,只要知道關鍵字就幾乎可以找到想要的檔案,但因為是用檔案名稱去尋找,有可能會找到偽造的檔案。分享檔案的速度相對來說是較慢的,這是因為優先權與積分制的緣故(要排隊)。最常見的情況是你要下載一個兩到三年前開始分享的檔案,但是eMule網路上只有幾個人有,你會發現你花了相當長的時間下載,卻只完成了數%.....,甚至斷頭(唯一有此檔案的人砍檔不分享了)。

    優點:使用者眾多,想要的檔案幾乎都找的到。
    缺點:歷史悠久的檔案非常難以下載,釣魚台釣魚用伺服器眾多,很容易收到某某商業組織寄來的警告信。使用上缺乏隱私。如果世界上所有的eMule伺服器都被關閉,檔案的分享會變的遲緩而困難。



  • BitTorrent
    BitTorrent是目前最有效率的檔案分享軟體,這是因為其採用的演算法與分享方式的關係。它可以說是同時間只全力分享與下載一個檔案,而且同一個檔案越多人下載,速度越快。這樣的設計自然有助於在短時間內快速的散佈檔案,然而造成的缺點是檔案生命週期較短,而且越大的檔案越短。你可能在某個檔案發佈後一週,發現已經沒有Seeder。像Azureus與BitComet這些相容BitTorrent的軟體,也有分散式架構的設計,然而檔案的散佈仍非常依賴torrent伺服器。

    優點:在短時間內快速的散佈檔案。
    缺點:檔案生命週期短,較依賴torrent伺服器。如果伺服器都被關閉,檔案的分享會變得極為困難。使用上缺乏隱私。



  • Share
    日本人設計的P2P軟體,前身是金子勇所開發的Winny2。完全使用分散式的設計,使用特殊的加密演算法與檔案散佈方式。Share使用關鍵字來連結node,擁有相同關鍵字的node會優先連結,如此能快速的找到想要的檔案並下載。在Share上頭分享的檔案會被拆成碎片,散佈在網路上,即使你沒有下載某個特定的檔案,Share也會將此檔案的一小部分下載回來,這種作法能確保檔案不會在短時間內斷頭,即使在多年前分享的檔案,仍有下載成功的可能性。Share在傳輸時全程使用加密技術,IP、通訊協定、傳輸的資料都會被加密,如此便能確保隱私。可以使用關鍵字來搜尋檔案,並且有內建獨特的假檔標示系統。

    優點:檔案的生命週期很長,有著很好的保密性。分享檔案的速度相當快。分散式的設計使Share這個檔案分享網路非常難被關閉。
    缺點:封閉原始碼,有著安全性的風險。使用者大多是日本人,因此分享的檔案大多和日本有關。需要較大的上傳頻寬(基準50KB/sec)與硬碟空間(暫存檔需4GB)。