李秀君,李成
(蘭州交通大學(xué)電子與信息工程學(xué)院 蘭州 730070)
P2P起源于20世紀60年代后期APPANET的建立,它的最初目標(biāo)是共享美國研究機構(gòu)間的計算資源和文檔,在這個系統(tǒng)中,并沒有C/S(客戶端/服務(wù)器)這種模式,主機相互之間都是平等的,這便是P2P(對等網(wǎng)絡(luò))思想的核心,雖然這個網(wǎng)絡(luò)既不是自組織的,也沒有完整的體系,但是,可以說從APPANET誕生那一刻起,最早的P2P思想的雛形也就隨之出現(xiàn)了[1]。
到目前為止,網(wǎng)絡(luò)的連接模式主要分為集中模式、分布模式和混合模式,其中,集中模式的集中P2P模式、分布模式和混合模式是P2P模式的3個主要發(fā)展階段。
集中模式主要分為C/S模式、CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))模式和集中P2P模式,它們網(wǎng)絡(luò)中的節(jié)點的地位都不平等,即服務(wù)器處于主導(dǎo)地位,客戶端處于從屬地位。C/S模式分為基于一臺高性能中心服務(wù)器的C/S模式和基于一組帶有負載均衡機制的同構(gòu)或異構(gòu)的服務(wù)器組的C/S模式,它們要求所有的資源都集中存儲在服務(wù)器上,并且客戶端所執(zhí)行的操作以及客戶端之間的信息交換都要受到服務(wù)器的控制。這一方面限制了系統(tǒng)的擴展性,一方面也浪費了寶貴的骨干網(wǎng)帶寬。CDN模式將部分或全部的服務(wù)器資源傳送到置于網(wǎng)絡(luò)“邊緣”的緩存服務(wù)器中,使用戶能就近獲取資源,在增加了系統(tǒng)容量的同時,也減輕了骨干網(wǎng)帶寬的壓力。集中P2P模式,弱化了中心服務(wù)器的功能,它只負責(zé)記錄共享資源的索引信息,實現(xiàn)了文件查詢和文件下載的分離,極大地減輕了服務(wù)器的負擔(dān)[2]。
分布模式按照對信息定位是否有嚴格的限制,分為結(jié)構(gòu)化P2P模式和非結(jié)構(gòu)化P2P模式,它們完全取消了服務(wù)器,網(wǎng)絡(luò)中各個節(jié)點都處于平等的地位,它們在享受其它節(jié)點提供的資源的同時也為其它節(jié)點提供服務(wù)。非結(jié)構(gòu)化P2P模式,系統(tǒng)結(jié)構(gòu)比較簡單隨意,適用于信息發(fā)布、即時通信等主機隨時加入和退出的情況,并且支持復(fù)雜查詢,但是由于它采用了洪泛式搜索和隨機轉(zhuǎn)發(fā)機制,使發(fā)現(xiàn)的可擴展性和準(zhǔn)確性受到了很大的制約。結(jié)構(gòu)化P2P模式,資源并不是隨機存儲在節(jié)點上,而是以一種使得查詢更加高效的方式來存儲的[3]。它通過DHT技術(shù),形成具有某種結(jié)構(gòu)的邏輯拓撲,并將各個資源的位置信息按照某種規(guī)則保存到確定的節(jié)點上,從而提供準(zhǔn)確的發(fā)現(xiàn)。但是,節(jié)點頻繁加入和退出會造成網(wǎng)絡(luò)波動,會極大增加DHT的維護代價,而且DHT不支持復(fù)雜查詢。
混合模式,即混合式P2P系統(tǒng),它既具有集中模式的易管理性,又繼承了分布模式的可擴展性,在異構(gòu)的P2P網(wǎng)絡(luò)中是一種較好的模式選擇。
P2P可以被簡單的定義為通過直接交換來共享計算機資源和服務(wù)[4]。在傳統(tǒng)的P2P方式下,數(shù)據(jù)節(jié)點的選擇和傳輸都是隨機的,這占用了運營商大部分的網(wǎng)絡(luò)帶寬資源,并且這種占用不僅無法給運營商帶來收入,還影響到運營商的其他應(yīng)用的正常運行,從而屢屢有運營商限制P2P應(yīng)用的情況發(fā)生,但是,從推進互聯(lián)網(wǎng)市場發(fā)展的角度看,這既不利于推進互聯(lián)網(wǎng)產(chǎn)業(yè)鏈的進一步成熟,也不利于形成網(wǎng)絡(luò)運營商與互聯(lián)網(wǎng)內(nèi)容及應(yīng)用提供商之間合作共盈的局面。而且,無論是ISP,還是P2P軟件廠商,想要單方面解決兩者之間的網(wǎng)絡(luò)資源分配和優(yōu)化問題的可能性都很小,并且純粹基于本地化的鏈接也存在一定的問題。
為了解決上述問題,耶魯大學(xué)的謝海永博士提出了P4P理論。所謂P4P,是“Proactive network Provider Participation for P2P(電信運營商主動參與P2P網(wǎng)絡(luò))[5]”的簡稱,被譽為電信級別或者運營商級的P2P文件傳輸系統(tǒng),它將成為網(wǎng)絡(luò)分享機制與電信運營商之間關(guān)系的歷史轉(zhuǎn)折點[6]。
P4P技術(shù)在原有P2P體系結(jié)構(gòu)的基礎(chǔ)上,增加了iTracker,它含有整個ISP的網(wǎng)絡(luò)信息[7]。系統(tǒng)通過綜合考慮iTracker提供的網(wǎng)絡(luò)信息和P2P軟件廠商的要求,對節(jié)點的選擇和資源的傳輸進行優(yōu)化,以便讓P2P更好的使用網(wǎng)絡(luò)資源。
iTracker將網(wǎng)絡(luò)拓撲抽象為PID(模糊ID)和連接PID的鏈路的集合,并給PID之間的鏈路分配或計算出一個virtual cost,具有相同的PID的結(jié)點具有相似的網(wǎng)絡(luò)成本[8]。P4P既可以在每個ISP的服務(wù)器中獨立部署一個iTracker,又可以是由受信任的第三方來運營一個由多個ISP共享的iTracker。
當(dāng)有新節(jié)點加入網(wǎng)絡(luò)時,新節(jié)點將獲得由自己的IP地址映射而成的PID和AS號,然后向appTracker注冊并將這些信息交給appTracker。其中,自治系統(tǒng)(Autonomous System ,簡稱AS)是組成因特網(wǎng)的相對獨立的網(wǎng)絡(luò),在AS內(nèi)有自主的路由策略,在AS之間通過公共網(wǎng)絡(luò)訪問點和邊界網(wǎng)關(guān)協(xié)議交換路由信息。每個自治系統(tǒng)都被分配一個全球唯一的標(biāo)識號,即自治系統(tǒng)號( Autonomous System Number,ASN ),可以依據(jù)ASN將P2P網(wǎng)絡(luò)分成不同的區(qū)域和層次[9]。
當(dāng)請求節(jié)點需要查詢某個資源時,首先通過某種資源定位算法得到存儲該資源的資源節(jié)點的IP地址列表,然后將該列表傳送給 appTracker并向它發(fā)送資源優(yōu)化請求;
appTracker保存了IP地址與PID的映射表,可將得到的IP地址列表轉(zhuǎn)化為PID列表,并向iTracker尋求來自ISP的指導(dǎo),iTracker通過政策、信息接口向appTracker返回從請求PID到各個資源PID的virtual cost、策略等信息; appTracker還可以向iTracker請求分配一個固定的高性能的服務(wù)器用于輔助內(nèi)容分發(fā),iTracker將通過能力接口將服務(wù)器的地址返回給appTracker;
appTracker通過權(quán)衡P2P應(yīng)用的需求和iTracker提供的信息,從資源節(jié)點的列表中選擇一組效率較高的節(jié)點,并將所選擇的節(jié)點的PID列表映射為IP地址列表,若有iTracker回復(fù)的服務(wù)器的地址,則把它一起加入到返回節(jié)點列表中;
appTracker將返回節(jié)點列表發(fā)送給請求節(jié)點,然后請求節(jié)點與資源節(jié)點(結(jié)點或服務(wù)器)直接建立連接,進行資源的下載。
隨著寬帶互聯(lián)網(wǎng)技術(shù)和個人計算機性能的不斷發(fā)展,P2P 技術(shù)在互聯(lián)網(wǎng)上的應(yīng)用日益廣泛,與此同時,由于P2P節(jié)點在連接和傳輸時完全不考慮底層實際網(wǎng)絡(luò)的拓撲和鏈路狀況,造成了帶寬吞噬,并且使ISP花費了很多代價得出的優(yōu)化路徑失去了意義。在這種情況下,P4P技術(shù)應(yīng)運而生,它更多的選擇同一路由器或地域性網(wǎng)絡(luò)的節(jié)點來進行數(shù)據(jù)交換,大大提高了數(shù)據(jù)的傳輸能力。當(dāng)然,P4P的運行機制,要遠遠超過“同城交換”的概念,它還會根據(jù)用戶的上傳、下載帶寬進行綜合判斷,從而最大化整體交換的效率[10]。例如,當(dāng)存儲某一資源的各個節(jié)點的上傳、下載帶寬相差不多時,可盡量將用戶的點對點的資源傳輸范圍限制在同一地區(qū)、同一運營商網(wǎng)絡(luò)之內(nèi)的兩個節(jié)點之間,這樣既能有效提高用戶的網(wǎng)絡(luò)上傳、下載速度,又能盡量避免支付跨網(wǎng)的流量費用。但是,若臨近的、同一運營商的節(jié)點的帶寬遠小于其它節(jié)點的帶寬時,P4P便會判斷,是和前者交換效率最優(yōu),還是和后者交換效率更好。這不是預(yù)先設(shè)定的,而是由網(wǎng)絡(luò)運營商的網(wǎng)絡(luò)策略、使用情況等因素共同決定的。
[1]關(guān)磊.P2P技術(shù)揭秘——P2P網(wǎng)絡(luò)技術(shù)原理與典型系統(tǒng)開發(fā)[M].北京:清華大學(xué)出版社,2011:14-15.
[2]王杰昌.基于Chord的P4P網(wǎng)絡(luò)搜索模型研究[D].武漢:武漢理工大學(xué),2010:15-19.
[3]劉華春.P2P網(wǎng)絡(luò)的分類以及關(guān)鍵技術(shù)分析[J].微計算機信息,2008,24(9):112-114.
[4]張文,趙子銘.P2P網(wǎng)絡(luò)技術(shù)原理與C++開發(fā)案例[M].北京:人民郵電出版社,2008:15-16.
[5]阮偉超.P4P體系下的節(jié)點選擇算法研究[D].廣州:中山大學(xué),2010:21-24.
[6]姜朝暉.P2P網(wǎng)絡(luò)的搜索算法研究[D].南京:南京理工大學(xué),2009:1-6.
[7]李光華,朱志祥.P4P:網(wǎng)絡(luò)供應(yīng)商與P2P矛盾的調(diào)節(jié)者[J].科學(xué)技術(shù)與工程,2008,8(20):5612-5614.
[8]朱柳明.P4P技術(shù)簡介[J].中國新通信,2008,(15):79-81.
[9]周明天,汪文勇.TCP / IP 網(wǎng)絡(luò)原理與技術(shù)[M].北京:清華大學(xué)出版社,2005:33-36,105-106.
[10]陳倩,侯秀紅,汪國安.P4P:P2P產(chǎn)業(yè)可持續(xù)發(fā)展的必經(jīng)之路[J].電腦知識與技術(shù),2009,5(16):4130-4131.