『壹』 應用層C/S與P2P工作模式的異同
3.3.3 互聯網應用的兩種工作模式:客戶/伺服器模式與P2P模式
從互聯網應用系統的工作模式角度看,互聯網應用可以分為兩類:客戶/伺服器(C/S)模式與對等(P2P)模式。
1.客戶/伺服器模式的基本概念
從應用層的應用程序工作模型的角度看,應用程序分為客戶端程序與伺服器程序。以Email應用程序為例,Email應用程序分為伺服器端的郵局程序與客戶端的郵箱程序。用戶在自己的計算機中安裝並運行客戶端的郵箱程序,就能夠成為電子郵件系統的客戶端,發送和接收電子郵件。而安裝郵局應用程序的計算機就成為了電子郵件伺服器,它為客戶提供電子郵件服務。
互聯網應用系統採用客戶/伺服器模式的主要原因是網路資源分布的不均勻性。網路資源分布的不均勻性表現在硬體、軟體和數據三個方面。
1)網路中計算機系統的類型、硬體結構、功能都存在著很大的差異。它可以是一台大型計算機、高檔伺服器,它也可以是一台個人計算機,甚至是一個PDA或家用電器。它們在運算能力、存儲能力和外部設備的配備等方面存在著很大差異。
2)從軟體的角度來看,很多大型應用軟體都是安裝在一台專用的伺服器中,用戶需要通過互聯網去訪問伺服器,成為合法用戶之後才能夠使用網路的軟體資源。
3)從信息資源的角度來看,某一類型的數據、文本、圖像、視頻或音樂資源存放在一台或幾台大型伺服器中,合法的用戶可以通過互聯網訪問這些信息資源。這樣做對保證信息資源使用的合法性與安全性,以及保證數據的完整性與一致性是非常必要的。
網路資源分布的不均勻性是網路應用系統設計者的設計思想的體現。網路組建的目的就是要實現資源的共享,「資源共享」表現出網路中結點在硬體配置、運算能力、存儲能力,以及數據分布等方面存在差異與分布的不均勻性。能力強、資源豐富的計算機充當伺服器,能力弱或需要某種資源的計算機作為客戶。客戶使用伺服器的服務,伺服器向客戶提供網路服務。因此,客戶/伺服器反映這種網路服務提供者與網路服務使用者的關系。在客戶/伺服器模式中,客戶與伺服器在網路服務中的地位不平等,伺服器在網路服務中處於中心地位。在這種情況下,「客戶」可以理解為「客戶端計算機」,「伺服器」可以理解為「伺服器端計算機」。
2.對等P2P模式的基本概念
P2P是網路結點之間採取對等的方式,通過直接交換信息達到共享計算機資源和服務的工作模式。有時,人們也將這種技術稱為「對等計算」技術,將能提供對等通信功能的網路稱為「P2P網路」。目前,P2P技術已廣泛應用於實時通信、協同工作、內容分發與分布式計算等領域。統計數據表明,目前的互聯網流量中P2P流量超過60%,已經成為當前互聯網應用的新的重要形式,也是當前網路技術研究的熱點問題之一。
圖3-11給出了客戶/伺服器模式與P2P工作模式的區別。在傳統的互聯網中,信息資源的共享是以伺服器為中心的客戶/伺服器模式工作模式。以Web伺服器為例,Web伺服器是運行Web伺服器程序、計算能力與存儲能力強的計算機,所有Web頁都存儲在Web伺服器中。伺服器可以為很多Web瀏覽器客戶提供服務。但是,Web瀏覽器之間不能直接通信。顯然,在傳統互聯網的信息資源的共享關系中,服務提供者與服務使用者之間的界限是清晰的。
P2P網路則是淡化服務提供者與服務使用者的界限,所有結點同時身兼服務提供者與服務使用者的雙重身份,以達到「進一步擴大網路資源共享范圍和深度,提高網路資源利用率,使信息共享達到最大化」的目的。在P2P網路環境中,成千上萬台計算機之間處於一種對等的地位,整個網路通常不依賴於專用的集中式伺服器。P2P網路中的每台計算機既可以作為網路服務的使用者,也可以向其他提出服務請求的客戶提供資源和服務。這些資源可以是數據資源、存儲資源或計算資源等。
對於P2P技術發展的必然性可以從三個方面去認識:
1)從事物發展的「螺旋式上升」規律的角度去認識P2P技術的發展。如果從網路操作系統設計思路的變化來看「P2P」技術,我們會發現,早期對等結構網路操作系統採取 「我共享你,你共享我」的設計思想,非對等結構網路操作系統採取 「能力強者為能力弱者服務」的設計思想,而P2P 網路信息資源共享模式採取 「人人為我,我為人人」的設計思想。這個過程正好體現出「螺旋式上升」的事物發展規律。導致這種演變的內在因素主要是:計算機硬體資源、計算機軟體資源、計算機信息資源的豐富,以及網路用戶對方便訪問和利用信息資源與服務需求的提高。在這些因素中,個人計算機信息資源的豐富,以及用戶對網路服務需求的提高是主要因素。
圖3-11 客戶/伺服器模式與P2P工作模式的區別
2)從信息資源存儲格局變化的角度去認識P2P技術的發展。
在所有聯網的個人計算機硬體能力都很弱的初始階段,採取對等結構是很自然的一件事。當計算機硬體能力增強,人們可以將一些高性能、高配置的計算機作為伺服器,來為配置較低的個人計算機提供網路服務時,人們自然會採取「客戶/伺服器」的非對等結構。當網路應用發展到一定的階段,作為客戶的個人計算機硬體能力已經很強,網路用戶自身的信息資源(如文檔、音樂、語音、視頻)積累已經比較豐富,很多有用的和個性化的信息都存儲在客戶上,甚至某些方面的信息積累已經超過伺服器可以提供的服務。隨著這種信息資源存儲格局的變化,人們自然希望尋求一種方式以最快的速度、最靈活的方式獲取這些信息,在這樣的背景下,開展P2P技術的研究也就是很自然的了。
3)在不同技術發展階段,人們對網路應用關注的重點也不同。初期階段重點是在共享網路硬體上。中期階段重點是在共享軟體和數據上。到成熟階段,重點應該轉移到共享信息資源上。這正反映了用戶希望自己在互聯網中扮演角色的轉變。用戶開始不滿足只作為信息資源的享受者,希望能同時扮演信息享受者和信息提供者的雙重身份,這也正反映了用戶網路應用水平的提高和網路作用的深化。
從以上三個方面可以看出,在計算機硬體配置提高,網路應用水平提高,網路信息資源積累與存儲格局的變化的基礎上,必將導致網路資源共享模式的變化,在這樣的技術發展背景下出現的P2P網路的發展也就顯得很自然。
『貳』 IPFS(星際文件系統)和P2P網路(對等網路)有什麼區別
ipfs是一種區塊鏈網路,p2p不是。二者網路有很多類似的地方,但是不同,ipfs網路中文件是分拆保存到各個節點的,同時有冗餘數據保證容錯性,p2p各個節點保存的數據是完整的
『叄』 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,由它再分發到其他分會場。可以看出這個中轉過程中浪費了不少網路傳渥試礎5 饈腔 贑/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技術擅長的地方。
『肆』 p2p的原理
P2P軟體是基於P2P技術工作的
1、什麼是p2p
P2P是一種技術,但更多的是一種思想,有著改變整個互聯網基礎的潛能的思想。
(1)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服務。
(2)p2p的思想溯源:回到互聯網的本質
如果回顧一下,我們會發現在WWW出現伊始P2P就是互聯網的本質特徵之一。人們各自建立網頁、互相做鏈接,人們上網是沿著鏈接沖浪。那時的web是真正的「網」(web)。但是當Yahoo!和Lycos建立了搜索引擎和門戶站點後,人們上網的方式被改變了,人們從此到一個地方去獲取所有的信息。記得_blank">新浪曾經有一段時間說它們是「目標站點」模式,但是如果多問一句,現在人們一條一條地閱讀_blank">新浪的新聞,在頭腦中還有一個「網」的概念嗎?最大的問題是,這些站點控制了信息的流動、充斥了過時的信息、阻礙了真正的交流,或者對於很多人來說,另外還有太多的廣告。 P2P就是把控制權重新還到用戶手中去。人們通過P2P可以共享硬碟上的文件、目錄甚至整個硬碟。這種能量是非常令人激動的,那些費心存儲在自己的硬碟上的東西肯定是我們認為最有價值,所有人都共享了他們認為最有價值的東西,這將使互聯網上信息的價值得到極大的提升。是不是有一種和WWW剛剛出現的時候同樣的激動呢?有一點。
因為每個Peer都代表了其後的人,基於自組織的網上社區也正在顯現。與門戶站點從上而下建立社區的方式不同,人們將以自發的方式形成社區。
當人們加入P2P網路的時候,所有人都擁有了平等的機會,所有人都擁有了極容易地在網路上創造「內容」的機會。當然,真正在網路上創造或提供內容的人還是少數的,據統計Gnutella的用戶中僅僅有2%向其他用戶提供了內容,即使在比較活躍的Usenet張貼文章的用戶也僅占所有用戶的7%。但是,P2P第一次使得所有上網的人都擁有了平等的機會。
下面試圖用三句話來揭示P2P的影響:
對等聯網:是只讀的網路的終結(Peer-to-peer is the end of the read-only Web)
對等聯網:使你重新參與互聯網(Peer-to-peer allows you to participate in the Internet again)
對等聯網:使網路遠離電視(Peer-to-peer steering the Internet away from TV)如上文所言,P2P不是一個新思想,從某些角度看它甚至是整個最初創建互聯網的最基本的思想。我們不妨花時間作一點回顧。
互聯網的發展於近現代的許多尖端科學技術的發展模式並無不同,即都是先在軍事工業形成,再轉到民用領域。互聯網發源於至今看來也十分新穎的戰略思想:為了避免敵人的毀滅性武器命中全國的軍事指揮控制中心,應該怎麼辦?傳統的方法是一方面想方設法盡可能地不讓敵人知道中心的確切位置,另一方面提高中心的抵禦打擊的能力。
但在當今的核武器年代,對方有著連一個星球都可以炸毀的核彈,再固若金湯的防禦措施一旦受到攻擊肯定馬上化為烏有。而只要有機密存在,總有打探出機密的方法,所以靠保密中心所在位置的方法也不是長遠之計。在這種情況下,美國的軍事人員充分發揮逆向思維,想到既然不可能長期、有效地保護中心免受攻擊,那麼還不如根本不設中心!
讓每一個基地乃至每一台電腦都能獨立運作,這么一來等於有了無數中心,敵人除非真的將這個星球炸了,否則其中一個基地或電腦受損,也不影響其他基地或電腦繼續發揮作用。正是這種「非中心化」的思想成為形成互聯網最基本的概念。
但是許多技術出現之後往往並不會完全按照原先的設計發展,伺服器/客戶機的架構逐漸變成了互聯網的主流,瀏覽變成了人們在互聯網上最主要的生存方式。互聯網的普通用戶似乎在慢慢的退化、和電視觀眾一樣被動地瀏覽著大網站們創造的內容。
人們在網路上的主要活動訪問了在這么門戶站點上,讀新聞、參與討論組、聊天。但是這使得設計的互聯網的一個特性消失了——如果Yahoo因故中斷服務如出現什麼情況?這種假設不太容易看到,但是年初的黑客攻擊各大網站造成的混亂似乎可以給我們一點聯想的線索。
上面提到像Napster和即時訊息還是需要位於中心的伺服器,那麼Gnutella網站上的一句話可能表達了它們所推廣的「純粹」的P2P所包含的「非中心化」的理念:設計Gnutella是為了在核戰中生存(Gnutella Is Designed to Survive Nuclear War)。
它的網站上這樣描述,紐約的用戶受到攻擊至多隻會影響那個地區的部分用戶,而其他地方的Gnutella用戶還能正常的使用,這不正是互聯網最初的理想嗎?
(3)Napster帶來的革命
Napster是去年當時由只有18歲的肖恩·范寧(Shawn Fanning)開發的,它提供服務允許音樂迷們交流MP3文件。它與先前也被推上被告席的提供免費音樂下載MP3.com的不同就是在Napster伺服器沒有一首歌曲,Napster提供了一個新的軟體供音樂迷在自己的硬碟上共享歌曲文件,搜索其他用戶共享的歌曲文件,並到其他也使用Napster服務的用戶硬碟上去下載歌曲。Napster在短時間里吸引了5000萬用戶,最終,它被五大唱片商以侵犯版權推上被告席而成為世界的焦點。
可能從來沒有一個行業象唱片業這樣,生存會因為一個小小的軟體而受到如此深重的威脅。對於Napster引起的版權問題有過很多的討論,但是多花一些時間討論還是值得的,因為這個案件決定了也決定了P2P文件共享這一分支的前途,也決定了未來如何處理互聯網上的版權問題。
10月31日原告之一BMG公司和Napster達成和解協議。輿論認為這表明唱片業意識到通過數字方式發布音樂將是不可阻擋的潮流,消滅Napster也無法阻止其他模仿Napster的服務商出現。因此還不如與之合作改變Napster,將之變成在線音樂銷售的渠道。現在的唱片工業面臨的可能不是如何「像壓碎一個雞蛋」那樣壓碎,而是與之合作,將Napster的5000萬用戶變成自己的客戶。也就是將Napster的模式變成「合法化的Napster」模式。唱片工業的困境是如何防止那些Napster的模仿者繼續免費提供歌曲。
2000年2月12日,美國舊金山第九巡迴上訴法院的三名法官就音樂網站Napster版權糾紛案作出裁決,認為它侵害了各大唱片公司的版權。但是三名法官並沒有應唱片公司的要求,決定立即關閉網站,而是把最初的判決送回給低一級的地方法院。法官們說,這項裁決內容過於復雜,需作進一步澄清。但錯綜復雜的法律過程和長達58頁的判決書反映了現在既缺乏與互聯網相關的版權法,也缺乏相應的司法實踐。
但是,不管Napster案的結果如何都不能改變Napster後面的技術和思想給互聯網帶來的影響。「魔鬼」已經鑽出了魔瓶,而魔瓶也已經被打破了。對於唱片界來說,至少它們銷售唱片的方式被徹底改變了。下一個可能是好萊塢的電影工業,壓縮技術和寬頻網路將使得人們會在網路上輕易地傳輸整部電影。
事實上合法化的網路上已經出現了許多試圖推出「合法化的Napster」模式的公司,譬如由Napster的創辦人之一創辦的lightshare.com和Flycode.com。P2P對於唱片商來說的確有吸引力,如果它們能夠從用戶身上收費的話。對於利用諸如一個集中的站點提供收費的mp3音樂下載,用戶每次從網站下載的時候,網站都必須向電信交流量費,而使用P2P則使得這部分費用不再存在了。因此唱片商獲得更多的利潤,用戶也應該可以得到更便宜的音樂。
從某種意義上軟體也好像預測到了大規模盜版和文件共享可能帶來的影響,這主要歸功於開放源碼軟體給軟體業帶來的「頭腦風暴」。在亞洲和東歐,軟體業已經在反對盜版上打了敗仗。這也正是微軟極力推廣一種「軟體注冊模式」,把軟體作為按月付費的服務出售,而不再是向過去那樣出售容易復制和盜版的硬拷貝。
當然,對所謂「合法化的Napster」模式還是有很多質疑。P2P的這種文件共享功能似乎沒有帶來什麼附加值,盡管這個過程可能是非常有趣的。從另一方面來說,這項技術可能被用來推動人們重新參與互聯網、創造他們自己的內容,這也許是價值所在。所有的社區網站都有一個「夢想」,讓用戶互動來產生內容,但是由於由上而下創建的社區的最根本上的問題,這種夢想從來沒有真正實現過。P2P或許可以改變這一點。
Napster創造的奇跡同時也是揭示了在互聯網時代普通人也具有改變整個世界的能力。當肖恩·范寧在波士頓的東北大學校園開發Napster的時候,他只不過是想和他在維吉尼亞的朋友共享mp3歌曲文件。現在這個小軟體改變了整個世界。
(4)p2p改變了什麼?內容轉移到「邊緣」
在回顧了Napster了問題和困境之後,下面將看看P2P的更多激動人心的東西和消除圍繞這個新詞的種種誤解,以及看看P2P的機會主要在哪兒。
P2P帶來的一個變化就是改變了「內容」所在的位置,內容正在從「中心」走向「邊緣」,也就是說內容將主要不是存在幾個主要的伺服器上,而是存在所有用戶的個人電腦上。
Napster的成功使我們不得不去質疑流傳已久的兩個斷言,「應用服務提供商(ASP)是未來趨勢」和「個人電腦死了」。ASP的一個基本假設就是對於大多數客戶來說購買和維護高性能的伺服器的成本太高了,但是P2P使得每個人辦公桌上的電腦都可以成為「伺服器」。用戶原來是用台式電腦准備好數據之後再把數據上載到伺服器上去,而使用P2P將不再需要這個過程。「個人電腦死了」這個斷言就是個人電腦將主要用來瀏覽互聯網、字處理等,因此最簡單的瘦客戶機就可以滿足需求。P2P使得個人電腦再一次成為「中心」。P2P使得個人電腦重新煥發活力、不再是被動的客戶端,而成為具有伺服器和客戶端的特徵的設備,個人電腦將重新成為互聯網的中心。
互聯網的存儲模式將由現在的「內容位於中心」模式轉變為「內容位於邊緣」模式。從這個角度看P2P帶來了幾個改變:
首先,客戶不再需要將文件上載到伺服器,而只需要使用P2P將共享信息提供出去;
其次運行P2P的個人電腦不需要固定IP地址和永久的互聯網連接,這使得那些撥號上網的用戶也可以享受P2P帶來的變革,這部分用戶在所有用戶中佔有極大的比重;
最後,P2P完全改變過去控制互聯網的客戶機/伺服器模式,消除客戶機和伺服器二者之間的差別。
上文對Napster所遭遇的法律問題有很多討論,但是換個角度來闡述,盜版問題往往也正顯示存在大量未能滿足的需求。Napster的驚人成功(這里指吸引大量用戶而不是獲得利潤)是一種難得的對P2P的概念上可行性的證明,揭示了P2P改變互聯網的潛力。直通桌面的寬頻網路逐漸成為現實、個人電腦越來越強大足以勝任「伺服器」功能也從另外的方面確保P2P發揮其能量。
個人電腦取代位於中心的伺服器成為內容的主要存儲地將對互聯網的幾個主要發展方向有著意義深遠的影響:這可能改變Windows和Linux幾年的「戰爭」的局面,當「桌面」和伺服器逐漸融合,微軟可能會極力推廣其基於Windows2000的Web服務和「內容處於邊緣」(內容處於桌面)模式,從而可能破壞Linux在伺服器市場上存在的基礎。
提供免費個人主頁服務的公司存在的一個理由就是目前互聯網使得普通用戶很難擁有自己的伺服器放置自己的內容。可以預言類似Napster的服務將會出現供人們在自己的個人電腦上發布主頁和內容。
WAP等移動服務協議目前還主要關注讓人們去使用處於中心的商業服務如新聞、股票信息等。但更多的時候人們最需要的信息是那些在他們的個人電腦上的信息,P2P使這成為可能。人們可以通過無線聯網P2P訪問他們的個人電腦,這也就是一些公司所宣傳的個人化P2P(Personal P2P)的「無線版本」。
當然,這也不是說使用P2P的個人電腦可以取代伺服器,那些安全的備份和需要專家來不斷更新的數據還將存在於位於中心的伺服器上。 可以這樣看待P2P帶來的轉變,「內容位於中心」模式較好的適應了互聯網初期的情況,個人電腦性能太差因而需要有專門的伺服器、帶寬太窄使得個人電腦不得不退化到被動瀏覽。寬頻互聯網、更穩定的更高性能的個人電腦使得我們有理由預言下一個5年將是由「內容位於邊緣」模式主導。
(5)重新解讀P2P
每個具有劃時代意義的創新出現的時候它往往可能被人們誤讀。P2P這次也不例外,Napster讓人們開始關注P2P,但也使得許多人認為P2P就是歌曲交換、文件交換,甚至認為P2P和盜版有著必然的聯系。可以說人們對P2P的理解是被誤導的和不完全的。
自由軟體(Free software)出現之初也面臨著誤讀的困境,人們開始的時候將Free理解為免費的,從而認為自由軟體是不可靠的、認為自由軟體運動是激進的「反文化的」。事實上Free更多的應該指自由地探索想法、在軟體中表達出來和共享軟體。這一點對自由軟體的鼓吹者們來說是自然而然的,但是需要有人去告訴商界、媒體和公眾自由軟體在經濟上和邏輯上是可行的。當時著名出版人O』reilly組織了一次自由軟體峰會重新定義自由軟體,將自由軟體改名為開放源碼軟體(open source software)。這一重新定義使得人們開始撥開誤解的烏雲,了解Free的本質。開放源碼將人們從有缺陷的軟體、鎖定效應和傳統的軟體分發渠道中解脫出來。自由表示合作將可以跨越公司的邊界、共享基礎性的開發,使人們可以把注意力集中到高附加值的服務上去。 今年8月,O』Reilly又組織另一次峰會來幫助人們認識P2P的潛力和消除Napster、Gnutella造成的P2P是盜版技術的負面影響。另外,他認為目前P2P的狀態類似於「盲人摸象」,P2P技術的領導者們每個人都看到了P2P這頭「巨象」的一些特徵。,如果他們能夠有機會交流思想,P2P將會更快地發展。這次P2P峰會主要有三個目的:定義P2P,我們要從中的到什麼以及為什麼;描述P2P的機會,P2P能解決什麼樣的問題;形成一個提供給大眾的關於P2P的信息,消除那些負面影響。
參與P2P峰會的有媒體不斷報道的那些提供文件交換服務如Napster、Gnutella、Freenet的開發者,也有那些試圖挖掘P2P分布計算能力的公司和組織如Popular Power、SETI@home、distributed.net等的開發者。後面的三家公司希望使用P2P技術集中那些聯接在網路上的電腦的空閑的CPU時間片斷、內存空間、硬碟空間來替代「超級計算機」。其它正在進行的P2P應用還有,IBM、微軟、Ariba也在合作開展一個名為UDDI的項目以將B2B電子商務標准化;Eazel正在建立下一代的Linux桌面;Jabber已經開發了一種基於XML、開放的即時訊息標准,Jabber被認為是建立了未來使用P2P數據交換的標准;由Lotus Notes的開發者創建的Groove試圖「幫助人們以全新的方式溝通」;英特爾也在推廣它的P2P技術以幫助更有效地使用晶元的計算能力。
列這樣一個名單有一點枯燥,尤其是對於那些對於具體細節沒有太多興趣的讀者,但這又是必要的。因為這些描述可以讓我們更全面的了解。
(6)尚未被了解的P2P
Napster是與設備相關的,用戶連接到到由它創建的P2P網路上是為了獲取Mp3歌曲文件。但是對於即時訊息這一類P2P應用來說是完全不同的,別人連接的目的是和另一個Peer交流,而不必管他使用的是電腦、手持電腦或者手機。P2P提供了在網路上與設備無關的實時交流的能力。
這種將把用戶實時的連接起來的能力是P2P最令人感到激動的特性。事實上我們可以從AOL的AIM、國內Oicq受歡迎的程度認識到這個事實。
能夠實時地尋找和聯絡需要的人是商業應用的基本要求,電話可以做到這一點,而在網路上最常用的E-mail並不能做到這一點。因此,即時訊息將不僅僅是一個有趣的服務,更多的它將是下一個最基本的互聯網商業工具。即時訊息現在看起來可能成為諸如客戶服務、供應鏈管理等商業應用的平台。開發了一個開放源碼的基於XML和Java即時訊息服務的Jabber似乎正是創建了一個這樣的平台。Jabber的開發者似乎刻意集中了互聯網現有的所有激動人心的東西:P2P、Java、XML和開放源碼。它是不是有這種潛力呢?我們最好拭目以待,但Jabber的模式至少要比Napster要清晰得多。
Negroponte在其《數字化生存》中曾經有一個著名的論述,「網路上的東西將比人要多」。P2P將使得這些「東西」之間的直接交流成為可能,網路上每個設備都是「活躍」的,而不是像過去那樣有部分是非常活躍,而有的則被動的,有時候直接交流的那些設備可能都是某一個用戶自己的,譬如說掌上電腦和台式電腦的數據同步是最好的例子。如果用戶的掌上電腦上有些數據和內容是台式電腦上沒有的,台式電腦也應該能夠向掌上電腦要求獲取那些信息,這應該跟我們通過Napster到其他用戶那兒去搜索和下載mp3歌曲一樣。
最重要的一點是,不是網路上的節點數目而是這些節點如何參與網路決定網路是否強大、是否有價值。怎樣使得網路上幾億的人和更多的設備都活躍地參與呢?P2P正是一系列架構、技術、策略的開端,它使得互聯網的這一理想開始變為現實。現在人們看到的和預言的都只是冰山露出的一個小角,更多的還在水下。
(7)P2P中的P是人(People)!
Dave Winner的論斷P2P中的P是人(people)!這可能是我讀到的關於P2P最深刻的解讀之一。
事實上,我們所處的真實生活是P2P的環境,人們可以和其他人直接地的交流。信息技術將我們帶到了網路空間,在網路空間我們仍然希望還能夠按照原來的P2P方式交流溝通。盡管互聯網本質上是支持對等交流模式,但是網路的發展給對等交流增加了許多障礙。
正如許多技術專家所指出的,動態IP地址、_blank">防火牆、代理伺服器從技術上使得對等連接變得很困難。更不用說目前的網路主導模式已經發展成為伺服器/客戶端模式,人們在網路上只能被動的接受那些大公司諸如Yahoo!、ABCnews.com等提供的信息,交流是非常困難的。(當然,在現實生活中諸如空間、社會等級等也束縛了人們的對等交流。但是如果網路能夠使我們看到對等交流的可能性,為什麼不去追求?)
可以這樣類比,互聯網的出現和電話的發明是具有同樣的意義的,但是互聯網最開始的主要特徵是非實時的,更類似於傳真,而沒有提供像電話那樣實時交流,現在P2P的即時訊息可能使得互聯網上的實時交流變得和Web頁面、E-mail那樣普遍和不可或缺。
對於所有的P2P應用來說,最先要做的就是恢復互聯網曾經失去的對等聯網能力。這也正是Napster從概念上最大的缺陷。(email是具有P2P交流的特徵的,但email缺乏實時交流的能力,它類似與傳真,但我們還需要「電話」的。)
從「人」的角度上將,P2P發展的要點並不是P2P網路架構是如何,而是P2P將人們在網路上連接起來了,人們可以在網路這個更迅疾的媒介上處理那些需要溝通的問題。這是最重要的。盡管到今天還有人在懷疑互聯網作為零售商業和B2B媒介的有效性,但是互聯網已經從根本上改變了我們的交流方式是不需要任何討論的。過分的談了「純粹的」的、完全消除控制的P2P是毫無意義的。中心化或者非中心化都只是工具,都是為了創造出使人們可以更有效地溝通的工具。
人類在現實生活中的經驗至今仍只有極少的部分被應用到網路上,如新聞、B2C、B2B。現在,人們最常使用的P2P被移植到了網路空間。P2P可能改變一些我們已經熟知的、習慣了的產品和服務,也會創造更多。
究竟會出現些什麼?預言未來的最好辦法是去創造。
『伍』 P2P下載是什麼原理啊
點對點技術,就是人可以直接連接到其他用戶的計算機交換文件,而不是像過去那樣連接到伺服器去瀏覽與下載
P2P的概念
『陸』 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服務。
『柒』 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使用戶可以直接交易的同時,卻破壞了伺服器端的那種自互聯網出現之初就存在的對等聯網思想,因為它們都需要有一個位於中心的伺服器來協調,而不是分布在世界上不同地方的、對等聯網的許多伺服器。這也正是諸如Gnotella和Freenet不斷的宣稱它們創造了"純粹"的P2P,完全沒有中心伺服器的P2P服務。
影響:
對等聯網:是只讀的網路的終結(Peer-to-peer is the end of the read-only Web)
??對等聯網:使你重新參與互聯網(Peer-to-peer allows you to participate in the Internet again)
??對等聯網:使網路遠離電視(Peer-to-peer steering the Internet away from TV)如上文所言,P2P不是一個新思想,從某些角度看它甚至是整個最初創建互聯網的最基本的思想。
『捌』 對等網路和P2P區別
即對等計算機網路,是一種在對等者(Peer)之間分配任務和工作負載的分布式應用架構,是對等計算模型在應用層形成的一種組網或網路形式。
『玖』 P2P軟體使用與性能比較
你可以參考一下
P2P系統簡單發展史
1999年,文件共享系統Napster誕生。Napster是最早的P2P實用系統,參與系統的是大量個人計算機用戶,每個用戶將自己願意共享的文件提供出來,同時可以下載其他用戶共享的文件。Napster需要解決的核心問題是必須知道哪些機器上有哪些文件,這樣當用戶提出文件搜索請求時才可以得到正確的匹配結果。
在Napster中使用一個中心伺服器,稱為目錄伺服器,存放所有文件的元數據信息(文件的標題和一些簡單的描述信息)以及其存放結點的IP地址。結點加入系統時首先要連接目錄伺服器並報告自身地址及共享的文件列表。用戶需要某個文件時向目錄伺服器提交搜索請求,目錄伺服器返回符合搜索要求的所有文件的存儲地址,之後用戶根據對應地址直接從共享此文件的結點處進行文件下載。由於目錄伺服器只提供索引服務,而不承擔文件存儲和下載服務,因此它支持上萬結點同時在線。Napster在發布後迅速流行起來,很快成為增長最快的網路應用系統。
事實上,Napster中的結點並非全部對等,目錄伺服器要承擔比其它結點繁重得多的工作,從這個意義上說,Naspter並非一個純粹的對等系統。由於Naspter中的結點動態性很高(指結點的加入、退出很頻繁),目錄伺服器就處在不斷的更新之中。並且,目錄伺服器還要負責響應所有用戶的查詢請求。因此,當系統規模更大時,目錄伺服器還是會成為系統的瓶頸。此外,目錄伺服器的存在成為系統的關鍵點,也就成為整個系統最易受攻擊的要害所在。在Naspter之後的P2P系統都在這一點上進行了重點改進,系統基本上都採用無中心結構,魯棒性和可擴展性都得到大幅度提高。
Napster在初期取得了巨大成功之後,很快遇到版權問題的困擾。由於Napster上共享的文件有很多是音樂媒體文件,這些音樂媒體在未被授權時是不允許被廣泛傳播的。而Napster的目錄伺服器恰恰為這些文件的傳播提供了支持,因此Napster很快受到音樂著作方為保護版權而發起的挑戰,並於2001年被迫關閉。
Napster第一次驗證了P2P思想在廣域網范圍內的可行性,在Napster關閉之後,更多的P2P文件共享系統迅速崛起,成為Internet發展的一股巨大浪潮,其中最著名的是Gnutella和KaZaA。
從Gnutella到KaZaA
Gnutella對Naspter的體系結構進行了徹底的改變,不再使用中心目錄伺服器,轉而使用全對等結構:每個結點記錄多個其它結點的IP地址(稱為「指針」),這樣整個系統的拓撲就成為一個由指針搭建起來的有向圖,通常稱這張圖為「覆蓋網」(Overlay),由於Gnutella的覆蓋網中沒有規定哪些結點之間必須有指針相連,因此整個覆蓋網沒有一個有序的結構(比如環形、立方體形、層次結構、樹形結構、有向無環圖等),被稱作「非結構化覆蓋網」(Unstructured Overlay)。
當用戶需要進行文件搜索時,就在覆蓋網上進行廣度優先或者深度優先搜索,在搜索到一定的范圍後,將得到的匹配搜索條件的結果返回給用戶。由於這種搜索不可能遍及整個覆蓋網,因此就存在不能搜全的問題。但是這個問題並不嚴重,因為大多數時候人們總是搜索一些比較熱門(popular)的文件,而這些文件在整個系統中往往有很多份,只要搜索的范圍不是很小,總可以搜到其中的一份或多份。當然,如何在非結構化覆蓋網中搜索不熱門的文件也是P2P研究中的一個熱點問題,近年來也取得了一些進展。
實際上,這種對搜索完備性的犧牲換來了很高的可擴展性:系統不再有中心結點成為瓶頸,規模可以擴展到上百萬甚至上千萬結點的規模。並且,由於不存在易受攻擊的關鍵結點,系統的魯棒性也得到了提高。
KaZaA對Gnutella做了進一步的改進。由於系統中的大多數結點的動態性都很高,因此覆蓋網中結點的指針就必須頻繁更新,去除掉那些已經離開系統的結點,補入新的在線結點。人們從Napster和Gnutella的實際經驗中得知,在P2P文件共享系統中結點的能力差異很大,有的結點能力很強,並且很穩定,每次上線之後能保持很長的在線時間,而更多的結點能力弱,且加入系統後很短時間(很多隻有幾分鍾)就離開系統。這樣,KaZaA利用系統中的強結點搭成系統的主幹框架,而弱結點附屬在臨近的強結點上。也就是說:KaZaA把結點分成強、弱兩種,強結點之間搭建類似於Gnutella的覆蓋網,而弱結點只連接一個或幾個強結點,並把自己的元數據(即共享文件的列表)發送給強結點,文件搜索只在強結點上進行。這樣KaZaA獲得了比Gnutella更高的穩定性和搜索效率。當前,KaZaA的同時在線用戶穩定在三百萬以上,已成為全球最大的分布式系統。
近期,P2P文件共享系統的版權問題也開始逐步得到解決,Napster在關閉之後被音樂軟體生產商Roxio公司收購,Naspter網路被轉而成為合法的軟體發布渠道。之後,由於業績看好,Roxio公司更名為Napster,並於2005年1月在納斯達克上市。目前,Napster的全球注冊用戶已超過7000萬。
P2P結構的應用和研究
另一方面,P2P文件共享系統的成功促使人們致力於在更多方面開拓P2P結構的應用。其中大文件分發系統BitTorrent和基於覆蓋網的IP電話系統Skype最為成功。
傳統的文件下載大多使用FTP等協議進行C/S方式的下載。這樣,對於一些熱點文件就會有很多用戶同時需要下載,由於伺服器端的帶寬有限,就會有很多用戶的請求得不到滿足,從整體上看,下載效率很低。BitTorrent試圖充分利用下載用戶之間的帶寬進行數據傳輸,從而減輕伺服器負擔,提高下載速度和系統的可擴展性(同時下載人數)。BitTorrent的基本策略是:每個用戶從伺服器上下載一部分數據,各個用戶下載的部分不盡相同,之後用戶之間互相交換對方沒有的數據,最終使所有用戶都獲得全部數據。BitTorrent在推出之後迅速流行,由於越來越多的人使用BitTorrent在Internet上進行數據下載,很快使得P2P系統成為網路流量占據50%以上的Internet首要應用。
Skype作為基於覆蓋網的IP電話系統提供了比以往通過Internet直接連接的IP電話更好的語音效果,因此受到用戶的廣泛歡迎。自2003年發布以來,其用戶增長速度迅猛,截至2005年2月,Skype的注冊用戶已達2100萬,同時在線用戶超過200萬。Skype的系統結構基本上類似於KaZaA,當用戶之間需要語音通信時,Skype在覆蓋網中找尋出一條當前帶寬最大的覆蓋網通路,通過多跳轉發的方式進行數據傳送。通常情況下,在覆蓋網中找到的轉發通路比起通話兩點之間的直接通路質量要好,因此通話過程中語音也就更加清晰流暢。由於Skype的出現和高速發展,越來越多的用戶轉向IP電話,已經對傳統的電信業構成了一定的威脅,而將來Skype這樣的基於P2P的IP電話系統很可能會在很大程度上取代傳統電話業務成為人們日常通信的基本方式之一。
在P2P系統在產業界迅速發展的同時,研究界也及時跟進,對P2P系統展開了大規模的研究工作。自2000年起,在OSDI、SOSP、SIGCOMM、USENIX、HOTOS等系統結構方向的頂級會議上不斷出現關於P2P系統的重要研究成果。2001年,學界又召開了新的專門針對P2P系統的學術會議IPTPS,由於該會議受到各著名院校和研究機構的廣泛關注,很快成為P2P研究領域的高峰會議,發表了大批優秀論文,成為P2P研究的風向標。從2002年開始,Berkeley、Stanford等著名大學相繼開設了P2P相關的研究生課程,進一步推廣了P2P這一新興的研究方向。
精神實質是「結點合作」
P2P系統的精神實質是「結點合作」。因此,只要一個系統中沒有管理者,所有任務都是依靠結點之間的交換與配合完成,這個系統就可以認為是P2P系統。總體上看,已有的P2P系統可以分為兩類:
第一類稱為「P2P服務系統」(Service-Oriented P2P Systems),P2P服務系統用對等的方式將廣域網中的服務結點組織起來,向用戶提供更強大、更可靠的服務(數據服務、計算服務、存儲服務等),這一類系統包括圖書館資料合作維護系統LOCKSS、廣域網分布式實驗平台PlanetLab、P2P存儲服務系統Ivy等等;
第二類稱為「P2P交換系統」(Barter-Oriented P2P Systems)。P2P交換系統為Internet中的大量終端用戶搭建資源交換的平台,用戶可以在此平台上進行資源交換,所交換的資源可以是文件、數據塊、存儲空間等。這一類系統包括文件共享系統KaZaA、大文件分發系統BitTorrent、P2P存儲交換系統Pastiche等等。
無論是P2P服務系統還是P2P交換系統都面臨著很多在傳統的分布式系統中沒有的新問題:
結點數量大。
很多P2P系統已經達到上百萬結點同時在線的規模,這樣大的規模導致的一個直接後果是不可能使用全連接的拓撲結構(就是讓每個結點記錄當前所有的其它結點)。這樣一來,如果讓結點知道更多其它結點的信息並保證任意兩個結點之間能夠通信就成為一個棘手的問題。因此,P2P系統中的結點信息收集演算法和覆蓋網路由協議就成為P2P研究的一個重要方向。
結點動態性高。
對於用戶來說,使用P2P系統的一個標准模式是「進入系統-查找資源-獲得資源-離開系統」,這一過程通常時間不會很長,因此P2P系統的一個顯著特點就是結點的平均在線時間短,實驗測算,在Napster和Gnutella系統中結點的平均在線時間僅為2個多小時。結點的高動態性使得維護數據可用性的工作變得非常困難。
結點異構性強。
Internet中結點的硬體能力不同、接入方式不同。這就造成了參與P2P系統的結點在存儲能力、計算能力和帶寬能力上都有著很大差異,如何利用這種異構性把所有結點的可用資源都充分利用起來以提高系統各方面性能是P2P系統必須仔細研究的問題。
結點分布廣泛。
P2P系統的結點在全球范圍內分布,由於時區不同,系統的不同部分會在不同時間處於繁忙狀態。這對負載平衡、任務遷移、復制策略等方面都提出了新的挑戰。
網路非同步性強。
傳統分布式系統在集群或者區域網的范圍內部署,網路屬於同步網
(Synchronous Network),也就是說任意兩個結點之間的通信延遲總有上限。而P2P系統部署在Internet這一非同步網(Asynchronous Network)中,由於網路經常發生阻塞、擾動、分裂等情況,不能保證系統中任意兩點的通信延遲有確定的上限。網路的非同步性給一些需要嚴格語義的應用造成了很大困難。例如:復制演算法在非同步網中就不能保證嚴格的線性一致性(Linearizability)。那麼如何在Internet環境下對於各種操作保證盡量強的可靠性和一致性就需要仔細的分析和研究。
結點之間不互信。
P2P結點來自於不同的組織和用戶,結點之間沒有天然的信任感,因此安全和隱私保密的工作就十分重要,如何在與別的結點交換數據時保護好自己的隱私一直是P2P研究的一個重要方向。
結點具有自私性。
很多理性用戶總是試圖多使用別人的資源,少貢獻自己的資源。實驗測算,在Gnutella中有25%的結點從不共享數據給別人,只從別人那裡下載數據。並且有大量的用戶(大約佔30%)低報自己的帶寬以降低其它用戶下載其數據的意願。如何激勵用戶多貢獻自己的資源,保證交換中的公平性也是受很多研究者關注的熱點方向。
系統全部暴露在公網中。
在傳統的分布式系統中一般只有負責與用戶交換的門戶結點(Portal)才可以直接從Internet訪問,而P2P系統的幾乎全部結點可以直接從Internet訪問,這使得P2P系統更容易受到攻擊。尤其對於一些允許結點任意加入的系統(比如大多數P2P文件共享系統),如何防止聯合攻擊(Conspiracy Attack)就顯得更加重要。
正是P2P系統的這些新特點使得P2P系統從一出現就顯得與傳統的分布式系統有著非常大的差別。這也是它之所以能夠引起眾多著名學者的研究興趣的原因之一。
P2P應用系統應用現狀
隨著P2P技術的發展,人們嘗試著使用P2P的方法解決各種問題,越來越多的P2P應用系統被提出並得到實踐的檢驗,其中主要的包括:
廣域網分布式存儲系統(P2P存儲系統)。
分布式存儲系統一直是分布式系統的一個重要領域,傳統的區域網范圍內的分布式文件系統、分布式對象存儲系統、分布式資料庫都有著良好的研究基礎。P2P技術出現後,人們試圖把這些分布式存儲系統向更大范圍拓展,提出了在廣域網中構建的分布式文件系統、對象存儲系統和資料庫系統。
視頻組播系統。
視頻組播的帶寬要求很高,因此傳統的C/S結構的組播系統的往往由於伺服器出口帶寬的限制而導致系統的可擴展性很差。在基於P2P結構的視頻組播系統中,只有少數結點從伺服器直接獲取數據,更多的結點一方面從其它結點處獲得數據,一方面也向其它結點提供數。整個系統的體系結構為樹狀結構或者網狀結構。這種以對等方式構建的視頻組播系統充分利用了結點之間的可用帶寬而使系統的可擴展性大為提高。
大文件分發系統。
與視頻組播系統類似,大文件分發系統也是通過結點之間互相傳遞數據以減輕數據源點的壓力,體系結構也是樹狀結構或者網狀結構。但是由於文件分發系統對實時性、最低可接受帶寬等要求不高,因此相對於視頻數據它能更充分的利用帶寬,獲得更高的可擴展性。
域名伺服器(DNS)。
當前Internet的DNS伺服器之間的連接使用樹狀結構。在這種結構中,對一些不常用的域名解析時由於在需要在樹狀結構中進行很多跳的查詢轉發,因此效率比較低。尤其是如果對一個錯誤域名進行解析,或者負責解析的伺服器暫時不可用時,需要很長時間才能返回用戶並顯示查詢失敗。另外,由於現行機制下標識一份文檔的url和它的存儲地是直接相關的,這給文檔的遷移帶來很多不便。很多工作致力於使用P2P構架重建DNS系統,使其更高效,並且剝離文檔標識與存儲地點的相關性,取得了很好的效果。
網頁合作緩存(Web Cache)。
Web站點經常出現訪問熱點而影響網頁的可用性和訪問效率。如果通過P2P的方式將網頁在多個結點中進行多備份的合作緩存,可以很好的解決這一問題。這種合作緩存的方式既可以在多個客戶端之間進行,也可以在多個伺服器之間進行,還可以將伺服器與其客戶端組織起來取得更好的分配策略。
覆蓋網路由(Overlay Routing)。
雖然Internet可以提供任意兩點之間的數據通路,但是由於路由器更新、配置錯誤、網路擁塞等原因,常常會出現兩點之間通信質量差甚至完全不能連通的情況。為了減少乃至避免這種情況的出現,人們提出可以在需要通信的很多結點之間搭建一個覆蓋網,當兩點之間直接通信不暢時,可以想辦法通過其它結點的轉發來實現更高效的通信。比如,當結點A無法向結點B發消息或者通信質量很差時,可能存在另一個結點C,A與C、C與B之間的通信都是暢通而良好的,這樣A就可以將消息發給C,C再轉發給B。
應用層組播(Application-Level Multicast)。
雖然IP層組播技術提出已經有十年之久,但一直沒有被廣泛使用,主要原因是它需要改變路由器演算法,因此難以被廣泛部署;而且IP組播需要記錄組狀態(組名與成員地址),使得協議十分復雜,也不符合Internet設計中一貫堅持的IP層無狀態的基本原則。鑒於此,人們提出不需要IP層支持的應用層組播,也就是在需要收到消息的結點之間不斷轉發消息,以保證消息最終能夠被該組的所有成員收到。很多應用層組播在結點之間通過樹狀結構進行組播,並且:(1)保證有結點進出時樹狀結構能夠迅速修復;(2)優化這一樹狀結構,使其與下層Internet結構更為匹配,以提高組播效率,降低組播通信對Internet鏈路產生的壓力。
另外,還有一些工作試圖建立P2P搜索引擎、利用P2P系統測量網路狀況、通過P2P路由消除防火牆與網關的障礙、構建P2P游戲系統等等,這里不再做更詳細的介紹。