A. 常用的p2p技術及典型產品
P2P即peer-to-peer的縮寫。而peer在英語里是「同等者」 ? 「同事」及「夥伴」的意思。因此,P2P也就可以理解為 同事」 夥伴」的意思。因此,P2P也就可以理解為 「夥伴對夥伴」的意思,或稱為對等聯網。 夥伴對夥伴」 P2P也可以被看作為一種思想,它具有改變整個網際網路基 P2P也可以被看作為一種思想,它具有改變整個網際網路基 礎的潛能的思想。雖然從純技術角度而言,P2P並未激發 礎的潛能的思想。雖然從純技術角度而言,P2P並未激發 出任何重大的創新,而更多的是改變了人們對網際網路的理 解與認識。正是由於這個原因,IBM早就宣稱P2P不是一 解與認識。正是由於這個原因,IBM早就宣稱P2P不是一 個技術概念,而是一個社會和經濟現象。 P2P技術是目前國際計算機網路技術領域研究的一個熱點, P2P技術是目前國際計算機網路技術領域研究的一個熱點, 被《財富》雜志譽為將改變網際網路未來的四大新技術之一, 財富》 甚至被認為是無線寬頻網際網路的未來技術。 2 ? 2010-122010-12-18 圖1-1 C/S模式 圖1-2 P2P模式 2010-122010-12-18 3 圖1-3 第一代P2P網路採用中央控制網路體系結構 早期的Napster就採用這種結構。它採用快速搜索演算法,排隊響應時間短,使用簡 單的協議能夠提供高性能和彈性,缺點是容易中斷服務。 2010-122010-12-18 4 圖1-4 第二代P2P採用分散分布網路體系結構 第二代P2P採用分散分布網路體系結構 不再使用中央伺服器,消除了中央伺服器帶來的問題。沒有中央控制點, 不會因為一點故障導致全部癱瘓,是真正的分布式網路。由於每次搜索 都要在全網進行,造成大量網路流量,致使其搜索速度慢、排隊響應時 間長。用戶PC的性能及其與網路連接的方式決定網路彈性和性能。這種 間長。用戶PC的性能及其與網路連接的方式決定網路彈性和性能。這種 模式具有自組織(ad-hoc)行為,降低了擁有者的成本,提供可擴展性。 模式具有自組織(ad-hoc)行為,降低了擁有者的成本,提供可擴展性。 特別適合在自組織(ad-hoc)網上的應用,如即時通信等。 特別適合在自組織(ad-hoc)網上的應用,如即時通信等。 2010-122010-12-18 5 ? 第三代P2P採用混合網路體系結構,如圖1-5所示。這種模式綜合第一代和第二代的優 第三代P2P採用混合網路體系結構,如圖1 ? 點,用分布的超級節點取代中央檢索伺服器。採用分層次的快速搜索改進了搜索性能, 縮短了排隊響應時間,每次排隊產生的流量低於第二代分布網路。超級智能節點的布 設提供高性能和彈性。沒有中央控制點,不會因為一點故障導致全部癱瘓。 內容被分布存儲在分布的存儲器和客戶終端中。通過快速檢索系統可以快速發現內容 分布存儲的位置。目前常用的P2P軟體有BT、edonky和Gnutella等,這些軟體採用「 分布存儲的位置。目前常用的P2P軟體有BT、edonky和Gnutella等,這些軟體採用「快 速追蹤」技術構成P2P網路,有著許多傳統客戶機-伺服器網路所沒有的優點。技術上 速追蹤」技術構成P2P網路,有著許多傳統客戶機-伺服器網路所沒有的優點。技術上 不但可以大大的減少文件搜尋的時間,更重要的是可以不用昂貴的中央控制硬體設備 (伺服器等)。這種P2P網路使用終端本身電腦的處理能力,網路處理能力隨著終端使 (伺服器等)。這種P2P網路使用終端本身電腦的處理能力,網路處理能力隨著終端使 用者人數增長而增加。 2010-122010-12-18 6 第四代P2P技術 第四代P2P技術 ? 第四代P2P目前正在發展中,主要發展的技術有動態埠 第四代P2P目前正在發展中,主要發展的技術有動態埠 選擇和雙向下載。動態埠選擇:目前P2P使用固定的端 選擇和雙向下載。動態埠選擇:目前P2P使用固定的端 口,但是一些公司已經開始引入協議可以動態選擇傳輸端 口,埠的數目一般在1 口,埠的數目一般在1 024~4 000之間。有的協議甚至 000之間。有的協議甚至 讓P2P流可以用原來用於HTTP(SMTP)的埠80(25) P2P流可以用原來用於HTTP(SMTP)的埠80(25) 來傳輸以便隱藏。這將使識別跨運營商網路的P2P流、掌 來傳輸以便隱藏。這將使識別跨運營商網路的P2P流、掌 握其流量變得更困難。雙向下載:eD和BT等公司進一步 握其流量變得更困難。雙向下載:eD和BT等公司進一步 發展引入雙向流下載。可以多路並行下載和上載一個文件 或多路並行下載一個文件的一部分,而目前傳統的體系結 構要求目標在完全下載後才能開始上載。這將大大加快文 件分發速度。 以上演化的四代P2P系統都屬於「無組織的P2P重疊網」 以上演化的四代P2P系統都屬於「無組織的P2P重疊網」, 在網際網路中得到快速發展,目前寬頻用戶流量中一半以上 是這種P2P流。 是這種P2P流。 7 ? 2010-122010-12-18 P4P技術 P4P技術 ? ,分布式計算產業協會(DCIA)提出了「P4P」網路 ,分布式計算產業協會(DCIA)提出了「P4P」 協議概念,而Verizon最近的試驗也證明,這種 協議概念,而Verizon最近的試驗也證明,這種 P2P網路升級版的確可以大幅提高下載速度,並顯 P2P網路升級版的確可以大幅提高下載速度,並顯 著減少網路擁堵現象。 P4P全稱「 P4P全稱「Proactive network Provider Participation for P2P」,意在加強服務供應商 P2P」,意在加強服務供應商 (ISP)與客戶端程序的通信 (ISP)與客戶端程序的通信,降低骨幹網路傳輸 與客戶端程序的通信, 壓力和運營成本,並提高改良的P2P文件傳輸的 壓力和運營成本,並提高改良的P2P文件傳輸的 性能。 P2P隨機挑選Peer(對等機)不同,P4P協 性能。與P2P隨機挑選Peer(對等機)不同,P4P協 議可以協調網路拓撲數據,能夠有效選擇Peer, 議可以協調網路拓撲數據,能夠有效選擇Peer, 從而提高網路路由效率。 8 ? 2010-122010-12-18 ? Verizon高級工程師、P4P工作組聯合主席Doug Verizon高級工程師、P4P工作組聯合主席Doug Pasko表示,Verizon使用Pando進行的測試表明, Pasko表示,Verizon使用Pando進行的測試表明, P4P可以帶來大約 P4P可以帶來大約200%的下載性能提升,部分 可以帶來大約200%的下載性能提升, 時候甚至高達600% 時候甚至高達600%。Doug Pasko指出,P2P雖 Pasko指出,P2P雖 然面臨很多法律難題,但已經在很多大型商業化 內容發布系統中得以合法化,而P4P能讓P2P得到 內容發布系統中得以合法化,而P4P能讓P2P得到 更大范圍的商業化應用,同時減輕網路負擔.
B. 何謂P2P技術
分類: 電腦/網路 >> 硬體
解析:
P2P即Peer to Peer,稱為對等連接或對等網路,P2P技術主要指由硬體形成連接後的信息控制技術,其代表形式是軟體。
技術背景
P2P起源於最初的聯網通信方式,如在建築物內PC通過區域網互聯,不同建築物間通過Modem遠程撥號互聯。其中建立在TCP/IP協議之上的通信模式構成了今日互聯網的基礎,所以從基礎技術角度看,P2P不是新技術,而是新的應用技術模式。
今天,P2P再一次被關注主要是由Napster以及ICQ類軟體的出現,雖然在Napster之前P2P方式的研究也從未停止。
現在互聯網是以S(Server)/ B(Browser)或S/C(Client)結構的應用模式為主的,這樣的應用必須在網路內設置一個伺服器,信息通過伺服器才可以傳遞。信息或是先集中上傳到伺服器保存,然後再分別下載(如網站),或是信息按伺服器上專有規則(軟體)處理後才可在網路上傳遞流動(如郵件)。
如今擁有Napster及ICQ類軟體的PC(或操作者)就可以選擇同樣擁有此類軟體的另一PC(或操作者)形成互聯(直接連接,不通過伺服器),雙方共享資源,協同完成某種行動。而擁有同一P2P軟體的設備和用戶,還可以形成一個為其自己所有的在互聯胡慧網上的P2P專用網。
現狀
1. 代表性研發產品和技術
(1) ICQ類的即時通信軟體。兩個或多個用戶互相使用文字、語音或文件進行交流,快速、直接,易於同非PC網路設備(如PDA、手機)通信,而且它不依賴設備即可辨別用戶。由於利用P2P技術可以弱化甚至擺脫對中央伺服器的依賴,這樣的通信更接近非互聯網通信模式。
(2) Farsite(Microsoft),Ocean Store類數據存儲軟體。用於在網路上將存儲對象分散化存放,而不像現在放於專用伺服器。這樣減輕了伺服器負擔,增加了數據的可靠性和傳輸速度。
(3) Napster類軟體。實現數據共享,使用者可以直接從任意一台安裝同類軟體的PC上下載及上載文件,而不是從伺服器。用戶可以檢索、復制共享的文件。軟體自動發現最新的文件列表,發布者無需擔心發布的問題。
(4) Infrasearch、Pointera類數據搜索及查詢軟體。用來在P2P網中完成信息檢索。一旦形成P2P專用網,其上的數據搜索與現在互聯網中數據存在中央伺服器的情況有所穗攔不猜做胡同,必須要考慮動態地將當前P2P網路中各個Peer的內容進行收集,並且要有效地向用戶傳遞。 P2P網用戶中相當數量在聯網方式上不同,專線、撥號、寬頻、窄帶都會碰到; 聯網的時間可以一個是24小時在線,而另一個完全可能僅聯機幾十分鍾; 使用的操作系統也不一定相同。
(5) Netbatch(Intel)類協同計算軟體。可聯接近1萬台PC,利用它們的空閑時間進行協同計算,完成超計算量的工作(如空間探測,分子生物學計算,晶元設計)。
(6) Groove 類數據或行動協同軟體。它是基於P2P連接的軟體工具,可以建立一個安全的企業級協同工作平台(P2P網),提供供求信息鏈上的互動信息溝通,如貨品目錄、庫存及發貨清單,幫助使用者進行經銷渠道維護、客戶服務和支持。
(7) 游戲軟體。事實上許多網路游戲均是P2P方式的,尤其是那些雙人及多人對弈游戲。
2. 組織與標准
目前,正式的P2P組織尚未成立,2000年8月間成立的P2P工作組,成員包括Intel、IBM、HP等大企業,目標集中在P2P技術的標准、安全性及可靠性等等。但由於P2P技術本身發展迅速,P2P技術涵蓋的范圍尚未確定,目前尚未有統一的規范。
發展
1. 關鍵技術
P2P是一種基於互聯網環境的新的應用型技術,主要為軟體技術。
(1) 對於互聯網上眾多計算機,P2P應用比其他應用要更多考慮那些低端PC的互聯,它們不具備伺服器那樣強的聯網能力,同時對於以往的P2P應用技術,現在的硬體環境已經更為復雜,這樣在通信基礎方面,P2P必須提供在現有硬體邏輯和底層通信協議上的端到端定位(定址)和握手技術,建立穩定的連接。涉及的技術有IP地址解析、NAT路由及防火牆。
(2) 在應用層面上,如果兩個Peer分別代表兩家不同的公司,而且它們已經通過互聯網建立連接,那麼一方的信息就必須為另一方所識別,所以當前互聯網上關於數據描述和交換的協議,如XML、SOAP、UDDI等都是一個完善的P2P軟體所要考慮的。
(3) 有通信就要有安全保障,加密技術是必須要考慮的。
(4) 其他需考慮的有如何設置中心伺服器,如何控制網路規模等。
2. P2P技術與現有互聯網技術比較
目前互聯網主要技術模式是S/C方式,此方式要在互聯網上設置擁有強大處理能力和大帶寬的高性能計算機,配合高檔的伺服器軟體,再將大量的數據集中存放在上面,並且要安裝多樣化的服務軟體,在集中處理數據的同時可以對互聯網上其他PC進行服務,提供或接收數據,提供處理能力及其他應用。對於一台與伺服器聯機並接受服務的PC機來說,這台PC機就是客戶機,其性能可以相對弱小。而P2P技術的特徵之一就是弱化了伺服器的作用,甚至取消伺服器,任意兩台PC互為伺服器,同時又是客戶機,即對等。右面是P2P與S/C方式的一些比較:
S/C方式造成互聯網路上的集中,無論信息資源還是成本資源均向同一方向集中,這樣的模式符合一對多、強對弱的社會關系形式,如 *** 對個人、對企業,大企業對小企業,學校對學生,企業對職工等等關系。所以S/C方式是符合市場需求的。P2P方式將導致信息數量、成本資源都向互聯網各點均勻分布,也就是所謂「邊緣化「的趨勢。此模式符合「一對一」的特點,以及彼此相當的社會關系形式,如個人對個人,規模相當的企業之間,等等,這也是符合市場需求的(如ICQ)。所以這兩種方式會共存,有關P2P即將替代S/C模式的說法是不成立的。P2P有其獨特的市場空間,是現有互聯網應用的補充,這一點應該是毫無疑問的。
3. P2P技術特性
(1) 既是S又是C,如何表現取決於用戶的要求,網路應用由使用者自由驅動。
(2) 信息在網路設備間直接流動,高速及時,降低中轉服務成本。
(3) 構成網路設備互動的基礎和應用。
(4) 在使網路信息分散化的同時,相同特性的P2P設備可以構成存在於互聯網這張大網中的子網,使信息按新方式又一次集中。
企業應用
應用P2P技術的互聯網產品正在迅速開辟出一塊新的互聯網應用市場,例如ICQ類的即時信息工具不僅創立了一個巨大市場,而且正在多方向地向外擴展,比如在移動通信市場,ICQ產品的多信息格式(文字、語言的支持)和即時性,可以為常規通信增加信息內容(文字、圖片)和通信對象(網上ICQ用戶)。
另一方面,ICQ的使用也會使部分用戶放棄Email,侵蝕Email市場。Napster類的文件共享型P2P產品開拓出網上文件傳播的新途徑,用戶不僅可以進行搜索和下載這樣的操作,同時也可以方便地將自己的文件提供給其他用戶,做到了基本的雙向交流。
由於P2P技術方案不同於S/C方式的特性,可以在許多方面彌補S/C方式的不足,P2P產品將建立互聯網上的一種新的應用模式,這時用戶不僅在PC裝有瀏覽器,而且還有數種P2P軟體來實現新的互聯網應用。
比如一個計算機配件經銷商可以通過Email或瀏覽器(如果對方也通過P2P技術發布信息,則也可以用P2P軟體)得到其上游廠家最新推出的產品信息及價格,研究了這些信息,並落實訂貨事宜之後,啟動P2P軟體,將新的產品及售價發布到重要客戶的P2P聯絡站上,其中一個未上網的用戶通過手機也知道了這消息。不久,經銷商將收到客戶的在線詢問,而經銷商在線回答問題的同時又將一個驅動程序傳給了這個客戶。這一切的操作均是通過互聯網,而對象是廠家人員或客戶,而非其網站或郵箱,這樣就真正利用互聯網做到了面對面的交流,更加接近現實社會的人際交流習慣。
1. 企業P2P互聯網應用的幾個側重
(1) 企業協同
企業協同包括兩大方面,一是企業內部的員工與員工、部門與部門、員工與部門之間的協同,無論部門及員工處在何種地理位置,只要擁有網路,雙方存在信息溝通的要求,就可以利用P2P軟體協調雙方的行為。信息的種類及行為目的可以是多種多樣的,如日程安排、通知發布、單據的審批、文件傳閱和分發、方案的評比(表決)、計劃協調等等這些可以通過電子文件表達的信息均可以通過軟體來表達,並以此將使用者聯系在一起。P2P應用更適用這當中更多需要用戶交互的部分,如計劃協調、日程安排等。二是企業與企業之間的行為協同,這種協同的互動的多樣性和復雜性要高於企業內部的協同。從簡單的會議日程安排、公文往來,到報價、詢價訂貨系統、訂單跟蹤、電子化交易。
(2) 企業門戶
新型企業門戶不再簡單地以一個網站來實現,它不但綜合了為企業內部員工或部門的服務,還可以為企業夥伴及用戶服務,同時也是企業管理者了解企業運行狀態,調控企業運行的管理工具。企業各個部分的運行情況均可以通過它傳遞給允許接觸到相關信息的使用者。管理者可以通過門戶掌握企業的動態,調控企業的運行,直達下級領導建立溝通。而企業內部的員工與企業外部的夥伴或客戶均可通過這一平台找到相關的人(工作人員),建立起這樣那樣的信息交流通道,實現不同的協作目標。這將綜合S/C技術和P2P技術,P2P部分將實現信息定向推送,實時溝通和數據互動。
(3) P2P群集和VPN
構建於互聯網之上的P2P應用不再簡單地限於兩個點,完全可以擴展到多點的群集,形成互聯網中的一個虛擬的子網,構成一個精簡的VPN。這樣一來,通過相對簡單的,僅僅是對P2P用戶端軟體的操作,用戶就可以主動地選擇不同的VPN並加入,同時也就使得了不同的VPN同時存在於互聯網之中。個性化、專業化同時又是開放(基於互聯網)的VPN的出現,使信息的集中和流動更接近現實社會的信息流動方式,更易於為人們所接受。比如喜愛音樂的人們建立了自己的音樂VPN,擅長編程的設計師可以建立自己的程序員VPN,而對於企業,行業化、渠道化的組織終於有了一個在互聯網上安家的便捷途徑。可以預計,行業化的目錄服務、信息服務將通過此方式迅速涌現,為企業電子商務打下一個良好基礎。
(4) 人機遠程互動和機機互動
遠程監控和調試已經運用在許多工業場合,甚至也出現了一些通過網站方式運行的方案,但網站方式在速度和交互性方面的缺陷使得用戶無法接受。P2P方案為這方面的應用開辟了新的天地,利用它,一個鍋爐廠商可以通過互聯網幫助其客戶調控其鍋爐的運行狀態,而我們也可以在回家的路上用手機將家中的空調提前打開。
(5) 寬頻網及無線移動網應用
當帶寬達到數據流要求的容量,如實時音頻、實時視頻,人們期待已久的多種網路應用就會呈現在面前。而特別能滿足交互需要的P2P技術更有一塊施展的天地,電話會議、視頻會議、遠程教育、培訓、安裝調試等等都將為企業帶來P2P技術的新應用。實際上ICQ作為P2P技術已經開始應用在手機簡訊上。
2. 企業P2P互聯網應用的市場特點
(1) 構成企業B2B電子商務內容的一部分。
(2) 促進建立新的互聯網數據交換標准和數據安全模式。
(3) 引起新一代互聯網的應用,可以建立起底層結構平台。
(4) 具有領域化的市場分割—與前一時期的互聯網熱有相同的出發點,將建立起相關行業的群落。
(5) 有較明確的贏利模式。由於P2P產品不再像S/C方式那樣客戶僅使用瀏覽器,而是使用特質的客戶端軟體,同時軟體的使用需廠家的直接支持,用戶對購買軟體或繳納使用費很容易理解。
(6) 向後產品和技術可以整合進入企業內部信息管理市場,向前可以進入企業外部電子商務市場。
3. 估計的產品形式
(1) 底層基礎開發平台及專項應用軟體。
(2) 軟體工程。為企業量身定做。
(3) 軟體服務。將軟體功能租給企業使用及信息服務。
C. 什麼是P2P技術
你好!
P2p技術簡介
一 什麼是p2p
P2P即Peer to Peer,稱為對等連接或對等網路,P2P技術主要指由硬體形成連接後的信息控制技術,其代表形式是軟體。P2P起源於最初的聯網通信方式,如在建築物內PC通過區域網互聯,不同建築物間通過Modem遠程撥號互聯。其中建立在TCP/IP協議之上的通信模式構成了今日互聯網的基礎,所以從基礎技術角度看,P2P不是新技術,而是新的應用技術模式。
二 技術簡介
1.關鍵技術
P2p是一種基於互聯網環境的新的應用型技術,主要為軟體技術。
(1) 對於互聯網上眾多計算機,P2P應用比其他應用要更多考慮那些低端PC的互聯,它們不具備伺服器那樣強的聯網能力,同時對於以往的P2P應用技術,現在的硬體環境已經更為復雜,這樣在通信基礎方面,P2P必須提供在現有硬體邏輯和底層通信協議上的端到端定位(定址)和握手技術,建立穩定的連接。涉及的技術有IP地址解析、NAT路由及防火牆。
(2) 在應用層面上,如果兩個Peer分別代表兩家不同的公司,而且它們已經通過互聯網建立連接,那麼一方的信息就必須為另一方所識別,所以當前互聯網上關於數據描述和交換的協議,如XML、SOAP、UDDI等都是一個完善的P2P軟體所要考慮的。
(3) 有通信就要有安全保障,加密技術是必須要考慮的。
(4) 其他需考慮的有如何設置中心伺服器,如何控制網路規模等。
2. P2P技術與現有互聯網技術比較
目前互聯網主要技術模式是S/C方式,此方式要在互聯網上設置擁有強大處理能力和大帶寬的高性能計算機,配合高檔的伺服器軟體,再將大量的數據集中存放在上面,並且要安裝多樣化的服務軟體,在集中處理數據的同時可以對互聯網上其他PC進行服務,提供或接收數據,提供處理能力及其他應用。對於一台與伺服器聯機並接受服務的PC機來說,這台PC機就是客戶機,其性能可以相對弱小。而P2P技術的特徵之一就是弱化了伺服器的作用,甚至取消伺服器,任意兩台PC互為伺服器,同時又是客戶機,即對等。
3. p2p技術嚴格的說是一種網格
網格的定義:網格是在網路之上運行的軟體基礎設施,是連接集成不同硬體系統、軟體系統、應用系統的紐帶和粘合劑。
4. P2P技術特性
(1) 既是S又是C,如何表現取決於用戶的要求,網路應用由使用者自由驅動。
(2) 信息在網路設備間直接流動,高速及時,降低中轉服務成本。
(3) 構成網路設備互動的基礎和應用。
(4) 在使網路信息分散化的同時,相同特性的P2P設備可以構成存在於互聯網這張大網中的子網,使信息按新方式又一次集中。
三 技術應用
p2p技術目前主要應用於以下幾個方面:
1.及時通信: ICQ 、OICQ及IP電話技術
2.文件和其他內容共享——BT技術
現在人們已經很熟悉用BT下載資源,BT的全名,叫做BitTorren,中文譯作/比特湍流,有許多網友直取諧音,戲稱之為/變態,如抽掉貶義的色彩倒是十分形象,因為它的確是一種不同於互聯網常態的資源交流機制。作為一種革新性下載工具,BT吸納了P2P的技術優勢,簡單而有效地實現了下載壓力的分擔。BT首先在上傳者端把一個文件分成了Z個部分,甲在伺服器隨機下載了第N各部分,乙在伺服器隨機下載了第M個部分,這樣甲的BT就會根據情況到乙的電腦上去拿乙已經下載好的M部分,乙的BT就會根據情況去到甲的電腦上去拿甲已經下載好的N部分,這樣就不但減輕了伺服器端得負荷,也加快了用戶方(甲乙)的下載速度,效率也提高了,更同樣減少了地域之間的限制"比如說丙要連到伺服器去下載的話可能才幾K,但是要是到甲和乙的電腦上去拿就快得多了。所以說用的人越多,下載的人越多,大家也就越快,BT的優越性就在這里。而且,在你下載的同時,你也在上傳(別人從你的電腦上拿那個文件的某個部分),所以說在享受別人提供的下載的同時,你也在貢獻。
3.搜索引擎——基於p22的適應性信息檢索系統的設計
本文提出的基於p2p的適應性信息檢索系統的網路拓撲結構如圖1所示。系統由若干個自治的結點組成,它們按照網路架構組成一個信息檢索網路,每一個結點都是對等的。每一個結點都由一個客戶端代理和一個伺服器端代理組成。用戶通過客戶端代理提交提問,對於每個提問,客戶端代理可根據具體情況,使用元搜索、爬行器和轉交給伺服器端代理等三種方式的任意組合進行檢索處理,對於三種方式返回的結果文擋,客戶端代理經過合並過濾之後呈現給用戶。用戶在瀏覽結果時,通過將文檔標記為感興趣或不感興趣的方式,向客戶端代理提交相關反饋。利用這些反饋,客戶端代理可以建立一個用戶模型,該用戶模型一方面將用於今後的結果過濾,另一方面也將用於修改用戶的原始提問,以便今後進行進一步的檢索處理。與此同時,伺服器端代理負責結點之間的通訊,它可以在接收用戶模型和相關文擋的基礎上,進行用戶聚類,並在聚類的基礎上,在具有相同或相似興趣的用戶之間實現合作式推薦和轉發檢索請求,單個結點的內部結構設計如圖2所示。
4.協同工作——p2p技術對e-learning應用模式的影響
基於 P2P 思想的知識交流型學習:
P2P是一種技術,但它更是一種思想,是有著會改變整個互聯網現狀潛能的思想。它將人們直接聯系起來,讓人們可以通過互聯網實現直接的交互,從而使得網路溝通變得更為容易、資源共享更為直接,因而它在加強網路人際交流、文件交換和分布計算等方面大有前途。隨著 P2P 技術的興起,基於P2P思想的知識交流也開始在網路上出現。如 LearningIDEAS公司提供的可以即時捕獲個人與個人之間的知識交換方案,就包含了一套獨特的匹配和轉發系統,它能夠讓外在的知識隨信息交流實時傳遞。LearningIDEAS的技術與企業呼叫中心的路由系統非常相似,它允許基於知識技能的路由和匹配,在發生現實需求和特定問題時可以讓一個用戶與另一個相關的用戶聯系起來。與傳統 e-Learning系統相比,基於P2P思想的知識交流方案最大的不同就在於無需創建專門化的學習環境,也無需正式安排教學活動,就可以在學習者和他人之間提供知識分享的通道。
目前主流的e-Learning系統如Ellumniate、Centra、WebEx等也提供一些同步學習和協作解決方案(如虛擬「在線會議室」等),它們雖然可以允許學習者進行非正式的學習交流和直接溝通,但這類學習活動一般都需要在主題、時間和交流人員等方面制訂明確的計劃和安排。基於P2P的知識交流方案卻不同。當一位用戶或學員遇到某方面困難時,他在LearningIDEAS系統中把自己的問題表述出來,系統就可以立刻幫助他轉接到某個具有此類問題解決經驗的同事或學員用戶那裡。就像和身邊的人隨意詢問交流一樣,這種虛擬的即時溝通方式能夠更快捷地解決用戶所遭遇的現實問題,並消除了通過正式教學系統進行學習的時空障礙。
基於P2P技術的非正式知識交換方案,真正的價值是它使得學習和交流能夠在網上隨時發生,並能融入到實際的工作和生活流程當中。這種隨機、自由、及時的知識交流方案不僅使學習交互可以發生在每位網路用戶身邊,而且非正式知識交流的學習過程也能夠被記錄存檔。當人們加入P2P網路的時候,所有用戶都擁有了平等的機會,都可以容易地在網路上自由溝通思想,隨時交流學習,並進而從與對方的交流和溝通中獲取所需要的知識和信息。P2P擺脫了中間服務的羈絆,它重新將人們通過網路直接聯系起來,使人際間的知識交流更為迅速和便捷,從而提高了人們解決學習問題和處理社會事務的效率。
四 p2p技術的不足及目前的解決途徑
管理問題和安全問題是p2p目前所面臨的最大的問題。
在p2p技術結構中,中心節點的意義被大大弱化甚至完全消解。去中心化的特點將得到更為充分的體現,網路傳播結構的扁平化特點也會進一步凸顯。這樣的傳播結構,使網路信息傳播的管理與控制更為復雜與困難。從管理的層面看,p2p技術最主要的挑戰體現在兩方面:對不良內容的傳播控制更為復雜;版權管理更為困難。
在國外,p2p在版權管理方面帶來的問題引起了更大的關注,據報道,美國國會知識產權辦公室目前已草擬新版法案,力圖禁止這類p2p軟體的應用;英國更是早在2003年10月就通過了立法決定執行頗有爭議的歐洲版權法令,這個立法從理論上明確了,使用類似的p2p服務將可能構成犯罪。
目前的解決方法:利用JXTA技術(juxtapose 並行技術)。
JXTA技術提供了建立P2P網路應用的核心技術,旨在為P2P應用建立一個通用的開發平台。JX2TA技術主要包括一個獨立於編程語言系統平台和網路平台的協議集,這個協議集說明了P2P應用的最基本的需求。可以說,JXTA是位於操作系統或虛擬機之上的P2P網路服務或應用之下的一個P2P堆棧,它提供了P2P應用所需的核心功能。 但是也有人對此持批評態度,例如,方興東認為:p2p的交流如果是在個人與個人之間,如果沒有任何商業行為在內,那麼就不應該用知識產權來限制。
當然,技術肯定不能解決所有問題,相關法律手段的加強,也是十分必要的。但是,法律的制定應該著眼於未來而不是眼前,著眼於社會全局利益而不是個別利益。
五 前景展望
從p2p技術的發展軌跡來看,它與互聯網技術的發展是一致的,那就是從技術導向逐漸轉向市場導向,從專屬用戶逐漸轉向普通用戶這也意味著,這些技術的影響力將從純技術層面轉向經濟、文化與社會層面。
p2p技術既然可以為個人對個人的信息交流與共享提供方便,自然也能為媒體對媒體的信息交流與合作提供可能。P2p技術也可能成為媒體間的交流與合作的新平台,也可能加速媒體形態的演化。對於媒體機構來說,現在能感覺的似乎更多的是潛在的威脅,因為它們在傳統媒體以及網路媒體中的中心特權地位會受到挑戰,但是,從另一個角度來看,如果媒體機構把自己視作一個普通的信息產品的生產者,也許就能從2技術中找到新的希望。
作為一種越來越具有普遍應用價值的技術,p2p對於未來的網路傳播特性的影響,雖然還一時難以做出全面描述,但是影響正在開始而且會繼續,這正像技術一樣的普及,在很大程度上促進了網路作大眾媒體的屬性。
參考文獻:
1.P2P技術與網路傳播的未來 彭蘭 第7卷 第1期 南京郵電學院學報
2.基於P2P的適應性信息檢索系統的設計 江 淇
3.技術思想對 E-Learning 應用模式的影響 李芃
4. 淺談下一代互聯網技術——網格技術 王東 管江紅
5. 信息技術一種全新的P2P網路解決方案——JXTA技術 王旭輝 鄭雪峰 姚宣霞
6. P2P技術的研究與應用 陳 姝 方濱興 周勇林
7.P2P技術的應用及其研究現狀 趙 恆 陳 傑
D. 有關P2P技術問題
1 P2P技術原理
什麼是對等網路(P2P)技術?P2P技術屬於覆蓋層網路(Overlay Network)的范疇,是相對於客戶機/伺服器(C/S)模式來說的一種網路信息交換方式。在C/S模式中,數據的分發採用專門的伺服器,多個客戶端都從此伺服器獲取數據。這種模式的優點是:數據的一致性容易控制,系統也容易管理。但是此種模式的缺點是:因為伺服器的個數只有一個(即便有多個也非常有限),系統容易出現單一失效點;單一伺服器面對眾多的客戶端,由於CPU能力、內存大小、網路帶寬的限制,可同時服務的客戶端非常有限,可擴展性差。P2P技術正是為了解決這些問題而提出來的一種對等網路結構。在P2P網路中,每個節點既可以從其他節點得到服務,也可以向其他節點提供服務。這樣,龐大的終端資源被利用起來,一舉解決了C/S模式中的兩個弊端。
P2P網路有3種比較流行的組織結構,被應用在不同的P2P應用中。
(1)DHT結構
分布式哈希表(DHT)[1]是一種功能強大的工具,它的提出引起了學術界一股研究DHT的熱潮。雖然DHT具有各種各樣的實現方式,但是具有共同的特徵,即都是一個環行拓撲結構,在這個結構里每個節點具有一個唯一的節點標識(ID),節點ID是一個128位的哈希值。每個節點都在路由表裡保存了其他前驅、後繼節點的ID。如圖1(a)所示。通過這些路由信息,可以方便地找到其他節點。這種結構多用於文件共享和作為底層結構用於流媒體傳輸[2]。
(2)樹形結構
P2P網路樹形結構如圖1(b)所示。在這種結構中,所有的節點都被組織在一棵樹中,樹根只有子旁乎梁節點,樹葉只有父節點,其他節點既有子節點也有父節點。信息的流向沿著樹枝流動。最初的樹形結構多用於P2P流媒體直播[3-4]。
(3)網狀結構
網狀結構如圖1(c)所示,又叫無結構。顧名思義,這種結構中,所有的節點無規則地連在一起,沒有穩運運定的關系,沒有父子關系。網狀結構[5]為P2P提供了最大的容忍性、動態適應性,在流媒體直播和點播應用中取得了極大的成功。當網路變得很大時,常常會引入超級節點的概念,超級節點可以和任何一種以上結構結合起來組成新的結構,如KaZaA[6]。
2 P2P技術應用現狀
由於能夠極大緩解傳統架構中伺服器端的壓力過大、單一失效點等問題,又能充分利用終端的豐富資源,所以P2P技術被廣泛應用於計算機網路的各個應用領域,如分布式科學計算、文件共享、流媒體直播與點播、語音通信及在線游戲支撐平台等方面。
(1)分布式科學計算
我們知道,許多計算機的CPU資源並不是時刻保持峰值運轉的,甚至很多時候計算機處於「空閑」狀態,比如使用者暫時離開等情況。而P2P技術可以使得眾多終端的CPU資源聯合起來,服務於一個共同的計算。這種計算一般是計算量巨大、數據極多、耗時很長的科學計算。在每次計算過程中,任務(包括邏輯與數據等)被劃分成多個片,被分配到參與科學計算的P2P節點機器上。在不影響原有計算機使用的前提下,人們利用分散的CPU資源完成計算任務,並將結果返回給一個或多個伺服器,將眾多結果進行整合,以得到最終結果。
世界最著名的P2P分布式科學計算系統非「SETI@home」項目莫屬。SETI@home項目(簡稱為S@H或SETI),由美國加利福尼亞大學伯克利分校在1999年發起,是至今最成功的分布式計算項目。SETI@home通過分析從射電望遠鏡傳來的數據來搜尋地外文明,這在不少科幻迷甚至是很多普通大眾眼裡都是一個「很酷」的應用。SETI的早期版本截至2005年已經吸引了543萬用戶,分析了大量頃祥積壓數據。正如宇宙的浩瀚一般,需要計算的數據(即存在宇宙空間的無數無線電信號)也是海量的。可以說,這幾百萬台終端組成了一個目前最快的高性能計算機都望塵莫及的「超級計算機」。
(2)文件共享
要問一百個網友目前中國最流行的文件下載方式,恐怕99個都會回答是「BT」。「BT」是BitTorrent[7]的簡稱,是一種依賴P2P方式將文件在大量互聯網用戶之間進行共享與傳輸的協議,對應的客戶端軟體有BitTorrent、BitComet和BitSpirit等。由於其實現簡單、使用方便,在中國用戶之間被廣泛使用。BitTorrent中的節點在共享一個文件時,首先將文件分片並將文件和分片信息保存在一個流(Torrent)類型文件中,這種節點被形象地稱作「種子」節點。其他用戶在下載該文件時根據Torrent文件的信息,將文件的部分分片下載下來,然後在其他下載該文件的節點之間共享自己已經下載的分片,互通有無,從而實現文件的快速分發。由於每個節點在下載文件的同時也在為其他用戶上傳該文件的分片,所以整體來看,不會隨著用戶數的增加而降低下載速度,反而下載的人越多,速度越快。
BitTorrent是一種無結構的網路協議。除了BitTorrent之外,還有不少著名的無結構化的P2P文件共享協議,典型的有Gnutella[8]和KaZaA[6]。
Gnutella協議是一種最典型的完全分布式、無等級結構的P2P網路模型。網路中的節點隨機連接若干個其他節點,稱之為「鄰居」。這種結構能夠很好地適應P2P網路中節點頻繁加入與離開的動態特性,因為任意一個節點都可以被新加入的節點作為「鄰居」而連接,任意一個「鄰居」也可以隨意地離開網路。同時,這種加入節點和離開節點的選擇是節點間的獨立行為,隨機分布於網路之中。所以說Gnutella的網路具有健壯性、實時性、可靠性、負載平衡等優勢。
在Gnutella網路中存在以下問題:
冗餘消息多,對帶寬的消耗存在一定的浪費。Gnutella網路協議採用泛洪式(Flooding)消息傳播機制,這種消息傳播機制產生了呈指數級增長的冗餘消息。據統計,P2P軟體白天佔Internet上運行帶寬的40%~70%,晚上有時能達到80%。
搜索效率低,可擴展性差。Gnutella網路的搜索協議將所有資源與節點統一對待,沒有考慮節點的性能差異,也沒有利用查詢成功的歷史經驗,使得搜索效率低下。
KaZaA協議中節點大體上也是無結構連接的。但是在KaZaA協議中存在一種「超級節點」。這種「超級節點」其實是來源於各個普通的客戶端節點,但它們一般具有計算能力強、接入帶寬大、在線時間穩定等特點。在KaZaA協議中,超級節點承擔著部分伺服器的任務,如管理部分普通節點,負責搜索消息的轉發等。每一個節點上線後會尋找一個超級節點掛靠,並和原先掛靠在該超級節點下的其他普通節點隨機相連,組成一個小的無結構網路。普通節點的共享文件索引匯報給所掛靠的超級節點。因而,KaZaA網路大體上可以看作是兩層的無結構網路,上層是超級節點組成的無結構網路;下層是普通節點組成的多個無結構網路,按所掛靠的超級節點分成多個簇。當普通節點發起文件搜索請求時,將請求消息發給所掛靠的超級節點,超級節點從自己存儲的共享文件索引信息中查找區域內符合條件的文件,同時將搜索請求轉發給若干個其他超級節點,由它們返回其區域內搜索結果。如果需要,這個轉發過程可以執行多步以獲得更大范圍內的搜索結果。這樣的混合式結構對異構的終端節點「分而治之」,可以充分利用一些能力較強的終端節點來擔任「小」伺服器的角色,可謂是「人盡其才,物盡其用」。
除了這些無結構的P2P文件共享協議之外,幾乎所有的DHT網路都可以並已經用來實現文件共享的應用,如Chord、Pastry、KAD、CAN等應用。
(3)流媒體直播
曾經人們以為P2P做文件共享最合適,但現在大家發現P2P模式是如此適合於流媒體直播,以至於研究熱點在很短的時間內迅速轉移到P2P的流媒體上來。中國最早的P2P流媒體直播軟體應該算香港科技大學計算機系研究的Coolstreaming[5]、華中科技大學集群與網格計算湖北省實驗室研究的AnySee[9]以及清華大學的Gridmedia等系統。
Coolstreaming是一款基於網狀無結構網路拓撲的流媒體直播軟體,中文名叫做「酷流」。在Coolstreaming中,每個節點通過登錄伺服器(BS)進入網路,並得到一些鄰居列表。每個節點和鄰居之間共享媒體數據。Coolstreaming中節點共享媒體數據是基於一種稱作「數據驅動」的機制。首先,對於節點緩沖區內所擁有的數據,使用一種「緩沖映射表」(Buffer Map)來進行標記:對於每一秒的媒體內容,如果節點已經從節目源或鄰居處獲取,則標記該秒數據為「1」,否則標記為「0」。這樣,一個80秒長度的緩沖區就對應一個80位長度的緩沖映射表。其次,節點之間以「心跳」(Heartbeat)方式定期交換各自的緩沖映射表,通過比對得到自己沒有而鄰居擁有的數據位,然後根據數據調度演算法,選擇合適的鄰居,請求得到相應的數據。Coolstreaming採取全網狀結構組織網路中的節點,每個節點連接20個左右的鄰居,在定期交換緩沖映射表的同時,還要交換自己的鄰居列表。這樣,在一個鄰居離開時,可以從它最近提供的鄰居列表中選擇一個連接數沒有達到上限的鄰居作為「替補」鄰居進行連接。最早期的Coolstreaming是採取隨機選取鄰居的策略,即從BS上隨機返回一些當前在線的節點列表,然後隨機從中選擇一些節點進行連接,在選擇「替補」鄰居時也是隨機的。這樣做同時又可以達到一定程度的負載平衡效果,因為每個節點連接的鄰居數基本是均勻的。但是這樣做的缺點也是明顯的,兩個距離很遠、連接很差的節點也可能被調度成為鄰居,大大影響的系統的服務質量。
華中科技大學集群與網格計算湖北省重點實驗室是中國最早研究P2P流媒體直播的小組之一,它所研發的AnySee軟體期望能夠使得用戶在網上任何時候任何地點都能觀看多媒體直播節目。
AnySee的第一個版本基於樹狀結構:節目源是一個多播樹的根節點,之後的節點被調度為其「兒子」或子樹。每個節點向其父節點索要數據,並將數據提供給多個子節點。這樣的結構可以使得節點快速加入到網路中,並且可以根據IP鄰近原則構建起一棵IP多播樹,使得節點加入位置都是和自己IP鄰近的節點,從而優化服務質量。之後AnySee推出第二個版本,結合了原有的樹狀結構和流行的網狀結構,使得「控制數據走樹,媒體數據走網」,既能幫助節點快速定位到加入點,又能實現一定程度的負載均衡,並緩解了原有純樹狀結構中底層節點和頂層節點之間播放時差較大的問題。最近的AnySee版本已經取消了樹的結構,演化成了優化的網狀結構(如圖2所示),即每個節點維護一定數量的鄰居成員,並從中選出最合適的「夥伴」節點與之交換數據。夥伴的數量既有上限又有下限,在不滿足下限時,節點會不斷尋找新的合適節點加入夥伴列表;在達到下限時,節點停止主動尋找夥伴的過程,但可以接受其他節點將其加入夥伴列表的請求;在達到上限時,節點不再和新的節點建立夥伴關系。
除了學術界對P2P流媒體直播的研究外,中國還涌現了很多成功的P2P流媒體直播商業產品,如PPLive、PPStream、沸點和TVAnts等,其中以PPLive最為有名。PPLive目前擁有數百個頻道,在2006年「超級女聲」決賽期間,頻道觀看人數達到十萬人,可以說是把P2P發揮到了極限。此外,國外也有不少對P2P流媒體直播的研究,如SplitStream[10]等。
(4)流媒體點播
由於觀看直播節目時用戶不能選擇觀看指定片段,所以在人們熱烈研究P2P流媒體直播時,已有人開始將目光轉向P2P流媒體點播服務。目前成功推出P2P流媒體點播的機構還不多,典型的有GridCast[11]系統、PPStream點播系統。GridCast也是一款由華中科技大學集群與網格計算湖北省重點實驗室於2005年12月份成功研發並投入使用的對等視頻點播系統,具有支持多人共享點播片段、跟蹤(Tracker)伺服器用戶引導、環狀結構內容組織等特點。由於一個點播頻道的人數往往不會太多,所以在用戶進行視頻錄放(VCR)操作時(即前後拖動播放點、暫停/繼續播放等操作),能否快速將用戶定位到觀看該點節目的其他用戶處就成了P2P點播技術的關鍵。為了實現快速定位,GridCast中採取了一種同心圓環的媒體內容組織結構。在每一個節目頻道里,媒體內容按指數遞增的區間進行劃分,例如一個一個半小時的電影節目,可劃分成[0, 5]、(5, 15]、(15, 35]、(35, 75]和(75, END=90]幾段,其單位為分鍾。每個節點記錄幾個正在觀看各個段之間內容的節點。這樣,在和AnySee類似的網狀結構中,可以定期交換這種分段記錄,從而,在某個用戶拖動觀看點時,可以快速定位到相應段的記錄節點處,並從這些節點當時所觀看的區間內得到大量備用記錄以請求該區間媒體數據。此外,GridCast還根據用戶習慣對數據調度策略進行優化。
(5)IP層語音通信
IP層語音通信(VoIP)是一種全新的網路電話通信業務,它和傳統的PSTN電話業務相比有著擴展性好、部署方便、價格低廉等明顯的優點。在全球范圍內的VoIP應用中,由於通信各方可能處於不同的網路狀況下,所以採取少數幾個伺服器來進行話音包中轉不僅存在壓力過大的問題,還可能無法為指定通信雙方提供滿意的通話質量保證。所以採取P2P技術動態自適應地根據通信雙方網路進行鏈路控制與消息轉發是可行的解決方案。
目前風靡全球的Skype[12]即是一款典型的P2P VoIP軟體。Skype由於能夠提供清晰的語音質量和免費的服務,使用起來又方便快捷,所以吸引了全球數千萬的用戶,每天在線用戶達500萬人,並且注冊用戶數每天增加15萬。基本上,Skype採取類似KaZaA的拓撲結構,在網路中選取一些超級節點。在通信雙方直連效果不好時,一些合適的超級節點則擔當起其中轉節點的角色,為通信雙方創建中轉連接,並轉發相應的語音通信包。
(6)網路游戲平台
大型網路在線游戲和網路對戰游戲是不少「網蟲」的至愛。但由於伺服器能力有限,大型網路在線游戲往往需要限制場景人數或者不斷增加伺服器,而網路對戰游戲也必須局限在區域網內進行或者依賴獨立的伺服器端程序及機器實現Internet上的電子競技。目前,已有研究人員將P2P技術引入網路游戲和網路游戲支撐平台中。
目前較為成功的P2P游戲平台是華中科技大學集群與網格計算湖北省重點實驗室推出的PKTown[13]系統。PKTown系統是一個支持多種網路對戰游戲的P2P平台。P2P網路對戰游戲平台的難點在於將嚴格延時約束的節點聚集在一起,這由對戰游戲本身要求所決定:延時是影響對戰游戲用戶體驗的關鍵因素。在眾多在線用戶中,如何將新加入用戶調度到周圍都是延時鄰近的環境中去呢?PKTown也是採取GridCast中出現過的指數增長的同心圓環方式,很好地解決了這個問題。
PKTown不需要改變游戲本身的代碼,而是將用戶和Internet鄰居組建成一個虛擬區域網,將游戲發出的通信包截獲後負載上虛擬區域網的地址,轉發出去,游戲進程接收到之後認為是來自同一區域網的游戲包,則可以正常進行游戲。目前PKTown支持魔獸爭霸、星際爭霸和反恐精英幾款游戲,已經在高校范圍內進行公測,並成功舉辦華中科技大學第三屆Race War游戲大賽,用戶反應良好。
3 結束語
自P2P技術從1999年出現之後,現在已經發展繁榮起來。前文中提到的很多技術都已經趨近成熟,如拓撲構建和內容分發等相關技術。由於P2P架構靈活,適用面廣闊,所以將P2P應用到新領域的現象層出不窮,P2P的軟體產品也如雨後春筍一般爆炸性增長。
通過本文的描述可以看出,P2P蹬基本原理是容易實現的,人們的研究方向也由基礎架構的構建和維護及優化演算法等桎梏中擺脫出來,開始深入到P2P技術的根本性問題中去。最新的研究成果表明,不少研究人員已經開始將重心轉入到覆蓋層網路的節點延時聚集研究、覆蓋網之間(Inter-Overlay)優化研究、P2P支撐平台研究以及P2P安全方面的研究等方面。相信隨著對P2P技術研究的不斷深入,人們能夠對P2P計算有一個更深入的認識並解決目前P2P領域中大部分科學問題。可以預見,P2P所帶來的技術創新和應用創新還將繼續。
E. p2p技術原理簡介 p2sp呢
這類軟體是用的P2P的原理
也就是樓上所說的那樣人越多,速度月快.
P2P簡介 P2P(Peer-to-Peer)這個詞如果僅僅理解為一種網路拓撲結構,那不能稱之為新鮮事物,因為早在許多年之前Internet剛剛誕生時就已經有了,而且當時的Internet就是一個P2P結構的大網路。人們之間完全是以「點-點」方式通訊的,根本不存在現在所謂的Server和Client。這可以看作是P2P最原始的形勢。 經過幾十年的發展,Internet上的資源逐漸豐富起來,並呈現爆炸式增長的態勢。而與此同時,資源的流向卻趨於集中化,大量公開的資源以所謂的Server形式在Internet上提供,網路應用兄和也多以集中化方式提供服務,比如:Web、FTP等。不可否認,這種集中化的發展大大促進了Internet的普及與應用,成就了今天Internet的神話。然而,在這個唯一全球互聯的網路上,集中化的方式使服務缺少個性,並充滿著濃烈商業氣息,人們每天機械地訪問幾個熟悉的門戶網站的Web Server,去Mail Server上收發Email,到各種FTP Server去下載文件,就連人們喜歡的ICQ、QQ等即時通訊也是基於典型的Client/Server模型。今天的Internet已經完全「籠罩」在Server的控制中。 我們不否認Server對於Internet發展的重要貢獻,因為「網路社會」同人類社會一樣,也是由原始社會的「原始的民主」慢慢發展到「封建專政」,最後還會慢慢過渡到現代的民主,整個過程是在進步的。但應該看到,Server集中式的服務方式有許多技術弊端。一個最主要的問題就是資源無法得到充分利用。Internet最大的特點是全球互聯,在Internet上最大的資源擁有群不是Server而是Client。可以說Client才是Internet的主體。有資料統計,全球Server提供的資源加在一起還不足Internet資源總量的1%。也就是說最多最好的資源實際上是存在於我們每一個人的PC中。隨著硬體水平的發展,現在的PC無論是性能還是功能已經遠遠超越了原先對PC的定義。許多PC可以提供大容量的存儲能力和高速的計算能力。人們迫切希望能打破Server的壟斷,在Internet上擁備塵仔有屬於自己的空間。P2P技術正是基於這個目標而誕生的。 P2P技術不同於前面所說的基於Server的應用技術,它是基於P2P拓撲結構發展起來的一項新型網路通訊技術。從誕生之日起,P2P的宗旨就是要打破Server壟斷,提供Server所不能提供的功能,彌補Server的不足,並充分利用和豐富現有的Internet資源。也就是說P2P不是要從根本上廢除Server,在相當長的一段時間內,會與Server並存而共同發展。因此,從技術上講,P2P技術一般都是基於成熟的TCP/IP協議的,並且借鑒Server應用中許多成熟的技術。從層次上劃分,P2P應該屬於網路應用層技術,與Web和FTP等應用是並列的。然而,P2P技術又比這些應用要復雜的多。 P2P非常強調一個詞:Serverless。仿汪Serverless的提出意味著P2P技術將Internet服務提供方式劃分為3種,完全基於Server(Server-based),少量藉助Server(with-Server),完全脫離Server(non-Server)。P2P主要面向後兩種情況。微軟對Serverless這個詞的解釋是:「No server, but works better with server」。這或許是對Serverless概念比較精妙的概括。 「少量藉助Server」這種方式是現在比較常見的P2P解決方案。像曾惹來廣泛爭議的Napster、現在歐美非常流行eDoney&eMule,以及我國P2P fans開發的Jelawat、Workslink等,都屬於這類產品。目前這類產品多以File sharing服務為主,並兼有簡單即時通信功能。這種方式的一個主要特點是,Server的功能已經遠遠退化,一般只作為Index Server使用,提供所有Peer以及之上各種文件列表查找索引服務。 「完全脫離Server」方式是P2P研究的重點和難點,也是P2P技術最終的目標。這種方式完全不需要Server的存在,所有Peer都是平等的,在P2P網路中所有的資源按照某種規則共享,同時任何Peer可以在任何時候在任何地點加入到某個P2P網路群體中。而這一切都根本不需要Server的配合和支持,當然works better with server。 二、P2P技術的應用前景 P2P技術帶來的諸多好處是顯而易見的。最大的好處就是資源將得到充分利用和最大化的共享,並且P2P技術還加強和改進了許多原有的應用。Microsoft在《Introction to Windows Peer-to-Peer Networking》一文中列舉了幾種應用情景(scenarios): l Real-time communications (RTC),實時通訊 n Serverless Instant Messaging,Serverless型即時通信 Instant Messaging(IM)在當今全球已經變得相當普遍。國外的ICQ、Yahoo Messenger、MSN Messenger以及國內的QQ等都已經吸引了大量用戶使用。IM之所以能成為當今Internet上最受歡迎的應用,主要是因為它滿足了人們對於通訊實時性的要求。然而,目前IM軟體還是基於C/S模型設計的,用戶的帳號、好友列表等信息都保存在Server上,甚至用戶有時發出的消息也需要Server幫助轉發。如果服務商的Server壞掉了或者正在檢修,許多功能就會在一定時間內無法使用。Serverless型的IM基本不需要Server的支持,只要人們以某種形式(如:Workgroup)形成了P2P網路互聯,就可以相互之間識別並通訊,中間過程無需Server的幫助。這不但會大大降低IM應用提供商的運營成本,而且減少人們對於Server穩定性的依賴。無論你是在Internet上,還是在獨立的公司區域網上,甚至是在家中,都可以隨時組成P2P網路進行通訊。 n Real-time Matchmaking and Game Play,實時比賽和游戲 網路游戲的發展速度同樣是驚人的,而且現在新推出的游戲大都提供連線對戰功能。然而與即時通信應用相似,基於C/S模型的連線對戰同樣需要性能強勁的游戲伺服器支持。雖然也有許多游戲支持局域區連線對戰,但如果我們想和海外的高手對戰來一爭高低又不得不約他們到指定廠商的Server上,造成許多麻煩和不便。P2P技術允許任何Peer可以單獨建立區域型的P2P網路,可以讓Internet上的任何人隨時加入到其中,共同游戲娛樂。 l Collaboration,協同工作 n Project Workspaces Solving a Goal,項目組內協作 「協同工作」的概念現在越來越受到推崇和重視,一個很重要的原因就是現在的項目規模不斷擴大,僅靠兩三個人的力量是根本無法勝任的。而要很好地實現「協同工作」就必須有相應的軟體支持。在Office的各個組件中,已經開始加入了「協同工作」的功能,在Visual Studio.NET里也引入了相應的功能,但這些仍然是基於C/S模型的「協同工作」。P2P技術實現的協同工作是無需Server支持的,而且同樣可以組合成一個個Workgroup,在之上共享信息、提出問題、商討解決方案等,提供更好的「協同工作」能力。 n Sharing Your Files with Other People,與其他人共享文件 File sharing已經相當普遍了,上面說的諸如eDonkey、eMule等都已經實現了這方面功能。但P2P技術真正想提供的是一種無Server的File sharing能力。我們如果想和遠在美國的幾個朋友分享一個MP3音樂文件,使用eDonkey等軟體來Transfer這個文件是十分麻煩的,因為這些軟體只提供全局共享能力。如果使用P2P技術開發的File Sharing軟體,只要十分簡單地形成一個P2P網路,就可以互相看到對方共享的文件,並隨時下載,而且這種File sharing比現在的方式更加出色。而且這些是不需要Server的支持的。 n Sharing Your Experiences,共享體驗 隨著Wireless應用的普及,移動設備上網並收發MMS等應用已經變得不新鮮了,但對無線業務稍有了解的人都應該知道,我們的MMS還都是需要運營商Server的轉發才能實現的。你有沒有想過當你遇到一個令你激動的情景,只需要用手機的攝像頭對准它,就可以將這個情景以Video的形式直接傳送到你的朋友們那裡,而這些看似只有在科幻電影中才有的鏡頭,在P2P技術中是完全可以方便地實現的。 l Content distribution,內容分發 n Text Messages,文本消息 Netmeeting中的White Board功能許多人應該都使用過,包括Chatroom中的聊天功能也都支持許多人一起聊天,所有人都能看到聊天信息。但這同樣必須有Server在中間做存儲轉發才可以實現,而且許多Server都有聊天時間和聊天信息多少的限制,不能一直都掛在網上並隨時看到所有的聊天信息。P2P可以實現一個Workgroup中7*24小時在線互聯,並且隨時分發通話的信息。新加入到這個Workgroup中的人還可以看到以前的信息。這是Server-based的Chat應用很難實現的。 n Audio and Video,音頻和影像 現在十分流行的基於網路的電視電話會議應用也很普遍,在許多場合都發揮著重要的作用。而這種系統大都是由主會場的一台Server做中央控制伺服器,將主會場的音頻和視頻信號壓縮編碼後通過有線或無線網路不斷發送出去,到達分會場後再解碼播放。如果想看到分會場的情況,必須不斷地將分會場的信號傳回主會場的中央Server,由它再分發到其他分會場。可以看出這個中轉過程中浪費了不少網路傳輸資源。但這是基於C/S模型無法避免的弊端。P2P技術使所有的會場都處於平等的地位。一個會場的信號會同時廣播到所有的會場,會議系統只需要通過切換不同的接收信號,就可以收到所有會場的情況。 n Distribution of Proct Updates,分發產品升級補丁 產品推出後經常需要打補丁以解決發現的BUG或安全隱患,如Microsoft的Service Packs或Update。然而目前打補丁的方法基本上採用讓用戶自己下載網站上發布的補丁包,自行安裝補丁的方法。這會造成許多問題,最嚴重的問題就是用戶對補丁包的真偽不得而知,有時下載的補丁包實際是個大木馬或者大病毒。這會給用戶帶來難以估量的損失。盡管有些軟體已經提供自動升級能力,但基於Server補丁下載模式仍然沒有變,同樣會帶來對Server穩定性和安全性的依賴。P2P技術使產品的分發變得十分簡單,所有擁有這種產品的人會自動形成一個Workgroup,並且有嚴格的身份認證。產品廠商隨時在這里提供升級補丁服務,而P2P技術會使你的電腦在不知不覺中完成打補丁和各種升級服務。 l Distributed processing,分布式計算 n Division and Distribution of a Task,分解和分發任務 分布式計算是當前計算領域一個熱門的研究課題,也是P2P技術的高級應用。如何將一個大任務分解為許多個小任務,並通過網路分發到所有Workgroup中的電腦上進行計算,最後將結果統一匯總到一台電腦上,是分布式計算的一個主要的應用。這種想法的初衷是因為現在的PC計算能力已經大大加強,分布於世界各地的無數台PC擁有巨大的「計算潛能(Computing Potential)」。如何開采這部分潛能,使之共同協作完成就連巨型計算機都無法在短期完成的計算任務,是許多計算機科學家孜孜以求的目標。P2P技術為完成分布式計算提供了很好的平台。當然真正實現良好的分布式計算還需要許多技術的共同配合才能完成,P2P只是核心技術中的一種,但應該看到應用P2P技術實現分布式計算的應用正在慢慢實現,許多大公司如IBM、Intel都希望在這一領域有所作為而正在加緊實驗。 n Aggregation of Computer Resources,整合計算資源 「網格計算(Grid Computing)」 的概念許多人都應該聽說過,我國中科院也在這一領域做出了許多重要的研究成果。「網格計算」的核心思想就是要最大限度地利用閑置的網路資源,達到「積跬步以成千里,積小流以成江海」的巨大計算資源匯集效應。有人曾做過比喻:「如果你出門在外,家中的暖氣是被浪費的熱能,如果將一個城市中這些熱能集中起來,不亞於一個小型發電站」。這種應用在高能物理、核物理、氣象、水文、太空研究等海量計算領域有巨大的應用前景。而這恰恰是P2P技術擅長的地方。 l Improved Internet technologies,改良和增強現有的Internet技術 Network Address Translator (NAT,網路地址轉發)現在應用十分普遍,特別是在區域網和Internet互聯上更是發揮了重要的作用。然而導致NAT技術和其他類似地址轉發技術出現的根本原因是由於IPV4的地址已經即將分配完。沒有足夠的IP地址為所有的電腦分配全球唯一的IP標識。因此不得不採用NAT等技術進行地址的翻譯和轉發。雖然通過埠映射等技術手段在NAT上實現內部電腦與Internet上電腦的間接互聯也是可行的,但P2P技術為我們提供了更加直接和便捷的互聯方式。由於P2P技術是基於IPV6協議的,而IPV6的地址分配量是一個驚人的天文數字。在這樣一個「可以為地球上的每一粒砂子分配一個IP地址」的環境里,每一台電腦甚至每一個燈泡和開關都可以擁有IP地址。難怪有人會開玩笑說,P2P技術可以使你在美國用手機控制你中國家裡的廚房頂燈。在P2P技術支持下這的確不只是幻想。 三、P2P技術發展中的問題 世界上的一些事物都有其缺點,P2P技術也不例外。從誕生那天起,P2P就與版權問題、安全問題和盈利問題有著千絲萬縷的聯系。如果說版權問題可以通過法律手段加以規定和限制來解決,盈利問題可以通過構建良好的盈利模型加以克服的話,那麼安全問題就是現在P2P發展過程中最亟待解決的核心問題。由於P2P允許全球的電腦互聯,這其中難免會有不懷好心的人,他們利用網路和P2P系統的漏洞,有可能攻入到用戶的電腦中,竊取重要的機密信息,甚至進行破壞,給用戶造成難以估量的損失。在Server時代通過嚴密的Firewall都很難從根本上杜絕惡意攻擊,那麼在P2P時代通過何種技術來最大限度阻止這一切的發生,已經成為當今各個P2P研究機構頭等重要的課題。 目前解決安全問題的基本思路是「Authorization(授權、認證)」。通過建立一個個基於比較完善的加密機制而形成的Workgroup,對進入該Workgroup的PC加以嚴格的身份檢驗和授權,以達到保護Workgroup自身安全的目的。當然,如果要實現比較堅實的P2P安全體系,還需要許多安全技術的配合才能得以實現,不是簡單的一兩種技術就可以完成的。 應該看到,安全問題對於P2P技術的發展至關重要,可以說關系P2P的成敗。在這樣一個日益注重網路安全的時代,如何實現「可信賴計算」是擺在所有P2P研究人員面前的頭等大事。我們衷心希望不遠的將來,在美好的P2P時代,我們都能在P2P網路中簡單、愉快、安全的進行各種計算活動,一起感受P2P給我們帶來的全新的體驗。
F. 關於P2P技術的網路安全
P2P文件共享系統的實現分析
摘 要:系統Qt P2P file-sharing System (QPS)是利用Qt開發的P2P文件共享系統。QPS採用P2P中的混合模式,此模式結合了集中目錄式和純分布式兩者的優點,在實現上具有簡易性,在共享度上具有很強的擴展性。QPS的最大特點是加入了策略。這種策略能限制一些用戶只下載而不共享資源的行為。策略的引入是為了鼓勵用戶與其他人分享自己的資源,而不僅僅是索取。入策略的QPS不僅能比較有效的限制只下載不分享的行為,而且對系統的壽命也有相當程度的提高。�
關鍵詞:文件共享;P2P;策略;Qt��
C/S式架構造就了一批著名的門戶網站,如雅虎,新浪等。這些網站容易受到黑客的親睞後果是服務崩潰。C/S式架構只有一個伺服器或服務機群,伺服器一旦崩潰,它提供的服務也將停止。而P2P式架構卻正好相反,它沒有伺服器(相對C/S架構而言)或伺服器是分布的,一個伺服器崩潰了,其他的伺服器照樣能提供服務。這種架構能有效的抵抗DDOS攻擊,它的安全性有很可靠的保障。另外,採用P2P式架構的網路資源共享系統不但大大的減輕了單個伺服器的負擔,而且也提高了很大的安全性。人們也可以通過這種架構建立自己的信息天地,與其他的人分享自己的資源。�
1 系統設計實現的重點與難點�
系統QPS在Linux上用Qt開發,系統設計原理和策略都並不復雜,但這不代表系統的實現也是簡單的。對於系統的整個實現來說,有三個地方是最重要的,也是比較難的。先介紹系統運行流程:�
(1)Group-leader peer運行,並連接上其他的任意某個Group-leader peer;�
(2)Ordinary peer連接(登陸)某個Group-leader peer,並把所資源表發送個Group-leader peer;�
(3)Group-leader peer將已連接的其他PC的資源表發送給此ordinary peer;�
(4)Ordinary peer瀏覽資源並選擇下載或則向Group-leader peer發送資源搜索請求;�
(5)Group-leader peer將資源表中符合搜索的資源所在ordinary peer的IP發給請求ordinary peer,同時向其他以連接的Group-leader peer發送搜索請求,其他的Group-leader peer將資源IP反饋,收到反饋後再發送個搜索ordinary peer;�
(6)Ordinary peer從獲得的資源表中選擇下載,即與另一個ordinary peer建立連接,下載完畢後斷開連接。�
從上面的過程可以看出,系統共有三個通信鏈路,分別是:�
(1)Group-leader peer與Group-leader peer之間的通信;�
(2)ordinary peer與Group-leader peer之間的通信;�
(3)ordinary peer與ordinary peer之間的通信。�
三個通信鏈路上的信息都是不一樣的。因此,必須給三個通信鏈路都制定相應的通信協議。QPS不是多線程的,因此對每個通信套接字來說,都必須知道對方的套接字。這在實現上也存在一定的難度,這個是由開發工具而帶來的。最後一個難度是NAT穿透問題。為了解決不同區域網間的通信,這個問題的解決是必須的。由於開發硬體環境的限制,現版本的QPS本沒有考慮這個問題。也就是說,實現的版本是區域網內的。在此,需要指出的是,NAT的問題並沒有違背QPS的目的。首先,QPS只是當前的一個版本,以後可能會進一步完善;再者,在將來IPv6的推出就自然而然的解決了不同區域網內通信這一問題。�
2 實現過程�
針對上節的三個通信鏈路,必須要設計好三個通信協議。先看下QPS中需要傳輸的各種信息。如圖1:�
通信鏈路上的信息表示的意義如下:�
Download request:文件下載請求信息;�
File data:文件數據;�
Local share list:本地的共享信息列表,包括文件名,文件大小,下載次數等;�
Share list:Group-leader peer上的共享信息列表;�
Search message:文件搜索信息,包括文件名及搜索跳數;�
Search result:返回的搜索結果,包括文件名和文件所在IP;�
Other leader msg:其他leader peer上的信息,包括連接ordinary peer數目和文件數量等;�
Local share msg:和other leader msg一樣。�
(1) 數據結構定義。�
為了實現以上三個通信協議,首先規定了一些數據結構,以區別不同的通信信息。個種數據結構如下:�
#define FILEINFO 1//文件信息�
#define SHAREINFO 2//共享列表信息�
#define DOWNLOAD3//下載請求信息�
#define SEARCH4//文件搜索信息�
#define LEADERINFO 5//Group-leader peer信息�
#define FILEDATA6//文件數據�
#define MAX_SIZE (2048*10) //文件數據的大小�
typedef struct�
{�
int type;//表示是何種信息,下同�
ULONG size; //文件大小�
ULONG downloadTimes; //文件下載次數�
char name〔100〕; //文件名�
}FileMsg; //文件信息結構體�
typedef struct�
{�
int type;�
ULONG size;//文件大小�
ULONG downloadTimes;//文件下載次數�
char ip〔20〕;//文件所在IP�
char name〔100〕;//文件名�
}ShareMsg; //共享信息列表結構體�
typedef struct�
{�
int type;�
ULONG size; //文件大小�
ULONG seek;//文件數據塊在文件中的位置
char name〔100〕;//文件名�
}DownloadMsg;//下載請求結構體�
typedef struct�
{�
int type;�
ULONG tips; //文件搜索跳數�
char name〔100〕; //文件名�
}SearchMsg; //文件搜索結構體�
typedef struct�
{�
int type;�
ULONG connectedNumber;//連接數量�
ULONG fileNumber; //文件數目�
char ip〔20〕;//Group-leader peer的IP�
}LeaderMsg;//Group-leader peer信息結構體�
typedef struct�
{�
int type;�
ULONG seek;//文件數據塊在文件中的位置�
ULONG bytes; //buff中的實際位元組數�
ULONG size; //文件大小�
char name〔100〕;//文件名�
char buff〔MAX_SIZE〕;//文件數據�
}FileData;//文件數據結構體�
(2)信息傳輸函數的聲明。�
void uploadShareList(const FileMsg& file);//upload local share list to leader�
void download(const DownloadMsg& msg);//download file data�
void search(QString fileName, UINT tips);//search a file�
void downShareList();//download other peers' share list from leader�
void otherLeadersInfo();//get other leaders' info through the connected leader�
void searchBack();//seach result back, read it�
void uploadFile(int sock);//upload the file data that downloader requested�
void receiveList(int sock);//receive peer's share list�
void sendShareList(ComSocket* socket); //send share list to peer -> socket�
void sendOtherLeaderInfo(ComSocket* socket);//send other leaders' info to peer�
void sendLeaderInfo(ComSocket* socket);//send leader's info to some leader�
void search(int sock);//received search request from peer�
void remoteSearch(SearchMsg msg);//send search to logoned leader�
void leaderSearch(int sock);//received leader's search request�
void searchBack();// received search result from leader�
以上函數是根據上面的數據結構而聲明的。每個函數都有一個對應的數據結構。這些函數是整個系統的核心。�
設計了解決通信問題的數據結構和函數的聲明後,剩下需要做的便是具體編碼,將聲明的函數加以實現,最後測試其是否正確便真正意義上的解決了上面敘述的難點問題,也是核心問題。�
(3)用戶介面。�
QPS只給用戶提供了簡單的操作介面,但我相信這是足夠的。具體的用戶介面如下:�
連接選擇:讓用戶選擇想要連接的Group-leader peer。�
上傳數目設置:為了限制上傳量,保障用戶的系統資源(CPU,網路帶寬等)。�
搜索設置:讓用戶輸入文件名及搜索跳數。�
下載選擇:雙擊文件名即可下載該文件。�
共享目錄設置:讓用戶選擇想要共享的目錄�
下載目錄設置:讓用戶選擇下載文件放置的路徑�
除了上述用戶可以直接操作的介面外,還有些介面是用戶不可操作的。這些介面是用來顯示當前系統的運行情況。比如,下載顯示用來顯示當前正在下載的文件,包括下載速率,已下載文件的大小等;而下載完成列表顯示的則是系統自啟動以來下載的所有文件列表。對於許多的其他文件共享系統來說,它們都有豐富的介面,盡可能的讓用戶使用更簡便。QPS的設計和實現的主要目的是在原理和策略上挖掘網路資源,使得網路資源能夠盡可能的廣泛共享。因此,在界面上只做了基本的介面。�
(4)配置文件。�
為方便用戶的各項設置,QPS中也有許多的配置文件。這些配置文件在系統運行時會被自動的讀取,相應的變數會被賦值。用戶改變某個設置後,這項設置同樣會被寫入到配置文件中,並在下次運行時被讀取。這類配置文件典型的是下載目錄和共享目錄的設置。系統運行時,會找到當前共享目錄路徑,並獲取該目錄下文件信息。還有一類配置文件是可作為用戶輸入的文本文件。比如leaders.dat這個文件就是用來讓用戶輸入可以選擇連接的Group-leader peer IP的。記錄文件被下載次數的配置文件對用戶來說是不可更改的,這是為了防止用戶惡意修改此文件以獲得totalValue,達到少共享文件就可以下載大量文件的目的。�
文件共享系統QPS是在上面敘述的四點上一步一步加以實現的,其中也有考慮不全的地方,反反復復經過了幾次修改。在提供基本功能上,工作重點都放在協議的實現上。由於Qt開發平台沒有對網路程序提供豐富的介面,許多的介面不得不自己一步一步實現並測試正確性。在這點上,對QPS的實現確實用相當大的影響。當然,這帶來的好處是二次開發比較簡便,因為上層的介面都是已經實現了的,正確性很高。�
參考文獻�
〔1〕�陸正中,馬進德,石正貴等.JBuilder 9軟體開發項目實踐〔M〕.北京:清華大學出版社,2005:240-261.〔2〕�James F.Kurose,Keith W.Ross。計算機網路——自頂向下方法與Internet特色〔M〕.北京:高等教育出版社,2005:136-145.�
〔3〕�Robert Flenner等,Java P2P技術內幕〔M〕. 北京:電子工業出版社,2003:200-235.�
〔4〕�許斌. JXTA——Java P2P網路編程技術〔M〕. 北京:清華大學出版社,2003:1-256.�
〔5〕�Oaks,Traversat,Gong. JXTA技術手冊〔M〕. 北京:清華大學出版社,2004:23-78.
G. p2p網路借貸平台有什麼研究的意義
最明顯的意義在於防嫌衫止被雷。現在網路技術日益發展,正規純乎融資渠道受限,熟人社會的解構,通貨膨脹率日益高企,投資方式限縮,個人徵信體系的不斷完做者悉善,皆助推了P2P網路借貸的產生與發展。我跟朋友都是在知商金融投資的,安全性有保證。
H. 什麼是p2p技術下載
以下是網路資料:
點對點技術 點對點技術(peer-to-peer, 簡稱P2P)又稱對等互聯網路技術,是一種網路新技術,依賴網路中參與者的計算能力和帶寬,而不是把依賴都聚集在較少的幾台伺服器上。P2P網路通常用於通過Ad Hoc連接來連接節點。這類網路可以用於多種用途,各種檔案分享軟體已經得到了廣泛的使用。P2P技術也被使用在類似VoIP等實時媒體業務的數據通信中。
純點對點網路沒有客戶端或伺服器的概念,只有平等的同級節點,同時對網路上的其它節點充當客戶端和伺服器。這種網路設計模型不同於客戶端-伺服器模型,在客戶端-伺服器模型中通信通常來往於一個中央伺服器。
有些網路(如Napster, OpenNAP, 或IRC @find)的一些租燃功能(比如搜索)使用客戶端-伺服器結構,而使用P2P結構來實現另外一些功能。類似Gnutella 或Freenet的網路則使用純P2P結構來實現全部的任務。
歷史
P2P 架構體現了一個互連網技術的關鍵概念,這一概念被描述在1969年4月7日第一份RFC文檔「RFC1,主機軟體」中。而最近,在不用中心索引伺服器結構實現多媒體文件交換的背景下,這個概念已經變的非常普遍了。
純P2P:
節點同時作為客戶端和伺服器端李晌。
沒有中心伺服器。
沒有中心路由器。
雜P2P:
有一個中心伺服器保存節點的信息並對請求這些信息的要求做出響應。
節點負責發布這些信息(因為中心伺服器並不保存文件),讓中心伺服器知道它們想共享什麼文件,讓需要它的節點下載其可共享的資源。
路由終端使用地址,通過被一組索引引用來取得絕對地址。
混合P2P:
同時含有純P2P和雜P2P的特點。
P2P網路的優勢
P2P網路的一個重要的目標就是讓所有的客戶端都能提供資源,包括帶寬,存儲空間和計算能力。因此,當有節點加入且對系統請求增多,整個系統的容量也增大。這是具有一組固定伺服器的C/S結構不能實現的,這種結構中客戶端的增加意味著所有用戶更慢的數據傳輸。
P2P網路的分布特性通過在多節點上復制數據,也增加了防故障的健壯性,並且在純P2P網路中,節點不需要依靠一個中心索引伺服器來發現數據。在後一種情況下,系統也不會出現單點崩潰。
當用P2P來描述Napster 網路時,對等協議被認為是重要的,但是,實際中,Napster 網路取得的成就是對等節點(就象網路的末枝)聯合一個中心索引來實現。這可以使它能快速並且高效的定位可用的內容。對等協議只是一種通用的方法來實現這一點。
應用
點對點技術有許多應用。共享包含各種哪型鋒格式音頻,視頻,數據等的文件是非常普遍的,實時數據(如IP電話通信)也可以使用P2P技術來傳送。
有些網路和通信渠道,象Napster,OpenNAP,和IRC @find,一方面使用了C/S結構來處理一些任務(如搜索功能),另一方面又同時使用P2P結構來處理其他任務。而有些網路,如Gnutella 和 Freenet ,使用P2P結構來處理所有的任務,有時被認為是真正的P2P網路。盡管Gnutella 也使用了目錄伺服器來方便節點得到其它節點的網路地址。
學術性P2P網路
最近,賓夕法尼亞州立大學的開發者,聯合了麻省理工學院開放知識行動,西蒙弗雷澤大學的研究人員,還有第二代互連網P2P工作組,正在開發一個P2P網路的學術性應用。這個項目稱為LionShare,基於第二代網路技術,更詳細地說是Gnutella模型。這個網路的主要目的是讓眾多不同學術機構的用戶能夠共享學術材料。LionShare網路使用雜P2P網路類型,混合了Gnutella分散的P2P網路和傳統的C/S網路。這個程序的用戶能夠上傳文件到一個伺服器上,不管用戶是否在線,都能夠持續的共享。這個網路也允許在比正常小得多的共享社區中使用。
這個網路與當前正在使用的其他P2P網路的主要不同是LionShare網路不允許匿名用戶。這樣做的目的是防止版權材料在網路上共享,這同時也避免了法律糾紛。另一個不同是對不同組有選擇性的共享個別的文件。用戶能個別選擇哪些用戶可以接收這一個文件或者這一組文件。
學術社區需要這種技術,因為有越來越多的多媒體文件應用在課堂上。越來越多的的教授使用多媒體文件,象音頻文件,視頻文件和幻燈片。把這些文件傳給學生是件困難的任務,而這如果用LionShare這類網路則容易的多。
法律方面
在美國法律中,「Betamax判決」的判例堅持復制「技術」不是本質非法的,如果它們有實質性非侵權用途。這個網際網路廣泛使用之前的決定被應用於大部分的數據網路,包括P2P網路,因為已得到認可的文件的傳播也是可以的。這些非侵犯的使用包括發放開放源代碼軟體,公共領域文件和不在版權范圍之內的作品。其他司法部門也可用類似的方式看待這個情況。
實際上,大多數在P2P網路上共享的文件是版權流行音樂和電影,包括各種格式(MP3,MPEG,RM 等)。在多數司法范圍中,共享這些復本是非法的。這讓很多觀察者,包括多數的媒體公司和一些P2P的倡導者,批評這種網路已經對現有的發行模式造成了巨大的威脅。試圖測量實際金錢損失的研究多少有些意義不明。雖然紙面上這些網路的存在而導致的大量損失,而實際上自從這些網路建成以來,實際的收入並沒有多大的變化。不管這種威脅是否存在,美國唱片協會和美國電影協會正花費大量的錢來試著游說立法者來建立新的法律。一些版權擁有者也向公司出錢希望幫助在法律上挑戰從事非法共享他們材料的用戶。
盡管有Betamax判決,P2P網路已經成為那些藝術家和版權許可組織的代表攻擊的靶子。這裡麵包括美國唱片協會和美國電影協會等行業組織。Napster 服務由於美國唱片協會的投訴而被迫關閉。在這個案例中,Napster故意地買賣這些並沒有從版權所有者那得到許可發行的音像文件。
隨著媒體公司打擊版權侵犯的行為擴大,這些網路也迅速不斷地作了調整,讓無論從技術上還是法律上都難於撤除。這導致真正犯法的用戶成為目標,因為雖然潛在的技術是合法的,但是用侵犯版權的方式來傳播的個人對它的濫用很明顯是非法的。
匿名P2P網路允許發布材料,無論合法不合法,在各種司法范圍內都很少或不承擔法律責任。很多人表示這將導致更多的非法材料更容易傳播,甚至(有些人指出)促進恐怖主義,要求在這些領域對其進行規范。而其他人則反對說,非法使用的潛在能力不能阻止這種技術作為合法目的的使用,無罪推定必須得以應用,象其他非P2P技術的匿名服務,如電子郵件,同樣有著相似的能力。
安全方面
許多P2P網路一直受到懷有各種目的的人的持續攻擊。例子包括:
中毒攻擊(提供內容與描述不同的文件)
拒絕服務攻擊(使網路運行非常慢甚至完全崩潰)
背叛攻擊(用戶或軟體使用網路卻沒有貢獻出自己的資源)
在數據中插入病毒(如,下載或傳遞的文件可能被感染了病毒或木馬)
P2P軟體本身的木馬(如,軟體可能含有間諜軟體)
過濾(網路運營商可能會試圖禁止傳遞來自P2P網路上的數據)
身份攻擊(如,跟蹤網路上用戶並且折磨或合法地攻擊他們)
垃圾信息(如在網路上發送未請求的信息--不一定是拒絕服務攻擊)
如果精心設計P2P網路,使用加密技術,大部分的攻擊都可以避免或控制,P2P網路安全事實上與拜占庭將軍問題有密切聯系。然而,當很多的節點試著破壞它時,幾乎任何網路也都會失效,而且許多協議會因用戶少而表現得很失敗。
計算技術展望
技術上,一個純P2P應用必須貫徹只有對等協議,沒有伺服器和客戶端的概念。但這樣的純P2P應用和網路是很少的,大部分稱為P2P的網路和應用實際上包含了或者依賴一些非對等單元,如DNS。同時,真正的應用也使用了多個協議,使節點可以同時或分時做客戶端,伺服器,和對等節點。完全分散的對等網路已經使用了很多年了,象Usenet(1979年)和FidoNet(1984年)這兩個例子。
很多P2P系統使用更強的對等點(稱為超級對等點)作為伺服器,那些客戶節點以星狀方式連接到一個超級對等點上。
在1990年代末期,為了促進對等網路應用的發展,SUN公司增加了一些類到java技術中,讓開發者能開發分散的實時聊天的applet和應用,這是在即時通信流行之前。這個工作現在有JXTA工程來繼續實現。
P2P系統和應用已經吸引了計算機科學研究的大量關注,一些卓越的研究計劃包括Chord計劃, ARPANET, the PAST storage utility, P-Grid(一個自發組織的新興覆蓋性網路),和CoopNet內容分發系統。
國內外現狀
國外的P2P研究現狀
國外開展P2P研究的學術團體主要包括P2P工作組(P2PWG) 、全球網格論壇(Global Grid Forum ,GGF) 。P2P工作組成立的主要目的是希望加速P2P計算基礎設施的建立和相應的標准化工作。P2PWG成立之後,對P2P計算中的術語進行了統一,也形成相關的草案,但是在標准化工作方面工作進展緩慢。目前P2PWG已經和GGF合並,由該論壇管理P2P計算相關的工作。GGF負責網格計算和P2P計算等相關的標准化工作。
從國外公司對P2P計算的支持力度來看,Microsoft公司、Sun公司和Intel公司投入較大。Microsoft公司成立了Pastry項目組,主要負責P2P計算技術的研究和開發工作。目前Microsoft公司已經發布了基於Pastry的軟體包SimPastry/ VisPastry。Rice大學也在Pastry的基礎之上發布了FreePastry軟體包。
在2000年8月,Intel公司宣布成立P2P工作組,正式開展P2P的研究。工作組成立以後,積極與應用開發商合作,開發P2P應用平台。2002年Intel發布了. Net基礎架構之上的Accelerator Kit (P2P加速工具包) 和P2P安全API軟體包,從而使得微軟. NET開發人員能夠迅速地建立P2P安全Web應用程序。
Sun公司以Java技術為背景,開展了JXTA項目。JXTA是基於Java的開源P2P平台,任何個人和組織均可以加入該項目。因此,該項目不僅吸引了大批P2P研究人員和開發人員,而且已經發布了基於JXTA的即時聊天軟體包。JXTA定義了一組核心業務:認證、資源發現和管理。在安全方面,JXTA加入了加密軟體包,允許使用該加密包進行數據加密,從而保證消息的隱私、可認證性和完整性。在JXTA核心之上,還定義了包括內容管理、信息搜索以及服務管理在內的各種其它可選JXTA服務。在核心服務和可選服務基礎上,用戶可以開發各種JXTA平台上的P2P應用。
國內的P2P研究現狀
• 北京大學—Maze
Maze 是北京大學網路實驗室開發的一個中心控制與對等連接相融合的對等計算文件共享系統,在結構上類似Napster,對等計算搜索方法類似於Gnutella。網路上的一台計算機,不論是在內網還是外網,可以通過安裝運行Maze的客戶端軟體自由加入和退出Maze系統。每個節點可以將自己的一個或多個目錄下的文件共享給系統的其他成員,也可以分享其他成員的資源。Maze支持基於關鍵字的資源檢索,也可以通過好友關系直接獲得。
• 清華大學—Granary
Granary是清華大學自主開發的對等計算存儲服務系統。它以對象格式存儲數據。另外,Granary設計了專門的結點信息收集演算法PeerWindow的結構化覆蓋網路路由協議Tourist。
• 華中科技大學—AnySee
AnySee是華中科大設計研發的視頻直播系統。它採用了一對多的服務模式,支持部分NAT和防火牆的穿越,提高了視頻直播系統的可擴展性;同時,它利用近播原則、分域調度的思想,使用Landmark路標演算法直接建樹的方式構建應用層上的組播樹,克服了ESM等一對多模式系統由聯接圖的構造和維護帶來的負載影響。
更詳細介紹見〔中國計算機學會通訊 Page 38-51 鄭緯民等 對等計算研究概論〕
企業研發產品
• 廣州數聯軟體技術有限公司-Poco
POCO 是中國最大的 P2P用戶分享平台 , 是有安全、流量控制力的,無中心伺服器的第三代 P2P 資源交換平台 , 也是世界范圍內少有的盈利的 P2P 平台。目前已經形成了 2600 萬海量用戶,平均在線 58.5 萬,在線峰值突破 71 萬,並且全部是寬頻用戶的用戶群。 成為中國地區第一的 P2P 分享平台。[a]
• 深圳市點石軟體有限公司-OP
OP-又稱為Openext Media Desktop,一個網路娛樂內容平台,Napster的後繼者,它可以最直接的方式找到您想要的音樂、影視、軟體、游戲、圖片、書籍以及各種文檔,隨時在線共享文件容量數以億計「十萬影視、百萬音樂、千萬圖片」。OP整合了Internet Explorer、Windows Media Player、RealOne Player和ACDSee ,是國內的網路娛樂內容平台。[a]
• 基於P2P的在線電視直播-PPLive
PPLive是一款用於互聯網上大規模視頻直播的共享軟體。它使用網狀模型,有效解決了當前網路視頻點播服務的帶寬和負載有限 問題,實現用戶越多,播放越流暢的特性,整 體服務質量大大提高!(2005年的超級女聲決賽期間,這款軟體非常的火爆,同時通過它看湖南衛視的有上萬觀眾)
I. 計算機網路發展的三個里程碑各自的標志
計算機網路的發展可以劃分為四個階段,分別為:
1、第一階段:計算機網路技術與理論准備階段 。
第一階段可以追溯到20世紀50年代;這個階段的主要的特點與標志性成果主要表現在: (1)數據通信技術日趨成熟,為計算機網路的形成奠定了技術基礎;
(2)分組交換概念的提出為計算機網路的研究奠定了理論基礎。
2、第二階段:計算機網路的形成
第二階段是從20世紀60年代ARPANET與技術分組交換開始;ARPANET是計算機網路技術發展中的一個里程碑,它的研究對促進網路技術發展和理論體系的形成起到了重要的推動作用,並為Internet的形成奠定了堅實的基礎;這個階段出現了三項標志性的成果: (1)ARPANET的成功運行證明了分組交換理論的正確性;
(2)TCP/IP協議的廣泛應用為更大規模的網路互聯奠定了堅實的基礎;
(3)E-mail、FTP、TELNET、BBS等應用展現出網路技術廣闊的應用前景。
3、第三階段:網路體系結構的研究
第三階段大致是從20世紀70年代中期開始;這個時期,國際上各種廣域網、區域網與公用分組交換網技術發展迅速,各個計算機生產商紛紛發展自己的計算機網路,提出了個自的網路協議標准;網路體系結構與協議的標准化的研究,對更大規模的網路互聯起到了重要的推動作用。 國際標准化組織(ISO)在推動「開放系統互連(Open System Interconnection,OSI)參考模型」與網路協議標准化研究方面做了大量的工作,同時它也面臨著TCP/IP協議的嚴峻挑戰;這個階段研究成果的重要性主要表現在:、
(1)OSI參考模型的研究對網路理論體系的形成與發展,以及在網路協議標准化研究方面起到了重要的推動作用;
(2)TCP/IP經受了市場和用戶的檢驗,吸引了大量的投資,推動了Internet應用的發展,成為業界標准。
4、第四階段:Internet應用、無線網路與網路安全技術研究的發展
第四階段是從20世紀90年代開始;這個階段最富有挑戰性的話題是Internet應用技術、無線網路技術、對等網路技術與網路安全技術;這個階段的特點主要表現在:
(1)Internet作為全球性的國際網與大型信息系統,在當今政治、經濟、文化、科研、教育與社會生活等方面發揮了越來越重要的作用;
(2)Internet大規模接入推動了接入技術的發展,促進了計算機網路、電信通行網與有限電視網的「三網融合」;
(3)對等(Peer-to-Peer,P2P)網路技術的研究,使得「即時通信」等新的網路應用不斷涌現,進一步豐富了人與人之間信息交互與共享的方式;
(4)無線個人區域網、無線區域網與無線城域網技術日益成熟,並已進入應用階段;無線自組網、無線感測器網路的研究與應用受到了高度重視;
(5)Internet應用中數據採集與錄入從人工方式逐步擴展到自動方式,通過射頻標簽RFID。各種類型的感測器與感測器網路(Sense Network),以及光學視頻感知與攝錄設備,能過方便、自動地採集各種物品與環境信息,拓寬了人與人、人與物、物與物之間更為廣泛的信息交互,促進了物聯網(Internet of Things,IoT)技術的形成與發展; (6)隨著網路應用的快遞增長,社會對網路安全問題的重視程度也越來越高,強烈的社會需求推動了網路安全技術的快速發展。
J. P2P技術的工作原理和概念是什麼
p2p的概念
P2P是peer-to-peer的縮寫,peer在英語里有「(地位、能力等)同等者」、「同事」和「夥伴」等意義。這樣一來,P2P也就可以理解為「夥伴對夥伴」的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流、文件交換、分布計算等方面大有前途。
簡單的說,P2P直接將人們聯系起來,讓人們通過互聯網直接交互。P2P使得網路上的溝通變得容易、更直接共享和交互,真正地消除中間商。P2P就是人可以直接連接到其他用戶的計算機、交換文件,而不是像過去那樣連接到伺服器去瀏覽與下載。P2P另一個重要特點是改變互聯網現在的以大網站為中心的狀態、重返「非中心化」,並把權力交還給用戶。 P2P看起來似乎很新,但是正如B2C、B2B是將現實世界中很平常的東西移植到互聯網上一樣,P2P並不是什麼新東西。在現實生活中我們每天都按照P2P模式面對面地或者通過電話交流和溝通。
即使從網路看,P2P也不是新概念,P2P是互聯網整體架構的基礎。互聯網最基本的協議TCP/IP並沒有客戶機和伺服器的概念,所有的設備都是通訊的平等的一端。在十年之前,所有的互聯網上的系統都同時具有伺服器和客戶機的功能。當然,後來發展的那些架構在TCP/IP之上的軟體的確採用了客戶機/伺服器的結構:瀏覽器和Web伺服器,郵件客戶端和郵件伺服器。但是,對於伺服器來說,它們之間仍然是對等聯網的。以email為例,互聯網上並沒有一個巨大的、唯一的郵件伺服器來處理所有的email,而是對等聯網的郵件伺服器相互協作把email傳送到相應的伺服器上去。另外用戶之間email則一直對等的聯絡渠道。 當然但是過去的5年裡,互聯網的發展至少從表面上遠離了P2P,互聯網上絕大部分的節點也不能和其他節點直接地交流。Napster正是喚醒了深藏在互聯網背後的對等聯網。Napster的文件共享功能在區域網中共享目錄也是再平常不過的事情。但是Napster的成功促使人們認識到把這種「對等聯網」拓展到整個互聯網范圍的可能性。當然,在許多人的眼中,Napster並不是純粹的P2P,它仍然需要一個處於中心協調機制。
事實上,網路上現有的許多服務可以歸入P2P的行列。即時訊息系統譬如ICQ、AOL Instant Messenger、Yahoo Pager、微軟的MSN Messenger以及國內的OICQ是最流行的P2P應用。它們允許用戶互相溝通和交換信息、交換文件。用戶之間的信息交流不是直接的,需要有位於中心的伺服器來協調。但這些系統並沒有諸如搜索這種對於大量信息共享非常重要的功能,這個特徵的缺乏可能正 是為什麼即時訊息出現很久但是並沒有能夠產生如Napster這樣的影響的原因之一。
另外一個可以歸入P2P是拍賣網站譬如eBay,人們在總結eBay的模式的時候用了C2C,是不是和P2P有一點類似?eBay就是一個將人們聯系的和交易物品的社區,用戶可以方便的搜索其他用戶叫賣的商品。eBay提供了一些使得交易得以順利進行的服務,但是交易是直接在用戶之間進行的。如果將「交易」的概念推廣,C2C就是P2P的一個特例,這里人們互相交換的是商品。
但如果仔細深究的話,Napster和即時訊息在賦予用戶之間直接交流的能力、eBay使用戶可以直接交易的同時,卻破壞了伺服器端的那種自互聯網出現之初就存在的對等聯網思想,因為它們都需要有一個位於中心的伺服器來協調,而不是分布在世界上不同地方的、對等聯網的許多伺服器。這也正是諸如Gnutella和Freenet不斷的宣稱它們創造了「純粹」的P2P,完全沒有中心伺服器的P2P服務。