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