河南省工業(yè)情報(bào)標(biāo)準(zhǔn)信息中心 朱 軍
基于P4P的運(yùn)營(yíng)商網(wǎng)絡(luò)流量控制應(yīng)用
河南省工業(yè)情報(bào)標(biāo)準(zhǔn)信息中心 朱 軍
點(diǎn)對(duì)點(diǎn)技術(shù)(P2P)的出現(xiàn)對(duì)于網(wǎng)絡(luò)運(yùn)營(yíng)商高效和公平地分配其網(wǎng)絡(luò)資源是一個(gè)巨大的挑戰(zhàn)。特別是近幾年來(lái),P2P軟件的廣泛應(yīng)用吞噬了巨大的網(wǎng)絡(luò)帶寬,網(wǎng)絡(luò)運(yùn)營(yíng)商和P2P廠商在限制和反限制方面花費(fèi)了大量人力物力,造成了雙輸?shù)木置?。本文,筆者實(shí)現(xiàn)了P4P架構(gòu)方法,通過(guò)該方法協(xié)調(diào)網(wǎng)絡(luò)運(yùn)營(yíng)商和P2P應(yīng)用的通信策略,可在大幅度降低網(wǎng)絡(luò)壓力的同時(shí)提高傳輸效率。最后,筆者通過(guò)有關(guān)的仿真測(cè)試數(shù)據(jù)來(lái)顯示這種架構(gòu)的優(yōu)勢(shì)。
P4P架構(gòu)是一個(gè)靈活和輕量級(jí)的架構(gòu),允許網(wǎng)絡(luò)運(yùn)營(yíng)商為目前的應(yīng)用(包括P2P應(yīng)用)提供更多的信息、指導(dǎo)和管理能力。
1.設(shè)計(jì)原則。
(1)輕量化。保持原有P2P協(xié)議不變,支持管理和不支持管理的客戶端之間互通不受影響。
(2)靈活性。支持運(yùn)營(yíng)商根據(jù)需求和成本來(lái)調(diào)整部署方案。
(3)私密性。P4P廠商不需要開(kāi)放其私有協(xié)議細(xì)節(jié)給運(yùn)營(yíng)商,運(yùn)營(yíng)商不需要直接開(kāi)放其拓?fù)湫畔⒔oP4P廠商。
(4)開(kāi)放性。支持普適性系統(tǒng)架構(gòu),也可支持各種不同類型的P2P協(xié)議。
(5)全面性。支持形成覆蓋全互聯(lián)網(wǎng)的整體管理方案。
(6)低成本。支持較低的系統(tǒng)部署成本。
2.設(shè)計(jì)簡(jiǎn)介。P4P架構(gòu)由2部分組成:控制平面組成部分和數(shù)據(jù)平面組成部分。
在控制平面組成部分,P4P引入網(wǎng)絡(luò)監(jiān)管服務(wù)器(iTracker)作為P2P應(yīng)用和承載網(wǎng)的通信接口。網(wǎng)絡(luò)監(jiān)管服務(wù)器的引入不僅可以劃分P2P應(yīng)用和承載網(wǎng)兩者間的流量控制責(zé)任,而且有助于P4P實(shí)現(xiàn)漸進(jìn)式的實(shí)施和擴(kuò)展。
具體來(lái)講,每個(gè)網(wǎng)絡(luò)供應(yīng)者(網(wǎng)絡(luò)運(yùn)營(yíng)商、大學(xué)校園網(wǎng)或者虛擬網(wǎng)絡(luò)供應(yīng)商等)管理著自己的網(wǎng)絡(luò)監(jiān)管服務(wù)器,一個(gè)P2P客戶端通過(guò)DNS查詢獲得本地網(wǎng)絡(luò)監(jiān)管服務(wù)器的IP地址。需要提到的是,考慮到容錯(cuò)性和可擴(kuò)展性的因素,P4P允許單個(gè)域有多個(gè)網(wǎng)絡(luò)監(jiān)管服務(wù)器。一個(gè)網(wǎng)絡(luò)監(jiān)管服務(wù)器提供3種網(wǎng)絡(luò)信息:網(wǎng)絡(luò)狀態(tài)/拓?fù)?,運(yùn)營(yíng)商策略/向?qū)?,網(wǎng)絡(luò)能力。
在數(shù)據(jù)平面方面,P4P允許路由器給P2P提供詳細(xì)的反饋,以便其更有效地使用網(wǎng)絡(luò)資源。具體來(lái)說(shuō),路由器標(biāo)記TCP數(shù)據(jù)包的ECN塊或是利用類XCP方式明確數(shù)據(jù)流量,多宿主的網(wǎng)絡(luò)通過(guò)95%的真實(shí)容量計(jì)算來(lái)優(yōu)化傳輸成本和提高傳輸性能,當(dāng)接近承載能力時(shí),路由器標(biāo)記相應(yīng)的TCP數(shù)據(jù)包并且通知相應(yīng)的端主機(jī)減小其流量。通過(guò)這種方式網(wǎng)絡(luò)運(yùn)營(yíng)商既降低了成本又提高了網(wǎng)絡(luò)性能,并且能為P2P流量分配更多的帶寬。另外,這里的數(shù)據(jù)層部分是可選的并且支持增量部署。
3.P4P控制層。P4P架構(gòu)的潛在實(shí)體:網(wǎng)絡(luò)監(jiān)管服務(wù)器(iTracker),P2P系統(tǒng)的應(yīng)用監(jiān)管服務(wù)器(appTracker),P2P客戶端(peer),如圖1所示。P4P不決定確切的信息流,而是借助XML格式的控制信息提供一個(gè)共同的、可擴(kuò)展的信息架構(gòu)。
網(wǎng)絡(luò)監(jiān)管服務(wù)器(iTrackers)可以提供3種形式的網(wǎng)絡(luò)信息:網(wǎng)絡(luò)狀態(tài)/拓?fù)?,網(wǎng)絡(luò)運(yùn)營(yíng)商的策略/向?qū)ВW(wǎng)絡(luò)能力。這3種信息分別通過(guò)3個(gè)接口來(lái)提供:
(1)信息接口(info)。主要對(duì)外提供網(wǎng)絡(luò)拓?fù)湫畔⒑蜖顟B(tài)信息,用來(lái)表示用戶間鏈路的長(zhǎng)度和成本。
(2)策略接口(policy)。主要向peer或appTracker提供網(wǎng)絡(luò)策略和向?qū)А1热缇W(wǎng)絡(luò)入向和出向流量的比例,在擁塞期應(yīng)該避免使用哪些鏈路等等。
(3)能力接口(capability)。允許peer或內(nèi)容提供商(通過(guò)appTracker)向其查詢并請(qǐng)求承載網(wǎng)提供一定的資源和能力。例如,在網(wǎng)絡(luò)運(yùn)營(yíng)商提供了高速緩存服務(wù)器(cache)的情況下,一個(gè)應(yīng)用監(jiān)管服務(wù)器(appTracker)可以通過(guò)請(qǐng)求網(wǎng)絡(luò)監(jiān)管服務(wù)器(iTracker)來(lái)提高內(nèi)容分發(fā)的速度。
4.實(shí)例。現(xiàn)在列舉2個(gè)例子來(lái)說(shuō)明網(wǎng)絡(luò)監(jiān)管服務(wù)器接口(iTracker)是如何工作的。
一個(gè)P2P應(yīng)用監(jiān)管服務(wù)器使用信息接口和策略接口來(lái)查詢網(wǎng)絡(luò)拓?fù)?狀態(tài)和策略/向?qū)畔ⅲ▓D2)。在這個(gè)例子中,P2P應(yīng)用跨越2個(gè)網(wǎng)絡(luò)A和B,每個(gè)網(wǎng)絡(luò)都配備了一個(gè)網(wǎng)絡(luò)監(jiān)管服務(wù)器,用戶a和b通過(guò)信息接口和策略接口訪問(wèn)本地網(wǎng)絡(luò)監(jiān)管服務(wù)器,然后向應(yīng)用監(jiān)管服務(wù)器注冊(cè)并向其發(fā)送從網(wǎng)絡(luò)監(jiān)管服務(wù)器(iTracker)獲得的信息,應(yīng)用監(jiān)管服務(wù)器綜合考慮應(yīng)用程序的需求和這些信息后來(lái)有效調(diào)度資源,為用戶提供服務(wù)。有時(shí)候?yàn)榱藴p少向過(guò)多的用戶泄露信息,也可能由網(wǎng)絡(luò)信任的應(yīng)用監(jiān)管服務(wù)器直接向網(wǎng)絡(luò)監(jiān)管服務(wù)器去查詢這些信息。
圖2 P2P從網(wǎng)絡(luò)監(jiān)管服務(wù)器接口獲得網(wǎng)絡(luò)信息
P4P應(yīng)用的另外一個(gè)例子,顯示怎樣從能力接口請(qǐng)求網(wǎng)絡(luò)能力。具體是應(yīng)用監(jiān)管服務(wù)器向網(wǎng)絡(luò)監(jiān)管服務(wù)器B發(fā)送請(qǐng)求信息為幫助其內(nèi)容分發(fā)分配一個(gè)固定的、高容量服務(wù)器,網(wǎng)絡(luò)監(jiān)管服務(wù)器安排其網(wǎng)絡(luò)上的一個(gè)服務(wù)器并把其地址返回給應(yīng)用監(jiān)管服務(wù)器,然后應(yīng)用監(jiān)管服務(wù)器把服務(wù)器信息列入用戶列表,并將其返回給B網(wǎng)絡(luò)上的用戶。如圖3所示。
研究小組進(jìn)行了在PlanetLab的模擬測(cè)試和真實(shí)網(wǎng)絡(luò)環(huán)境下的測(cè)試,結(jié)果顯示P4P不僅能夠提升P2P的應(yīng)用性能而且能夠提高網(wǎng)絡(luò)運(yùn)營(yíng)商的效率。
1.優(yōu)化方法論。通過(guò)考慮群組特征和現(xiàn)有流量水平,可以實(shí)現(xiàn)網(wǎng)內(nèi)流量最小化。我們假設(shè)在一個(gè)網(wǎng)絡(luò)中有個(gè)K群,每個(gè)群用戶從相應(yīng)的群應(yīng)用監(jiān)管服務(wù)器獲取唯一的群ID。網(wǎng)絡(luò)監(jiān)管服務(wù)器追蹤給定群中的用戶,包括共同接入點(diǎn)(PoP)的用戶數(shù)和每個(gè)用戶的上下行帶寬。我們指定在同一接入點(diǎn)i的用戶為PoP-i用戶,然后網(wǎng)絡(luò)監(jiān)管服務(wù)器基于群統(tǒng)計(jì)信息和網(wǎng)絡(luò)狀態(tài)信息,計(jì)算出網(wǎng)絡(luò)最優(yōu)產(chǎn)能,據(jù)此來(lái)制定對(duì)等互聯(lián)向?qū)А?/p>
2.測(cè)試結(jié)果。我們用模擬方法和真實(shí)網(wǎng)絡(luò)測(cè)試來(lái)評(píng)估P4P的性能。我們建立了一個(gè)可行的仿真BitTorrent系統(tǒng)和一個(gè)使用Liveswarms(基于P2P的一種視頻流應(yīng)用)的P2P系統(tǒng),一個(gè)做文件共享測(cè)試,另一個(gè)做流媒體數(shù)據(jù)測(cè)試。
在P4P啟用條件下,BitTorrent數(shù)據(jù)如圖4、圖5所示。此時(shí)應(yīng)用監(jiān)管服務(wù)器采納了網(wǎng)絡(luò)監(jiān)管服務(wù)器建議的向?qū)?。我們分別使用Abilene實(shí)驗(yàn)室模擬網(wǎng)絡(luò)和AT&T公司10Gbps帶寬的PoP網(wǎng)絡(luò)拓?fù)?,評(píng)估中我們通過(guò)入口鏈路把每一個(gè)用戶連接到一個(gè)隨機(jī)的PoP,在兩個(gè)同規(guī)模的群中分別共享一個(gè)塊大小為256KB的256MB文件。與P2P相比,P4P完成時(shí)間大約縮短了45%,同時(shí)2種網(wǎng)絡(luò)上的連接利用率大約分別提高了50%和70%。此外,P4P可以減少大約一半的高峰期下載負(fù)荷,使用戶實(shí)現(xiàn)高速下載,同時(shí)也極大地節(jié)省了網(wǎng)絡(luò)帶寬。
下面介紹P4P和Liveswarms結(jié)合的測(cè)試結(jié)果。在Abilene網(wǎng)絡(luò)上用53個(gè)PlanetLab節(jié)點(diǎn)來(lái)傳輸一個(gè)較大的視頻文件,每次測(cè)試持續(xù)900秒,我們記錄節(jié)點(diǎn)間的數(shù)據(jù)交換量,并計(jì)算每個(gè)使用骨干鏈路的負(fù)載。每個(gè)Alilene骨干鏈路的總流量。如圖6所示。顯示使用本地自適應(yīng)P2P時(shí)的鏈路平均負(fù)載是1.1Gbps,而和P4P結(jié)合后,平均負(fù)載減少至0.37Gbps,P4P的引入能使負(fù)載下降66%。
P2P的應(yīng)用給底層網(wǎng)絡(luò)負(fù)載和網(wǎng)絡(luò)流量控制帶來(lái)了巨大的壓力和挑戰(zhàn),傳統(tǒng)的流量控制技術(shù)難以有效處理采用P2P網(wǎng)絡(luò)架構(gòu)的多種應(yīng)用,P2P應(yīng)用和網(wǎng)絡(luò)運(yùn)營(yíng)商之間的矛盾日益突出。
本文,筆者實(shí)現(xiàn)了一種新型的基于拓?fù)淅碚摰腜4P架構(gòu),來(lái)調(diào)和P2P和網(wǎng)絡(luò)供應(yīng)商之間的矛盾,使網(wǎng)絡(luò)服務(wù)供應(yīng)商在管理好底層網(wǎng)絡(luò)的同時(shí),有能力向P2P應(yīng)用提供網(wǎng)絡(luò)實(shí)時(shí)狀態(tài),將網(wǎng)絡(luò)控制整合到P2P的網(wǎng)絡(luò)采樣需求中,從而有效降低骨干網(wǎng)絡(luò)傳輸壓力和運(yùn)營(yíng)成本,并提高改良的P2P文件傳輸?shù)男阅?,從而達(dá)到雙贏的目的。