基于P2P的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì)(郵電學(xué)院論文)_第1頁(yè)
基于P2P的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì)(郵電學(xué)院論文)_第2頁(yè)
基于P2P的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì)(郵電學(xué)院論文)_第3頁(yè)
基于P2P的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì)(郵電學(xué)院論文)_第4頁(yè)
基于P2P的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì)(郵電學(xué)院論文)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、西安郵電學(xué)院 畢 業(yè) 設(shè) 計(jì)(論 文)題 目:基于p2p的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì)系 別: 計(jì)算機(jī)科學(xué)與技術(shù)系 專 業(yè): 網(wǎng)絡(luò)工程 班 級(jí): 網(wǎng)絡(luò)工程0501 學(xué)生姓名: 冉奇凡 導(dǎo)師姓名: 謝曉燕 職稱: 副教授 起止時(shí)間:2009年 3月2日 至 2009年 6月12日西 安 郵 電 學(xué) 院畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)學(xué)生姓名冉奇凡指導(dǎo)教師謝曉燕職稱副教授系別計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)網(wǎng)絡(luò)工程題目基于 p2p的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì) 任務(wù)與要求傳統(tǒng)的流媒體系統(tǒng)建立在客戶/服務(wù)器模式的基礎(chǔ)上,網(wǎng)絡(luò)帶寬有限,穩(wěn)定性差,系統(tǒng)伸縮性差,服務(wù)器常常成為系統(tǒng)的瓶頸。而p2p技術(shù)在充分利用客戶資源、提高系統(tǒng)伸縮性等方面具有巨

2、大的潛力。本課題在研究基于p2p的傳輸系統(tǒng)技術(shù)的基礎(chǔ)上,設(shè)計(jì)基于p2p的流媒體傳輸模型,主要工作有:1. 學(xué)習(xí)p2p網(wǎng)絡(luò)結(jié)構(gòu);2. 研究p2p系統(tǒng)的網(wǎng)絡(luò)架構(gòu)、數(shù)據(jù)傳輸機(jī)制及網(wǎng)絡(luò)搜索策略等關(guān)鍵技術(shù);3. 基于jxta技術(shù)嘗試對(duì)系統(tǒng)框架進(jìn)行搭建和驗(yàn)證;4. 研究流媒體工作原理,探討與仿真系統(tǒng)的對(duì)接思路。西安郵電學(xué)院畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告 計(jì)算機(jī)科學(xué)與技術(shù) 系 網(wǎng)絡(luò)工程 專業(yè) 2005 級(jí) 0501 班課題名稱:基于p2p的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì) 學(xué)生姓名: 冉奇凡 學(xué)號(hào):04053068指導(dǎo)教師: 謝曉燕 報(bào)告日期: 2009-3-10 1本課題所涉及的問(wèn)題及應(yīng)用現(xiàn)狀綜述近年來(lái)由于網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展

3、,互聯(lián)網(wǎng)的應(yīng)用表現(xiàn)更加多元化。隨著web3.0的推廣和普及,多媒體在網(wǎng)絡(luò)互聯(lián)平臺(tái)上的表現(xiàn)受到越來(lái)越多的重視和探討。人們?cè)诰W(wǎng)絡(luò)平臺(tái)上的娛樂(lè)形式也日漸增加。傳統(tǒng)的媒體形式及媒體傳輸形式已經(jīng)不足以滿足如今應(yīng)用的需要。因此,流媒體技術(shù)現(xiàn)已成為主流方向,并在多方面得到發(fā)展。成為現(xiàn)在網(wǎng)絡(luò)互聯(lián)中媒體傳輸?shù)囊环N高效解決方案。c/s模型是一種傳統(tǒng)的媒體數(shù)據(jù)傳輸模型,但這種服務(wù)系統(tǒng)存在較大帶寬瓶頸,已不能滿足大規(guī)模的流媒體數(shù)據(jù)的傳輸要求。而p2p(peer-to-peer)技術(shù)的出現(xiàn)改變了以前以服務(wù)器為中心的傳統(tǒng)數(shù)據(jù)傳輸模式,從根本上解決了c/s服務(wù)系統(tǒng)存在的缺陷。它充分挖掘了internet上的空閑資源,在利用

4、率,擴(kuò)展性等方面都具有很大的優(yōu)勢(shì),并且在大型文件共享、分布式計(jì)算、協(xié)同工作、網(wǎng)絡(luò)存儲(chǔ)等方面有很好的應(yīng)用前景。本課題討論并研究的主要問(wèn)題是,分析研究p2p技術(shù)及該技術(shù)下流媒體數(shù)據(jù)傳輸?shù)膽?yīng)用,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于p2p技術(shù)的傳輸服務(wù)系統(tǒng)。通過(guò)搭建p2p傳輸平臺(tái),研究流媒體數(shù)據(jù)的實(shí)時(shí)高效傳輸。2本課題需要重點(diǎn)研究的關(guān)鍵問(wèn)題、解決的思路及實(shí)現(xiàn)預(yù)期目標(biāo)的可行性分析本課題重點(diǎn)研究分為以下幾點(diǎn):1.研究p2p傳輸技術(shù)的相關(guān)理論,包括p2p網(wǎng)絡(luò)構(gòu)架模型、p2p網(wǎng)絡(luò)數(shù)據(jù)傳輸機(jī)制、流媒體的傳輸方式等。2.對(duì)基于jxta的p2p網(wǎng)絡(luò)開(kāi)發(fā)包jxse-lib進(jìn)行詳細(xì)的研究,比較全面的分析和掌握基于jxta進(jìn)行p2p相關(guān)應(yīng)

5、用的系統(tǒng)開(kāi)發(fā)技術(shù)。3.設(shè)計(jì)和實(shí)現(xiàn)一個(gè)基于p2p技術(shù)的文件傳輸系統(tǒng)。4.在此基礎(chǔ)上探討系統(tǒng)對(duì)流媒體傳輸?shù)臄U(kuò)展思路。解決思路:整個(gè)課題的解決思路由淺至深,通過(guò)分析和研究現(xiàn)在主流的p2p傳輸模型,掌握相關(guān)的理論基礎(chǔ)。實(shí)踐操作并熟悉基于jxta的p2p網(wǎng)絡(luò)開(kāi)發(fā)包jxse-lib的開(kāi)發(fā)環(huán)境。最后通過(guò)實(shí)踐分析和研究,設(shè)計(jì)并實(shí)現(xiàn)基于p2p技術(shù)的傳輸服務(wù)系統(tǒng)??尚行苑治觯罕菊n題基于jxta的p2p網(wǎng)絡(luò)開(kāi)發(fā)包jxse-lib,高效模擬p2p的傳輸環(huán)境,在小型實(shí)驗(yàn)范圍內(nèi)實(shí)現(xiàn)p2p模型的文件傳輸。3完成本課題的工作方案畢業(yè)設(shè)計(jì)開(kāi)始日期:2009年3月2日畢業(yè)設(shè)計(jì)完成時(shí)間:2009年6月12日課題初期通過(guò)查閱資料分析

6、研究p2p模型及傳輸模式。流媒體的主流技術(shù)及解決方案。掌握基本的理論基礎(chǔ)。中期基于jxta的p2p網(wǎng)絡(luò)開(kāi)發(fā)包搭建開(kāi)發(fā)環(huán)境。進(jìn)行環(huán)境測(cè)試及基本設(shè)置,為后期設(shè)計(jì)傳輸模型做好環(huán)境準(zhǔn)備。后期通過(guò)研究和學(xué)習(xí),設(shè)計(jì)并搭建p2p傳輸模型,通過(guò)實(shí)驗(yàn)實(shí)現(xiàn)p2p形式的數(shù)據(jù)傳輸。本方案建立在大量基礎(chǔ)信息材料和良好的開(kāi)發(fā)環(huán)境下。因此前期參考大量相關(guān)文章及數(shù)據(jù)。由于多數(shù)應(yīng)用平臺(tái)為windows操作系統(tǒng),因此選用基于jxta的p2p網(wǎng)絡(luò)開(kāi)發(fā)包jxse-lib進(jìn)行環(huán)境搭建及測(cè)試。保證課題的研究計(jì)劃順利完成。4指導(dǎo)教師審閱意見(jiàn) 資料閱讀廣泛,題目理解正確,研究思路明確,設(shè)計(jì)方法可行。準(zhǔn)備充分,同意開(kāi)題。指導(dǎo)教師(簽字): 年

7、 月 日說(shuō)明:本報(bào)告必須由承擔(dān)畢業(yè)論文(設(shè)計(jì))課題任務(wù)的學(xué)生在畢業(yè)論文(設(shè)計(jì)) 正式開(kāi)始的第1周周五之前獨(dú)立撰寫(xiě)完成,并交指導(dǎo)教師審閱。目 錄摘要iabstractii1 緒論11.1 課題研究背景11.2 國(guó)內(nèi)外研究現(xiàn)狀11.3 論文研究?jī)?nèi)容及結(jié)構(gòu)安排22基于p2p環(huán)境下的傳輸技術(shù)理論42.1 p2p傳輸技術(shù)的起源發(fā)展及定義42.2 p2p傳輸技術(shù)的基礎(chǔ)及原理52.3 p2p環(huán)境下流媒體傳輸模型及原理62.4 p2p系統(tǒng)與傳統(tǒng)c/s系統(tǒng)的比較93 jxta環(huán)境下p2p傳輸環(huán)境的搭建與配置113.1 jxta概述113.2 jxta環(huán)境中p2p原理的實(shí)現(xiàn)及協(xié)議的定義123.3 jxta環(huán)境下p

8、2p傳輸模型的設(shè)計(jì)133.4 jxta中流媒體傳輸原理及實(shí)現(xiàn)方法194 傳輸系統(tǒng)的設(shè)計(jì)及測(cè)試214.1 delphi7環(huán)境下傳輸系統(tǒng)的搭建214.2 傳輸測(cè)試及報(bào)告275 流媒體傳輸模塊在p2p系統(tǒng)中的應(yīng)用306總結(jié)33致謝34參考文獻(xiàn)35i摘 要近年來(lái),隨著互聯(lián)網(wǎng)多媒體應(yīng)用的迅速壯大,傳統(tǒng)服務(wù)器/客戶端的傳輸模式所存在的服務(wù)器鏈路瓶頸成為制約產(chǎn)業(yè)發(fā)展的嚴(yán)重障礙。而p2p模式是解決該問(wèn)題的理想模式,基于p2p技術(shù)的流媒體系統(tǒng)由于具有強(qiáng)大的可擴(kuò)展服務(wù)能力,為構(gòu)建大規(guī)模流媒體傳輸系統(tǒng)提供了一種低成本的解決方案。首先,這種技術(shù)并不需要互聯(lián)網(wǎng)路由器和網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持,因此性價(jià)比高且易于部署;第二,在

9、這種技術(shù)中,流媒體用戶不只是下載媒體流,而且還把媒體流上載給其他用戶。因此,這種方法可以擴(kuò)大用戶組的規(guī)模,并且更多的需求也帶來(lái)了更多的資源。本論文通過(guò)p2p的基礎(chǔ)理論研究,首先對(duì)p2p的傳輸原理進(jìn)行了詳細(xì)分析。并對(duì)傳統(tǒng)c/s傳輸模型與p2p傳輸模型進(jìn)行對(duì)比分析,重點(diǎn)研究了現(xiàn)行的主流p2p傳輸解決方案和基本模型。在此基礎(chǔ)上,基于jxta技術(shù)設(shè)計(jì)和實(shí)現(xiàn)了p2p傳輸環(huán)境,并應(yīng)用delphi7開(kāi)發(fā)了p2p傳輸系統(tǒng),實(shí)現(xiàn)了p2p環(huán)境下的數(shù)據(jù)傳輸過(guò)程。此外,還在理論方面探討研究了在jxta中嵌入流媒體數(shù)據(jù)的原理及方法。討論p2p環(huán)境下的流媒體數(shù)據(jù)的實(shí)時(shí)傳輸原理。關(guān)鍵詞:p2p 流媒體 傳輸 jxta ii

10、abstractin recent years,with the rapid growth of multimedia applications on the internet, the bottlenecks in the server transmission link of traditional server / client model has become a serious obstacles which restrict the development of related industrial. the p2p transfer model is an ideal model

11、 to solve this problem. p2p-based streaming media technology systems can be powerful because of its ability to expand services, which provides a low-cost solution on build a large-scale streaming media transmission system. firstly, this technology do not need the support of internet router and basic

12、 network facilities, therefore more cost-effective and easy deployment. secondly, with this technology, the user of streaming media do not just download the resources of streaming media, but also upload these resources to other users. therefore, this approach can expand the size of user group, and m

13、ore demand brings more resources.in this paper, we begin with the basis of the theory of p2p, firstly do a detailed analysis on p2p transmission principle. and do the comparative analysis on the traditional c/s transmission model and p2p transmission model, focus on the mainstream of the current p2p

14、 transmission solutions and the basic model. on this basis, use jxta technology to design and implement a p2p transmission environment, and use delphi7 to build a p2p transmission system, to achieve a data transfer process in p2p environment. besides, to explore in theory of how to make streaming me

15、dia data transmission nested into the p2p environment. discuss the principle of real-time streaming media transmission in p2p environment.key words:p2p streaming media jxta transmission基于p2p的實(shí)時(shí)流媒體系統(tǒng)設(shè)計(jì)1 緒論1.1 課題研究背景自互聯(lián)網(wǎng)誕生以來(lái),以網(wǎng)絡(luò)為平臺(tái)的各種信息交換形式在不斷地發(fā)展更新。隨著寬帶網(wǎng)絡(luò)的逐漸普及,更大信息量、更多元化信息形式的數(shù)據(jù)也逐漸占居網(wǎng)絡(luò)互聯(lián)的主導(dǎo)地位。當(dāng)今,互聯(lián)網(wǎng)的信息

16、已成為集視頻、音頻、文本、動(dòng)態(tài)資源和各種其他形式數(shù)據(jù)為一體的多媒體數(shù)據(jù)通信時(shí)代。流媒體的概念也由此應(yīng)運(yùn)而生。由于新的媒體形式的誕生,現(xiàn)行的網(wǎng)絡(luò)互聯(lián)平臺(tái)和信息交互平臺(tái)都受到更大考驗(yàn)。如何滿足當(dāng)今人們對(duì)大信息量數(shù)據(jù)進(jìn)行快速交互的需求,以及發(fā)展并研究一套更高質(zhì)量的傳輸模式和傳輸平臺(tái),成為現(xiàn)在互聯(lián)網(wǎng)應(yīng)用的又一嶄新課題。在傳統(tǒng)的基于客戶端/服務(wù)器(client/server,c/s)的傳輸模式下,多個(gè)客戶端在對(duì)服務(wù)器端進(jìn)行資源請(qǐng)求后,服務(wù)器端向多個(gè)客戶進(jìn)行應(yīng)答。當(dāng)客戶連接數(shù)目及請(qǐng)求的數(shù)據(jù)量逐漸增大時(shí),服務(wù)器端帶寬很快達(dá)到極限。成為限制整個(gè)網(wǎng)絡(luò)系統(tǒng)服務(wù)能力的主要瓶頸。同時(shí),用戶的服務(wù)質(zhì)量(quality

17、of service,qos)也難以得到保證。面對(duì)這種日益增長(zhǎng)的互聯(lián)網(wǎng)需求,如何構(gòu)建一個(gè)具備可擴(kuò)展能力的傳輸模型成為主要問(wèn)題。p2p模式是解決服務(wù)器鏈路瓶頸問(wèn)題的理想模式。基于p2p技術(shù)的流媒體系統(tǒng)由于具有可擴(kuò)展服務(wù)能力,為構(gòu)建大規(guī)模流媒體傳輸系統(tǒng)提供了一種低成本的解決方案。在同一個(gè)網(wǎng)絡(luò)環(huán)境中,客戶端與服務(wù)端擁有對(duì)等的傳輸?shù)匚?,每一個(gè)信息終端都同時(shí)具備客戶與服務(wù)的兩種身份。在網(wǎng)絡(luò)逐漸增大的趨勢(shì)下,p2p所描述的網(wǎng)絡(luò)互聯(lián)形式將不再存在瓶頸,反而會(huì)更加強(qiáng)大。1.2 國(guó)內(nèi)外研究現(xiàn)狀p2p技術(shù)是上世紀(jì)90年代末提出的,它充分挖掘了internet上的空閑資源,在利用率、擴(kuò)展性等方面具有很大優(yōu)勢(shì),并在文

18、件共享、分布式計(jì)算、協(xié)同工作、internet存儲(chǔ)等方面取得了良好應(yīng)用。 從國(guó)外公司對(duì)p2p技術(shù)的支持力度上看,sun公司和intel公司投入較大。在2000年8月,intel公司宣布成立p2p工作組,正式開(kāi)展p2p的研究。工作組成立以后,積極與應(yīng)用開(kāi)發(fā)商合作,開(kāi)發(fā)p2p應(yīng)用平臺(tái)。2002年intel發(fā)布.net基礎(chǔ)架構(gòu)之上的accelerator kit(p2p加速工具包)和p2p安全api軟件包。 sun公司以java技術(shù)為背景,開(kāi)展了jxta項(xiàng)目。jxta是基于java的開(kāi)源p2p平臺(tái),任何個(gè)人和組織均可以加入該項(xiàng)目。因此,該項(xiàng)目不僅吸引了大批p2p研究人員和開(kāi)發(fā)人員,而且已經(jīng)發(fā)布了基于

19、jxta的即時(shí)聊天軟件包。jxta定義了一組核心業(yè)務(wù):認(rèn)證、資源發(fā)現(xiàn)和管理。在安全方面,jxta加入了加密軟件包,允許使用該加密包進(jìn)行數(shù)據(jù)加密,從而保證消息的隱私、可認(rèn)證性和完整性。在jxta核心之上,還定義了包括內(nèi)容管理、信息搜索以及服務(wù)管理在內(nèi)的各種其它可選jxta服務(wù)。在核心服務(wù)和可選服務(wù)基礎(chǔ)上,用戶可以開(kāi)發(fā)各種jxta平臺(tái)上的p2p應(yīng)用。 p2p流媒體技術(shù)可按播放媒體的實(shí)時(shí)性分為實(shí)時(shí)和時(shí)移(非實(shí)時(shí))兩大類。p2p實(shí)時(shí)流媒體技術(shù)應(yīng)用主要有2005年來(lái)流行于internet的網(wǎng)絡(luò)電視、p2p視頻會(huì)議系統(tǒng)等。p2p時(shí)移流媒體技術(shù)應(yīng)用主要是p2p視頻點(diǎn)播系統(tǒng)。 近年來(lái),p2p網(wǎng)絡(luò)電視在中國(guó)發(fā)展

20、得很快。網(wǎng)絡(luò)電視直播獲得良好效果,實(shí)現(xiàn)了單服務(wù)器很高的同時(shí)在線人數(shù)指標(biāo),這是傳統(tǒng)的單點(diǎn)連接(unicast)、多播(multicast)方式都未實(shí)現(xiàn)的。目前,互聯(lián)網(wǎng)上運(yùn)作比較成功的p2p網(wǎng)絡(luò)電視系統(tǒng)比較有代表性的有:gridmedia(清華大學(xué)網(wǎng)格研究組)、沸點(diǎn)網(wǎng)絡(luò)電視、pplive等等,這些網(wǎng)絡(luò)電視都給人們帶來(lái)了耳目一新的體驗(yàn)。然而,p2p技術(shù)還存在著一些問(wèn)題,首先p2p缺乏管理機(jī)制,不像在c/s模式中只需要在中心點(diǎn)進(jìn)行管理,其次p2p網(wǎng)絡(luò)中數(shù)據(jù)的安全性難以保證,另外還存在吞噬網(wǎng)絡(luò)帶寬問(wèn)題、版權(quán)問(wèn)題。此外,目前還沒(méi)有制定出一致的p2p標(biāo)準(zhǔn),這對(duì)p2p技術(shù)進(jìn)一步發(fā)展也是一個(gè)障礙。而基于p2p的

21、流媒體技術(shù)也只是處于起步階段,值得進(jìn)一步去研究和推廣。1.3 論文研究?jī)?nèi)容及結(jié)構(gòu)安排本論文首先從p2p的基礎(chǔ)理論開(kāi)始,將p2p的基礎(chǔ)和原理進(jìn)行分析和探討,以在理論基礎(chǔ)上為p2p的傳輸原理進(jìn)行詳細(xì)闡述。同時(shí)分析現(xiàn)行的主流p2p傳輸解決方案和基本模型,并通過(guò)對(duì)傳統(tǒng)c/s模型與p2p模型的對(duì)比,闡述p2p的優(yōu)勢(shì)及發(fā)展前景。其次,通過(guò)對(duì)jxta技術(shù)的分析和研究,討論并實(shí)現(xiàn)基于jxta環(huán)境下的p2p傳輸模型。并應(yīng)用delphi7開(kāi)發(fā)傳輸系統(tǒng)。實(shí)現(xiàn)資源的p2p傳輸。在此基礎(chǔ)上,從理論方面探討研究jxta中嵌入流媒體數(shù)據(jù)的原理及方法。論文共分為6章:第一章 緒論:闡述該課題的背景情況及研究原因,對(duì)比國(guó)內(nèi)外的

22、p2p傳輸及流媒體傳輸技術(shù)的現(xiàn)狀,概括本論文的基本內(nèi)容及該課題的主要研究方向以及具體的論文結(jié)構(gòu)和內(nèi)容安排。 第二章 基于p2p環(huán)境下的傳輸技術(shù)理論:詳細(xì)說(shuō)明p2p傳輸技術(shù)的發(fā)展和基本定義以及p2p的傳輸原理。具體討論p2p環(huán)境下流媒體數(shù)據(jù)的傳輸原理及基本模型。并對(duì)比p2p及c/s模型說(shuō)明p2p的優(yōu)勢(shì)及發(fā)展前景。 第三章 jxta環(huán)境下p2p傳輸環(huán)境的搭建與配置:對(duì)jxta相關(guān)理論的概述,解釋jxta對(duì)p2p環(huán)境的各種類庫(kù)定義及其具體實(shí)現(xiàn),敘述設(shè)計(jì)階段jxta環(huán)境下搭建p2p模型的過(guò)程并從理論方面探討研究jxta中嵌入流媒體數(shù)據(jù)的原理及方法。 第四章 傳輸系統(tǒng)的設(shè)計(jì)及測(cè)試:敘述delphi7環(huán)境

23、下傳輸系統(tǒng)的搭建過(guò)程,并在實(shí)驗(yàn)中進(jìn)行傳輸系統(tǒng)的測(cè)試及相關(guān)數(shù)據(jù)報(bào)告。 第五章 流媒體傳輸模塊在p2p系統(tǒng)中的應(yīng)用:闡述p2p系統(tǒng)中流媒體數(shù)據(jù)傳輸?shù)幕A(chǔ)理論,探討如何將流媒體傳輸模型嵌入p2p傳輸環(huán)境。 第六章 總結(jié):簡(jiǎn)述論文的全部?jī)?nèi)容并做總結(jié)以及后續(xù)工作及該技術(shù)前景展望。2 基于p2p環(huán)境下的文件傳輸技術(shù)概述2.1 p2p傳輸技術(shù)的起源發(fā)展及定義p2p,也稱為對(duì)等計(jì)算或?qū)Φ染W(wǎng)絡(luò)。當(dāng)前對(duì)p2p計(jì)算并沒(méi)有嚴(yán)格的定義,多數(shù)定義突出了p2p模式與c/s模式的主要區(qū)別,即p2p網(wǎng)絡(luò)中無(wú)專門(mén)的服務(wù)器,計(jì)算節(jié)點(diǎn)在功能上是對(duì)等的。傳統(tǒng)的c/s模式在應(yīng)用層是采取集中控制的,由服務(wù)器提供服務(wù)并對(duì)客戶端進(jìn)行控制。p2

24、p網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)在應(yīng)用層是邏輯對(duì)等的,各個(gè)節(jié)點(diǎn)之間可以直接進(jìn)行數(shù)據(jù)通信,不需要通過(guò)中間的服務(wù)器,每個(gè)節(jié)點(diǎn)同時(shí)充當(dāng)其他節(jié)點(diǎn)的服務(wù)器和客戶。通常認(rèn)為p2p和c/s是實(shí)現(xiàn)分布式計(jì)算的兩種不同方式。對(duì)等網(wǎng)絡(luò)(p2p,peer to peer)是一種資源(計(jì)算、存儲(chǔ)、通信與信息等)分布利用與共享的網(wǎng)絡(luò)體系架構(gòu),與目前網(wǎng)絡(luò)中占據(jù)主導(dǎo)地位的客戶機(jī)服務(wù)器(client/server,c/s)體系架構(gòu)相對(duì)應(yīng)。因?yàn)樵缙趥鹘y(tǒng)的客戶端服務(wù)器的網(wǎng)絡(luò)拓?fù)淠P驮谟脩羧遮呍鲩L(zhǎng)的發(fā)展趨勢(shì)下,逐漸達(dá)到帶寬極限。不足以勝任過(guò)多用戶請(qǐng)求資源的現(xiàn)狀。因此一種新的網(wǎng)絡(luò)拓?fù)淠P蛻?yīng)運(yùn)而生,即p2p傳輸技術(shù)。p2p技術(shù)存在三種結(jié)構(gòu)模式的體系結(jié)

25、構(gòu),即以napster為代表的集中目錄式結(jié)構(gòu)、以gnutella為代表的純p2p網(wǎng)絡(luò)結(jié)構(gòu)和混合式p2p網(wǎng)絡(luò)結(jié)構(gòu)。從p2p技術(shù)的分代來(lái)說(shuō),到目前為止的p2p技術(shù)可分為四代:第一代p2p(中央控制網(wǎng)絡(luò)體系結(jié)構(gòu)),第二代p2p(分散分布網(wǎng)絡(luò)體系結(jié)構(gòu)),第三代 p2p9(混合網(wǎng)絡(luò)體系結(jié)構(gòu)),第四代p2p(目前發(fā)展中p2p技術(shù))。p2p正式步入發(fā)展的歷史可以追溯到1997年7月,那幾乎就是互聯(lián)網(wǎng)在中國(guó)起步的階段。在一段介紹此時(shí)p2p技術(shù)的時(shí)間表中這樣寫(xiě)著:“hotline communications is founded, giving consumers software that lets the

26、m offer files for download from their own computers.”(1997年7月,hotline communications公司成立,并且研制了一種可以使其用戶從別人電腦中直接下載東西的軟件)?;蛟S有人還記得,早在1998年,美國(guó)東北波士頓大學(xué)的一年級(jí)新生、18歲的肖恩.范寧為了能夠解決他的室友的一個(gè)問(wèn)題如何在網(wǎng)上找到音樂(lè)而編寫(xiě)的一個(gè)簡(jiǎn)單的程序,這個(gè)程序能夠搜索音樂(lè)文件并提供檢索,把所有的音樂(lè)文件地址存放在一個(gè)集中的服務(wù)器中,這樣使用者就能夠方便地過(guò)濾上百的地址而找到自己需要的mp3文件。到了1999年,令他們沒(méi)有想到的是,這個(gè)叫做napster的程

27、序成為了人們爭(zhēng)相轉(zhuǎn)告的“殺手程序”它令無(wú)數(shù)散布在互聯(lián)網(wǎng)上的音樂(lè)愛(ài)好者美夢(mèng)成真,無(wú)數(shù)人在一夜之內(nèi)開(kāi)始使用napster。在最高峰時(shí)napster網(wǎng)絡(luò)有8000萬(wàn)的注冊(cè)用戶,這是一個(gè)讓其他所有網(wǎng)絡(luò)望塵莫及的數(shù)字。這大概可以作為p2p軟件成功進(jìn)入人們生活的一個(gè)標(biāo)志。時(shí)間表中這樣記錄著這一段歷史:january 1999:shawn fanning, 18, creates the napster application and service while a freshman at northeastern university.(1999年1月,18歲的美國(guó)東北波士頓大學(xué)的一年級(jí)新生肖恩.范寧開(kāi)始

28、了napster程序的服務(wù)。)may 1999:napster inc. is founded.(1999年5月,napster公司宣告成立。)之所以我們注重開(kāi)端,是因?yàn)檫@是一個(gè)非同意義上的起始,也正是從這天起,p2p開(kāi)始了它曲折但極富生命力的發(fā)展。到了2000年,p2p技術(shù)的發(fā)展就得使用月甚至日來(lái)記載了。直到現(xiàn)在使用p2p技術(shù)的軟件比比皆是,人們也在不知不覺(jué)中感受到了p2p作為高科技發(fā)展載體的快樂(lè)。平常我們使用的qq 、msn就不提了,其他軟件更是鋪天蓋地,讓人目不暇接。2.2 p2p傳輸技術(shù)的基礎(chǔ)及原理現(xiàn)今最普遍的分布計(jì)算模型是客戶/服務(wù)器(client/server, c/s)模型。在客

29、戶/服務(wù)器體系中,客戶請(qǐng)求服務(wù),服務(wù)器提供服務(wù)。在當(dāng)今的internet上,存在大量的服務(wù)器-web服務(wù)器,郵件服務(wù)器,ftp服務(wù)器等等??蛻?服務(wù)器體系是中央化體系的一個(gè)例子,整個(gè)的網(wǎng)絡(luò)都依靠中央的節(jié)點(diǎn)和命名的服務(wù)器來(lái)提供服務(wù)。如果沒(méi)有服務(wù)器,網(wǎng)絡(luò)將是毫無(wú)意義的;如果沒(méi)有它們,web瀏覽器如何工作?不論客戶端或者瀏覽器的數(shù)目有多少,網(wǎng)絡(luò)只能在服務(wù)器存在的前提下才有意義。和客戶/服務(wù)器體系相似,p2p也是一個(gè)分布的計(jì)算模型,但是有一個(gè)很大的不同,p2p是一個(gè)非中央化的體系,在網(wǎng)絡(luò)中并沒(méi)有客戶或者服務(wù)器的狀態(tài)區(qū)分。網(wǎng)絡(luò)中的每個(gè)實(shí)體都是同等的,有著同樣的狀態(tài),這意味著一個(gè)實(shí)體可以請(qǐng)求一個(gè)服務(wù)(客戶

30、端的特性)或者提供一個(gè)服務(wù)(服務(wù)器的特性)。雖然每個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中有著同等的狀態(tài),不過(guò)它們并不要求都有著同樣的物理性能。一個(gè)p2p網(wǎng)絡(luò)可以包含有不同性能的節(jié)點(diǎn),由移動(dòng)設(shè)備到大型機(jī)。對(duì)于一個(gè)移動(dòng)設(shè)備來(lái)說(shuō),可能由于自身的限制,不能作為服務(wù)器,但從網(wǎng)絡(luò)方面來(lái)說(shuō),并沒(méi)有這個(gè)限制。在客戶/服務(wù)器網(wǎng)絡(luò)中,當(dāng)網(wǎng)絡(luò)增大時(shí)(即越來(lái)越多的客戶加入),中央服務(wù)器的壓力就越大。當(dāng)加多一個(gè)客戶,中央節(jié)點(diǎn)的性能就會(huì)弱化;而它的失效將會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓。對(duì)于p2p網(wǎng)絡(luò)來(lái)說(shuō),情況就完全不一樣了。由于網(wǎng)絡(luò)中的每個(gè)實(shí)體(或者節(jié)點(diǎn))都是積極的參與者,每個(gè)節(jié)點(diǎn)都會(huì)為網(wǎng)絡(luò)提供一些資源,例如存儲(chǔ)空間或者cpu。當(dāng)越來(lái)越多的節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí)

31、,網(wǎng)絡(luò)的性能將會(huì)增長(zhǎng)。因此,當(dāng)網(wǎng)絡(luò)增大時(shí),它的性能也會(huì)增強(qiáng)。我們將不會(huì)碰到客戶/服務(wù)器體系中的擴(kuò)展問(wèn)題。p2p網(wǎng)絡(luò)和客戶/服務(wù)器模型還有一個(gè)很大的不同點(diǎn)是:即使只有一個(gè)節(jié)點(diǎn)是活躍的,p2p網(wǎng)絡(luò)也被認(rèn)為是活躍的。只有在沒(méi)有任何節(jié)點(diǎn)時(shí),p2p網(wǎng)絡(luò)才是不可用的。目前,internet的存儲(chǔ)模式是“內(nèi)容位于中心”,無(wú)論以(b/s,browser/ server)或是(c/s,client/server)結(jié)構(gòu)呈現(xiàn)的應(yīng)用,都必須在網(wǎng)絡(luò)內(nèi)設(shè)置一個(gè)服務(wù)器,所有的信息通過(guò)服務(wù)器傳遞給請(qǐng)求訪問(wèn)的客戶端。信息先集中上傳到服務(wù)器保存,然后再分別下載,或是信息經(jīng)過(guò)服務(wù)器上的軟件處理后才在網(wǎng)絡(luò)上傳遞。p2p的運(yùn)用將使in

32、ternet上的內(nèi)容向邊緣移動(dòng),p2p技術(shù)是一種用于不同pc用戶之間,不經(jīng)過(guò)中繼設(shè)備直接交換數(shù)據(jù)或服務(wù)的技術(shù)。p2p打破了傳統(tǒng)的client/server模式。在p2p模式中,每個(gè)節(jié)點(diǎn)的地位都是相同的,具備客戶端和服務(wù)器雙重特性,可以同時(shí)作為服務(wù)使用者和服務(wù)提供者。 p2p的運(yùn)用在互聯(lián)網(wǎng)信息極大豐富的現(xiàn)在,其好處是顯而易見(jiàn)的。首先,p2p提供機(jī)會(huì)利用大量閑置資源,這些閑置資源包括給定節(jié)點(diǎn)設(shè)備的cpu處理能力,磁盤(pán)空間以及常駐在計(jì)算機(jī)內(nèi)的文件內(nèi)容。其次p2p可以解決大量客戶端訪問(wèn)服務(wù)器同一數(shù)據(jù)造成的網(wǎng)路擁堵、服務(wù)器負(fù)載過(guò)大等瓶頸問(wèn)題,通過(guò)算法設(shè)計(jì)和網(wǎng)絡(luò)拓?fù)錁?gòu)建,p2p可以均衡網(wǎng)絡(luò)負(fù)載,有效地分配

33、轉(zhuǎn)發(fā)數(shù)據(jù)。此外,p2p可以削弱因單個(gè)節(jié)點(diǎn)失效對(duì)全局的影響,因?yàn)楣?jié)點(diǎn)的對(duì)等性,每個(gè)節(jié)點(diǎn)都可以承擔(dān)服務(wù)提供者的功能。2.3 p2p環(huán)境下流媒體傳輸模型及原理流媒體是指在數(shù)據(jù)網(wǎng)絡(luò)上按時(shí)間先后次序傳輸和播放的連續(xù)音、視頻數(shù)據(jù)流。流媒體數(shù)據(jù)流具有3個(gè)特點(diǎn):連續(xù)性、實(shí)時(shí)性、時(shí)序性,即其數(shù)據(jù)流具有嚴(yán)格的前后時(shí)序關(guān)系。由于流媒體的這些特點(diǎn),它已經(jīng)成為在互聯(lián)網(wǎng)上實(shí)時(shí)傳輸音、視頻的主要方式。本質(zhì)上,流媒體技術(shù)是一種在數(shù)據(jù)網(wǎng)絡(luò)上傳遞多媒體信息的技術(shù)。目前數(shù)據(jù)網(wǎng)絡(luò)具有無(wú)連接、無(wú)確定路徑、無(wú)質(zhì)量保證的特點(diǎn),給多媒體實(shí)時(shí)數(shù)據(jù)在數(shù)據(jù)網(wǎng)絡(luò)上的傳輸帶來(lái)了極大的困難,流媒體技術(shù)的主要目標(biāo)就是:通過(guò)一定的技術(shù)手段實(shí)現(xiàn)在數(shù)據(jù)網(wǎng)絡(luò)上有

34、效地傳遞多媒體信息流。傳統(tǒng)的流媒體服務(wù)大都是客戶/服務(wù)器(c/s)模式,即用戶從流媒體服務(wù)器點(diǎn)擊觀看節(jié)目,然后流媒體服務(wù)器以單播方式把媒體流發(fā)送給用戶。當(dāng)流媒體業(yè)務(wù)發(fā)展到一定階段后,用戶總數(shù)大幅度增加,這種c/s模式加單播方式來(lái)推送媒體流的缺陷便明顯地顯現(xiàn)出來(lái)(如流媒體服務(wù)器帶寬占用大、流媒體服務(wù)器處理能力要求高等),帶寬、服務(wù)器等常常成為系統(tǒng)瓶頸,系統(tǒng)的可擴(kuò)展性差。近年來(lái),人們把p2p技術(shù)引入到流媒體傳輸中而形成了p2p流媒體技術(shù),該方法有兩方面的優(yōu)點(diǎn)。首先,這種技術(shù)并不需要互聯(lián)網(wǎng)路由器和網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持,因此性價(jià)比高且易于部署;第二,在這種技術(shù)中,流媒體用戶不只是下載媒體流,而且還把媒體

35、流上載給其他用戶,因此,這種方法可以擴(kuò)大用戶組的規(guī)模,且更多的需求也帶來(lái)了更多的資源。p2p流媒體系統(tǒng)按照其播送方式可分為直播系統(tǒng)和點(diǎn)播系統(tǒng),此外近期還出現(xiàn)了一些既可以提供直播服務(wù)也可以提供點(diǎn)播服務(wù)的p2p流媒體系統(tǒng)。(1)直播:在流媒體直播服務(wù)中,用戶只能按照節(jié)目列表收看當(dāng)前正在播放的節(jié)目。在直播領(lǐng)域,交互性較少,技術(shù)實(shí)現(xiàn)相對(duì)簡(jiǎn)單,因此p2p技術(shù)在直播服務(wù)中發(fā)展迅速。2004年,香港科技大學(xué)開(kāi)發(fā)的coolstreaming原型系統(tǒng)將高可擴(kuò)展和高可靠性的網(wǎng)狀多播協(xié)議應(yīng)用在p2p直播系統(tǒng)當(dāng)中,被譽(yù)為流媒體直播方面的里程碑,后期出現(xiàn)的pplive和ppstream等系統(tǒng)都沿用了其網(wǎng)狀多播模式。p2

36、p直播是最能體現(xiàn)p2p價(jià)值的表現(xiàn),用戶觀看同一個(gè)節(jié)目,內(nèi)容趨同,因此可以充分利用p2p的傳遞能力,理論上,在上/下行帶寬對(duì)等的基礎(chǔ)上,在線用戶數(shù)可以無(wú)限擴(kuò)展。(2)點(diǎn)播:與直播領(lǐng)域相對(duì)應(yīng),在p2p流媒體點(diǎn)播服務(wù)中,用戶可以選擇節(jié)目列表中的任意節(jié)目觀看。在點(diǎn)播領(lǐng)域,p2p技術(shù)的發(fā)展速度相對(duì)緩慢,一方面是因?yàn)辄c(diǎn)播當(dāng)中的高度交互性實(shí)現(xiàn)的復(fù)雜程度較高;另一方面是節(jié)目源版權(quán)因素對(duì)p2p點(diǎn)播技術(shù)的阻礙。目前,p2p的點(diǎn)播技術(shù)主要朝著適用于點(diǎn)播的應(yīng)用層傳輸協(xié)議技術(shù)、底層編碼技術(shù)、以及數(shù)字版權(quán)技術(shù)等方面發(fā)展。與p2p流媒體直播不同,p2p流媒體點(diǎn)播終端必須擁有硬盤(pán),其成本高于直播終端。目前p2p點(diǎn)播系統(tǒng)還需在

37、技術(shù)上進(jìn)一步探索,期望大規(guī)模分布式數(shù)字版權(quán)保護(hù)(drm)系統(tǒng)的研究,以及底層編碼技術(shù)的發(fā)展能為p2p點(diǎn)播系統(tǒng)的實(shí)施鋪平道路。p2p流媒體系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)目前存在很多p2p流媒體的研究成果及實(shí)際系統(tǒng),它們?cè)谄涓采w網(wǎng)絡(luò)的組織結(jié)構(gòu)上可以被大體分成兩大類,即基于樹(shù)(tree-based)的覆蓋網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)驅(qū)動(dòng)隨機(jī)化的覆蓋網(wǎng)絡(luò)結(jié)構(gòu)1) 基于樹(shù)的方法大部分系統(tǒng)都可以歸類為基于樹(shù)的方法。在這種方法中,節(jié)點(diǎn)被組織成某種傳輸數(shù)據(jù)的拓?fù)洌ㄍǔJ菢?shù)),每個(gè)數(shù)據(jù)分組都在同一拓?fù)渖媳粋鬏?。拓?fù)浣Y(jié)構(gòu)上的節(jié)點(diǎn)有明確定義的關(guān)系,例如,樹(shù)結(jié)構(gòu)中的“父節(jié)點(diǎn)-子節(jié)點(diǎn)”關(guān)系。這一方法是典型的推送方法,即:當(dāng)節(jié)點(diǎn)收到數(shù)據(jù)包,它就把該數(shù)據(jù)

38、包的拷貝轉(zhuǎn)發(fā)到它的每一個(gè)子節(jié)點(diǎn)。既然所有的數(shù)據(jù)包都遵循這一結(jié)構(gòu),那么保證這一結(jié)構(gòu)在給所有接受節(jié)點(diǎn)提供高性能時(shí)是最優(yōu)的。更進(jìn)一步,當(dāng)節(jié)點(diǎn)隨意加入和離開(kāi)時(shí),該結(jié)構(gòu)必須得以維持。特別地,如果某節(jié)點(diǎn)突然崩潰或者其性能顯著下降,它在該樹(shù)結(jié)構(gòu)上所有的后代節(jié)點(diǎn)都停止接收數(shù)據(jù),且該樹(shù)結(jié)構(gòu)必須被修復(fù)。最后,當(dāng)組建基于樹(shù)的結(jié)構(gòu)時(shí),避免出現(xiàn)環(huán)是一個(gè)必須要解決的重要問(wèn)題?;跇?shù)的方法可能是最自然的方法,不需要復(fù)雜的視頻編碼算法。然而,其中需要重點(diǎn)考慮的一個(gè)問(wèn)題是節(jié)點(diǎn)失效,特別地,靠近樹(shù)根的節(jié)點(diǎn)失效將中斷大量用戶的數(shù)據(jù)傳輸,潛在地帶來(lái)瞬時(shí)低性能的結(jié)果。此外,在該結(jié)構(gòu)中大多數(shù)節(jié)點(diǎn)都是葉子節(jié)點(diǎn),他們的上行帶寬沒(méi)有被使用到。

39、為了解決這些問(wèn)題,已有研究提出了一些帶有彈性的結(jié)構(gòu),如基于多重樹(shù)的方法。2) 數(shù)據(jù)驅(qū)動(dòng)方法近年來(lái),人們又提出用于p2p的數(shù)據(jù)驅(qū)動(dòng)的方法。數(shù)據(jù)驅(qū)動(dòng)的覆蓋網(wǎng)絡(luò)與基于樹(shù)結(jié)構(gòu)的最大不同在于它不組建和維護(hù)一個(gè)傳輸數(shù)據(jù)的明顯拓?fù)浣Y(jié)構(gòu),它用數(shù)據(jù)的可用性去引導(dǎo)數(shù)據(jù)流,而并不是在高度動(dòng)態(tài)的p2p環(huán)境下不斷地修復(fù)拓?fù)浣Y(jié)構(gòu)。一個(gè)不用明確維護(hù)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)分發(fā)方法是使用gossip協(xié)議。在典型的gossip協(xié)議中,節(jié)點(diǎn)給一組隨機(jī)選擇的節(jié)點(diǎn)發(fā)送最近生成的消息;這些節(jié)點(diǎn)在下一次做同樣的動(dòng)作,其他節(jié)點(diǎn)也做同樣的動(dòng)作,直到該消息傳送到所有節(jié)點(diǎn)。對(duì)gossip目標(biāo)節(jié)點(diǎn)進(jìn)行隨機(jī)選擇可以在存在隨機(jī)失效的情況下使系統(tǒng)獲得較好的健壯性

40、,另外還可以避免中心化操作。然而,gossip不能直接用作視頻廣播,因?yàn)槠潆S機(jī)推送可能導(dǎo)致高帶寬視頻的大量冗余。此外,在沒(méi)有明確的拓?fù)浣Y(jié)構(gòu)支持下,最小化啟動(dòng)和傳輸時(shí)延成為主要問(wèn)題。為了解決這些問(wèn)題,一些解決方案,例如chainsaw、cool-streaming采用拉取技術(shù),即:節(jié)點(diǎn)維持一組伙伴并周期性地同伙伴交換數(shù)據(jù)可用性信息,接著節(jié)點(diǎn)可以從一個(gè)或多個(gè)伙伴找回沒(méi)有獲得的數(shù)據(jù),或者提供可用數(shù)據(jù)給伙伴。由于節(jié)點(diǎn)只在沒(méi)有數(shù)據(jù)時(shí)去主動(dòng)獲取,所以避免了冗余。此外,由于任一數(shù)據(jù)塊可能在多個(gè)伙伴上可用,所以覆蓋網(wǎng)絡(luò)對(duì)時(shí)效是健壯的。最后,隨機(jī)化的伙伴關(guān)系意味著節(jié)點(diǎn)間的潛在的可用帶寬可以被完全利用。2.4 p

41、2p系統(tǒng)與傳統(tǒng)c/s系統(tǒng)的比較目前最流行的網(wǎng)絡(luò)計(jì)算模式是c/s模式,c/s結(jié)構(gòu)具有如下特點(diǎn): 1)集中計(jì)算方式,信息和數(shù)據(jù)都保存在服務(wù)器端。只有服務(wù)器端具有控制能力,客戶端基本上只是一個(gè)高性能的i/o設(shè)備。 2)服務(wù)器及網(wǎng)絡(luò)的帶寬決定了網(wǎng)絡(luò)的性能。每臺(tái)服務(wù)器所能提供的作息數(shù)量受到自身存儲(chǔ)空間的限制,而任意時(shí)刻它所能支持的客戶端訪問(wèn)數(shù)量則既受到自身處理能力的限制也受到服務(wù)器所在網(wǎng)絡(luò)吞吐能力的限制。 3)url用來(lái)表示信息資源的地址,但是url很少能直接體現(xiàn)所定位的信息的內(nèi)容,甚至不能直接鏈接到具體的內(nèi)容上。 4)被發(fā)布信息的分布與生存期十分穩(wěn)定。服務(wù)器只發(fā)布機(jī)器所有者想公之于眾的信息,這些信息將

42、會(huì)在該服務(wù)器上穩(wěn)定地保存一段時(shí)間,并且該服務(wù)器通常也不間斷地運(yùn)行在網(wǎng)絡(luò)上。 5)被發(fā)布信息的存貯與管理比較集中、規(guī)范?;ヂ?lián)網(wǎng)上所有可以公開(kāi)訪問(wèn)的信息基本上都保存在服務(wù)器上,服務(wù)器根據(jù)適當(dāng)?shù)乃惴ê鸵?guī)則管理本地信息,應(yīng)答客戶端的訪問(wèn)請(qǐng)求或進(jìn)行計(jì)算。p2p模式是非中心結(jié)構(gòu),它與c/s模式有明顯的差別: 1)每一個(gè)對(duì)等點(diǎn)具有相同的地位,既可以請(qǐng)求服務(wù)也可以提供服務(wù),同時(shí)扮演著c/s模式中的服務(wù)器和客戶端兩個(gè)角色,還可以具有路由器和高速緩沖存儲(chǔ)器的功能,從而弱化了服務(wù)器的功能,甚至取消了服務(wù)器。 2)p2p技術(shù)可以使得非互連網(wǎng)絡(luò)用戶很容易地加入到系統(tǒng)中。在p2p的計(jì)算環(huán)境中任何設(shè)備一從大型機(jī)到移動(dòng)電話,

43、甚至是傳呼機(jī),均可以在任何地點(diǎn)方便地加入進(jìn)來(lái)。p2p技術(shù)不僅可以應(yīng)用于目前有線的互聯(lián)網(wǎng)絡(luò),同時(shí)該技術(shù)還可以應(yīng)用于無(wú)線計(jì)算技術(shù)。 3)在p2p模式的網(wǎng)絡(luò)中,每一個(gè)對(duì)等體可以充分利用網(wǎng)絡(luò)上其他對(duì)等體的信息資源、處理器周期、高速緩存和磁盤(pán)空間。 4)p2p是基于內(nèi)容的尋址方式,這里的內(nèi)容不僅包括信息的內(nèi)容,還包括空閑機(jī)時(shí)、存儲(chǔ)空間等。p2p網(wǎng)絡(luò)中,用戶直接輸入要索取的信息的內(nèi)容,而不是信息的地址,p2p軟件將會(huì)把用戶的請(qǐng)求翻譯成包含此信息的節(jié)點(diǎn)的實(shí)際地址,而這個(gè)地址對(duì)用戶來(lái)說(shuō)是透明的,p2p中的每一個(gè)對(duì)等體通常沒(méi)有固定的ip地址,并且可常常從網(wǎng)絡(luò)上斷開(kāi)。 5)信息的存儲(chǔ)及發(fā)布具有隨意性,缺乏集中管理

44、。與傳統(tǒng)的使用用戶服務(wù)技術(shù)的網(wǎng)絡(luò)系統(tǒng)相比,p2p(peer-to-peer)技術(shù)更像是一個(gè)“全部開(kāi)放”的網(wǎng)絡(luò)系統(tǒng)。個(gè)人用戶可以直接進(jìn)行相互連接,而不需要通過(guò)一個(gè)又計(jì)算機(jī)控制的中央服務(wù)器。所謂的中央服務(wù)器在一個(gè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)系統(tǒng)中的作用就像一個(gè)看門(mén)狗一樣,保證網(wǎng)絡(luò)入口的安全,其方式就是通過(guò)對(duì)用戶身份進(jìn)行驗(yàn)證,并且阻攔住惡意的進(jìn)入。但是在p2p系統(tǒng)中則完全不是這種情況。p2p系統(tǒng)并不像一般人認(rèn)為的那樣,只是有更多的用戶在網(wǎng)絡(luò)上分享音樂(lè),視頻或者游戲等服務(wù)。它還包括了instant messaging (im)以及進(jìn)行系統(tǒng)設(shè)計(jì)。不過(guò),一切都要以兩大根本問(wèn)為開(kāi)始的前提,那就是保密性與驗(yàn)證性。網(wǎng)絡(luò)的驗(yàn)證性要

45、求必須建立只為可信的用戶建立連接的系統(tǒng),如果希望多個(gè)用戶能夠?qū)崿F(xiàn)自由的交流,并且不通過(guò)中央驗(yàn)證服務(wù)器,那么,系統(tǒng)就必須建立一種在交流過(guò)程中兩個(gè)用戶之間可以直接進(jìn)行互相認(rèn)證的方式。這可以通過(guò)發(fā)放授權(quán)書(shū)以及關(guān)鍵交換實(shí)現(xiàn)。保密性可以通過(guò)互相驗(yàn)證后的用戶的點(diǎn)對(duì)點(diǎn)直接加密而實(shí)現(xiàn)。在這種情況下,關(guān)鍵交換以及共同的編碼協(xié)議都能夠起到作用,就像ssl的工作原理一樣。因?yàn)閜2p網(wǎng)絡(luò)含有不同的復(fù)雜的用戶,這就會(huì)出現(xiàn)通路堵塞的情況,系統(tǒng)就會(huì)出現(xiàn)可用性的問(wèn)題,有一些的p2p就無(wú)法處理其增加的超量的用戶和服務(wù)。最后,p2p網(wǎng)絡(luò)對(duì)于惡意軟件也有弱點(diǎn),并且很可能造成大范圍的在用戶間的病毒傳播。因此,系統(tǒng)必須被很小心的監(jiān)控,

46、防止有安全危險(xiǎn)的數(shù)據(jù)從外面的網(wǎng)絡(luò)進(jìn)入。同時(shí),還應(yīng)當(dāng)制定使用條例,用來(lái)控制網(wǎng)絡(luò)間傳輸?shù)奈募念愋秃玩溄? jxta環(huán)境下p2p傳輸環(huán)境的搭建與配置3.1 jxta概述jxta是juxtapose (并列)的縮寫(xiě)。jxta技術(shù)是網(wǎng)絡(luò)編程和計(jì)算的平臺(tái),用以解決現(xiàn)代分布計(jì)算尤其是點(diǎn)對(duì)點(diǎn)(p2p)計(jì)算中出現(xiàn)的問(wèn)題。jxta研究項(xiàng)目,將提供使用戶更便捷地訪問(wèn)連接在互聯(lián)網(wǎng)上的個(gè)人電腦資源的新框架,從而進(jìn)一步拓展互聯(lián)網(wǎng)的空間。同時(shí)jxta也是sun的one互聯(lián)網(wǎng)戰(zhàn)略的延續(xù),并且將更積極的姿態(tài)與microsoft的.net戰(zhàn)略和hailstorm計(jì)劃一爭(zhēng)高低。目前jxta首先推出了基于java的參考實(shí)現(xiàn),提供了

47、支持六個(gè)協(xié)議的java api.。jxta還將推出包括c語(yǔ)言在內(nèi)的其他編程語(yǔ)言的api,jxta在設(shè)計(jì)時(shí)有如下幾個(gè)目標(biāo): 操作系統(tǒng)無(wú)關(guān);語(yǔ)言無(wú)關(guān) ;為p2p應(yīng)用提供服務(wù)和基礎(chǔ)。從本質(zhì)上講,jxta的目標(biāo)是希望在任何設(shè)備,從臺(tái)式機(jī)到pda、汽車(chē)、洗衣機(jī)等設(shè)備都可以支持p2p編程,如圖3-1。圖3-1 jxta的解決方案3.2 jxta環(huán)境中p2p原理的實(shí)現(xiàn)及協(xié)議的定義p2p的發(fā)展可以被劃分為三代:第一代是以napster為代表的、還用中央服務(wù)器管理的p2p,這一代的p2p生命力十分脆弱只要關(guān)閉服務(wù)器,網(wǎng)絡(luò)就死了;第二代分布式p2p沒(méi)有中央服務(wù)器,但是速度太慢;而第三代為混合型,采用分布服務(wù)器。目

48、前我國(guó)流行的bittorrent和emule就是屬于這類。jxta的一個(gè)目的是尋找一套數(shù)量最少、概念最簡(jiǎn)單的系統(tǒng)構(gòu)成的積木。如果成功,這幾塊積木就會(huì)是今后大家構(gòu)架信息系統(tǒng)的基本模塊,從而幫助人們擺脫像windows或tcp/ip這樣的傳統(tǒng)軟件帶來(lái)的包袱。jxta,它是由一系列網(wǎng)絡(luò)協(xié)議構(gòu)成的,用任何語(yǔ)言都可以實(shí)現(xiàn),并不只限于java,只有徹底獨(dú)立于操作系統(tǒng)、網(wǎng)絡(luò)傳輸技術(shù)以及程序設(shè)計(jì)語(yǔ)言,才能真正達(dá)到了跨平臺(tái),這樣的技術(shù),也最容易受到業(yè)界的認(rèn)同。jxta技術(shù)提供了基礎(chǔ)性的機(jī)制解決當(dāng)前分布計(jì)算應(yīng)用中面臨的問(wèn)題,實(shí)現(xiàn)新一代統(tǒng)一、安全、互操作以及異構(gòu)的應(yīng)用。目前它支持基于java技術(shù)的平臺(tái)和系統(tǒng)。而將來(lái)

49、jatx技術(shù)將不受到內(nèi)存的限制而支持更多小型移動(dòng)設(shè)備。jxta通過(guò)java技術(shù)和xml數(shù)據(jù)表達(dá)的結(jié)合,提供了強(qiáng)大的功能使得垂直應(yīng)用得以交互,并且可以克服目前p2p軟件中的限制。同時(shí),通過(guò)小型、簡(jiǎn)單、便于開(kāi)發(fā)的構(gòu)造模塊,jxta將使開(kāi)發(fā)者從建立各自框架的復(fù)雜工作得以解放,可以潛心關(guān)注于建設(shè)各類新穎、創(chuàng)造性的、分布式計(jì)算應(yīng)用。有六個(gè)協(xié)議構(gòu)成了jxta的核心,jxta通過(guò)這六個(gè)協(xié)議來(lái)完成peer之間的通信,彼此之間的資源的發(fā)布和發(fā)現(xiàn),信息的傳遞和路由,協(xié)議本身并不是應(yīng)用程序,需要添加更多的代碼來(lái)開(kāi)發(fā)有用的應(yīng)用,協(xié)議隱藏了很多細(xì)節(jié),這樣使得編寫(xiě)jxta應(yīng)用程序比從空白開(kāi)發(fā)p2p應(yīng)用要容易得多。1)對(duì)等

50、機(jī)發(fā)現(xiàn)協(xié)議peer discovery protocol(pdp):主要用來(lái)發(fā)布自己的廣告信息,并且從其他peer處獲得廣告。pdp允許一個(gè)peer發(fā)現(xiàn)其他peer的廣告(包括peer廣告、對(duì)等組廣告、服務(wù)廣告,或者是管道廣告)。該協(xié)議通過(guò)指定一種廣告類型(如peer、對(duì)等組)、一個(gè)xml標(biāo)簽名、一個(gè)匹配這個(gè)xml標(biāo)簽所表示數(shù)據(jù)的字符串來(lái)定義查詢。它使用peer resolver protocol來(lái)發(fā)送和傳播搜索廣告的請(qǐng)求。2)管道綁定協(xié)議pipe binding protocol(pbp):允許peer之間建立虛擬的通信通道。該協(xié)議首要關(guān)注的是通過(guò)peer端點(diǎn)路由協(xié)議提供的路由連接peer。

51、它使用peer resolver protocol來(lái)發(fā)送和傳播搜索廣告的請(qǐng)求。 3)對(duì)等機(jī)信息協(xié)議peer information protocol(pip):用來(lái)獲得其他peer的狀態(tài)信息,包括更新時(shí)間、狀態(tài)等等。該協(xié)議有時(shí)被用做ping命令,有時(shí)被用來(lái)獲得一個(gè)peer的基本狀態(tài)信息,pip消息的正文是自由格式的,它允許詢問(wèn)特定的peer信息。此外,這種能力可以被擴(kuò)展以提供控制能力,它使用peer resolver protocol來(lái)發(fā)送和傳播搜索廣告的請(qǐng)求。4)對(duì)等機(jī)解析協(xié)議peer resolver protocol(prp):允許peer發(fā)送更一般的請(qǐng)求,并可以接收到該請(qǐng)求的回應(yīng);同時(shí)

52、可以將請(qǐng)求分發(fā)到組內(nèi)的一個(gè)或者多個(gè)匹配的處理器,peer解析協(xié)議是一個(gè)基礎(chǔ)通信協(xié)議,它按照一種請(qǐng)求/響應(yīng)格式來(lái)進(jìn)行,要使用這個(gè)協(xié)議,需要提供一個(gè)查詢的peer和一個(gè)包含能被目標(biāo)peer理解的xml請(qǐng)求消息,該協(xié)議被用來(lái)支持jxta中的其他協(xié)議(pdp、pbp和pip),而且允許傳播查詢,例如,如果一個(gè)peer收到一個(gè)查詢并且不知道答案,解析協(xié)議就會(huì)將該查詢發(fā)送給別的peer。5)端點(diǎn)路由協(xié)議peer endpoint protocol(pep):通過(guò)該協(xié)議peer以發(fā)送消息的形式獲得一條路由路徑。它使用peer間的網(wǎng)關(guān)來(lái)建立一條包含一個(gè)或多個(gè)適合建立管道的管道協(xié)議組成的通路。管道綁定協(xié)議借助此

53、peer列表來(lái)建立peer間的路由。一般情況下傳統(tǒng)的路由器和dns服務(wù)器會(huì)因?yàn)榉阑饓?、代理服?wù)器和nat設(shè)備等原因而無(wú)法建立連接,而端點(diǎn)路由協(xié)議通過(guò)尋找網(wǎng)關(guān)來(lái)穿越諸如防火墻等障礙來(lái)建立連接。端點(diǎn)路由協(xié)議還可以同時(shí)幫助相互不支持對(duì)方使用協(xié)議的peer進(jìn)行通信。例如,如果你連接支持tcp的peer-a和只支持http的peer-b,端點(diǎn)路由協(xié)議既可以選擇一個(gè)可以支持此傳輸?shù)木W(wǎng)關(guān),又可以選擇多個(gè)并且相互協(xié)議兼容的一組網(wǎng)關(guān)。6)集合點(diǎn)協(xié)議rendezvous protocol(rvp):通過(guò)該協(xié)議peer可以對(duì)一個(gè)服務(wù)訂閱或者被訂閱。集合點(diǎn)協(xié)議負(fù)責(zé)在jxta對(duì)等組內(nèi)傳播消息,它為peer在組內(nèi)接收和發(fā)

54、送消息并且控制消息如何傳播定義了一個(gè)基本的協(xié)議。從編寫(xiě)p2p應(yīng)用程序的角度而言,可以簡(jiǎn)單地劃分上述協(xié)議的主要用途:peer discovery - 搜索資源 peer resolver - 一般查詢服務(wù) peer information - 監(jiān)控 pipe binding - 可尋址的消息傳遞 rendezvous - 消息傳播 peer endpoint -路由 3.3 jxta環(huán)境下p2p傳輸模型的設(shè)計(jì)jxta環(huán)境下p2p傳輸模型的設(shè)計(jì)開(kāi)發(fā)環(huán)境:eclipse 3.4.2jdk-6u3-windows-i586-pjxse-lib-2.4.1bcprov-jdk14.jarjdom.jarjxtaext.jarlog4j.jarorg.mortbay.jetty.jarswixml.jarjavax.servlet.jarjxta.jar第一步:搭建java開(kāi)發(fā)環(huán)境由于該環(huán)境應(yīng)用jxta開(kāi)發(fā),由于該項(xiàng)目使用java作為參考實(shí)現(xiàn),所以這里我們采用java的編譯環(huán)境進(jìn)行開(kāi)發(fā)。首先安裝jdk,并配置好環(huán)境變量。環(huán)境變量設(shè)置參考classpath.;c:programfilesjavajdk1.6.0_03libt

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論