轉(zhuǎn)自https://blog.csdn.net/dianliang01/article/details/80757733
對(duì)等網(wǎng)絡(luò)(p2p)有三種主要的組織結(jié)構(gòu):分布式哈希表結(jié)構(gòu)(DHT),樹形結(jié)構(gòu)析显,網(wǎng)狀結(jié)構(gòu)叁征;P2P技術(shù)已經(jīng)延伸到幾乎所有的網(wǎng)絡(luò)應(yīng)用領(lǐng)域,如分布式科學(xué)計(jì)算浮入、文件共享牡拇、流媒體直播與點(diǎn)播帚稠、語音通信及在線游戲支撐平臺(tái)等方面。現(xiàn)在人們已經(jīng)開始將重心轉(zhuǎn)入到覆蓋層網(wǎng)絡(luò)的節(jié)點(diǎn)延時(shí)聚集研究卿叽、覆蓋網(wǎng)之間(Inter-Overlay)優(yōu)化研究桥胞、P2P支撐平臺(tái)研究以及P2P安全研究等方面。
P2P技術(shù)原理:什么是對(duì)等網(wǎng)絡(luò)(P2P)技術(shù)考婴?P2P技術(shù)屬于覆蓋層網(wǎng)絡(luò)(Overlay Network)的范疇贩虾,是相對(duì)于客戶機(jī)/服務(wù)器(C/S)模式來說的一種網(wǎng)絡(luò)信息交換方式。在C/S模式中沥阱,數(shù)據(jù)的分發(fā)采用專門的服務(wù)器缎罢,多個(gè)客戶端都從此服務(wù)器獲取數(shù)據(jù)。這種模式的優(yōu)點(diǎn)是:數(shù)據(jù)的一致性容易控制喳钟,系統(tǒng)也容易管理屁使。但是此種模式的缺點(diǎn)是:因?yàn)榉?wù)器的個(gè)數(shù)只有一個(gè)(即便有多個(gè)也非常有限),系統(tǒng)容易出現(xiàn)單一失效點(diǎn)奔则;單一服務(wù)器面對(duì)眾多的客戶端蛮寂,由于CPU能力、內(nèi)存大小易茬、網(wǎng)絡(luò)帶寬的限制酬蹋,可同時(shí)服務(wù)的客戶端非常有限,可擴(kuò)展性差抽莱。P2P技術(shù)正是為了解決這些問題而提出來的一種對(duì)等網(wǎng)絡(luò)結(jié)構(gòu)范抓。在P2P網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)既可以從其他節(jié)點(diǎn)得到服務(wù)食铐,也可以向其他節(jié)點(diǎn)提供服務(wù)匕垫。這樣,龐大的終端資源被利用起來虐呻,一舉解決了C/S模式中的兩個(gè)弊端象泵,P2P網(wǎng)絡(luò)有3種比較流行的組織結(jié)構(gòu),被應(yīng)用在不同的P2P應(yīng)用中斟叼。
1.DHT結(jié)構(gòu)
分布式哈希表(DHT)是一種功能強(qiáng)大的工具偶惠,它的提出引起了學(xué)術(shù)界一股研究DHT的熱潮。雖然DHT具有各種各樣的實(shí)現(xiàn)方式朗涩,但是具有共同的特征忽孽,即都是一個(gè)環(huán)行拓?fù)浣Y(jié)構(gòu),在這個(gè)結(jié)構(gòu)里每個(gè)節(jié)點(diǎn)具有一個(gè)唯一的節(jié)點(diǎn)標(biāo)識(shí)(ID),節(jié)點(diǎn)ID是一個(gè)128位的哈希值兄一。每個(gè)節(jié)點(diǎn)都在路由表里保存了其他前驅(qū)厘线、后繼節(jié)點(diǎn)的ID。通過這些路由信息瘾腰,可以方便地找到其他節(jié)點(diǎn)皆的。這種結(jié)構(gòu)多用于文件共享和作為底層結(jié)構(gòu)用于流媒體傳輸覆履。
2.樹形結(jié)構(gòu)
在這種結(jié)構(gòu)中蹋盆,所有的節(jié)點(diǎn)都被組織在一棵樹中,樹根只有子節(jié)點(diǎn)硝全,樹葉只有父節(jié)點(diǎn)栖雾,其他節(jié)點(diǎn)既有子節(jié)點(diǎn)也有父節(jié)點(diǎn)。信息的流向沿著樹枝流動(dòng)伟众。最初的樹形結(jié)構(gòu)多用于P2P流媒體直播析藕。
3.網(wǎng)狀結(jié)構(gòu)
又叫無結(jié)構(gòu),顧名思義凳厢,這種結(jié)構(gòu)中账胧,所有的節(jié)點(diǎn)無規(guī)則地連在一起,沒有穩(wěn)定的關(guān)系先紫,沒有父子關(guān)系治泥。網(wǎng)狀結(jié)構(gòu)為P2P提供了最大的容忍性、動(dòng)態(tài)適應(yīng)性遮精,在流媒體直播和點(diǎn)播應(yīng)用中取得了極大的成功居夹。當(dāng)網(wǎng)絡(luò)變得很大時(shí),常常會(huì)引入超級(jí)節(jié)點(diǎn)的概念本冲,超級(jí)節(jié)點(diǎn)可以和任何一種以上結(jié)構(gòu)結(jié)合起來組成新的結(jié)構(gòu)准脂,如KaZaA。
P2P技術(shù)應(yīng)用現(xiàn)狀:
由于能夠極大緩解傳統(tǒng)架構(gòu)中服務(wù)器端的壓力過大檬洞、單一失效點(diǎn)等問題狸膏,又能充分利用終端的豐富資源,所以P2P技術(shù)被廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)的各個(gè)應(yīng)用領(lǐng)域添怔,如分布式科學(xué)計(jì)算湾戳、文件共享、流媒體直播與點(diǎn)播澎灸、語音通信及在線游戲支撐平臺(tái)等方面院塞。
1.分布式科學(xué)計(jì)算
許多計(jì)算機(jī)的CPU資源并不是時(shí)刻保持峰值運(yùn)轉(zhuǎn)的,甚至很多時(shí)候計(jì)算機(jī)處于“空閑”狀態(tài)性昭,比如使用者暫時(shí)離開等情況拦止。而P2P技術(shù)可以使得眾多終端的CPU資源聯(lián)合起來,服務(wù)于一個(gè)共同的計(jì)算。這種計(jì)算一般是計(jì)算量巨大汹族、數(shù)據(jù)極多萧求、耗時(shí)很長的科學(xué)計(jì)算。在每次計(jì)算過程中顶瞒,任務(wù)(包括邏輯與數(shù)據(jù)等)被劃分成多個(gè)片夸政,被分配到參與科學(xué)計(jì)算的P2P節(jié)點(diǎn)機(jī)器上。在不影響原有計(jì)算機(jī)使用的前提下榴徐,人們利用分散的CPU資源完成計(jì)算任務(wù)守问,并將結(jié)果返回給一個(gè)或多個(gè)服務(wù)器,將眾多結(jié)果進(jìn)行整合坑资,以得到最終結(jié)果耗帕。
2.文件共享
BitTorrent中的節(jié)點(diǎn)在共享一個(gè)文件時(shí),首先將文件分片并將文件和分片信息保存在一個(gè)流(Torrent)類型文件中袱贮,這種節(jié)點(diǎn)被形象地稱作“種子”節(jié)點(diǎn)仿便。其他用戶在下載該文件時(shí)根據(jù)Torrent文件的信息,將文件的部分分片下載下來攒巍,然后在其他下載該文件的節(jié)點(diǎn)之間共享自己已經(jīng)下載的分片嗽仪,互通有無,從而實(shí)現(xiàn)文件的快速分發(fā)柒莉。由于每個(gè)節(jié)點(diǎn)在下載文件的同時(shí)也在為其他用戶上傳該文件的分片闻坚,所以整體來看,不會(huì)隨著用戶數(shù)的增加而降低下載速度常柄,反而下載的人越多鲤氢,速度越快。
BitTorrent是一種無結(jié)構(gòu)的網(wǎng)絡(luò)協(xié)議西潘。除了BitTorrent之外卷玉,還有不少著名的無結(jié)構(gòu)化的P2P文件共享協(xié)議,典型的有Gnutella和KaZaA喷市。
Gnutella協(xié)議是一種最典型的完全分布式相种、無等級(jí)結(jié)構(gòu)的P2P網(wǎng)絡(luò)模型。網(wǎng)絡(luò)中的節(jié)點(diǎn)隨機(jī)連接若干個(gè)其他節(jié)點(diǎn)品姓,稱之為“鄰居”寝并。這種結(jié)構(gòu)能夠很好地適應(yīng)P2P網(wǎng)絡(luò)中節(jié)點(diǎn)頻繁加入與離開的動(dòng)態(tài)特性,因?yàn)槿我庖粋€(gè)節(jié)點(diǎn)都可以被新加入的節(jié)點(diǎn)作為“鄰居”而連接腹备,任意一個(gè)“鄰居”也可以隨意地離開網(wǎng)絡(luò)衬潦。同時(shí),這種加入節(jié)點(diǎn)和離開節(jié)點(diǎn)的選擇是節(jié)點(diǎn)間的獨(dú)立行為植酥,隨機(jī)分布于網(wǎng)絡(luò)之中镀岛。所以說Gnutella的網(wǎng)絡(luò)具有健壯性弦牡、實(shí)時(shí)性、可靠性漂羊、負(fù)載平衡等優(yōu)勢(shì)驾锰。
在Gnutella網(wǎng)絡(luò)中存在以下問題:冗余消息多,對(duì)帶寬的消耗存在一定的浪費(fèi)走越。Gnutella網(wǎng)絡(luò)協(xié)議采用泛洪式(Flooding)消息傳播機(jī)制椭豫,這種消息傳播機(jī)制產(chǎn)生了呈指數(shù)級(jí)增長的冗余消息。據(jù)統(tǒng)計(jì)旨指,P2P軟件白天占Internet上運(yùn)行帶寬的40%~70%赏酥,晚上有時(shí)能達(dá)到80%。搜索效率低淤毛,可擴(kuò)展性差今缚。Gnutella網(wǎng)絡(luò)的搜索協(xié)議將所有資源與節(jié)點(diǎn)統(tǒng)一對(duì)待算柳,沒有考慮節(jié)點(diǎn)的性能差異低淡,也沒有利用查詢成功的歷史經(jīng)驗(yàn),使得搜索效率低下瞬项。
KaZaA協(xié)議中節(jié)點(diǎn)大體上也是無結(jié)構(gòu)連接的蔗蹋。但是在KaZaA協(xié)議中存在一種“超級(jí)節(jié)點(diǎn)”。這種“超級(jí)節(jié)點(diǎn)”其實(shí)是來源于各個(gè)普通的客戶端節(jié)點(diǎn)囱淋,但它們一般具有計(jì)算能力強(qiáng)猪杭、接入帶寬大、在線時(shí)間穩(wěn)定等特點(diǎn)妥衣。在KaZaA協(xié)議中皂吮,超級(jí)節(jié)點(diǎn)承擔(dān)著部分服務(wù)器的任務(wù),如管理部分普通節(jié)點(diǎn)税手,負(fù)責(zé)搜索消息的轉(zhuǎn)發(fā)等蜂筹。每一個(gè)節(jié)點(diǎn)上線后會(huì)尋找一個(gè)超級(jí)節(jié)點(diǎn)掛靠,并和原先掛靠在該超級(jí)節(jié)點(diǎn)下的其他普通節(jié)點(diǎn)隨機(jī)相連芦倒,組成一個(gè)小的無結(jié)構(gòu)網(wǎng)絡(luò)艺挪。普通節(jié)點(diǎn)的共享文件索引匯報(bào)給所掛靠的超級(jí)節(jié)點(diǎn)。因而兵扬,KaZaA網(wǎng)絡(luò)大體上可以看作是兩層的無結(jié)構(gòu)網(wǎng)絡(luò)麻裳,上層是超級(jí)節(jié)點(diǎn)組成的無結(jié)構(gòu)網(wǎng)絡(luò);下層是普通節(jié)點(diǎn)組成的多個(gè)無結(jié)構(gòu)網(wǎng)絡(luò)器钟,按所掛靠的超級(jí)節(jié)點(diǎn)分成多個(gè)簇津坑。當(dāng)普通節(jié)點(diǎn)發(fā)起文件搜索請(qǐng)求時(shí),將請(qǐng)求消息發(fā)給所掛靠的超級(jí)節(jié)點(diǎn)傲霸,超級(jí)節(jié)點(diǎn)從自己存儲(chǔ)的共享文件索引信息中查找區(qū)域內(nèi)符合條件的文件疆瑰,同時(shí)將搜索請(qǐng)求轉(zhuǎn)發(fā)給若干個(gè)其他超級(jí)節(jié)點(diǎn),由它們返回其區(qū)域內(nèi)搜索結(jié)果。如果需要乃摹,這個(gè)轉(zhuǎn)發(fā)過程可以執(zhí)行多步以獲得更大范圍內(nèi)的搜索結(jié)果禁漓。這樣的混合式結(jié)構(gòu)對(duì)異構(gòu)的終端節(jié)點(diǎn)“分而治之”,可以充分利用一些能力較強(qiáng)的終端節(jié)點(diǎn)來擔(dān)任“小”服務(wù)器的角色孵睬,可謂是“人盡其才播歼,物盡其用”。
除了這些無結(jié)構(gòu)的P2P文件共享協(xié)議之外掰读,幾乎所有的DHT網(wǎng)絡(luò)都可以并已經(jīng)用來實(shí)現(xiàn)文件共享的應(yīng)用秘狞,如Chord、Pastry蹈集、KAD烁试、CAN等應(yīng)用。
3.流媒體直播
曾經(jīng)人們以為P2P做文件共享最合適拢肆,但現(xiàn)在大家發(fā)現(xiàn)P2P模式是如此適合于流媒體直播减响,以至于研究熱點(diǎn)在很短的時(shí)間內(nèi)迅速轉(zhuǎn)移到P2P的流媒體上來。中國最早的P2P流媒體直播軟件應(yīng)該算香港科技大學(xué)計(jì)算機(jī)系研究的Coolstreaming[5]郭怪、華中科技大學(xué)集群與網(wǎng)格計(jì)算湖北省實(shí)驗(yàn)室研究的AnySee[9]以及清華大學(xué)的Gridmedia等系統(tǒng)竹椒。
? Coolstreaming是一款基于網(wǎng)狀無結(jié)構(gòu)網(wǎng)絡(luò)拓?fù)涞牧髅襟w直播軟件帘营,中文名叫做“酷流”蔗崎。在Coolstreaming中择吊,每個(gè)節(jié)點(diǎn)通過登錄服務(wù)器(BS)進(jìn)入網(wǎng)絡(luò),并得到一些鄰居列表攒庵。每個(gè)節(jié)點(diǎn)和鄰居之間共享媒體數(shù)據(jù)嘴纺。Coolstreaming中節(jié)點(diǎn)共享媒體數(shù)據(jù)是基于一種稱作“數(shù)據(jù)驅(qū)動(dòng)”的機(jī)制。首先浓冒,對(duì)于節(jié)點(diǎn)緩沖區(qū)內(nèi)所擁有的數(shù)據(jù)栽渴,使用一種“緩沖映射表”(Buffer Map)來進(jìn)行標(biāo)記:對(duì)于每一秒的媒體內(nèi)容,如果節(jié)點(diǎn)已經(jīng)從節(jié)目源或鄰居處獲取裆蒸,則標(biāo)記該秒數(shù)據(jù)為“1”熔萧,否則標(biāo)記為“0”。這樣僚祷,一個(gè)80秒長度的緩沖區(qū)就對(duì)應(yīng)一個(gè)80位長度的緩沖映射表佛致。其次,節(jié)點(diǎn)之間以“心跳”(Heartbeat)方式定期交換各自的緩沖映射表辙谜,通過比對(duì)得到自己沒有而鄰居擁有的數(shù)據(jù)位俺榆,然后根據(jù)數(shù)據(jù)調(diào)度算法,選擇合適的鄰居装哆,請(qǐng)求得到相應(yīng)的數(shù)據(jù)罐脊。Coolstreaming采取全網(wǎng)狀結(jié)構(gòu)組織網(wǎng)絡(luò)中的節(jié)點(diǎn)定嗓,每個(gè)節(jié)點(diǎn)連接20個(gè)左右的鄰居,在定期交換緩沖映射表的同時(shí)萍桌,還要交換自己的鄰居列表宵溅。這樣,在一個(gè)鄰居離開時(shí)上炎,可以從它最近提供的鄰居列表中選擇一個(gè)連接數(shù)沒有達(dá)到上限的鄰居作為“替補(bǔ)”鄰居進(jìn)行連接恃逻。最早期的Coolstreaming是采取隨機(jī)選取鄰居的策略,即從BS上隨機(jī)返回一些當(dāng)前在線的節(jié)點(diǎn)列表藕施,然后隨機(jī)從中選擇一些節(jié)點(diǎn)進(jìn)行連接寇损,在選擇“替補(bǔ)”鄰居時(shí)也是隨機(jī)的。這樣做同時(shí)又可以達(dá)到一定程度的負(fù)載平衡效果裳食,因?yàn)槊總€(gè)節(jié)點(diǎn)連接的鄰居數(shù)基本是均勻的矛市。但是這樣做的缺點(diǎn)也是明顯的,兩個(gè)距離很遠(yuǎn)诲祸、連接很差的節(jié)點(diǎn)也可能被調(diào)度成為鄰居浊吏,大大影響的系統(tǒng)的服務(wù)質(zhì)量。
? 華中科技大學(xué)集群與網(wǎng)格計(jì)算湖北省重點(diǎn)實(shí)驗(yàn)室是中國最早研究P2P流媒體直播的小組之一烦绳,它所研發(fā)的AnySee軟件期望能夠使得用戶在網(wǎng)上任何時(shí)候任何地點(diǎn)都能觀看多媒體直播節(jié)目卿捎。
? AnySee的第一個(gè)版本基于樹狀結(jié)構(gòu):節(jié)目源是一個(gè)多播樹的根節(jié)點(diǎn),之后的節(jié)點(diǎn)被調(diào)度為其“兒子”或子樹径密。每個(gè)節(jié)點(diǎn)向其父節(jié)點(diǎn)索要數(shù)據(jù),并將數(shù)據(jù)提供給多個(gè)子節(jié)點(diǎn)躺孝。這樣的結(jié)構(gòu)可以使得節(jié)點(diǎn)快速加入到網(wǎng)絡(luò)中享扔,并且可以根據(jù)IP鄰近原則構(gòu)建起一棵IP多播樹,使得節(jié)點(diǎn)加入位置都是和自己IP鄰近的節(jié)點(diǎn)植袍,從而優(yōu)化服務(wù)質(zhì)量惧眠。之后AnySee推出第二個(gè)版本,結(jié)合了原有的樹狀結(jié)構(gòu)和流行的網(wǎng)狀結(jié)構(gòu)于个,使得“控制數(shù)據(jù)走樹氛魁,媒體數(shù)據(jù)走網(wǎng)”,既能幫助節(jié)點(diǎn)快速定位到加入點(diǎn)厅篓,又能實(shí)現(xiàn)一定程度的負(fù)載均衡秀存,并緩解了原有純樹狀結(jié)構(gòu)中底層節(jié)點(diǎn)和頂層節(jié)點(diǎn)之間播放時(shí)差較大的問題。最近的AnySee版本已經(jīng)取消了樹的結(jié)構(gòu)羽氮,演化成了優(yōu)化的網(wǎng)狀結(jié)構(gòu)(如圖2所示)或链,即每個(gè)節(jié)點(diǎn)維護(hù)一定數(shù)量的鄰居成員,并從中選出最合適的“伙伴”節(jié)點(diǎn)與之交換數(shù)據(jù)档押“难危伙伴的數(shù)量既有上限又有下限祈纯,在不滿足下限時(shí),節(jié)點(diǎn)會(huì)不斷尋找新的合適節(jié)點(diǎn)加入伙伴列表叼耙;在達(dá)到下限時(shí)腕窥,節(jié)點(diǎn)停止主動(dòng)尋找伙伴的過程,但可以接受其他節(jié)點(diǎn)將其加入伙伴列表的請(qǐng)求筛婉;在達(dá)到上限時(shí)油昂,節(jié)點(diǎn)不再和新的節(jié)點(diǎn)建立伙伴關(guān)系。
? 除了學(xué)術(shù)界對(duì)P2P流媒體直播的研究外倾贰,中國還涌現(xiàn)了很多成功的P2P流媒體直播商業(yè)產(chǎn)品冕碟,如PPLive、PPStream匆浙、沸點(diǎn)和TVAnts等安寺,其中以PPLive最為有名。PPLive目前擁有數(shù)百個(gè)頻道首尼,在2006年“超級(jí)女聲”決賽期間挑庶,頻道觀看人數(shù)達(dá)到十萬人,可以說是把P2P發(fā)揮到了極限软能。此外迎捺,國外也有不少對(duì)P2P流媒體直播的研究,如SplitStream[10]等查排。
4.流媒體點(diǎn)播
由于觀看直播節(jié)目時(shí)用戶不能選擇觀看指定片段凳枝,所以在人們熱烈研究P2P流媒體直播時(shí),已有人開始將目光轉(zhuǎn)向P2P流媒體點(diǎn)播服務(wù)跋核。目前成功推出P2P流媒體點(diǎn)播的機(jī)構(gòu)還不多岖瑰,典型的有GridCast[11]系統(tǒng)、PPStream點(diǎn)播系統(tǒng)砂代。GridCast也是一款由華中科技大學(xué)集群與網(wǎng)格計(jì)算湖北省重點(diǎn)實(shí)驗(yàn)室于2005年12月份成功研發(fā)并投入使用的對(duì)等視頻點(diǎn)播系統(tǒng)蹋订,具有支持多人共享點(diǎn)播片段、跟蹤(Tracker)服務(wù)器用戶引導(dǎo)刻伊、環(huán)狀結(jié)構(gòu)內(nèi)容組織等特點(diǎn)露戒。由于一個(gè)點(diǎn)播頻道的人數(shù)往往不會(huì)太多,所以在用戶進(jìn)行視頻錄放(VCR)操作時(shí)(即前后拖動(dòng)播放點(diǎn)捶箱、暫停/繼續(xù)播放等操作)智什,能否快速將用戶定位到觀看該點(diǎn)節(jié)目的其他用戶處就成了P2P點(diǎn)播技術(shù)的關(guān)鍵。為了實(shí)現(xiàn)快速定位讼呢,GridCast中采取了一種同心圓環(huán)的媒體內(nèi)容組織結(jié)構(gòu)撩鹿。在每一個(gè)節(jié)目頻道里,媒體內(nèi)容按指數(shù)遞增的區(qū)間進(jìn)行劃分悦屏,例如一個(gè)一個(gè)半小時(shí)的電影節(jié)目节沦,可劃分成[0, 5]键思、(5, 15]、(15, 35]甫贯、(35, 75]和(75, END=90]幾段吼鳞,其單位為分鐘。每個(gè)節(jié)點(diǎn)記錄幾個(gè)正在觀看各個(gè)段之間內(nèi)容的節(jié)點(diǎn)叫搁。這樣赔桌,在和AnySee類似的網(wǎng)狀結(jié)構(gòu)中,可以定期交換這種分段記錄渴逻,從而疾党,在某個(gè)用戶拖動(dòng)觀看點(diǎn)時(shí),可以快速定位到相應(yīng)段的記錄節(jié)點(diǎn)處惨奕,并從這些節(jié)點(diǎn)當(dāng)時(shí)所觀看的區(qū)間內(nèi)得到大量備用記錄以請(qǐng)求該區(qū)間媒體數(shù)據(jù)雪位。此外,GridCast還根據(jù)用戶習(xí)慣對(duì)數(shù)據(jù)調(diào)度策略進(jìn)行優(yōu)化梨撞。
5.IP層語音通信
IP層語音通信(VoIP)是一種全新的網(wǎng)絡(luò)電話通信業(yè)務(wù)雹洗,它和傳統(tǒng)的PSTN電話業(yè)務(wù)相比有著擴(kuò)展性好、部署方便卧波、價(jià)格低廉等明顯的優(yōu)點(diǎn)时肿。在全球范圍內(nèi)的VoIP應(yīng)用中,由于通信各方可能處于不同的網(wǎng)絡(luò)狀況下港粱,所以采取少數(shù)幾個(gè)服務(wù)器來進(jìn)行話音包中轉(zhuǎn)不僅存在壓力過大的問題螃成,還可能無法為指定通信雙方提供滿意的通話質(zhì)量保證。所以采取P2P技術(shù)動(dòng)態(tài)自適應(yīng)地根據(jù)通信雙方網(wǎng)絡(luò)進(jìn)行鏈路控制與消息轉(zhuǎn)發(fā)是可行的解決方案啥容。
? 目前風(fēng)靡全球的Skype[12]即是一款典型的P2P VoIP軟件锈颗。Skype由于能夠提供清晰的語音質(zhì)量和免費(fèi)的服務(wù),使用起來又方便快捷咪惠,所以吸引了全球數(shù)千萬的用戶,每天在線用戶達(dá)500萬人淋淀,并且注冊(cè)用戶數(shù)每天增加15萬遥昧。基本上朵纷,Skype采取類似KaZaA的拓?fù)浣Y(jié)構(gòu)炭臭,在網(wǎng)絡(luò)中選取一些超級(jí)節(jié)點(diǎn)。在通信雙方直連效果不好時(shí)袍辞,一些合適的超級(jí)節(jié)點(diǎn)則擔(dān)當(dāng)起其中轉(zhuǎn)節(jié)點(diǎn)的角色鞋仍,為通信雙方創(chuàng)建中轉(zhuǎn)連接,并轉(zhuǎn)發(fā)相應(yīng)的語音通信包搅吁。
6.網(wǎng)絡(luò)游戲平臺(tái)
大型網(wǎng)絡(luò)在線游戲和網(wǎng)絡(luò)對(duì)戰(zhàn)游戲是不少“網(wǎng)蟲”的至愛威创。但由于服務(wù)器能力有限落午,大型網(wǎng)絡(luò)在線游戲往往需要限制場(chǎng)景人數(shù)或者不斷增加服務(wù)器,而網(wǎng)絡(luò)對(duì)戰(zhàn)游戲也必須局限在局域網(wǎng)內(nèi)進(jìn)行或者依賴獨(dú)立的服務(wù)器端程序及機(jī)器實(shí)現(xiàn)Internet上的電子競(jìng)技肚豺。目前溃斋,已有研究人員將P2P技術(shù)引入網(wǎng)絡(luò)游戲和網(wǎng)絡(luò)游戲支撐平臺(tái)中。
? 目前較為成功的P2P游戲平臺(tái)是華中科技大學(xué)集群與網(wǎng)格計(jì)算湖北省重點(diǎn)實(shí)驗(yàn)室推出的PKTown[13]系統(tǒng)吸申。PKTown系統(tǒng)是一個(gè)支持多種網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的P2P平臺(tái)梗劫。P2P網(wǎng)絡(luò)對(duì)戰(zhàn)游戲平臺(tái)的難點(diǎn)在于將嚴(yán)格延時(shí)約束的節(jié)點(diǎn)聚集在一起,這由對(duì)戰(zhàn)游戲本身要求所決定:延時(shí)是影響對(duì)戰(zhàn)游戲用戶體驗(yàn)的關(guān)鍵因素截碴。在眾多在線用戶中梳侨,如何將新加入用戶調(diào)度到周圍都是延時(shí)鄰近的環(huán)境中去呢?PKTown也是采取GridCast中出現(xiàn)過的指數(shù)增長的同心圓環(huán)方式日丹,很好地解決了這個(gè)問題走哺。
? PKTown不需要改變游戲本身的代碼,而是將用戶和Internet鄰居組建成一個(gè)虛擬局域網(wǎng)聚凹,將游戲發(fā)出的通信包截獲后負(fù)載上虛擬局域網(wǎng)的地址割坠,轉(zhuǎn)發(fā)出去,游戲進(jìn)程接收到之后認(rèn)為是來自同一局域網(wǎng)的游戲包妒牙,則可以正常進(jìn)行游戲彼哼。目前PKTown支持魔獸爭(zhēng)霸、星際爭(zhēng)霸和反恐精英幾款游戲湘今,已經(jīng)在高校范圍內(nèi)進(jìn)行公測(cè)敢朱,并成功舉辦華中科技大學(xué)第三屆Race War游戲大賽,用戶反應(yīng)良好摩瞎。
后續(xù):
自P2P技術(shù)從1999年出現(xiàn)之后拴签,現(xiàn)在已經(jīng)發(fā)展繁榮起來。前文中提到的很多技術(shù)都已經(jīng)趨近成熟旗们,如拓?fù)錁?gòu)建和內(nèi)容分發(fā)等相關(guān)技術(shù)蚓哩。由于P2P架構(gòu)靈活,適用面廣闊上渴,所以將P2P應(yīng)用到新領(lǐng)域的現(xiàn)象層出不窮岸梨,P2P的軟件產(chǎn)品也如雨后春筍一般爆炸性增長。
? 通過本文的描述可以看出稠氮,P2P蹬基本原理是容易實(shí)現(xiàn)的曹阔,人們的研究方向也由基礎(chǔ)架構(gòu)的構(gòu)建和維護(hù)及優(yōu)化算法等桎梏中擺脫出來,開始深入到P2P技術(shù)的根本性問題中去隔披。最新的研究成果表明赃份,不少研究人員已經(jīng)開始將重心轉(zhuǎn)入到覆蓋層網(wǎng)絡(luò)的節(jié)點(diǎn)延時(shí)聚集研究、覆蓋網(wǎng)之間(Inter-Overlay)優(yōu)化研究奢米、P2P支撐平臺(tái)研究以及P2P安全方面的研究等方面抓韩。相信隨著對(duì)P2P技術(shù)研究的不斷深入纠永,人們能夠?qū)2P計(jì)算有一個(gè)更深入的認(rèn)識(shí)并解決目前P2P領(lǐng)域中大部分科學(xué)問題≡膀穑可以預(yù)見渺蒿,P2P所帶來的技術(shù)創(chuàng)新和應(yīng)用創(chuàng)新還將繼續(xù)。