摘要 對P2P技術的基本特點和網路結構進行了介紹,對P2P技術的業務模式和安全問題進行了分析和探討。
1、P2P技術的特點
P2P是一種分布式網路,網路的參與者共用他們所擁有的一部分硬體資源(處理能力、儲存能力、網路連接能力、印表機等),這些共用資源需要由網路提供服務和內容,能被其它對等節點(Peer)直接存取而無需經過中間實體。在此網路中的參與者既是資源(服務和內容)提供者(Server),又是資源(服務和內容)擷取者(Client)。
1.1 P2P技術的特點
(1)非集中式。網路中的資源和服務分散在所有節點上,資訊的傳輸和服務的實現都直接在節點之間進行,避免了可能的瓶頸。
(2)可擴充性。在P2P網路中,隨著使用者的加入,不僅服務的需求增加了,系統整體的資源和服務能力也在同步地擴充,始終能較容易地滿足使用者的需要。理論上,整個體系是全分布的,不存在瓶頸。
(3)健壯性。P2P架構天生具有耐攻擊、高容錯的優點。由於服務是分散在各個節點之間進行的,部分節點或網路遭到破壞對其它部分的影響很小。P2P網路一般在部分節點失效時能夠自動調整整體拓撲,保持其它節點的連通性。P2P網路通常都是以自組織的方式建立起來的,允許節點自由地加入和離開。P2P網路還能夠根據網路頻寬、節點數、負載等變化不斷地做自適應式的調整。
(4)高效能/價格比。效能優勢是P2P被廣泛關注的一個重要原因。採用P2P架構可以有效地利用互連網中散布的大量普通節點,將計算任務或儲存資料分布到所有節點上。利用其中閑置的計算能力或儲存空間,達到高效能運算和海量儲存的目的。通過利用網路中的大量空閑資源,可以用更低的成本提供更高的計算和儲存能力。
(5)隱私保護。在P2P網路中,由於資訊的傳輸分散在各節點之間進行而無需經過某個集中環節,使用者的隱私資訊被竊聽和泄漏的可能性大大縮小。
(6)負載平衡。P2P網路環境下由於每個節點既是伺服器又是客戶機,減少了對傳統C/S結構伺服器計算能力、儲存能力的要求,同時因為資源分布在多個節點,更好地實現了整個網路的負載平衡。
1.2 P2P的應用類型
P2P的應用類型主要包括提供檔案和其它內容共用的P2P網路,挖掘P2P對等計算能力和儲存共用能力,基於P2P方式的協同處理與服務共用平台,即時通訊交流(包括ICQ,QQ,MSN等),安全的P2P通訊與資訊共用(例如Skype)等。
2、P2P的網路結構
P2P模式的變化經曆了三個階段:集中式、分布式和混合式。
2.1 集中式P2P
集中式P2P模式中有一個中心伺服器負責記錄共用資訊以及回答對這些資訊的查詢。每一個對等實體對它將要共用的資訊以及進行的通訊負責,根據需要下載它所需要的其它對等實體上的資訊。這種形式具有中心化的特點,但是它不同於傳統意義上的Client/Server模式:傳統意義上的Client/Server模式採用的是一種壟斷的手段,所有資料都存放在伺服器上,客戶機只能被動地從伺服器上讀取資訊,並且客戶機之間不具有互動能力;而集中式P2P模式則是所有網上提供的資料都分別存放在提供該資料的客戶機上,伺服器上只保留索引資訊,此外伺服器與對等實體以及對等實體之間都具有互動能力。
集中式P2P模式最大的優點是維護簡單、發現效率高。由於資源的發現依賴中心化的目錄系統,發現演算法靈活高效並能夠實現複雜查詢。最大的問題與傳統客戶機/伺服器結構類似,容易造成單點故障,可靠性和安全性較低。
2.2 分布式P2P
在分布式對等網中,對等機通過與相鄰對等機之間的串連遍曆整個網路體系。每個對等機在功能上都是相似的,並沒有專門的伺服器,而對等機必須依靠它們所在的分布網路來尋找檔案和定位其它對等機。
根據節點的拓撲關係,分布式P2P網路可歸類為結構化和非結構化二種。非結構化P2P網路採用隨機圖的組織方式,從而能夠較快發現目的節點,具有較好的可用性,容易維護,並支援複雜的查尋,但不能保證查詢的結果完全。為了保證查詢結果,有些P2P網路維護一個中心目錄,但如此就大大限制了網路的可擴充性,而且在很多情況下也不可行。在結構化P2P網路中,網路的節點拓撲關係有嚴格定義,節點之間通過一定的協議來維護疊加網的拓撲結構。由於採用了確定性拓撲結構,該種網路提供高效並具確定性查詢。只要目的節點存在於網路中,發現的準確性就會得到保證,但維持網路的拓撲結構將消耗一定的網路資源。
由於使用散列表進行查詢的效率最高,採用分布式散列表(Distributed Hash Table)顯然是構造結構化P2P疊加網路的理想方案。分布式散列表(DHT)是由疊加網上的節點共同維護的一張大的散列表,散列表被分割成不同的小部分表由各節點維護管理。每個DHT節點按一定方式分配一個一定長度的惟一標識符(ID),資來源物件通過散列運算也產生一個相同長度的惟一資源標識符(Object ID),且該資源將儲存在節點ID與之相等或者相近的節點上,每個DHT節點在其維護的散列表內包含了一部分其他節點位置資訊,當收到查詢或節點定位要求時,如果該節點沒有符合關鍵字(Key)的ID,請求就被轉寄到節點ID與關鍵字ID更相近的節點直到查詢收斂。
分布式P2P模型也存在很多弊端,主要表現在以下方面:
(1)搜尋請求要經過整個網路或者至少是一個很大的範圍才能得到結果,正因為如此,這種模式佔用很多頻寬,而且需要花費很長時間才能有返回結果。
(2)隨著網路規模的擴大,通過擴散方式定位對等點及查詢資訊的方法將造成網路流量急劇增加,從而導致網路擁塞。
(3)DHT類結構最大的問題是維護機制較為複雜,尤其是節點頻繁加入退出造成的網路波動,會極大增加DHT的維護代價。另一方面,DHT僅支援精確關鍵詞匹配查詢,無法支援內容/語義等複雜查詢。
2.3 混合式P2P網路
集中式P2P形式有利於網路資源的快速檢索,以及只要伺服器能力足夠強大就可以無限擴充,但是其中心化的模式容易遭到直接的攻擊;分布式P2P形式解決了抗攻擊問題,但是又缺乏快速搜尋和可擴充性。混合式結構吸取了中心化結構和全分布式非結構化拓撲的優點,選擇效能較高(處理、儲存、頻寬等方面效能)的節點作為超級節點。在各個超級節點上儲存了系統中其他部分節點的資訊,發現演算法僅在超級節點之間轉寄,超級節點再將查詢請求轉寄給適當的葉子節點。混合式結構也是一個層次式結構。超級點之間構成一個高速轉寄層,超級點和所負責的普通節點構成若干層次。
3、P2P對網路模型的影響
3.1 P2P對網路模型的影響
P2P技術將帶來一個業務“全分布”式的網路。流量將呈現出更大的任意性,使用者之間直接的資料交換將更加頻繁。P2P技術在應用程式層的組網,在為網路應用的運營者帶來更大的靈活性的同時,也造成基礎承載網路資源緊張,網路裝置長時間處於滿負荷工作狀態。P2P對網路模型的影響主要體現在以下幾個方面:
(1)由於P2P對稱特點和P2P流量比例增加,城域網的流量模型逐漸從不對稱遷移到對稱,與接入網xDSL不對稱網路形成明顯的矛盾。
(2) P2P的流向處於一種無序的狀態,造成網路效能品質劣化和擁塞,頻寬大量消耗而收益為零。當前大多數P2P工具為了保證傳輸品質,往往建立大量串連,大量串連並未傳輸資料,消耗了網路資源。
(3)跨省流量大於省內、市內的流量,造成省幹出口擴容壓力不斷增大。
3.2 電訊廠商引導P2P業務的方式
單純封堵P2P並不能完全解決問題,需要電訊廠商引導P2P業務的合理應用。從目前國內幾大電訊廠商對於P2P的理念來看,他們正在經曆一種痛苦的轉變過程,即從堵截到疏導到自己介入運營。
(1)電訊廠商的介入能促使頻寬資源的合理配置,電訊廠商建立的視頻業務平台必定是可運營、可管理、可計費的。這種平台的存在就能扭轉目前P2P市場的混亂局面。即改變現在絕大部分的P2P公司只考慮保證自己下載速度高、改善使用者體驗,而不顧電信頻寬資源,瘋狂佔用,被電訊廠商視為洪水猛獸的現象。
(2)促使原有的P2P電訊廠商更多的去思考電訊廠商的利益,不僅是將更多的資料交換放到BRAS層,而是更多的從電訊廠商的頻寬去考慮。
(3)促進P2P注重使用者體驗,改造使用流程。
(4)加速P2P電訊廠商的分化,P2P公司最好的選擇就是成為電訊廠商的戰略夥伴,這也就要求P2P公司要有符合電訊廠商網路特點的技術。
目前,多數電訊廠商都把P2P作為重要問題進行研究,正視P2P的優點,同時也想方設法抑制它的缺點。因此,電訊廠商一方面需要對網路架構進行調整,在網路邊緣部署P2P監控裝置和管理,通過資料報文應用程式層特徵檢測識別P2P應用,提供基於總量、分協議總量和逐個使用者的P2P流量管理,協助電訊廠商限制網間P2P流量,減輕網路擴容壓力,降低網間結算額。另一方面還要引導使用者合理使用P2P。使其不會無節制地消耗網路的資源,例如通過構建網路服務品質的差異化,在不同的服務等級上使用不同的計費體系;提供對使用者進行分級管理,對總量和使用者的分時段管理,從而構建可運營的P2P控制。
隨著網路的逐漸完善,相信P2P的發展也將趨於成熟。現階段P2P在技術上還不甚成熟,希望在未來的發展中能有所突破。
4、P2P對網路安全的影響
P2P網路採用的分布式結構在提供擴充性和靈活性的同時,也使它面臨著巨大的安全挑戰:它需要在沒有中心節點的情況下,提供身分識別驗證、授權、資料資訊的安全傳輸、數位簽章、加密等機制。但目前的P2P技術距離實現這一目標尚有一定的距離,它本身存在的一些安全缺陷阻礙其得到進一步應用。
4.1 惡意軟體
當使用P2P時,驗證共用檔案來源是否安全是非常困難的。P2P應用因此常被攻擊者選擇作為傳遞惡意代碼的載體,導致P2P應用可能包含SpyWare、病毒、特洛伊木馬或者Worm。由於在P2P網路中,每個節點防禦病毒的能力是不同的,因此只要有一個節點感染病毒,就可以通過內部共用和通訊機制將病毒擴散到附近的鄰居節點,在短時間內可以造成網路擁塞甚至癱瘓,甚至通過網路病毒可以完全控制整個網路。
隨著P2P技術的發展,將來會出現各種專門針對P2P系統的網路病毒。利用系統漏洞,達到迅速破壞、瓦解、控制系統的目的。因此,網路病毒的潛在危機對P2P系統安全性和健壯性提出了更高的要求,需要對P2P應用來源和P2P使用者進行授權控制。
4.2 敏感資訊的泄漏
當使用P2P時,可能在不知不覺中給其他使用者以訪問個人或敏感資訊的存取權限,這樣可能造成有意圖的人入侵訪問例如個人文檔、賬戶等敏感資訊,因此需要考慮如何保護使用者的安全性原則。
4.3 安全控制
許多P2P應用需要在防火牆上開啟特定的連接埠來允許接受共用檔案,當前許多P2P支援防火牆穿越,通過Http80連接埠來承載P2P報文,因此需要考慮防火牆具備深度報文檢測(DPI)能力,通過DPI掃描分類出流的應用程式層協議,標識出具體的P2P業務類型,並利用三層Shaping技術實施流量控制。早期的P2P應用都是固定的連接埠號碼,容易檢測便於管理,後來逐漸發展到動態隨機連接埠號碼,一些傳統的檢測方法失去了作用。近期湧現的新型P2P應用越來越具有反偵察的意識,採用一些加密的手法,偽裝Http協議,傳輸分塊等來逃避識別和檢測。如何針對快速演化的P2P應用,提出新的檢測方法是一個需要深入研究的問題。
4.4 大量P2P應用充斥網路
大量P2P應用充斥網路,將導致電信級業務得不到保證,因此需要考慮網路邊緣裝置具有識別業務和業務感知能力,並具有強大的QoS功能。在IP層通過統計流量特徵的方式識別P2P流,從而可以提取出經過編解碼的或者是未知的新型P2P流,阻斷未經授權的P2P流。
5、結束語
經過多年的發展和演化,P2P應用已經得到大量應用,正吸引越來越多的企業投入到這方面的研究。單純封堵P2P並不能完全解決問題,需要引導P2P業務的合理應用,如何解決P2P發展面臨的例如著作權、標準、安全和管理等問題,依然值得進一步的研究和探討。