何謂P2P



在一些應用軟體,例如NAPSTER及Intoned Messenger受到觀迎後,P2P的技術開始受到人們的注意。早期的網際網路實際上是一個P2P的環境,只是後來隨著網際網路的發展,伺服器為依據的系統才逐漸發展來應付愈來愈多的使用量。但是目前,電腦已經具有愈快的處理速度和較大的儲存量,這使得P2P的使用者可透過電腦的直接連結來分享電腦資源和交換資料。



P2P技術簡單來說,就是藉由系統間的直接交換來進行電腦資訊和服務的分享,最廣為人知的應用模式就是訴訟纏身的Napster,以及即時傳訊(Instant Messenger)服務,隨著這些服務受到歡迎,P2P技術也受到多數人的注意。早期的網際網路所面對的是一個集中式系統架構的P2P環境,隨著網路蓬勃發展,以伺服器為主的系統必須要能夠承載絡繹不絕的流量。



高速的處理速度與強大的儲存能力是近來電腦所急待解決的發展障礙,單一部電腦必須同時兼具伺服器與使用端的角色,現在使用者利用P2P技術,便可透過系統直接連結,彼此互相交換資訊、共享資源。P2P技術可以減輕伺服器的負擔,讓系統執行更加順暢,對整個系統而言有相當大的好處。多數的專家也同意,混和式的P2P/Server系統對於希望將peer-based軟體整合至原有系統與網路的企業,特別有益。



雖然,P2P具有很大的潛力帶來運算、合作及商業上的新模式,但也如同其他的新興技術一樣,擁有虛擬於實際上的問題,為了成為電子商務有效且有力的工具,P2P必須戰勝這些既存的問題。

常見的P2P軟體
ezPeer/Ares Galaxy/Azureus/BitComet /BitSpirit/eMule/FOXY /KKBOX /Shareaza /uTorrent /KAZZA/edonkey / ...等等。 

禁止使用的原因

1. 有病毒
2. 很耗資源 (不管是 CPU 或者是 網路頻寬)
3. 很消耗硬體

* 門戶處處洞開
* 共用網路癱瘓
* 電腦速度緩慢
* 設備器材損害

1. 門戶處處洞開

很多使用者完全沒有電腦資安防護觀念。會造成這種情形的情況主要有三種。
* 沒有 開啟 / 安裝 防火牆
* 沒有 開啟 / 防毒軟體
* P2P直接把 C 槽分享出去


2. 共用網路癱瘓

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

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

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


3. 電腦速度緩慢

軟體寫的不好,吃資源拖慢系統是正常的事。但 p2p software 會拖慢系統的原因附加條件更是,會造成的巨量 I/O 與網路接收巨量的 request,造成 CPU 不時的要去處理這些垃圾要求。

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

4. 設備器材損害

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

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

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

總之,會洩漏您個人的資料就是了!所以少用為妙!

資料來源: http://www.nii.org.tw/cnt/info/Report/20020901_1.htm   AND  溪洲國小

    全站熱搜

    jianmin2 發表在 痞客邦 留言(0) 人氣()