原作者:XDite
此文上一篇:請不要用Foxy!

原文出處:http://blog.xdite.net/?p=311

一般人對於 p2p software,總有股「使用」等於「盜版」的歧視意味在。其實 p2p 祇是一種節省頻寬的檔案交流技術,(正當的用途常在作業系統的ISO下載,線上電視台、線上電話等技術上(註1)),祇是這個技術最普遍廣泛的用途卻是用於「盜版物交流」,加之不論是誰,都曾經有被腦殘(禮貌的稱呼為「不懂技術的使用者」)把網路搞到癱瘓,甚至是搞到硬碟陣亡才來瘋狂騷擾你的不良經驗。因此,聽到 p2p 抓檔,雖然大家私底下都有在抓,但總表現對此技術出一副不屑的態度。

p2p 的好處就那幾個,但是壞處好像大家都甚至一知半解,秉持著本部落格老是報憂不報喜的精神 (kidding XD)。來寫一下我為什麼特別不喜歡 Foxy ,或甚至是不喜歡「不懂技術的使用者」濫用 p2p software 好了。

門戶處處洞開
共用網路癱瘓
電腦速度緩慢
設備器材損害
嚴重損傷友誼
門戶處處洞開

很多使用者完全沒有電腦資安防護觀念。會造成這種情形的情況主要有三種。

沒有 開啟 / 安裝 防火牆
沒有 開啟 / 防毒軟體
喜歡直接把 C 槽分享出去
第一種情形:就是讓網路上跟你抓同一個檔的人,知道你門戶大開,有機可趁(蠕蟲什麼的伺機而入)。

第二種情形:就是網路上太多假檔或是加料檔。一般人通常以為「假檔」是改個檔名來惡搞的,例如說拿個「阿嬷拍的 A 片」改成「佐賀的超級阿嬷」讓你嘔吐,或拿黃克林的「倒退嚕」改成 7788 的新專輯嚇腦殘小鬼。事實上不全然是這樣,比較愛惡搞的 craker,最可能的手法是,放個真檔,然後幫你包裹個病毒或木馬的讓你開。或甚至更惡劣的是,乾脆就給你假檔,幫你包裹加料,反正你點開以後就中了,然後你一看是假檔以後就腦羞刪了,所以連自己什麼時候中的標都搞不清楚。(註2)

第三種情形:懶惰,很多人就是懶,一次懶得勾選多個資料夾,就直接把整個槽 share 出去。要是 share 的槽 是純放下載物的槽還好。有些人對於自己的硬碟瞭解程度,大概只停留在有 C: 和 「我的文件夾」。自然就會分享「整個不該分享的槽」,導致門戶大開。Foxy 上光文字檔,好料的東西就不少 …

共用網路癱瘓
這是最為人詬病的情形。不僅是 Foxy 而已,很多 p2p software 如( emule / BT )都有。

但是 Foxy 卻是筆者最不能忍受的軟體。原因就是在於它的軟體行為。在上篇文中,筆者有提到 p2p 的原理便是眾人持有各部分,眾人透過協定裡的交流機制去發出 request,找尋自己尚未持有的部分再下載,此一溝通的行為,稱之為開一個 session。Foxy 最過份便是,它本身發出 session 數是幾近無限制的作法,暴力去詢問其他使用者;而且除了未管制 session 數外,它還不管制流量。

不管制流量的動作,就足以讓沒有常識的人把共用網路整個塞住了。而使用者既然會發出巨量的 request,自然也會接到別人詢問的巨量 request。一來一往之間,所建立的 session 數更足以使負責分享網路的機器直接陣亡。(我見過最誇張的情形,就是 foxy 把 switch hub 直接打掛 …更不用說一般宿舍擺的小 IP 分享器了)

一般人常誤以為,只有下載和上傳的行為才會塞住網路。事實上,下載和上傳的就是傳遞封包的行為。而發出 request 也要傳遞封包,自然整條網路或機器會被這個垃圾軟體塞爆打掛。

電腦速度緩慢
軟體寫的不好,吃資源拖慢系統是正常的事。但 p2p software 會拖慢系統的原因附加條件更是,會造成的巨量 I/O 與網路接收巨量的 request,造成 CPU 不時的要去處理這些垃圾要求。筆者就曾經就有遇過一個例子,便是幫同學組了台不錯的電腦,結果變成噩夢的開始。三不五十打來靠杯他玩 online game 會時不時 lag 造成角色死掉。曾經懷疑是中毒,重灌也沒用,最後甚至是懷疑我組裝功力不佳,差點害得我要跟他絕交。結果當有天我問他打 game 時開什麼軟體在旁邊,想分析 lag 原因時。而他回答 BT 和 foxy 時,我幾乎在電話中用髒話把他幹爆。

雖然 DMA 可以降低 CPU 被打擾的機會,但是當巨量 I/O 與網路 request 湧入,卻會大大 delay 系統運作。(可以瞭解一下,為什麼伺服器級網路卡那麼貴的原因 … 因為大量的網路傳輸,會讓 CPU 分神 lol)

設備器材損害
設備器材損害當然是指「硬碟」。在前文我省去太多,所以說的不太精確,正確的來說應該是 “fragmentation” (磁碟碎片) 導致的損害。很多人不知道硬碟讀寫是怎樣運作的。硬碟是一個大圓盤,分區分格存你的資料。因此硬碟買來要先格式化(切成一格一格),當要讀取資料時,讀寫臂再移動過去讀資料。

但是,在這裡就會很多人,誤解了資料儲存的方式。絕大多數有些概念的人會以為儲存是在連續的格子上。事實上卻不然,如果你不常重組優化你的磁碟的話,可能你隨便開一個 BT 檔,假設以 4mb 一個單位,你抓 100 mb ,這 25 格會分散在不同的地方(這就是為什麼 BitComet / emule 會問你要不要預先配置下載空間),造成讀寫頭疲於奔命,降低硬碟壽命(尤其是在大量 I/O request 下)。

過多的磁碟碎片還會造成一種情形,就是普通的一個完整的檔案,因為找不到連續儲存空間來存,結果它也隨便找地方亂存了 XD 。一般作業系統運作程式的原理,便是將程式和運行狀態儲存在 RAM 中,以加速程式的運行(不被在儲存裝置上的 I/O 速度拖慢),當你要切換程式時,RAM 要是不夠空間放,便會把前一支程式與其狀態轉移到虛擬記憶體(這在硬碟空間裡)去,等你要用時再切回來,稱之為 swaping。OK….有趣的事來了,因為連續儲存空間少,swaping 的動作也會造成讀寫頭負擔重(因為它要到處奔波讀存東西),降低硬碟使用壽命。

偏偏硬碟損傷,對使用者的影響是最大的(資料都在上面)。抓檔的人卻不意識或不想意識到這點,等到硬碟壞了再哀天呼地。實在是 ” …….. ” 。比起網路壅塞對其他人會造成的影響,硬碟壞掉好像比較會打醒人。筆記型電腦硬碟壞掉是很麻煩的,救資料是論 mb 在算錢的。要爽之前先想/規劃 清楚。

嚴重損傷友誼
造成朋友/室友/閃光 猜忌翻臉 etc. 不多贅述。忍無可忍,請小心參考 vegafish 發明的 “ p2p 終結者 “。

整串文寫下來,說的 p2p 很恐怖的樣子。其實,筆者祇是特別討厭 foxy 或者是規劃爛的 p2p software / protocol 而已,因為這些 software 或多或少都會造成損失,祇是程度輕重而已。而 foxy 造成的社會負擔已經遠大於它帶來的好處,而每次的改版也從未朝減輕電腦與網路的負擔作改善,再加之他對系統的暴力抽插動作,比其他軟體都來得兇狠許多,這是我痛恨它的原因。



註一:

有很多人好奇 ISO 不是透過 FTP 下載就好,幹嘛用 BT?其實這是因為台灣學術 FTP 四處鄰立的假象,有些國家並不像我們這樣有這麼多學術資源可以享用。再加上,有些冷門的 OS,可能不是那麼多站台收藏,沒有 mirror 站,光靠遙遠國家的官方 FTP 是無法支撐巨量下載的(熱門 OS 首發時也有這種問題)。因此 BT 或 emule 這時就會被利用在這種用途上。

利用 p2p 技術的 網路電視台有: ppstream …等等。
利用 p2p 技術的 網路通訊軟體有: skype … 等等。

這些技術不一定會動用到硬碟,筆者聽說有一些網路電視台是靠吃 RAM 就夠運行的。

註二:

假檔加料,可透過檔案合併技巧,或者是利用 script 先幫你種點作物,再打開你要的東西,你完全無法察覺。BT 可以透過論壇分辨真假檔,emule 也有評分機制,Foxy 呢?什麼都沒有 ….


牛奶勺 發表在 痞客邦 PIXNET 留言(0) 人氣()