引言
隨著BT、eMule、Skype等P2P套用的流行,P2P技術已經成為網際網路的重要組成部分,甚至很多人已經認為P2P技術將成為未來網際網路的發展方向。作為一種與伺服器/客戶端模式完全不同的技術,P2P技術的突出特點就是“去中心化”。在P2P網路中,網路資源和服務散布於整個網路中,每個節點邏輯地位相等,都具備客戶端和伺服器雙重特性,可以同時作為服務使用者和服務提供者。
P2P套用的流行源於P2P技術所提供的無限服務能力、低廉的成本和良好的服務穩定性。P2P系統的服務能力隨著用戶數量的增加而增加,在理論上並不存在瓶頸,相反,傳統的伺服器/客戶端系統存在著無法突破的伺服器性能瓶頸。在打破了伺服器瓶頸後利用P2P技術可以在非常便宜的設備上架設服務,從而帶來了成本優勢。而且在P2P系統中各個peer端都分擔了服務能力,單一peer故障不會造成系統崩潰,解決了傳統伺服器/客戶端系統中伺服器故障可能造成服務崩潰的問題。服務能力的優勢還為P2P系統提供了新業務模式,例如,在P2P檔案共享系統中,內容發布功能被開放給每一個peer端,極大地豐富了系統的內容,從而吸引了大量新用戶。對於傳統的伺服器/客戶端系統,開放內容發布能力將給伺服器系統帶來無法支撐的壓力。近幾年,P2P套用的用戶數和流量都呈現爆炸式增長的趨勢,截至2005年年底,中國P2P流媒體業務的用戶數已經達到235萬,比年初增長176%。
另一方面,隨著P2P技術的快速發展,P2P技術和基礎網路運營商之間的利益衝突日益明顯,這種矛盾可能阻礙P2P技術的進一步發展。當前,網路使用時間通常是基礎網路運營商和用戶的結算依據,而支撐這種結算方式的是傳統的網路業務訪問模型,也就是用戶在其訪問時段內僅有部分時間活躍,用戶占用的頻寬隨其訪問的活躍程度而變化,使用的上下行頻寬不對等。但是P2P技術的普及破壞了傳統的網路業務訪問模型,用戶訪問開始在其訪問時段內永久活躍、頻寬占用穩定並且上下行頻寬基本相等。為此,基礎網路運營商不得不為應付飛速上升的網路頻寬需求而大規模地擴容。更要命的是此時的頻寬投入已經無法帶來合理的收入。當基礎網路運營商無法通過改變結算方式解決頻寬需求和業務收入的矛盾時,就只好轉向用各種方式限制P2P技術在其網路上的套用,從而對P2P技術的繼續發展設定了障礙。
下面介紹一種P2P流量最佳化技術——P2P快取系統。通過在網路邊緣快取P2P內容,過濾掉傳輸重複的P2P內容,可以減輕P2P套用對核心帶寬頻來的壓力。P2P快取系統需要完成捕捉網路流量、P2P協定分析以及內容快取等操作,並且還需要為後續P2P訪問提供快取內容的代理服務。
通過部署P2P快取系統,基礎網路運營商可以利用有限的投入支撐增長的P2P業務需求,從而解決當前P2P技術帶來的帶寬沖擊。另外,P2P快取系統的使用還可以改善P2P套用的用戶體驗,從而吸引更多P2P客戶,並可能為基礎網路運營商帶來更多客戶。也就是說,P2P快取系統的部署不僅可能緩和P2P技術和基礎網路運營商的矛盾,而且可能引導二者協同發展,創造出雙贏局面。
P2P快取系統
基本原理P2P快取系統將傳統的快取原理套用到P2P內容上,其基本思想就是在網路邊緣快取P2P內容,用快取內容服務後續的P2P請求,過濾掉重複的P2P內容。圖1描述了P2P快取系統的工作原理。如圖1所示,在使用了P2P快取系統後,P2P訪問的流程如下。
首先,peer A請求下載內容片斷X,下載請求由peer A所歸屬的Intranet路由轉發給P2P快取設備。由於是初次下載,快取設備發現請求的內容並沒有被快取過,於是將下載請求轉發給網際網路上的peer C,peer A最終通過訪問peer C獲得片斷X。注意X在被傳送給peer A的同時會通過快取設備並被快取。當peer B再次發起下載片斷X的請求時,下載請求將同樣被引導到快取設備,此時快取設備已經快取了X,於是peer B對X的下載直接由快取設備提供。研究表明,由於在P2P網路中同樣存在熱點內容,因而在P2P網路中部署快取設備可能獲得高達90%的位元組命中率。這意味著P2P快取系統的使用可以非常有效地緩解P2P流量對網路頻寬的占用。同時,由於快取系統靠近P2P用戶,可以使用戶訪問不必穿過缺乏服務質量保證的核心網路,從而降低用戶訪問回響時間,保證用戶訪問質量,提升用戶體驗並吸引用戶,從而為P2P技術的進一步發展提供保障。系統架構和處理流程
P2P快取系統需要完成的主要工作有:P2P協定分析、內容快取、內容分發和代理。P2P快取系統通常由流量捕捉、協定處理、快取檢查、內容存儲、轉發器等單元構成,如圖2所示。
其中,流量捕捉完成對受監測流量的捕捉。最簡單的實現方式是將快取系統串聯到需要使用的路徑上,不過也可以採用策略路由或其他方式完成流量捕捉。捕捉到的流量報文被傳送到協定處理單元完成對協定的分析處理,注意此時的報文不僅僅包括P2P通信的。轉發器是系統中的傳送單元,接收從其他單元傳送來的報文,並根據報文中的信息(如目的地址和連線埠)將報文傳送給其他網路設備。在P2P快取系統中,協定分析單元僅對捕捉到的P2P傳輸報文做深度報文分析,對其他報文,協定分析單元將直接轉發給轉發器。一旦協定分析單元發現某報文是P2P內容請求,該報文所屬的套用會話(包括後續訪問直到會話結束)的狀態就會被監視。一旦能夠確認該會話所訪問的內容(P2P系統中內容通常由其HashID標識),協定分析單元就會訪問快取檢查單元以判斷該內容是否已經被快取,如果該內容已經被快取,該會話的後續請求就會被直接交給內容快取模組處理。內容快取模組根據協定分析單元的請求,從快取中獲得相應的快取內容或將協定分析單元傳送的內容做快取處理。為實現快取內容的傳送,協定分析單元在通過內容快取模組獲得內容數據後需要按P2P協定要求封裝獲得的內容,模擬源P2P回響,然後交給轉發器傳送給套用請求者。如果P2P會話所訪問的內容並沒有被快取,後續訪問的內容就會被快取到內容存儲單元中。圖2中標記了不同流量在P2P快取系統中的處理流程。關鍵技術圖2的快取系統結構雖然能夠完成基本的快取處理操作,但實際網路對P2P快取系統還有更多的要求。要使P2P快取系統融合到現實網路中,P2P快取系統還需要在處理效率、可擴展性、著作權保護以及系統部署等多方面進行最佳化。
處理效率
首先,網路設備必須滿足一定的處理效率要求,對於快取設備,並發流量處理能力是一個關鍵性能指標,而流量處理能力的需求直接與系統所服務的終端用戶量相關。對於P2P快取系統,一定數量的重複內容訪問和快取命中率是發揮快取系統優勢的基礎,而重複請求的數量依賴於用戶群體的規模和用戶訪問特徵。在流行的P2P共享系統中,共享的檔案通常較大並且內容繁多,這些特徵要求快取系統能夠服務較多的用戶和較高的流量,以保證適當的訪問命中率。另外,對頻寬的需求也會受到網路物理連線埠的頻寬限制。P2P內容的分析和快取要求設備做7層協定分析和處理,龐大的運算量使得P2P快取系統不得不採用較好的硬體設備,同時也要求系統充分最佳化流量處理過程。
高層協定分析的處理效率通常遠低於低層協定,為解決對處理效率的要求,系統設計要儘可能在低層協定分析過程中過濾掉非P2P流量。雖然P2P套用的協定五花八門,沒有統一的標準,並且在通信連線埠上也各不相同,但對P2P協定分析顯示,各種P2P套用的報文在傳輸層協定上存在一定的特徵,如KaZaa使用的FastTrack協定在報文中存在“GET.\hash”欄位,eDonkev報文中存在“E30C5”欄位,BT報文中存在“BitTorrent protocol”欄位。因此,利用協定分析,在第四層的分析中過濾掉不具備P2P特徵的流量,系統就可以保證儘可能多的處理能力被用於7層的P2P協定分析,從而提供高流量的處理性能。
擴展性
對P2P快取系統的可擴展性要求包含兩方面的內容:系統處理能力的可擴展性和可快取處理的協定數量的可擴展性。系統處理能力的可擴展性是要求系統的處理能力僅僅受系統中硬體處理能力限制,如處理器的運算能力、存儲器的存儲能力、網路頻寬的通信能力。如果需要,系統可以通過購買新的硬體來滿足更多處理能力需求。對於系統處理能力的可擴展性,現在有很多相關的解決方案,如群集(clustering)系統[5]。
可快取處理的P2P協定的可擴展性是要求快取新的P2P協定內容應當僅僅需要在現有系統上安裝相關的分析模組,而不需要對現有快取系統的軟體或硬體結構做整體修改,甚至是將現有系統替換掉。就當前P2P套用的發展狀況來看,P2P套用和協定缺乏統一標準,P2P套用間信息難以共享。同時,P2P套用在最近幾年獲得了迅猛的發展,現在已經有了數百種,其中BT、eMule等少數套用已經占用了超過50%的網路流量,對網路性能有嚴重影響。雖然只要分析和快取BT等少數幾個協定就可以在現階段對P2P流量達到很好的最佳化效果,但隨著P2P技術的發展,必然會產生對新協定分析和快取的需求,從而要求系統可以擴展其能夠分析處理的協定。對於系統處理協定的擴展,可以通過系統良好的模組化並在協定處理和快取檢查模組之間定義靈活可擴展的接口來得到保證。
著作權保護
著作權問題長期以來是困擾P2P系統的一個難題。一方面,對著作權缺乏保護造就了P2P檔案共享網路上的豐富內容,推動了P2P檔案共享的快速發展;另一方面,對著作權缺乏保護又使得P2P共享對著作權內容缺乏吸引,從而阻礙了P2P建立成功的商業模式並推動其進一步發展。迄今為止,雖然業界不斷提出P2P檔案共享系統的著作權保護解決方案,但各種方案或多或少地存在一些問題。如何在保持P2P系統開放性的同時吸引著作權內容的參與仍然是一個難題。
P2P快取系統是一個不負責內容發布的流量最佳化系統,在著作權保護方面也需要有一定的考慮,具體地說就是要求在提供快取內容的代理服務的同時不觸犯任何著作權保護法例。需要注意的是,在中國至今仍然沒有明確的相關法律法規,在全球範圍內對相關問題有明確界定的也僅僅是美國的《千禧年數字著作權法(DMCA)》[8]。在該法案中對快取類設備定義了“著作權安全港”,這一定義對提供內容快取系統做了如下界定:快取是在本地伺服器中為終端用戶所做的自動、暫時的內容存儲,並對快取系統提出了以下要求:
● 快取系統不能成為內容的原始提供者;
● 快取系統不能在快取過程中改變被快取內容;
● 快取系統的存在不能影響內容的原始訪問方式(如口令認證過程等);
● 快取系統對內容更新的處理應當符合相應的行業標準;
● 快取系統必須在了解到所提供/快取內容侵犯著作權所有人權利後立即刪除相應內容。
為符合上述對“著作權安全港”的要求,快取系統在為peer訪問提供快取內容服務後需要保證peer訪問流程符合原有P2P套用的要求,也就是要求快取系統具備將P2P套用的數據和信令訊息分離的能力。所有的信令互動仍然由信令信道通過快取設備向提供檔案服務的源peer傳送,僅對數據通信提供最佳化加速。這可以通過在快取系統將訪問peer。到被訪問peer的連結分割為兩個連結實現。對訪問peer和快取設備之間的連結,快取設備模擬正常的peer訪問流程,提供正常的數據通信;對快取設備到被訪問peer的連結,快取設備在轉發所有請求和控制信息的同時,將數據傳輸信息用占用頻寬很少的P2P維持連結信息替代(如BT中有效內容長度為0的訊息),該信息同時還起到監測被訪問peer狀態的功能。當被訪問peer停止提供服務時,快取設備需要停止為其內容提供分發服務。另外,快取設備還需要提供手動刪除快取內容的能力,以保證在發現內容侵權的第一時間立即刪除侵權內容。