08/10/2012

P2P軟體概論和缺點

點對點(Peer-to-Peer,P2P)軟體說明

  1. Peer to Peer(點對點通訊傳輸工具) 。
  2. 傳統HTTP/FTP傳送檔案方式,採用戶與主機的通訊模式(Client-Server Mode)。
  3. 新制P2P檔案傳送,採取用戶與用戶的通訊模式,可以同時連接多個下載點,分散式下載檔案。
  4. P2P可以快速完成檔案下載的目標。
  5. Skype也是P2P的一種應用工具。
  6. 檔案分享是目前 P2P 最主要的一種應用,P2P 檔案分享軟體本身是合法的,合不合法則是在分享的檔案。目前美國的八大影片公司、台灣的 BSA 商業軟體聯盟、台灣的 IFPI 國際唱片業交流基金會等機構對其所屬成員的著作權很重視,而且警方也配合加強取締,故請勿下載 非法檔案以免官司上身。

常見的P2P軟體種類

  1. BitTorrent系列(BT),BitComet、 BitLord 、BitSpirit、 uTorren、clubbox等。
  2. eDonkey系列,eDonkey、eMule等。
  3. Gnutella系列,Gnutella、 ezPeer、 Mxie、Foxy等。
  4. FastTrack系列,FastTrack、 KaZaA等。
  5. WinMx系列,WinMx、 Winny、 NapMx等。
  6. 其他︰Thunder、Kuro、Azureus、kkbox、Shareaza、BearShare、DC (Direct Connect)、Fileguri/Freechal、Gnucleus、Grokster、Groove Virtual Office、LimeWire、Blubster、 Piolet、RockItNet、OpenLITO、Morpheus、Mutella、PeerEnabler、Phex、Pruna、 Soribada、SoulSeek、Swapper、XoloX等。
 

P2P軟體可能影響的網路安全問題

  1. P2P 工具包,可能被惡意人員放置木馬後門程式,與病毒蠕蟲。
  2. P2P 軟體本身的漏洞,造成駭客入侵。
  3. 使用 P2P 軟體,誤將本機目錄開放共享。
  4. 使用 P2P 軟體下載影音檔案,多半為 mp3 與 mpeg , avi ,rmvb , rm , rmb 等檔案,可能造成侵權行為。

P2P軟體的缺點

  1. 有病毒。
  2. 很耗資源 (不管是 CPU 或者是 網路頻寬)。
  3. 很消耗硬體。
  4. 門戶處處洞開:
    很多使用者完全沒有電腦資安防護觀念。會造成這種情形的情況主要有三種:
    (1)沒有 開啟 / 安裝 防火牆。
    (2)沒有 開啟 / 防毒軟體。
    (3)P2P直接把 C 槽分享出去。
  5. 共用網路癱瘓:
    這是最為人詬病的情形。不僅是 Foxy 而已,很多 p2p software 如( emule / BT )都有。
    但是 Foxy 卻是筆者最不能忍受的軟體。原因就是在於它的軟體行為。在上篇文中,筆者有提到 p2p 的原理便是眾人持有各部分,眾人透過協定裡的交流機制去發出 request,找尋自己尚未持有的部分再下載,此一溝通的行為,稱之為開一個 session。Foxy 最過份便是,它本身發出 session 數是幾近無限制的作法,暴力去詢問其他使用者;而且除了未管制 session 數外,它還不管制流量。
    不管制流量的動作,就足以讓沒有常識的人把共用網路整個塞住了。而使用者既然會發出巨量的 request,自然也會接到別人詢問的巨量 request。一來一往之間,所建立的 session 數更足以使負責分享網路的機器直接陣亡。(我見過最誇張的情形,就是 foxy 把 switch hub 直接打掛,更不用說一般群組擺的小 IP 分享器了。
  6. 電腦速度緩慢:
    軟體寫的不好,吃資源拖慢系統是正常的事。但 p2p software 會拖慢系統的原因附加條件更是,會造成的巨量 I/O 與網路接收巨量的 request,造成 CPU 不時的要去處理這些垃圾要求。
    雖然 DMA 可以降低 CPU 被打擾的機會,但是當巨量 I/O 與網路 request 湧入,卻會大大 delay 系統運作。(可以瞭解一下,為什麼伺服器級網路卡那麼貴的原因,因為大量的網路傳輸,會讓 CPU 分工去優先處理網路傳輸的事情。)
  7. 設備器材損害:
    設備器材損害當然是指「硬碟」。正確的來說應該是 “fragmentation”(磁碟碎片)導致的損害。很多人不知道硬碟讀寫是怎樣運作的。硬碟是一個大圓盤,分區分格存你的資料。因此硬碟買來要先格 式化(切成一格一格),當要讀取資料時,讀寫臂再移動過去讀資料。
    但是,在這裡就會很多人,誤解了資料儲存的方式。絕大多數有些概念的人會以為儲存是在連續的格子上。事實上卻不然,如果你不常重組優化你的磁碟的話,可 能你隨便開一個 BT 檔,假設以 4mb 一個單位,你抓 100 mb ,這 25 格會分散在不同的地方(這就是為什麼 BitComet / emule 會問你要不要預先配置下載空間),造成讀寫頭疲於奔命,降低硬碟壽命(尤其是在大量 I/O request 下)。
    過多的磁碟碎片還會造成一種情形,就是普通的一個完整的檔案,因為找不到連續儲存空間來存,結果它也隨便找地方亂存了 。一般作業系統運作程式的原理,便是將程式和運行狀態儲存在 RAM 中,以加速程式的運行(不被在儲存裝置上的 I/O 速度拖慢),當你要切換程式時,RAM 要是不夠空間放,便會把前一支程式與其狀態轉移到虛擬記憶體(這在硬碟空間裡)去,等你要用時再切回來,稱之為 swaping。有趣的事來了,因為連續儲存空間少,swaping 的動作也會造成讀寫頭負擔重(因為它要到處奔波讀存東西),降低硬碟使用壽命。
 資料來源:
http://cc.cmu.edu.tw/question/ptop.html