互聯(lián)網(wǎng)本身是一種開放的網(wǎng)絡(luò)體系結(jié)構(gòu)。它的本質(zhì)是通過網(wǎng)絡(luò)層各向同性的IP協(xié)議體系實現(xiàn)與物理層和鏈路層的技術(shù)無關(guān)的、支持網(wǎng)絡(luò)規(guī)模自由擴充和與上層業(yè)務(wù)無關(guān)的數(shù)據(jù)包端到端透明傳送
傳統(tǒng)的電信網(wǎng)絡(luò)是封閉的、單一業(yè)務(wù)能力的系統(tǒng),它具有網(wǎng)絡(luò)規(guī)模的開放性,卻不支持接入的開放性和業(yè)務(wù)能力的開放性,更無法形成規(guī)模的增值業(yè)務(wù)產(chǎn)業(yè)鏈。對于互聯(lián)網(wǎng),我們已經(jīng)看到了它在業(yè)務(wù)開放性上的巨大潛力。實際上,互聯(lián)網(wǎng)上的業(yè)務(wù)體系結(jié)構(gòu)目前有兩種類型:客戶機/服務(wù)器(C/S)和對等網(wǎng)絡(luò)(P2P)。
在傳統(tǒng)的互聯(lián)網(wǎng)計算模式中,客戶端/服務(wù)器(C/S)模式占據(jù)了主流。當(dāng)時,客戶端的帶寬和計算資源較弱,通過C/S模式可以降低對客戶終端能力的要求,而將處理集中在服務(wù)器端。近年來,不同資源的發(fā)展速度出現(xiàn)了以下特點:網(wǎng)絡(luò)的流量以每6個月翻倍的速度增長,網(wǎng)絡(luò)帶寬以每7個月翻倍的速度增長,計算資源近似依照摩爾定理速度增長(18個月翻倍),而存儲能力每年僅提升7%。因此在諸多資源中,計算和存儲資源可能逐漸變?yōu)椤捌款i”。相應(yīng)地,處于體系架構(gòu)的中心服務(wù)器也成為性能的“瓶頸”,一旦中心服務(wù)器崩潰將造成整個服務(wù)系統(tǒng)崩潰。在這樣的技術(shù)發(fā)展背景下,人們引入了對等計算模式。
客戶機/服務(wù)器結(jié)構(gòu)是一種支持開放接入的業(yè)務(wù)結(jié)構(gòu)。在客戶機/服務(wù)器類型的業(yè)務(wù)中,涉及到一個業(yè)務(wù)的形成、實現(xiàn)和提供只有兩種功能節(jié)點:服務(wù)器節(jié)點和客戶機節(jié)點??蛻魴C直接訪問服務(wù)器實現(xiàn)所需要的服務(wù)。當(dāng)然這里的業(yè)務(wù)形成和提供可以是層次狀的或是匯聚式的。由于客戶機/服務(wù)器業(yè)務(wù)類型結(jié)構(gòu)簡單、支持接入的開放性,在互聯(lián)網(wǎng)上得到廣泛的應(yīng)用。但它在業(yè)務(wù)能力擴展和業(yè)務(wù)產(chǎn)業(yè)鏈的開放性上存在結(jié)構(gòu)的問題,在許多涉及到媒體流處理和語義處理的場合中應(yīng)用是十分困難的。
對等網(wǎng)絡(luò)(Peer-to-Peer Networks,P2P)是一種采用對等策略計算模式的網(wǎng)絡(luò)。從不同的行業(yè)和視角來看,P2P的定義略有差別。一種典型定義為:P2P是一種分布式網(wǎng)絡(luò),網(wǎng)絡(luò)的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網(wǎng)絡(luò)連接能力、打印機等),這些共享資源能被其他對等結(jié)點直接訪問而無需經(jīng)過中間實體。在此網(wǎng)絡(luò)中的參與者既是資源(服務(wù)和內(nèi)容)提供者,又是資源(服務(wù)和內(nèi)容)獲取者。
對等業(yè)務(wù)體系是基于疊加業(yè)務(wù)網(wǎng)的思想發(fā)展起來的。它的目標(biāo)就是為了解決業(yè)務(wù)層面上的能力可擴充性和業(yè)務(wù)本身的開放性。對等業(yè)務(wù)類型的業(yè)務(wù)形成、實現(xiàn)和提供的結(jié)構(gòu)和客戶機/服務(wù)器的結(jié)構(gòu)是完全不同的。對等業(yè)務(wù)的形成需要一系列服務(wù)節(jié)點(對等業(yè)務(wù)網(wǎng)絡(luò))的支持,每個節(jié)點的功能都是各向同性的,既是服務(wù)器又是客戶機。同時,一個業(yè)務(wù)的實現(xiàn)可能需要多個業(yè)務(wù)節(jié)點的參與(這一點和傳統(tǒng)電信網(wǎng)的結(jié)構(gòu)類似)。在業(yè)務(wù)提供的形式上,用戶本身可以作為業(yè)務(wù)節(jié)點看待,也可以作為業(yè)務(wù)節(jié)點的客戶機子集存在。但是用戶訪問的對象無需用戶設(shè)定,是由對等業(yè)務(wù)網(wǎng)絡(luò)根據(jù)用戶的需求和網(wǎng)絡(luò)的能力確定的Web service、網(wǎng)格業(yè)務(wù)、Weblog,特別是近年來大量的P2P VoIP業(yè)務(wù)、P2P會議業(yè)務(wù)、IPTV業(yè)務(wù)和家庭網(wǎng)絡(luò)業(yè)務(wù),都是對等業(yè)務(wù)類型的。
P2P打破了傳統(tǒng)的C/S模式,在網(wǎng)絡(luò)中的每個結(jié)點的地位都是對等的。每個結(jié)點既充當(dāng)服務(wù)器,為其他結(jié)點提供服務(wù),同時也享用其他結(jié)點提供的服務(wù)。P2P與C/S模式的網(wǎng)絡(luò)結(jié)構(gòu)分別如圖1和圖2所示。
P2P系統(tǒng)要構(gòu)造一個非集中式的拓撲結(jié)構(gòu),根據(jù)拓撲結(jié)構(gòu)的關(guān)系可以將P2P研究分為4種形式:中心化拓撲、全分布式非結(jié)構(gòu)化拓撲、全分布式結(jié)構(gòu)化拓撲和半分布式拓撲。在構(gòu)造過程中需要解決的主要問題包括:系統(tǒng)中所包含的大量結(jié)點如何命名、組織;如何確定結(jié)點的加入/離開方式;如何進行出錯恢復(fù)等。
為了充分發(fā)揮互聯(lián)網(wǎng)無所不在的優(yōu)勢,P2P不能對互聯(lián)網(wǎng)協(xié)議進行任何修改,因而解決的方法是在基礎(chǔ)的互聯(lián)網(wǎng)上架設(shè)一個P2P重疊網(wǎng)。P2P重疊網(wǎng)分為“無組織的P2P重疊網(wǎng)”和“有組織的P2P重疊網(wǎng)”兩大類。目前,在互聯(lián)網(wǎng)上廣泛使用的大多是無組織的P2P重疊網(wǎng),當(dāng)今寬帶用戶流量中一半以上正是這種P2P流。
無組織的P2P重疊網(wǎng)已經(jīng)演進了4代:第一代P2P網(wǎng)絡(luò)采用中央控制網(wǎng)絡(luò)體系結(jié)構(gòu),如早期的Napster;第二代P2P采用分散分布網(wǎng)絡(luò)體系結(jié)構(gòu),適合在自組織(Ad hoc)網(wǎng)上應(yīng)用,如即時通信等;第三代P2P綜合了第一代和第二代的優(yōu)點,采用混合網(wǎng)絡(luò)體系結(jié)構(gòu),用分布的超級結(jié)點取代中央檢索服務(wù)器,目前常用的P2P軟件BitTorren、e-donkey和Gnutella等都屬于此類;第四代P2P目前正處于發(fā)展中,其主要的發(fā)展技術(shù)有動態(tài)口選擇、雙向下載+動態(tài)口選擇。有組織的P2P重疊網(wǎng)目前還處于學(xué)術(shù)界研究的階段,如Tapestry、Chord、Pastry和CAN等,而正在研究的新一代的P2P應(yīng)用包括多播、網(wǎng)絡(luò)存儲等,也都將運行在有組織的P2P重疊網(wǎng)上。
與客戶機/服務(wù)器業(yè)務(wù)結(jié)構(gòu)相比,對等業(yè)務(wù)體系結(jié)構(gòu)是一種開放業(yè)務(wù)的業(yè)務(wù)體系結(jié)構(gòu)。它不僅可以支持業(yè)務(wù)產(chǎn)業(yè)鏈的發(fā)展、具有極好的業(yè)務(wù)能力擴展性,同時具有很好的可管理性,是目前業(yè)務(wù)發(fā)展的主要趨勢。因此,客戶機/服務(wù)器業(yè)務(wù)體系通常也被稱為面向應(yīng)用的體系,對等業(yè)務(wù)體系則被稱為面向業(yè)務(wù)的體系。顯然,對等業(yè)務(wù)體系應(yīng)該是下一代電信網(wǎng)絡(luò)和業(yè)務(wù)的發(fā)展方向。