劉春秋 劉小明
摘要:文章主要研究了P2P網絡的應用及對現(xiàn)有IPIR絡帶來的影響以及解決辦法。文章首先分析了網絡運營商為了應對P2P的影響采取的手段并分析了其發(fā)展趨勢,指出這些方案不能很好地兼顧P2P流量優(yōu)化和P2P應用的QoS問題。針對P2P應用假設運營愿意提供網絡拓撲信息以及P2P應用服務所造成的QoS問題,文章提出了一種具有網絡感知能力的P2P系統(tǒng)。
關鍵詞:網絡;感知;分布式
1概述
P2P網絡是一種在IP網絡之上的應用層分布式網絡,是Overlay網絡的一種特殊形式,在當前Internet上得到了廣泛的應用。P2P網絡的主要功能可以分為3種:基于P2P的數(shù)據分發(fā)和傳輸,基于P2P的數(shù)據存儲和檢索以及基于P2P的分布式數(shù)據處理。
基于P2P的數(shù)據發(fā)布和傳輸是指P2P網絡中點到點的具體數(shù)據傳輸,傳輸?shù)囊笥幸粚σ?、一對多、多對?種模式,一對一模式主要用于即時通訊和VoIP等應用;一對多模式主要用于應用層組播和廣播等;多對多模式主要用于內容分發(fā)應用,如BT,PPLive,PPS等文件和流媒體內同分發(fā);P2P數(shù)據存儲和檢索是指在P2P網絡中的分布式存儲和檢索方法,包括基于結構化P2P網絡的方法和基于非結構化P2P網絡的方法兩類;P2P分布式數(shù)據處理采用的是master/slave架構;利用P2P對等網絡,也能夠進行分布式數(shù)據處理技術。
2問題描述
對傳統(tǒng)網絡運營商而言,P2P網絡及應用帶來的沖擊和挑戰(zhàn)是非常巨大的,同時使網絡流量急劇上升,導致網絡運營商運營成本上升,增加網絡運行壓力;我國電信網絡如圖1所示,從地域上看是層次的結構,如果同一個運營商的兩個用戶之間進行通信,往往要跨過“城域網1—省內骨干網1—省級骨干網—省內骨干網2—城域網2”,對于傳統(tǒng)的電話網來說,由于受到行政區(qū)域劃分和社會組織的影響,結構化的組網方式可以節(jié)約資源。但隨著互聯(lián)網上的P2P應用分布不再受傳統(tǒng)的行政區(qū)域劃分等因素的制約,再加上P2P應用在下載資源時充滿了自私性,P2P應用會產生大量的跨域流量,消耗寶貴的骨干鏈路帶寬。
3 P2P流控的主要方法
目前解決這個問題的思路主要有對抗和協(xié)作兩種。對抗的手段是指網絡運營商采取流量監(jiān)測技術和封堵技術,以暴力手段限制P2P流量。協(xié)作的手段是指運營商向P2P網絡提供網絡拓撲信息和相關設備,在二者協(xié)作的基礎上,以期望能引導P2P流量合理化分布,減少骨干網流量和跨域流量,甚至改善P2P應用的服務質量和用戶體驗,實現(xiàn)運營商、用戶、P2P業(yè)務提供方協(xié)作共贏的局面。本文將詳細介紹這兩種技術手段。
3.1網絡運營商對P2P流量的監(jiān)管
面對P2P應用帶來的流量沖擊和帶寬消耗,網絡運營商對P2P應用采取了嚴格的封殺措施,各種類似于P2P終結者的軟件大量涌現(xiàn)。網絡運營商采取各種P2P流量監(jiān)測技術和封堵技術對P2P應用進行直接反擊,希望以此來限制P2P應用。這其中主要涉及P2P流量識別和P2P流量控制兩個方面。
P2P流量識別技術也在從簡單的端口匹配到復雜的DPI深度數(shù)據包檢測,當前各種P2P流量檢測技術具體歸納如下:
基于IP地址:IP地址可以分類出集中式P2P的目錄服務器,分層式P2P中的超級節(jié)點等在網絡中起關鍵作用的節(jié)點,但是這種識別方法比較局限性太強,應用范圍比較狹窄。
基于端口:早期的P2P系統(tǒng)大都使用默認的TCP/UDP端口,這使得通過端口識別P2P流量變得簡單可行,端口識別方法的優(yōu)點是效率高,容易實現(xiàn),但是對使用隨機端口或VPN的P2P應用無能為力。
基于會話:此方法通過判斷會話包的數(shù)據包中是否與P2P特征匹配來判定此會話包是不是屬于P2P應用。
基于統(tǒng)一資源定位符(URL):此方法多用于識別BTY載,過濾URL中包含的.torrent,通過禁止擴展名為.torrent的文件下載。
基于流統(tǒng)計特性:針對P2P流量不分時段,長時間下載和上下行流量對稱的特性,從統(tǒng)計上判斷該流量是否屬于P2P流量。
基于深度數(shù)據包掃描:此方法可以幫助實現(xiàn)對網絡內部的透視和對網絡資源的控制,可以分辨出具體用戶具體應用的數(shù)據流,從而可以對用戶的應用部署相應的策略。
基于DNS查詢日志:此方法的思路是識別P2P節(jié)點,獲得其IP從而發(fā)現(xiàn)P2P流量。
P2P流量控制技術是指在識別P2P流量的基礎上,通過封堵等手段限制P2P流量。P2P流量控制技術又分為直路串接控制技術和旁路干擾控制技術兩種:直路串接控制技術通過對網絡上的各種類型的應用流量進行分類,對不同類型的流量實施靈活的控制策略,針對P2P流量可以采用多種流量控制算法,也可以定義基于分時間段的控制策略;旁路干擾控制技術不采取丟包進行干擾,主要采用數(shù)據包偽裝技術將偽裝的干擾數(shù)據包發(fā)到正在通信的TCP/UDP連接中,降低連接的數(shù)據傳輸速率,從而實現(xiàn)流量控制。
3.2網絡運營商與P2P的協(xié)作
網絡運營商以積極態(tài)度來應對P2P帶來的變化,二者的協(xié)作已經逐漸成了主流趨勢,很多專家和研究人員做了大量的工作,目前主要有基于網絡拓撲信息的協(xié)作方案和基于P2P Cache的協(xié)作方案兩種。
基于拓撲信息的協(xié)作方案是網絡運營商向P2P應用提供網絡拓撲信息,以優(yōu)化P2P應用中的節(jié)點選擇和數(shù)據調度,減少跨域流量,實現(xiàn)流量本地化;通過部署P2P Cache可以實現(xiàn)網絡流量優(yōu)化技術,其用于在加速P2P網絡上的內容分發(fā)的同時減少骨干網鏈路帶寬的消耗;Cache緩存設備部署在網絡內部,臨時存儲流入網絡的某些熱點內容,如果用戶請求的內容在Cache中已經存儲,則Cache可以直接向用戶提供內容,從而減少了骨干網鏈路帶寬或者跨域帶寬的流量,并可以降低網絡阻塞。
基于P2Pcache的流量優(yōu)化方案有通過分析網絡中P2P信令消息,掌握P2P網絡拓撲,采集熱點信息和節(jié)點位置信息;或者通過網絡運營商和P2P應用合作的方式提供網絡匹配服務,將P2P請求導向最近的P2P Cache服務器;根據用戶需求或者網絡運營的策略,在Cache中緩存熱點資源,提高用戶訪問命中率;Cache系統(tǒng)向網絡用戶提供高速下載,提高用戶下載資源的速度;P2P Cache系統(tǒng)能為網絡運營商帶來顯著的效果,可以節(jié)省大量的P2P帶寬,可以非常明顯地提升網絡性能。
4具有網絡感知能力的P2P系統(tǒng)
以上手段在一定程度上緩解P2P應用帶來的不利影響但是都需要額外的設備并假設運營愿意提供網絡拓撲信息,但是隨之而來的是P2P應用服務所造成的QoS問題日益嚴重?,F(xiàn)在P2P網絡從根本上對網絡環(huán)境的感知能力不足從而導致了P2P應用無法實現(xiàn)自我性能優(yōu)化保證QoS,為了實現(xiàn)P2P的QoS就要求一方面P2P應用要根據網絡環(huán)境的變化進行自我資源配置和性能優(yōu)化,另—方面根據不同的P2P應用選擇合適的節(jié)點;這就要求P2P對等節(jié)點要知道對等節(jié)點之間的鏈路狀態(tài)信息,根據信息的變化實現(xiàn)自我資源配置和性能優(yōu)化。
4.1基本解決思路
鑒于以上分析的問題,本文提出了一種具有網絡感知能力的P2P系統(tǒng),此系統(tǒng)的目的是在沒有運營商參與情況下實現(xiàn)P2P網絡的層感知能力,同時根據不同的P2P應用優(yōu)化節(jié)點選擇,在優(yōu)化流量分布的同時提高P2P應用的QoS。傳統(tǒng)的P2P網絡中,P2P節(jié)點在下載資源時很少考慮下層網絡的信息,下層網絡對P2P網絡透明。這也是導致P2P流量自私性和無序的主要原因。為了解決這個問題,本文考慮建設一種“半透明”P2P網絡,讓對等節(jié)點之間知道更多的網絡狀態(tài)信息,網絡拓撲盡可能接近真實的網絡情況,P2P應用根據更貼近于實際網絡的信息合理路由,優(yōu)化資源配置和性能。在此對資源進行定位后,P2P對等節(jié)點保存到目的節(jié)點的鏈路狀態(tài)信息(如:路由器跳數(shù),時延等),同時對P2P應用實行差異化服務,根據不同的P2P應用選擇合適的節(jié)點下載資源。
4.2實現(xiàn)方法
在對資源進行定位后,P2P對等節(jié)點探測并保存到目的節(jié)點的鏈路狀態(tài)信息。相關研究表明,由于P2P的節(jié)點異構和網絡動態(tài)變化等特征,在規(guī)模龐大的網絡中對P2P網絡拓撲進行精確測量非常困難。但是通過ping,tracert等命令可以獲得一些基礎的網絡狀態(tài)信息,例如,路由器跳數(shù)、時延、瓶頸帶寬、丟包率。
在獲得所有對等節(jié)點的信息后,按照瓶頸帶寬,時延把各個對等節(jié)點分別進行排序。首先確定業(yè)務是否對帶寬有要求,對帶寬有要求的業(yè)務要首先盡量滿足其帶寬要求,然后再對業(yè)務確定是否對時延有要求,對時延有要求的要盡量滿足其時延要求。
在此把P2P應用分為文件下載、流媒體和VoIP 3種。這3種應用對QoS的需求各有不同:文件下載應用對時延要求不高,但是對帶寬和丟包率要求較高;流媒體和VoIP對帶寬要求不高,而對時延和丟包率要求較高。
在獲得了對等節(jié)點之間的鏈路狀態(tài)信息和P2P應用的OoS需求后,按照P2P應用對QoS的要求對對等節(jié)點進行排序,即按照時延,瓶頸帶寬和丟包率分別對所有對等節(jié)點進行排序。如果存在滿足要求的候選對等節(jié)點K個,先按照平均帶寬利用率從低到高對K個對等節(jié)點進行排序,然后按照一定概率選擇下載資源。概率如公式(1)所示。如果不存在滿足要求的對等節(jié)點,則按照不滿足要求的性能特征對所有的候選對等節(jié)點進行排序,然后按照此概率選擇對等節(jié)點。對對等節(jié)點進行排序和概率選擇對等節(jié)點下載資源在一定程度上既能提高P2P應用的QoS又能均衡流量負載。
整個系統(tǒng)的工作流程如圖2所示。
通過對所有對等節(jié)點的路徑時延,瓶頸帶寬和丟包率進行排序,選擇可以滿足要求的對等節(jié)點下載資源,從而提高了P2P業(yè)務的QoS;而通過對平均鏈路利用率進行排序概率選擇對等節(jié)點下載資源可以使P2P節(jié)點選擇路徑利用率低的對等節(jié)點下載資源,從而實現(xiàn)流量優(yōu)化。
5結語
本文首先對P2P網絡進行了分析,指出P2P網絡給現(xiàn)有IP網絡帶來了新的機遇和挑戰(zhàn),然后詳細分析了P2P網絡及應用對IP網絡帶來的負面影響。本文指出這些方案不能很好地兼顧P2P流量優(yōu)化和P2P應用的QoS,針對P2P應用假設運營愿意提供網絡拓撲信息以及P2P應用服務所造成的Qos問題,提出了一種具有網絡感知能力的P2P系統(tǒng)。