摘 要:本文論述了P2P技術的思想內涵、優缺點,并對這項技術的前景提出了展望。P2P技術必定成為互聯網的基石之一。
關鍵詞:互聯網 P2P C/S
中圖分類號:TP39 文獻標識碼:A 文章編號:1672-3791(2013)01(c)-0019-01
P2P技術具備和傳統C/S構架完全不同的哲學理念,這決定了P2P技術有自己的獨到之處。隨著時代發展,這項技術可能越來越重要。
1 P2P技術的概念
1968年,由美國當局主導的名為ARPA
NET的網絡誕生了,事實上從它孵化出了我們如今所熟悉的因特網。當時因特網的用途,基本上可以概括為“讓客戶通過網絡獲取某一些特定的信息”,那么這些信息應該放在什么地方呢?難道是放在某個或者某些客戶端的計算機上嗎?這個想法事實上是行不通的,當時的計算機普遍不具備足夠強大的計算能力,也沒有足夠暢通的通信信道把客戶的計算機和外界連接。所以,這些“特定的信息”只能放在因特網內容提供者專門準備的計算上,這些計算機具有足夠強的運算能力,并且連接了足夠帶寬的通信線路,它們被稱為“服務器”,由這些服務器為客戶提供“特定的信息”。這個構架就是所謂的客戶端/服務器構架(C/S架構)。
但是隨著網絡技術的飛速發展,網絡生態壞境已經產生了深遠的變化。過去的用戶一般只是從網絡上獲取信息,現在的用戶除了獲取信息之外,往往存在發布信息的需求;過去的網絡帶寬是捉襟見肘的,現在的帶寬已經有了長足的進步;過去客戶端的計算機運算能力普遍很弱,現在普通客戶的計算機運算能力已經今非昔比了。在這樣一種網絡壞境之下,曾經的C/S網絡構架如今暴露除了越來越多的不足。
在這樣的背景下,P2P技術應運而生了。Napster公司是讓人們接觸到P2P技術的始作俑者,它用它在音樂領域的驚人成就讓人們不得不正視這個劃時代的技術。 P2P技術中,沒有C/S構架下的服務器端的概念。在一個P2P技術的網絡中,客戶端獲取的任何信息都不是從特定的服務器來的,而是從某個或者某些和自身對等的客戶端來的。同時,任何客戶端也可能成為其他客戶端獲取信息的來源。也就是說整個網絡中沒有服務器,只有到處充斥的對等的客戶端,這些客戶端的地位是對等的[1]。這也說明了P2P名稱的由來,Peer To Peer,在對等的計算機之間通信。
2 P2P技術的優缺點
P2P架構相對于C/S架構有非常多的優點。從網絡的容錯性能來說,C/S構架的網絡一旦發生了服務器端的問題,整個網絡服務都將癱瘓。但是P2P構架由于不存在服務器的概念,或者說任何一個客戶端都可以視為服務器,所以沒有哪個客戶端的故障可以導致整個網絡通信癱瘓。從成本來看,C/S構架需要購買高性能的計算機作為服務器,并且服務器必須配備高速的網絡,這些都是成本。但是P2P構架的網絡沒有這種硬件上的需要,它需要的僅僅是千千萬萬的客戶端都安裝上相應的軟件,所以,P2P構架在成本上具備C/S構架無可比擬的優勢。如果從客戶端之間的數據互通性來說,P2P更是不言而喻,P2P構架本身就在客戶端之間構建起來了暢通的信道,天然利于客戶端之間的信息互通,但是C/S構架網絡本身不存在客戶端之間的互通信道,所以要實現客戶端之間的互通,無疑是要繞彎路的。從網絡服務的提供能力來說,當大量客戶端索取某個資源的時候,C/S架構的服務器端的服務能力由于存在上限,所有可能會造成服務質量下降。但是P2P網絡由于“全民皆兵”,每個客戶端都是服務器,所以面對大量的用戶需求不容易出現C/S架構那種服務性能下降的問題。P2P架構的優點還有很多,以上只是管中窺豹略見一斑。
但是P2P架構相對于C/S構架也是存在缺點的。例如當某個資源不是很熱門的時候,這個資源不會廣泛分布在客戶端上,此時某個客戶端如果想要獲取這個資源,會是比較困難的,因為“服務器”上缺乏這個資源,這里的“服務器”其實就是P2P網絡中的其他客戶端。如果是C/S構架,服務器會是穩定存在的,不管這個資源是不是很熱門,所以當用戶想要獲取這個資源的時候,可以得到穩定的服務。P2P網絡的管理也是相對C/S網絡來說困難得多,因為沒有一個集中的服務器,一切運算工作都進行在客戶端的計算機中,所以P2P的管理是一個問題。例如P2P架構的安全性就相對弱于C/S架構,很容易被黑客利用,P2P網絡也更難以控制用戶之間傳遞諸如色情、盜版之類的信息。而且P2P構架的設計其實沒有考慮到底層網絡的性質,所以在傳輸大文件的時候,往往給底層網絡帶來很大的負擔。同樣的,P2P架構的缺點也有很多,以上同樣是管中窺豹略見一斑。正因為P2P和C/S架構各有優缺點,所以也許P2P架構雖然如雨后春筍,但是這并不意味著,C/S架構會完全被P2P架構取代。更有的可能的情況是,這兩種架構相輔相成,為互聯網服務。
3 P2P技術的發展
發展到今天,P2P技術經歷了很多技術形態。最初的P2P網絡中存在著一些計算機,這些計算機提供資源索引服務,他們被稱為中心服務節點,這種P2P技術被稱為集中式的。隨著網絡不斷發展,對這些中心服務器提出了越來越高的性能要求,這無疑使得網絡服務提供者的成本攀升。而且這里面還有一個法律問題,因為P2P架構上傳遞的很多信息有侵權的嫌疑,如果采用集中式P2P,就意味著中心節點上面必然要存儲一些同樣涉嫌侵權的索引信息,因此服務提供商面臨著相應的法律風險。接下來的P2P架構,去掉了中心節點,這種架構的適應性更加強,但是服務性能受到客戶端運算能力的影響比較大。再后來的P2P架構引入了超級節點,其實這種技術可以理解為分布式P2P和集中式P2P的折中方案。超級節點其實也是普通的客戶端,只是由于性能較強等原因,所以被選為超級節點,但是本質上他們仍然是客戶端并非服務器,這些超級節點很大程度上可以影響整個P2P服務。目前有一種新的P2P概念還在試驗階段有待大規模普及,它采用了結構化的思想。
4 結語
P2P技術具備與傳統的C/S架構完全不同的基本哲學理念,這種哲學理念就決定了雖然P2P構架具備C/S構架不具備的缺點,但同時它也具備C/S構架完全不具備的優點。所以P2P技術必然具備強大的生命力。P2P從誕生開始就不斷地在發展,而且也得到了相應的廣泛應用,文件共享、電子商務、云計算、即時通信、在線視頻中都蘊含了P2P技術。相信在未來,P2P技術會擁有長久的生命。
參考文獻
[1]Andrew S. Tanenbaum.Computer Networks,潘愛民[譯],2004:321.
①作者簡介:顏超賢(1984,8—),男,四川省自貢市眾人,碩士研究生,研究方向:網絡技術。