Fandom

全球媒體研究室

P2P

552個維基
頁面
增加新頁面
討論0 分享

【何謂P2P】 編輯

網路網路的變革日新月異,Peer-to-Peer (P2P)技術能讓使用者「直接互相分享」。

如同第二代網路技術Mosaic 之後所代表的「超連結、多媒體」,顛覆第一代文字為主的網際 網路。繼Napster 之後代表的「P2P」網路架構,其衍生的思維、技術和商業模式,可是來 勢洶洶!本文從P2P的演進歷史,介紹及比較Napster 和Gnutella 兩者典型的P2P架構, 並對目前業界的P2P應用及最新消息作全面的整理,緊接著以封包格式、問題與瓶頸兩者來 切入探討。文末針對P2P未來的研究議題作了完整的歸納。

[P2P歷史回顧] 編輯

在1999 年5 月,Shawn Fanning的Napster,利用P2P 技術,達到MP3音樂

的檔案分享。同年因音樂版權問題,與RIAA 官司纏身,當時被迫關站,但在網 際網路上已開P2P 之門。在2000年3 月後,有許多Napster翻版(Napster-clone) 在網路上流通,諸如Gnutella、CuteMX、Scour等等。2000 年中期之後,P2P 技 術從單純的檔案交換,更衍生出其他商業模式和應用,許多公司皆投入P2P 開 發,諸如CenterSpan、Entropia、Groove等等。P2P 的正式組織和會議也相繼召 集舉辦,如Intel 的P2PWG(Peer-to-Peer Working Group)第一次會議在2000/10/12 以及第二次會議是在2001/2/7-8、O'Reilly在2001/2/14-16的P2P Conference等等。

[P2P的架構] 編輯

什麼是Peer?主機本身既是Client 也同時是Server,跳脫主從(client-server)

架構的固定模式,做到彼此可以對等地溝溝分享。所有的Peer-to-Peer 是架構在 TCP/IP 協定,使用TCP 封包,而非UDP。專注在MP3 檔案分享的Napster,是 P2P 的應用之一,其集中式架構圖請參考圖一;反之,Gnutella的分散式架構, 請參考圖二。 P2P說明圖.JPG

圖一 Napster的架構及運作方式 1. 連線:安裝Napster軟體,做為Napster P2P網路的Peer(Client 端),然後連上「事先設定」的伺服器。Napster Client端會將 使用者端的相關資料以及分享檔案列表傳送給Server端。 2. 搜尋:當你想搜尋檔案時,會將查詢要求傳送給Server,然後 Server會尋找本身的資料庫的檔案列表,並將結果回傳回去。 3. 下載:收到Server的結果後,你可以選擇想下載的檔案,並 直接連線至對方(Peer),進行Peer-to-Peer的傳送,而無須透過 Server的介入。

P2P說明圖.2.JPG

圖二 Gnutella的架構及運作方式 1. 連線:安裝Gnutella軟體,做為Gnutella P2P網路的Peer端(是Server 也是Client),沒有任何事先設定的伺服器來連結,因此對Gnutella 網路可以說一無所知。因此,需要知道至少一台Peer的IP 位址和 Port,做為第一個連線(起始點)。接著有三件事會發生: i. 你宣布你的存在 ii. 他會告知其他Peers iii. 每個Peer回訊息給你

藉由和其他交換資訊以瞭解整個Gnutella P2P 網路。 如果需要知道有目前有哪些起始點可以使用,可連線至這個網址: http://www.ifi.ntnu.no/~havardot/betaz/servers.htm

2. 搜尋:當你想搜尋檔案時,會將查詢要求傳送給你有直接連線的 Peer(s),這些Peer(s)會繼續將你的要求傳送給他們有直接連線的其 他Peer(s),然後繼續反覆下去。在這散佈過程的每一台Peer也都 會尋找本身的檔案列表,並將結果回傳回去,如果找不到符合結 果,無須回報。

3. 下載:陸續收到Peer(s)的結果後,你可以選擇想下載的檔案,並直 接連線至對方(Peer),進行P2P 的傳送,而無須透過網路上其他 Peer(s)的介入。如果連線失敗,則很有可能是對方在防火牆之後, Gnutella會重新發送一個下載要求(Push 下載),並以Step 2的方式 散佈此要求, 對方(擁有你想下載的檔案)會嘗試從他那邊直接連 線回來,進行P2P 傳送。


[檔案分享的演進與比較] 編輯

目前在P2P 檔案分享的領域,可以分類出三種明顯差異的應用軟體。首先

是Napster,其目標很單純,就是純MP3 音樂檔案的分享,有一個集中式伺服器 做目錄的建立,因此整個網路的資源消耗較低。使用者並無法匿名,分享出來的 檔案在傳輸過程也沒有加解密,明顯的優點就是簡單使用和延展性較高。

接著是Gnutella,其改成純分散式的架構,沒有集中式的伺服器,相對地網 路的延展性變低,容易造成壅塞。Gnutella支援的檔案格式比較多,幾乎所有的 多媒體格式皆可,使用者在下載過程也無法匿名或資料加密。

最後是Freenet,如其名,給予使用者完全自由的網路空間,提供不同資源 的分享,不侷限在檔案種類。在Freenet 中,每一位使用者皆是Freenet 的一份子, 不僅匿名或資料加密,一旦將檔案放在Freenet,你自己也無法將其拿掉!儼然 成為一個大一統的檔案分享。檔案本身會依據熱門程度,適當的移動或複製到需 求量高的位置,相對地,一旦一個檔案在Freenet 上乏人問津,時間一久即會自 然消失。至於檔案的熱門排行是由使用者下載後自行投票,如果不滿意,才取消 投票,因此不會有主觀的反投票發生。


[業界應用] 編輯

1. 電玩 / 訊息網路:

   l CenterSpan (www.centerspan.com) 專注在peer-to-peer聲音文字訊息傳
      送,在多人電玩環境的應用。
    l Jabber (www.jabber.com) 是使用XML提供peer-to-peer即時訊息的系
      統,類似ICQ、AOL 及MSN 等即時訊息軟體。

2. 分散計算:

  l Applied MetaComputing (www.appliedmeta.com) 的產品Legion(羅馬軍
   團)提供企業做跨平台的peer-to-peer資源管理工具及peer-to-peer知識管
   理應用軟體。讓網路內的資源,緊密的整合,且在網路安全、功能及彈
   性上都有兼顧。
   l Datasynapse (www.datasynapse.com) 提供財務公司peer-to-peer的網
   路,最終目標是全球性的財務網路。
   l Entropia (www.entropia.com) 致力在計算能力分享的軟體設計,結合上
   萬台電腦的空閒時刻,進行分散式計算,免費協助解決一些人類的共同
   問題,例如搶救愛滋、藥物搜尋與運算、醫學影像處理等等。當然,某
   些百分比的計算能力該公司會發展營利用途。

3. 管理 / 合作:

   l 惠普(Hewlett-Packard)計畫將推行已一年多的e-speak產品提供
   peer-to-peer 上的應用。
   l 由Lotus Note創始人Ray Ozzie 所創辦的Groove Networks
   (www.groove.net) 投入開發採購、批發、貨品管理及客服等應用軟體。
   l 英代爾(Intel)也著眼於企業級的peer-to-peer應用軟體,並成立了一個
   Peer-to-Peer Working Group。
   l Quiq (www.quiq.com) 鎖定在的前一千大企業(Fortune 1000)並提供虛擬
   peer-to-peer的社群環境。

4. 檔案分享

   l NextPage (www.nextpage.com) 讓企業內部的檔案伺服器能以
   peer-to-peer的模式工作。
   l 在網路上流傳著微軟(Micorsoft)有個代碼為「Farsite」的peer-to-peer計
   畫。其目標是僅以集中式伺服器負責目錄與協調,做到peer-to-peer檔
   案儲存,造就無伺服器的境界,也就是「serverless」。

5. Peers代理人/ 分散式搜尋引擎:

   l 從西門子出來的WebV2 (www.webv2.com) 著眼於提供企業的Supply
   chain,提供peer-to-peer 的應用軟體讓不同廠商之間溝通、搜尋資料。

6. 超級分散式:

   l vTrails (www.vtrails.com) 發展出Full Duplex Packet Cascading
   (FDPC),可以有效地減少網站面臨壅塞流量。FDPC將陸續連線進來的
   使用者,先取一部份做第一個層(tier),剩下的繼續將其分成許多層
   (tiers)。上一層使用者所下載的資料,會直接變成下一層使用者下載資
   料的來源,端看最小hop 數目以及是否在同一地理區域,以此類推。也
   就是說FDPC將網站壅塞點,分散至一連串的使用者層(tiers)之間作
   peer-to-peer的下載。在每一台vTrails伺服器,會記錄地理位置圖,瞭
   解其使用者的位置及IP 位址。
   l 2AM也有類似的:StreamingPeer

[目前問題與瓶頸] 編輯

A. 延展性(Scalability) 編輯

在P2P 的環境下,尤其Gnutella的架構,當人數成長到萬人左右,壅塞狀況

變得非常嚴重糟糕。Gnutella之父Frankel甚至表示網路會無法負荷到5,000 位使 用者以上。

那麼,目前壅塞的瓶頸在哪?

其實,有報告指出,平均的查詢頻率約為每秒十次,一旦超過此數值,回應 Pings 的Pongs 明顯減少。另外也發現,每台peer最普遍是連線到另外三peer。 基本上,Gnutella流量可以分為三種狀況(查詢、找人、回應),共包含著五種型 態的訊息:

1. 查詢檔案:Query訊息

  Query訊息包含標頭約為30 位元組,而TCP/IP 這部分的標頭約為40 位
  元組。三個Peer每秒十個查詢次數的流量約是每秒560 x 3 x 10 = 16,800
  位元。

2. 找其他Peer:Pings 訊息

  這部分,Pings 訊息的頻率約是Query訊息的兩倍。

3. 回應其他Peer:Pongs 訊息 / Query-hits 訊息 / Push 訊息

  三種訊息加起來的量約相等於Query訊息的流量。

加總起來可以發現,這些流量為4 x 16,800 也就是每秒67,200 位元,明顯超 過撥接數據機的頻寬。附帶一題,有許多網站提供Gnutella使用者端的功能,讓 使用者無須下載任何軟體即可線上搜尋下載。這些不僅增加網路的流量,也造成 很多比例的使用者是「搭便車」(Free-rider)。


B. 安全性(Security/Trust) 編輯

在P2P 的分享環境中,安全可以分為兩個部分:(1)金流,即電子交易;(2)

資料流,如檔案分享。關於金流,多以IPSec 從IP 層保護或SSL從應用層下手 來保障使用者隱私資料,進而搭配付費機制如SET。而資料流,除了內容的適度 保密外(這是個取捨,全部加解密也意味著吃掉更多的頻寬),也有賴雙方互信機 制的建立,但目前卻十分缺乏。在P2P 分享的環境,是可以加入信任(Trust)來維 持彼此的互信。也就是給予每位使用者一個名聲值,遵守固定的規範條文(Codes of Conduct),慢慢建立自己的名聲,一旦違反規範,依據嚴重程度或三犯出局, 將其名聲降到零。Peers 之間也可以互相散佈違反紀律的危險人物。 這裡的規範條文可以分為三種方式來進行: 1. 固定條文:只要加入P2P 這個大家庭,就得遵守這些條文,不得異議。 2. 協調條文:由連線雙方互相同意對方的規範條文。 3. 學習條文:以所有人的條文之交集,視為最底線的條文。

[結論] 編輯

從Napster到Freenet,可以發現分享的東西不侷限在MP3 檔案;從眾多廠

商相繼投入不同領域的P2P,更可以瞭解P2P 的應用是廣泛無限的。目前最受期 待的目標是取代WWW 的地位,將P2P 的技術成為第三代的網際網路。Freenet 就是以這樣的目標自許,另外可能的GnutellaNG(Next Generation) – gPulp(General Purpose Location Protocol)也是以這樣目標在努力。或許,最大的變 革,莫過於搜尋引擎就在自己的電腦中,網頁連結是On-demand且沒有 Dead-links。

無論如何,純粹的檔案分享(如Napster)已是昨日黃花,整合使用者和企 業之間需求,兼顧正確的商業模式,才是真正的P2P 的資源分享網路。

[參考資料] 編輯

1. Peer-to-Peer Working Group, http://peer-to-peerwg.org/ 2. Gnutella unofficial website, http://gnutella.wego.com/ 3. Reports, specifications, numerical data of the Gnutella network,

  http://dss.clip2.com/

4. Oreilly’s P2P Development Center, http://www.oreillynet.com/p2p/ 5. gPulp, http://gnutellang.wego.com/ 6. Freenet Project, http://www.freenetproject.org 7. Scoundrel Project, http://scoundrel.on.openave.net/ 8. espra, http://espra.net

您使用了廣告過濾軟體!


Wikia通過廣告運營為使用者提供免費的服務。我們對通過嵌入廣告過濾軟體訪問網站的使用者進行調整。

如果您使用了廣告過濾軟體,將無法使用我們的服務。請您移除廣告過濾軟體,以確保頁面正常載入。

查看其他Fandom

隨機Wiki