




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 . PAGE35 / NUMPAGES39畢業(yè)設(shè)計論文多人語音系統(tǒng)中多播樹的設(shè)計與實現(xiàn)摘 要近年來,隨著計算機網(wǎng)絡(luò)和通信技術(shù)的飛速發(fā)展,對網(wǎng)絡(luò)帶寬要求較高的流媒體技術(shù)也迅猛地發(fā)展起來,多人語音系統(tǒng)的研究和應(yīng)用已成為當(dāng)前熱點之一。在傳統(tǒng)的多人語音系統(tǒng)中,通常采取C/S(Client/Server)模式,即用戶從語音服務(wù)器點擊收聽,然后語音服務(wù)器以單播的方式把音頻流推送給用戶。它的弊端在于:1)大量數(shù)據(jù)集中在服務(wù)器上存儲和傳輸,不僅對中央服務(wù)器的帶寬和處理能力要求很高,而且使得多人語音系統(tǒng)嚴(yán)重依賴于中央服務(wù)器,導(dǎo)致系統(tǒng)可擴展性差、可靠性差;2)中央服務(wù)器到與會節(jié)點時延過大且不均衡,造成音頻質(zhì)量不
2、理想和語音包接收滯后等問題。而引入P2P和應(yīng)用層多播技術(shù),作為多人語音系統(tǒng)的支撐技術(shù),則可以突破這些限制,有效地解決上述問題。它通過建立和動態(tài)維護基于P2P的應(yīng)用層多播樹來傳輸音頻數(shù)據(jù),給用戶提供高質(zhì)量的音頻收聽服務(wù)。在深入分析P2P技術(shù)和應(yīng)用層多播技術(shù)后,設(shè)計了應(yīng)用層多播樹的構(gòu)建和動態(tài)維護算法,然后根據(jù)劃分的各功能模塊,在仿真實驗平臺上實現(xiàn)了基于P2P的多人語音系統(tǒng)。測試表明,多人語音系統(tǒng)的功能實現(xiàn)基本達到目標(biāo)。在一般情況下系統(tǒng)能夠向用戶提供較高質(zhì)量的音頻服務(wù),具有良好的可擴展性,但由于均衡負(fù)載的能力不夠,性能的穩(wěn)定性有待提高。關(guān)鍵詞:多人語音; P2P; 應(yīng)用層多播; 多播樹Abstrac
3、tIn recent years, as the rapid development of computer networks and communication technology, high network bandwidth requirements of streaming media technology is also advancing fast, and the research and application of multi-person phonetic system have become one of current hot spots. In traditiona
4、l multi-person phonetic system, usually adopts C/S(Client/Server) pattern, namely the user clicks the pronunciation server to listen, then the pronunciation server gives the audio frequency class to the user by the unicast way. It has several malpractices: 1) Large amounts of data stores and transpo
5、rts on the sever, which not only has a very high request to the central servers band width and the handling ability, also causes the multi-person phonetic system to rely on the central server seriously, and leads to the bad extendibility and reliability of the system; 2) The latency between the cent
6、ral control server and the node is oversized and imbalanced, which causes some problems, such as not ideal of the audio frequency quality, and the lag of the receive of pronunciation package.However,the introduction of P2P and the technology of the application layer broadcasts, as the support techno
7、logy of multi-person phonetic system, can breakthrough those limits, and solve the above problems effectively. It provides the user high grade audio frequency service, which transports audio data through establishing and dynamicly maintaining multicast tree based on P2P application layer. After anal
8、yzing the P2P technology and the technology of the broadcasts of the application layer thoroughly, designing the construction and the dynamic maintenance algorithm of the broadcast tree of the application layer, and then realizing the phonetic system based on the P2P multi-person in the simulation e
9、xperiment platform. The test has indicated that the function of the multi-person phonetic system has achieved. The system can provide the user high quality audio frequency service generally, and has a good extendibility. However, as a result of the insufficience of the balanced load, the stability o
10、f performance waits for enhancing.Keyword:Voice over; P2P; Application Layer Multicast; Multicast tree目錄 TOC o 1-2 h z u HYPERLINK l _Toc295642781摘要 PAGEREF _Toc295642781 h IHYPERLINK l _Toc295642782Abstract PAGEREF _Toc295642782 h IIHYPERLINK l _Toc295642783目錄 PAGEREF _Toc295642783 h IIIHYPERLINK l
11、 _Toc295642784第一章緒論1HYPERLINK l _Toc2956427851.1 研究背景1HYPERLINK l _Toc2956427861.2 國外研究現(xiàn)狀 PAGEREF _Toc295642786 h 2HYPERLINK l _Toc2956427871.3 本文的研究容4HYPERLINK l _Toc2956427881.4 論文的結(jié)構(gòu)4HYPERLINK l _Toc295642789第二章多人語音系統(tǒng)中的關(guān)鍵技術(shù) PAGEREF _Toc295642789 h 5HYPERLINK l _Toc2956427902.1 P2P技術(shù) PAGEREF _Toc2
12、95642790 h 5HYPERLINK l _Toc2956427912.2 應(yīng)用層組播技術(shù) PAGEREF _Toc295642791 h 8HYPERLINK l _Toc2956427922.3 本章小結(jié) PAGEREF _Toc295642792 h 9HYPERLINK l _Toc295642793第三章多人語音系統(tǒng)的設(shè)計 PAGEREF _Toc295642793 h 10HYPERLINK l _Toc2956427943.1 P2P多人語音系統(tǒng)的方案設(shè)計 PAGEREF _Toc295642794 h 10HYPERLINK l _Toc2956427953.2 基于P2
13、P的應(yīng)用層多播樹的算法設(shè)計 PAGEREF _Toc295642795 h 12HYPERLINK l _Toc2956427963.3 本章小結(jié) PAGEREF _Toc295642796 h 18HYPERLINK l _Toc295642797第四章仿真系統(tǒng)設(shè)計與實現(xiàn) PAGEREF _Toc295642797 h 19HYPERLINK l _Toc2956427984.1 仿真實驗平臺的設(shè)計 PAGEREF _Toc295642798 h 19HYPERLINK l _Toc2956427994.2 多人語音仿真系統(tǒng)的功能模塊 PAGEREF _Toc295642799 h 21HY
14、PERLINK l _Toc2956428004.3 網(wǎng)絡(luò)與媒體數(shù)據(jù)傳輸管理模塊 PAGEREF _Toc295642800 h 21HYPERLINK l _Toc2956428014.4 節(jié)點組織與管理模塊 PAGEREF _Toc295642801 h 23HYPERLINK l _Toc2956428024.5 基于“心跳”的通信管理模塊 PAGEREF _Toc295642802 h 26HYPERLINK l _Toc2956428034.6 音頻管理模塊 PAGEREF _Toc295642803 h 26HYPERLINK l _Toc2956428044.7 本章小結(jié) PAG
15、EREF _Toc295642804 h 27HYPERLINK l _Toc295642805第五章仿真實驗 PAGEREF _Toc295642805 h 28HYPERLINK l _Toc2956428065.1 仿真參數(shù)說明 PAGEREF _Toc295642806 h 28HYPERLINK l _Toc2956428075.2 功能仿真 PAGEREF _Toc295642807 h 28HYPERLINK l _Toc2956428085.3 性能仿真 PAGEREF _Toc295642808 h 29HYPERLINK l _Toc2956428095.4 本章小結(jié) PA
16、GEREF _Toc295642809 h 30HYPERLINK l _Toc295642810第六章總結(jié)和展望 PAGEREF _Toc295642810 h 31HYPERLINK l _Toc2956428116.1 總結(jié) PAGEREF _Toc295642811 h 31HYPERLINK l _Toc2956428126.2 展望 PAGEREF _Toc295642812 h 31HYPERLINK l _Toc295642813致 PAGEREF _Toc295642813 h 33HYPERLINK l _Toc295642814參考文獻 PAGEREF _Toc29564
17、2814 h 34第一章 緒論1.1 研究背景計算機網(wǎng)絡(luò)和通信技術(shù)的飛速發(fā)展,深刻地改變了人們的工作、生活和思維方式。隨著計算機處理能力的日益增強和寬帶網(wǎng)絡(luò)的逐漸普與,人們希望互聯(lián)網(wǎng)不僅僅只提供網(wǎng)頁瀏覽、文件下載等簡單業(yè)務(wù),并且能提供“邊下載邊觀看音視頻”的多媒體服務(wù),這種“邊下載邊播放的應(yīng)用就是大家所熟悉的流媒體應(yīng)用。多人語音系統(tǒng)正是網(wǎng)絡(luò)流媒體系統(tǒng)的一種,應(yīng)用于大規(guī)模網(wǎng)絡(luò)中,給用戶提供高質(zhì)量的音頻收聽服務(wù)。系統(tǒng)的關(guān)鍵在于流媒體直播技術(shù)的實現(xiàn)。流媒體直播不僅數(shù)據(jù)量大,需要巨大的存儲空間,而且對網(wǎng)絡(luò)傳輸?shù)膶崟r性要求比較高。因此,隨著客戶數(shù)目的快速增長,在傳統(tǒng)的C/S(Client/Server)
18、模式下,服務(wù)器端的資源很快被耗盡,成為系統(tǒng)服務(wù)能力的瓶頸所在,同時用戶的服務(wù)質(zhì)量也難以得到保證。面對日益增長的用戶數(shù)量,如何構(gòu)建具有可擴展能力的流媒體服務(wù)系統(tǒng)成為亟待解決的問題。近年來,對等網(wǎng)絡(luò)(P2P)的研究在對等計算、資源共享、應(yīng)用層組播等方面得到了廣泛的關(guān)注,P2P技術(shù)得到快速的發(fā)展。P2P節(jié)點之間關(guān)系是平等的、直接聯(lián)系的。和傳統(tǒng)的C/S模式不同,如圖1.1所示,每臺主機可以直接連接到其它主機進行數(shù)據(jù)交換,而不需要通過連接到中間服務(wù)器。基于P2P模式的流媒體系統(tǒng)利用了P2P網(wǎng)絡(luò)的優(yōu)點,用戶相互共享彼此擁有的流媒體資源,既是播放者,又是流媒體資源提供者,共同參與系統(tǒng)的服務(wù),整個系統(tǒng)的服務(wù)能
19、力隨著用戶數(shù)量的增加而增加。peer之間相互協(xié)作,并為其他peer提供服務(wù),將服務(wù)器的負(fù)載分散到peer中,從而有效地減輕了服務(wù)器的負(fù)載和減少了網(wǎng)絡(luò)帶寬的消耗,極提高了系統(tǒng)的可擴展性?;赑2P技術(shù)的流媒體系統(tǒng)的可擴展能力,為構(gòu)建大規(guī)模流媒體傳輸系統(tǒng)提供了一種低成本且有效的解決方案。中心服務(wù)器客戶端客戶端客戶端傳統(tǒng)C/S模式客戶端客戶端客戶端客戶端客戶端P2P網(wǎng)絡(luò)工作模式圖1.1 傳統(tǒng)C/S模式與P2P網(wǎng)絡(luò)工作模式的比較而在當(dāng)前較流行的基于P2P的網(wǎng)絡(luò)電視、視頻點播、視頻會議等以流媒體為核心的新業(yè)務(wù)應(yīng)用中,隨著對等網(wǎng)絡(luò)和覆蓋網(wǎng)等技術(shù)的提出,出現(xiàn)了“應(yīng)用層組播”技術(shù)。對面向Internet流媒體
20、技術(shù),最簡單的解決辦法是為每個申請者建立一條發(fā)送視頻流的。但太耗費帶寬,又不能支持大量觀眾實時收看,申請者接收到的將是低質(zhì)量視頻。IP組播相對而言是一種好的解決方法,但Internet中多數(shù)ISP不支持IP 組播, 造成其發(fā)展受限。應(yīng)用層組播克服了IP 組播的缺陷1:無需更改網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)設(shè)備的配置,在客戶機間復(fù)制和轉(zhuǎn)發(fā)數(shù)據(jù),數(shù)據(jù)報沿邏輯鏈路轉(zhuǎn)發(fā),數(shù)據(jù)路由、復(fù)制、轉(zhuǎn)發(fā)功能均由客戶機完成,客戶機間建立一個疊加在IP 網(wǎng)絡(luò)上、實現(xiàn)組播業(yè)務(wù)邏輯功能性網(wǎng)絡(luò),要實現(xiàn)這樣的功能,就必須建立對應(yīng)的應(yīng)用層多播樹,如圖1.2所示。現(xiàn)階段,已經(jīng)有一些學(xué)者開始進行應(yīng)用層多播樹的建立的研究,并取得了一定的成果。服務(wù)器
21、路由器路由器終端路由器路由器路由器終端終端圖1.2 組播通信方式總之,隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,流媒體技術(shù)必將成為未來網(wǎng)絡(luò)的一項關(guān)鍵技術(shù)。而引入P2P技術(shù)和應(yīng)用層多播技術(shù),作為流媒體的新研究平臺,無疑給流媒體的發(fā)展和應(yīng)用開創(chuàng)了新的道路。在解決了流媒體的關(guān)鍵技術(shù)問題后,流媒體技術(shù)的應(yīng)用必然會在未來的網(wǎng)絡(luò)中發(fā)揮更重要的作用,并在一定程度上改變?nèi)藗兪褂镁W(wǎng)絡(luò)的方式。1.2 國外研究現(xiàn)狀目前,P2P技術(shù)在國外已經(jīng)有了突飛猛進的發(fā)展,很多領(lǐng)域己經(jīng)成功的應(yīng)用它解決了C/S模式存在的瓶頸,從目前的應(yīng)用來看,P2P的優(yōu)勢還主要體現(xiàn)在大圍的資源的共享和搜索上2。其中,P2P技術(shù)在文件共享方面的應(yīng)用主要表現(xiàn)為PPLi
22、ve、Mysee、OICQ等。而PPLive、Mysee等主要將媒體播放與P2P技術(shù)結(jié)合在一起,改善了以前需要高質(zhì)量服務(wù)器為媒體文件服務(wù),并解決了寬帶限制的問題,提高了用戶觀看媒體文件的速度與質(zhì)量;OICQ通過目錄服務(wù)器建立聊天雙方點對點的連接,與時發(fā)送聊天信息,解決了海量信息存儲、轉(zhuǎn)發(fā)困難等問題。由于P2P流媒體傳輸?shù)膬?yōu)越性,基于P2P的流媒體服務(wù)體系己經(jīng)引起了許多大學(xué)、研究機構(gòu)、商業(yè)機構(gòu)的重視。美國斯坦福大學(xué)、馬塞諸塞大學(xué)以與微軟研究院對單源的P2P流媒體傳輸展開了研究并取得一定的成績。伯克利大學(xué)和普度大學(xué)則致力于對多源的P2P流媒體傳輸?shù)难芯恳踩〉昧艘欢ǖ贸删?,此外,也有一些研究機構(gòu)將傳
23、統(tǒng)的流媒體技術(shù)運用于P2P系統(tǒng)。如IBM中國研究院成功的將層次式的流合并技術(shù)集成到P2P視頻點播系統(tǒng)中,而美國奧利根大學(xué)提出的PALS,則利用了媒體流的分層編碼技術(shù),各個節(jié)點發(fā)送不同層的編碼流,由接收者根據(jù)自身的能力選擇接收若干層的編碼。將流媒體技術(shù)與P2P技術(shù)結(jié)合在一起,改善了以前需要高性能服務(wù)器為流媒體服務(wù)并解決了寬帶限制的問題,但是在音視頻直播應(yīng)用中,對等網(wǎng)絡(luò)方法面臨一些問題:1)由于P2P流媒體系統(tǒng)中節(jié)點的行為的動態(tài)性,如何在動態(tài)的運行環(huán)境下保證流媒體的服務(wù)質(zhì)量,需要深入了解流媒體對QoS的要求和網(wǎng)絡(luò)流量分析等方面的知識,研究高效率、低代價的QoS保障機制。2)調(diào)整并監(jiān)控網(wǎng)絡(luò)中節(jié)點的動
24、作,降低多層節(jié)點轉(zhuǎn)發(fā)的延遲,確保節(jié)點間可靠通訊,從而保證系統(tǒng)的良好擴展性和系統(tǒng)穩(wěn)定性。3)分層流媒體雖然在IP組播中已經(jīng)得到深入研究,但是在應(yīng)用層組播中的研究才剛剛起步。而應(yīng)用層多播的研究,作為覆蓋網(wǎng)絡(luò)研究的一個方向,是國際上剛剛興起的研究熱點。很多大學(xué)和研究院都在進行這方面的研究。從2000年6月,卡耐基梅隆大學(xué)的Y.H Chu在ACMSIGMETRICS上發(fā)表了一篇端系統(tǒng)多播的論文開始1,標(biāo)志著應(yīng)用層多播開始進入了熱點研究。2001年Ratnasamy在ACMSIGCOMM上發(fā)表了基于Peer- to- Peer 網(wǎng)絡(luò)的應(yīng)用層多播論文CAN Multicast3。S.Q.Zhang也在NO
25、SSDAV上發(fā)表了基于Peer-to-Peer 網(wǎng)絡(luò)的應(yīng)用層多播的論文Bayeux4。2002年,SumanBanerjee 在ACM SIGCOMM上發(fā)表了基于NICE 應(yīng)用層多播的論文。在這些論文中, 研究學(xué)者都提出了自己的應(yīng)用層多播實現(xiàn)思路,對應(yīng)用層多播路由協(xié)議中多播樹計算算法進行了研究。這些應(yīng)用層多播方案具有不同的特點,適用的圍也不一樣。其中對于Peer- to- Peer 覆蓋網(wǎng)絡(luò)上的應(yīng)用層多播研究還處于探索階段。目前在Peer- to- Peer 網(wǎng)絡(luò)上實現(xiàn)的應(yīng)用層多播方案主要有三種:CAN Multicast、Scribe、Bayeux。它們都是在基于動態(tài)哈希路由的Peer- t
26、o- Peer 網(wǎng)絡(luò)上實現(xiàn)的,其中CAN Multicast 是在CAN 之上實現(xiàn)的,Scribe 是在Pastry 上實現(xiàn)的,Bayeux 是在Tapestry 上實現(xiàn)的。這幾種方案都充分利用了Peer- to- Peer 網(wǎng)絡(luò)的路由機制,因此只需增加少量的模塊就可以實現(xiàn)多播功能。與原先的Peer- to- Peer 網(wǎng)絡(luò)相比,只增加少量的開銷就實現(xiàn)了多播功能,同時繼承了Peer- to- Peer 網(wǎng)絡(luò)的支持大規(guī)模、支持成員動態(tài)變化的特性??捎糜诜植际椒抡?、多方實時游戲、大規(guī)模協(xié)作應(yīng)用等,但這三種方案對于應(yīng)用層多播的模型、性能分析、性能優(yōu)化都沒有進行研究??傊?,P2P在流媒體傳播方面的應(yīng)用
27、已有了一定程度的成果,應(yīng)用層多播則是剛剛起步,要想把它們應(yīng)用于流媒體傳播,性能和效果還不成熟、不理想,值得進一步研究和改善。1.3 本文的研究容本文研究了如何利用P2P技術(shù)和應(yīng)用層多播技術(shù)來構(gòu)建一種具有可擴展服務(wù)能力的多人語音系統(tǒng)。主要研究容是:在基于P2P的流媒體直播系統(tǒng)中,整個P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是系統(tǒng)架構(gòu)的基礎(chǔ)。本文研究并設(shè)計了應(yīng)用層多播樹模型,采用單樹結(jié)構(gòu)的應(yīng)用層多播樹建立方案,按照一定的算法,構(gòu)建了一棵滿足音頻服務(wù)要求的單源多播樹,實現(xiàn)應(yīng)用層組播。該方案完善了網(wǎng)絡(luò)節(jié)點的加入與退出機制,更好地實現(xiàn)了整個網(wǎng)絡(luò)的動態(tài)平衡,提高了音頻數(shù)據(jù)轉(zhuǎn)發(fā)的效率和用戶接受的服務(wù)的質(zhì)量。1.4 論文的結(jié)構(gòu)本
28、文在充分的理論和技術(shù)研究的基礎(chǔ)上,設(shè)計并實現(xiàn)了一個P2P多人語音系統(tǒng)。本文的組織結(jié)構(gòu)如下所示:第一章緒論中首先介紹了課題的研究背景與現(xiàn)狀、傳統(tǒng)流媒體直播系統(tǒng)存在的問題,以與采用P2P技術(shù)和應(yīng)用層多播技術(shù)構(gòu)建流媒體直播系統(tǒng)的優(yōu)勢,最后介紹了本文的主要研究容和組織結(jié)構(gòu)。第二章介紹多人語音系統(tǒng)中的關(guān)鍵技術(shù)。第三章詳細描述基于P2P的應(yīng)用層組播樹的算法設(shè)計。第四章描述仿真平臺的設(shè)計和仿真系統(tǒng)的體系結(jié)構(gòu)與功能模塊,并詳細介紹了各個功能模塊的功能。第五章介紹仿真實驗的實驗平臺的設(shè)計和仿真實驗的設(shè)計,并對測試結(jié)果進行了客觀的分析。第六章對論文進行了總結(jié),并對未來工作進行展望。第二章 多人語音系統(tǒng)中的關(guān)鍵技術(shù)
29、P2P網(wǎng)絡(luò)是當(dāng)代網(wǎng)絡(luò)發(fā)展的趨勢,而將P2P技術(shù)應(yīng)用到流媒體服務(wù)中能更好地實現(xiàn)其迅速、穩(wěn)定、高清晰度的特點。用戶對它的要求也將越來越高,因此,必須研究出一種高效的、高質(zhì)量的P2P流媒體直播系統(tǒng)來滿足用戶的需求。本章將重點介紹基于P2P的多人語音系統(tǒng)涉與的關(guān)鍵技術(shù)。設(shè)計該系統(tǒng)的主要目標(biāo)是充分利用現(xiàn)有的網(wǎng)絡(luò)資源,降低服務(wù)器資源和網(wǎng)絡(luò)帶寬的消耗,實現(xiàn)高擴展性和可靠性,提供高質(zhì)量的流媒體播放效果5。2.1 P2P技術(shù)2.1.1 相關(guān)技術(shù)背景為了解決傳統(tǒng)的基于C/S模式的流媒體系統(tǒng)服務(wù)能力有限、不能適應(yīng)大規(guī)模流媒體應(yīng)用的問題,服務(wù)器集群方式、CDN(Content Distribute Network,即
30、容分布網(wǎng)絡(luò))、IP組播、P2P等技術(shù)被提出。服務(wù)器集群方式6是將各自獨立的、同構(gòu)或異構(gòu)的一組計算機連接起來提供一個高性能的應(yīng)用平臺,來協(xié)同完成特定的任務(wù)。它完善了傳統(tǒng)的C/S架構(gòu),并在一定程度上提高了流媒體服務(wù)系統(tǒng)的傳輸速率和服務(wù)質(zhì)量。但是其高額的硬件成本和系統(tǒng)的復(fù)雜度是一般用戶難以承受的,同時也不能滿足日益增長的超大用戶群。CDN的英文全稱Content Distribute Network,即容分布網(wǎng)絡(luò)7,是一個建立并覆蓋在互聯(lián)網(wǎng)之上、由分布在不同區(qū)域的節(jié)點服務(wù)器群組成的虛擬網(wǎng)絡(luò)。在傳統(tǒng)的IP網(wǎng)絡(luò)中,客戶端的請求被直接按照目標(biāo)的網(wǎng)絡(luò)地址發(fā)送給數(shù)據(jù)源服務(wù)器,而CDN網(wǎng)絡(luò)為傳輸服務(wù)提供了一個服
31、務(wù)“層(虛擬網(wǎng)絡(luò)),這個層可以主動將用戶訪問比較頻繁的網(wǎng)絡(luò)容“推”到與發(fā)出請求的用戶距離最近的服務(wù)器上,并將每個客戶端發(fā)出的請求轉(zhuǎn)發(fā)到距離被請求的網(wǎng)絡(luò)容而言最近的服務(wù)器上。雖然CDN從一定程度上減輕了主干網(wǎng)絡(luò)負(fù)擔(dān),提高用戶訪問的響應(yīng)速度,并減少了傳輸延遲,但是高昂硬件成本和部署成本是它最大的缺點。IP組播技術(shù)8是對互聯(lián)網(wǎng)“單播、盡力轉(zhuǎn)發(fā)”模型的重要擴充,是一種允許一臺或者多臺主機發(fā)送單一數(shù)據(jù)包到多臺主機的網(wǎng)絡(luò)技術(shù)。IP組播源把數(shù)據(jù)包發(fā)送到特定組播組,而只有屬于該組播組的地址主機才能接收到該數(shù)據(jù)包,在整個網(wǎng)絡(luò)的任何一條物理鏈路上只傳送單一的數(shù)據(jù)包。IP組播技術(shù)的主要功能在路由器上實現(xiàn)。它的主要優(yōu)
32、點是能夠有效地減少了多點通信中的帶寬消耗。但由于一些關(guān)鍵技術(shù),如路由算法、操作系統(tǒng)等未能很好地支持,使得IP組播技術(shù)不能得到很好的推廣9。2.1.2 P2P技術(shù)的概念P2P(Peerto Peer)即對等計算或?qū)Φ染W(wǎng)絡(luò)10,是一種用于不同計算機之間、不經(jīng)過中繼設(shè)備直接交換數(shù)據(jù)或服務(wù)的技術(shù)。在P2P網(wǎng)絡(luò)環(huán)境中,成千上萬臺彼此連接的計算機都處于對等的地位,各節(jié)點具有一樣的責(zé)任和能力,并協(xié)同完成特定任務(wù)。每個終端(也稱節(jié)點)同時具有客戶端和服務(wù)器功能,即每臺計算機既能充當(dāng)網(wǎng)絡(luò)服務(wù)的請求者,又能對其他計算機的請求做出響應(yīng),提供資源與服務(wù)。對等點之間直接互連,共享信息資源、處理器資源、存儲資源甚至高速緩
33、存資源,無須依賴中心服務(wù)器就可完成,這種模式與傳統(tǒng)的CS模式形成了鮮明的對比。其主要代表形式是在應(yīng)用層上基于P2P網(wǎng)絡(luò)協(xié)議的客戶端軟件11。2.1.3 P2P網(wǎng)絡(luò)中拓?fù)浣Y(jié)構(gòu)的研究拓?fù)浣Y(jié)構(gòu)是指分布式系統(tǒng)中各個節(jié)點或計算單元之間的物理或邏輯的互聯(lián)關(guān)系,節(jié)點之間的拓?fù)浣Y(jié)構(gòu)一直是確定系統(tǒng)類型的重要依據(jù)。P2P網(wǎng)絡(luò)結(jié)構(gòu),又稱為P2P覆蓋網(wǎng)結(jié)構(gòu),是指P2P網(wǎng)絡(luò)中節(jié)點的邏輯組織結(jié)構(gòu),即節(jié)點互聯(lián)的拓?fù)浣Y(jié)構(gòu)和節(jié)點在與相鄰節(jié)點保持連接時的行為規(guī),一般用一個連通的圖來表示。在覆蓋網(wǎng)中相鄰的節(jié)點可能在實際物理網(wǎng)絡(luò)中位于不同的子網(wǎng)中,中間相隔多個路由器,而在覆蓋網(wǎng)中不相鄰的節(jié)點在實際物理網(wǎng)絡(luò)中卻可能是直接相連的。P2P
34、系統(tǒng)一般要構(gòu)造一個拓?fù)浣Y(jié)構(gòu),在構(gòu)造過程中需要解決系統(tǒng)中所包含的大量節(jié)點如何命名、組織以與確定節(jié)點的加入,離開方式、出錯恢復(fù)等問題。根據(jù)P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)可以將P2P網(wǎng)絡(luò)分為四種:集中式拓?fù)?、完全分布式非結(jié)構(gòu)化拓?fù)?、完全分布式結(jié)構(gòu)化拓?fù)浜突旌鲜酵負(fù)洹?1)集中式拓?fù)浼惺絇2P網(wǎng)絡(luò)拓?fù)渫ㄟ^一個中心服務(wù)器來記錄和索引共享信息以與回答對這些信息的查詢。這種形式具有中心化的特點,但是它不像傳統(tǒng)的CS模式,把所有資源都放在服務(wù)器上,它的服務(wù)器只存儲每個節(jié)點的索引信息,而節(jié)點的所有具體信息都保存在節(jié)點本身。中心化拓?fù)渥畲蟮膬?yōu)點是維護簡單、發(fā)現(xiàn)效率高。由于資源的發(fā)現(xiàn)依賴中心化的目錄系統(tǒng),發(fā)現(xiàn)算法靈活高效并
35、能夠?qū)崿F(xiàn)復(fù)雜查詢。最大的問題是容易造成中心服務(wù)器單點故障。典型代表是Napster12。(2)完全分布式非結(jié)構(gòu)化拓?fù)?3完全分布式非結(jié)構(gòu)拓?fù)涞腜2P網(wǎng)絡(luò)采用了隨機圖的組織方式來形成一個松散的網(wǎng)絡(luò),這種結(jié)構(gòu)對網(wǎng)絡(luò)動態(tài)變化有較好的容錯能力。在完全分布式非結(jié)構(gòu)化拓?fù)涞腜2P網(wǎng)絡(luò)模型中,每個節(jié)點都具有一樣的功能,因而節(jié)點也稱對等點。這種拓?fù)涞膬?yōu)點是網(wǎng)絡(luò)配置簡單,不需要中心服務(wù)器支持,在網(wǎng)絡(luò)規(guī)模較小的時候具有很好的查詢效率。但是由于這種拓?fù)涞木W(wǎng)絡(luò)中多采用洪泛方式查詢和資源定位,隨著網(wǎng)絡(luò)規(guī)模不斷增大,將對網(wǎng)絡(luò)帶來了沉重的網(wǎng)絡(luò)負(fù)載。而且由于沒有確定的拓?fù)?,這種形式的網(wǎng)絡(luò)無法保證查詢的確定性。另一個問題是由于
36、采用TTL、洪泛、隨機漫步,這種拓?fù)涞木W(wǎng)絡(luò)直徑不可控,可擴展性差14。因此目前對這種結(jié)構(gòu)網(wǎng)絡(luò)的研究集中在改進發(fā)現(xiàn)算法和轉(zhuǎn)發(fā)策略上。(3)完全分布式結(jié)構(gòu)化拓?fù)浣Y(jié)構(gòu)化分布式P2P網(wǎng)絡(luò)是一種純P2P網(wǎng)絡(luò)。這種網(wǎng)絡(luò)不需要有中心服務(wù)器和中心路由器,其上的每個Peer的地位是完全平等的。每一個Peer既可以作為客戶端又可以作為服務(wù)器,并且它們與相鄰的Peer有一樣的能力。這類網(wǎng)絡(luò)中的每個節(jié)點都被分配一個虛擬地址,同時用一個關(guān)鍵字來表示其可提供的共享容。網(wǎng)絡(luò)中各個節(jié)點分別存儲自己的虛擬地址路由表進行路由。關(guān)鍵字存儲其虛擬地址與關(guān)鍵字匹配或者相近的節(jié)點上。資源定位的時候,可以通過虛擬地址路由表快速查詢到存儲關(guān)
37、鍵字的節(jié)點,從而獲得共享容的存儲位置。這類網(wǎng)絡(luò)的代表系統(tǒng)是Chord15、Pastry14、CAN等。(4)混合式拓?fù)浼惺絇2P形式有利于網(wǎng)絡(luò)資源的快速檢索,只要服務(wù)器的處理能力足夠強就可以無限擴展,但是其中心化的模式容易遭到直接攻擊,分布式P2P形式解決了攻擊問題,但是又缺乏快速搜索和可擴展性?;旌鲜絇2P拓?fù)浣Y(jié)合了集中式和分布式P2P形式的優(yōu)點,在設(shè)計思想和處理能力上都得到了進一步的優(yōu)化。這類網(wǎng)絡(luò)的代表系統(tǒng)是Skype16。2.1.4 基于P2P的流媒體技術(shù)P2P實時流媒體技術(shù)是P2P技術(shù)與流媒體技術(shù)的結(jié)合,其核心思想就是把P2P技術(shù)應(yīng)用于實時流媒體數(shù)據(jù)的分發(fā)中去,把網(wǎng)絡(luò)層的組播功能轉(zhuǎn)移
38、到應(yīng)用層實現(xiàn),充分有效地利用各個節(jié)點的資源。在基于P2P的流媒體技術(shù)中,每個流媒體用戶是P2P網(wǎng)絡(luò)中的一個節(jié)點,用戶可以根據(jù)其他節(jié)點的設(shè)備能力和網(wǎng)絡(luò)狀態(tài)與一個或幾個用戶建立連接來分享數(shù)據(jù),這種連接能減輕服務(wù)器的負(fù)擔(dān)和提高每個用戶的音視頻質(zhì)量。P2P技術(shù)在流媒體應(yīng)用中特別適用于一些熱門事件,即使是大量的用戶同時訪問流媒體服務(wù)器,也不會使服務(wù)器因負(fù)載過重而癱瘓。P2P流媒體技術(shù)主要優(yōu)勢在于降低對服務(wù)器處理能力和服務(wù)器上傳帶寬的要求,節(jié)約了主干網(wǎng)絡(luò)傳輸帶寬。2.1.5 P2P流媒體直播技術(shù)網(wǎng)絡(luò)的迅猛發(fā)展和普與為P2P流媒體業(yè)務(wù)發(fā)展提供了強大市場動力。P2P流媒體直播是最新發(fā)展起來的一種流媒體廣播方式
39、,它利用P2P的原理來建立播放網(wǎng)絡(luò),從而達到節(jié)省服務(wù)端帶寬消耗、減輕服務(wù)器處理壓力的目的。采用該技術(shù)可以使得單一服務(wù)器就能輕松負(fù)荷起成千上萬的用戶同時在線觀看節(jié)目。不管在線用戶數(shù)量的多少,服務(wù)端的帶寬消耗都是基本一樣的,那就是提供作為P2P傳播的種子所需要的幾個流的帶寬17。2.2 應(yīng)用層組播技術(shù)2.2.1 應(yīng)用層組播技術(shù)的概念應(yīng)用層組播技術(shù)利用對等網(wǎng)絡(luò)技術(shù),在底層網(wǎng)絡(luò)之上構(gòu)建一個應(yīng)用層覆蓋網(wǎng)絡(luò),將組播路由功能從路由器轉(zhuǎn)移到端系統(tǒng)上,然后在端系統(tǒng)的應(yīng)用層建立發(fā)送端和接收端之間的組播轉(zhuǎn)發(fā)樹。該技術(shù)本質(zhì)上是用單播來實現(xiàn)組播,將組播的復(fù)雜性從網(wǎng)絡(luò)層轉(zhuǎn)移到端系統(tǒng)。和IP組播增加網(wǎng)絡(luò)機制的方法不同,應(yīng)用
40、層組播的基本思想是保持Internet原有的簡單、單播的轉(zhuǎn)發(fā)模型,由端系統(tǒng)來實現(xiàn)組播轉(zhuǎn)發(fā)的功能。在應(yīng)用層組播中,傳輸分組在端系統(tǒng)主機處進行復(fù)制,端系統(tǒng)主機構(gòu)成了邏輯覆蓋網(wǎng)絡(luò),并使用應(yīng)用層定義組播路由協(xié)議來構(gòu)建和維護該組播網(wǎng)絡(luò),目的是為了便于進行數(shù)據(jù)傳輸,構(gòu)造并維護可靠、高效的傳輸覆蓋網(wǎng)。為了達到高效,發(fā)送者不需要給每個接收者發(fā)送數(shù)據(jù),只需要給部分接收者發(fā)送數(shù)據(jù),這部分接收者再負(fù)責(zé)把接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給其他接收者,直到所有接收者都收到數(shù)據(jù),即把發(fā)送者的負(fù)擔(dān),分配到了其他成員身上。應(yīng)用層多播樹的建立和動態(tài)維護是P2P樹狀拓?fù)浣Y(jié)構(gòu)建立的關(guān)鍵。P2P網(wǎng)絡(luò)中節(jié)點的具有高度動態(tài)性,隨時都有可能有節(jié)點失效或下
41、線,由于應(yīng)用層多播系統(tǒng)需要依靠P2P系統(tǒng)的節(jié)點轉(zhuǎn)發(fā)信息, 所以節(jié)點的突然失效會導(dǎo)致信息丟失,使多播服務(wù)中斷。其次,應(yīng)用層多播系統(tǒng)通過節(jié)點間的相互傳遞來發(fā)送信息, 節(jié)點間全部采用單播連接,因此需要盡量減少信息在網(wǎng)絡(luò)中的傳輸路徑,以減少信息到達接受者的延遲和網(wǎng)絡(luò)負(fù)荷。所以如何處理新加入以與離開的節(jié)點,是影響構(gòu)建組播樹效率的關(guān)鍵所在,如何高效地建立和維護應(yīng)用層組播樹,克服應(yīng)用層組播的缺點,是值得深入研究的。在樹狀模型的P2P流媒體直播系統(tǒng)中,首要問題是將服務(wù)器和參與服務(wù)的節(jié)點組織成ALM(Application-Level Multicast,應(yīng)用層多播)樹18。多播樹的建立和維護算法的好壞將直接決
42、定流媒體直播系統(tǒng)的連接效率,進而影響P2P的服務(wù)質(zhì)量。因此,有必要深入研究應(yīng)用層多播樹的建立和維護算法19。2.2.2 組播節(jié)點的組織方法在應(yīng)用層組播網(wǎng)中,數(shù)據(jù)路由、復(fù)制、轉(zhuǎn)發(fā)功能都由組播成員節(jié)點完成,如何構(gòu)建一個有效的應(yīng)用層組播架構(gòu)是在構(gòu)成應(yīng)用層組播網(wǎng)絡(luò)時所必須解決的問題。目前,組播節(jié)點的組織方法主要有兩種,即“網(wǎng)”和“樹”狀邏輯結(jié)構(gòu)?!熬W(wǎng)”狀邏輯結(jié)構(gòu)可靠性較高,但軟件設(shè)計復(fù)雜、維護開銷較大、擴展性較差?!皹洹睜钸壿嫿Y(jié)構(gòu)實現(xiàn)簡單、維護開銷小、擴展性好,但可靠性較差。一般在大型組播組中使用樹,在中小型組播組中使用網(wǎng)。本系統(tǒng)采用“樹”狀邏輯結(jié)構(gòu)。2.2.3 組播節(jié)點的維護方法組播節(jié)點的維護包括節(jié)
43、點的加入、退出、“失效”節(jié)點的檢測20。在一個典型的P2P網(wǎng)絡(luò)中,網(wǎng)絡(luò)中的節(jié)點來自各個不同域,節(jié)點可能在任一時間加入或離開網(wǎng)絡(luò),導(dǎo)致網(wǎng)絡(luò)具有很大的動態(tài)性和不可控性。節(jié)點的加入是指新的節(jié)點請求加入到組播組的過程。節(jié)點退出是指節(jié)點發(fā)出退出組播組的請求,需要對節(jié)點的組織進行調(diào)整?!笆А惫?jié)點是指在斷電、斷網(wǎng)等情況下,節(jié)點沒有發(fā)出退出組播組的請求但又無常運行,一般通過定時發(fā)送“心跳包”來實現(xiàn)失效節(jié)點的檢測。2.3 本章小結(jié)隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,流媒體技術(shù)必將成為未來網(wǎng)絡(luò)的一項關(guān)鍵技術(shù)。而引入P2P技術(shù)和應(yīng)用層多播技術(shù),作為流媒體的新研究平臺,無疑給流媒體的發(fā)展和應(yīng)用開創(chuàng)了新的道路。本章的主要容是介紹
44、用于多人語音系統(tǒng)中的關(guān)鍵技術(shù),包括P2P技術(shù)和應(yīng)用層多播技術(shù)。第一部分重點介紹P2P技術(shù),容如下:1)相關(guān)技術(shù)背景;2)P2P技術(shù)的概念;3)P2P網(wǎng)絡(luò)中拓?fù)浣Y(jié)構(gòu)的研究;4)基于P2P的流媒體技術(shù);5)P2P流媒體直播技術(shù);6)P2P直播的特點。第二部分重點介紹應(yīng)用層多播技術(shù),主要包括應(yīng)用層多播技術(shù)的概念、組播節(jié)點的組織方法和維護方法。第三章 多人語音系統(tǒng)的設(shè)計3.1 P2P多人語音系統(tǒng)的方案設(shè)計在整個P2P多人語音系統(tǒng)的體系結(jié)構(gòu)中,P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)直接決定了該服務(wù)系統(tǒng)的響應(yīng)效率與服務(wù)質(zhì)量。本系統(tǒng)采用樹形拓?fù)浣Y(jié)構(gòu),應(yīng)用層多播樹的建立和維護是決定以樹形拓?fù)浣Y(jié)構(gòu)為基礎(chǔ)的P2P網(wǎng)絡(luò)性能好壞的關(guān)鍵
45、技術(shù),因此,系統(tǒng)的方案設(shè)計、應(yīng)用層多播樹的建立和維護是本章研究的重點。3.1.1 系統(tǒng)的設(shè)計原則多人語音系統(tǒng)是面向普通流媒體用戶,構(gòu)建一個容易使用、簡單的、可靠的、集服務(wù)器和客戶端為一體的軟件,使任何人都可以收聽和轉(zhuǎn)播音頻,而不必耗費昂貴的服務(wù)器或者帶寬。網(wǎng)絡(luò)中不存在中心服務(wù)器,每個用戶可以是客戶端,也可以是服務(wù)器。通過用戶之間相互共享媒體數(shù)據(jù)、共同參與系統(tǒng)服務(wù),來達到擴展系統(tǒng)服務(wù)能力的目的。具體地說,多人語音系統(tǒng)按照以下原則設(shè)計1721:能夠滿足音頻播放的要求。流媒體數(shù)據(jù)流具有三個特點:連續(xù)性、實時性、時序性,即數(shù)據(jù)流具有嚴(yán)格的前后時序關(guān)系,如果一個數(shù)據(jù)包在播放之后到達,則沒有任何意義。另外
46、,流媒體播放要求數(shù)據(jù)下載速度必須大于播放速度,否則就會影響播放質(zhì)量。不需要一個有龐大帶寬和強大處理能力的服務(wù)器為眾多用戶提供廣播服務(wù),所需要的只是一個索引服務(wù)器(組織管理客戶端節(jié)點)和一個音頻數(shù)據(jù)源。充分利用網(wǎng)絡(luò)資源。系統(tǒng)應(yīng)該能夠充分利用網(wǎng)絡(luò)邊緣客戶端用戶的資源。能夠在能力不同的節(jié)點間均衡負(fù)載。節(jié)點在帶寬、到音頻數(shù)據(jù)源的延時、在線時長等方面的各不一樣,決定了節(jié)點參與系統(tǒng)服務(wù)的能力也具有差異性,所以P2P多人語音系統(tǒng)要有均衡負(fù)載的能力,在構(gòu)建和動態(tài)維護多播樹時要充分考慮節(jié)點間的能力差異,使每個節(jié)點的服務(wù)能力都能得到適度利用,保持多播樹的穩(wěn)定和高性能。盡可能的為更多用戶提供滿足基本質(zhì)量的服務(wù),即構(gòu)
47、建一顆盡可能龐大的多播樹。3.1.2 基本原理基于P2P網(wǎng)絡(luò)的多人語音系統(tǒng)的基本原理是22:音頻數(shù)據(jù)源存放著實時播放的完整音頻文件。首先,服務(wù)器S(在這里不區(qū)分索引服務(wù)器和音頻數(shù)據(jù)源,統(tǒng)一為服務(wù)器S)將音頻文件按照一定的格式劃分成很多個固定大小的音頻數(shù)據(jù)段,然后將最近的幾分鐘數(shù)據(jù)放到自身的緩存區(qū)中,為以后前來請求的客戶提供服務(wù)。當(dāng)一個新的客戶端節(jié)點C請求加入P2P網(wǎng)絡(luò)時,首先會向服務(wù)器S發(fā)出連接請求,服務(wù)器查看多播樹是否仍具有服務(wù)能力,如果有,則響應(yīng)節(jié)點C的請求,根據(jù)一定算法將節(jié)點C加入到樹中。假如整棵多播樹不具有足夠服務(wù)能力而無法繼續(xù)服務(wù)新節(jié)點,則服務(wù)器S會拒絕節(jié)點C的請求,節(jié)點C會隔一段時
48、間后再度發(fā)來加入請求,直到成功加入或者用戶放棄請求。若節(jié)點C成功加入多播樹,則節(jié)點C從父節(jié)點處接受相應(yīng)的音頻數(shù)據(jù)包,直到接收到能夠播放所需的全部音頻數(shù)據(jù)包為止。然后,節(jié)點C再將收到的音頻數(shù)據(jù)包重新進行排序和封裝,組合成能夠?qū)崟r播放的數(shù)據(jù)流。上述過程中,節(jié)點C在接收來自父節(jié)點的音頻數(shù)據(jù)包的同時,若具有服務(wù)新節(jié)點的能力,也可接受子節(jié)點并向子節(jié)點轉(zhuǎn)發(fā)所接受的數(shù)據(jù)包。這就相當(dāng)于每個節(jié)點既是服務(wù)器,也是客戶端,這樣,不但減輕了服務(wù)器s負(fù)擔(dān),而且客戶端得到的服務(wù)質(zhì)量也得到了相應(yīng)地提高。3.1.3 拓?fù)浣Y(jié)構(gòu)在P2P多人語音系統(tǒng)的體系結(jié)構(gòu)中,P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)直接決定了該服務(wù)系統(tǒng)的響應(yīng)效率與服務(wù)質(zhì)量。本系統(tǒng)
49、采用單源的P2P流媒體傳輸。單源的P2P流媒體傳輸由一個發(fā)送者向多個接收者發(fā)送數(shù)據(jù),接收者有且只有一個數(shù)據(jù)源。服務(wù)器和所有客戶端節(jié)點組織成多播樹,多播樹中的節(jié)點接收來自父節(jié)點多播的音頻數(shù)據(jù),同時將數(shù)據(jù)以多播的方式傳送給其它節(jié)點。系統(tǒng)可分為三層,從高到低依次是服務(wù)器(包括索引服務(wù)器和音頻數(shù)據(jù)源)、轉(zhuǎn)播Peer、收聽Peer,以下將轉(zhuǎn)播者和收聽者稱為普通節(jié)點。整個系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖2.1所示,可見其網(wǎng)絡(luò)結(jié)構(gòu)是典型的樹狀結(jié)構(gòu)。服務(wù)器處于網(wǎng)絡(luò)最高層,是整個網(wǎng)絡(luò)的根節(jié)點,整個系統(tǒng)只有一個,其中索引服務(wù)器負(fù)責(zé)組織和管理樹中各節(jié)點的相關(guān)信息,擁有一個完整的節(jié)點列表;音頻數(shù)據(jù)源負(fù)責(zé)實時向下提供多播樹中所傳播的
50、音頻數(shù)據(jù)包。轉(zhuǎn)播者處于中間,它的存在體現(xiàn)了P2P網(wǎng)絡(luò)的基本特征:即節(jié)點不僅接收數(shù)據(jù),還要進行轉(zhuǎn)發(fā);收聽者處于最低層,是多播樹的葉子節(jié)點,只下載數(shù)據(jù)而不提供上傳。服務(wù)器S轉(zhuǎn)播者轉(zhuǎn)播者轉(zhuǎn)播者轉(zhuǎn)播者轉(zhuǎn)播者收聽者收聽者收聽者收聽者圖2.1 整個系統(tǒng)的拓?fù)浣Y(jié)構(gòu)3.2 基于P2P的應(yīng)用層多播樹的算法設(shè)計3.2.1 多播樹中節(jié)點維護的信息多播樹以服務(wù)器為根節(jié)點,服務(wù)器包括索引服務(wù)器和音頻數(shù)據(jù)源。根節(jié)點維護著一包含所有節(jié)點的列表,包括每個節(jié)點的相關(guān)信息和多播樹整體結(jié)構(gòu)的信息。多播樹中的普通節(jié)點包括轉(zhuǎn)播peer和收聽peer,它們維護的信息描述如下:= 1 * GB3網(wǎng)絡(luò)地址。節(jié)點在網(wǎng)絡(luò)中的唯一標(biāo)識,通過網(wǎng)絡(luò)地
51、址來定位節(jié)點,與之通信。= 2 * GB3 請求帶寬R。節(jié)點接受音頻數(shù)據(jù)包所需要的帶寬。= 3 * GB3上行帶寬Bi。節(jié)點i在網(wǎng)絡(luò)中本地上傳的帶寬,決定了節(jié)點能夠服務(wù)的節(jié)點總數(shù),上行帶寬除以請求帶寬,所得商即可連接的子節(jié)點數(shù)。節(jié)點至少需要R的上行帶寬才具有服務(wù)其它節(jié)點的能力。= 4 * GB3子節(jié)點數(shù)目Ci以與子節(jié)點的列表。Ci為節(jié)點i已經(jīng)擁有的子節(jié)點數(shù)目,列表包含子節(jié)點的地址信息。= 5 * GB3可用帶寬Fi。決定了節(jié)點i還能服務(wù)的節(jié)點數(shù)目,即還可連接多少個新的子節(jié)點。Fi=Bi-Ci*R。= 6 * GB3父節(jié)點的信息。節(jié)點需要知道自己的父節(jié)點是誰。= 7 * GB3在線時長Ti。節(jié)點
52、i在該收聽頻道中的累積在線時間,用以推斷該節(jié)點在樹中的可靠性,在線時長越大,說明該節(jié)點立即離開的可能性越小,即越可靠。可靠性高的節(jié)點應(yīng)該盡量處在離根近的地方,以保證整棵樹的穩(wěn)定。= 8 * GB3到根的延時Di。節(jié)點i到服務(wù)器的延時,即數(shù)據(jù)從服務(wù)器傳輸至該節(jié)點所用的時間。等于父節(jié)點到服務(wù)器的延時加上節(jié)點到父節(jié)點之間的延時。由于多播樹通過節(jié)點間的相互傳遞來發(fā)送信息, 節(jié)點間全部采用單播連接,所以延時越低,在保證服務(wù)質(zhì)量的前提下,節(jié)點所能擁有的子樹越深。3.2.2 多播樹生成算法設(shè)計當(dāng)一個語音服務(wù)器新開放時,只有一個服務(wù)器作為多人語音多播樹的根,若有N個用戶請求收聽,那么構(gòu)建初始的多播樹有兩種方法
53、:一種是一次綜合考慮前N個節(jié)點的加入請求,根據(jù)這N個節(jié)點的特性構(gòu)建一顆高性能高效率的多播樹,然后再依到達順序一個一個地處理后來節(jié)點的加入和樹中節(jié)點的離開;第二種是采取貪心算法,即邊加入邊生成,把當(dāng)前請求加入的節(jié)點按序組織成隊列,一個一個地加入到多播樹中,每一次加入都選擇在當(dāng)前看來是最好的位置。由于在一個典型的P2P網(wǎng)絡(luò)中,網(wǎng)絡(luò)中的節(jié)點來自各個不同域,節(jié)點可能在任一時間加入或離開網(wǎng)絡(luò),導(dǎo)致網(wǎng)絡(luò)具有很大的動態(tài)性和不可控性,所以應(yīng)采取后者,生成多播樹的過程即加入節(jié)點的過程。3.2.3 節(jié)點加入算法設(shè)計節(jié)點加入算法描述了一個節(jié)點如何加入一個P2P多播網(wǎng)絡(luò),即如何在多播樹上選擇合適的父節(jié)點,以加入多播樹
54、獲取服務(wù)。在對節(jié)點的選擇時,可以根據(jù)不同服務(wù)質(zhì)量的需求采用不同的策略。如果希望得到比較穩(wěn)定的音頻服務(wù),則應(yīng)選擇相對穩(wěn)定的節(jié)點作為父節(jié)點,以保證樹結(jié)構(gòu)的穩(wěn)定,如在線時間較長,不會頻繁加入或退出系統(tǒng)的節(jié)點。如果希望音頻服務(wù)的延遲小,則可以以延時為主要考慮因素選擇父節(jié)點;如果希望得到高質(zhì)量的音頻服務(wù),則可選擇能夠提供高帶寬的父節(jié)點,這樣就不會發(fā)生丟包等情況。一般情況下,節(jié)點的選擇是多種策略的折中。(1)引入多播樹中節(jié)點對新節(jié)點的服務(wù)能力參數(shù)當(dāng)有新節(jié)點請求加入時,從上至下、從左到右地遍歷多播樹中的每一個節(jié)點,計算這些節(jié)點對新節(jié)點的服務(wù)能力PSC(Peer Service Capability),然后從
55、中選出能力最強的一個節(jié)點來作為新節(jié)點的父節(jié)點,從而將新節(jié)點接入多播樹中。綜合考慮帶寬、可靠性、延時三個要素,定義樹中節(jié)點對新節(jié)點的服務(wù)能力為PSC=*(可用帶寬 - 請求帶寬)+*(最小時延 - 綜合時延)+*在線時長。PSC越高,說明服務(wù)能力越強,提供給新節(jié)點的服務(wù)也就越好。其中可用帶寬為樹中結(jié)點的可用帶寬,請求帶寬為傳輸音頻包所需的基本帶寬;綜合時延為新節(jié)點到樹中結(jié)點的延時和樹中結(jié)點到根節(jié)點的延時之和,最小時延為保證基本服務(wù)質(zhì)量的時延;在線時長為樹中結(jié)點的累積在線時長。、根據(jù)策略需求為上下限圍為0,1之間的數(shù)值。可用帶寬決定了接受到的音頻的質(zhì)量,當(dāng)其大于請求帶寬時即可保證基本的服務(wù),到一定
56、程度即可保證流暢完整的服務(wù),但若再增大,則對音頻質(zhì)量不會產(chǎn)生顯著影響;綜合延時是影響服務(wù)質(zhì)量最重要的因素,綜合延時越小,用戶所得到的服務(wù)質(zhì)量和感受就越好;在線時長決定了節(jié)點在樹中的穩(wěn)定性,進而影響到整棵多播樹結(jié)構(gòu)的穩(wěn)定,在線時長越長,節(jié)點就越穩(wěn)定,在多播樹中擔(dān)當(dāng)?shù)呢?zé)任就越大,該服務(wù)更多的節(jié)點??紤]到這些,取=0.2,=0.4,=0.4。需要說明的是,該參數(shù)具有參考意義的兩個前提為:可用帶寬必須大于請求帶寬;綜合時延必須小于保證基本服務(wù)所需的最小時延。若樹中某結(jié)點的可用帶寬小于請求帶寬,或它到根節(jié)點的時延等于保證基本服務(wù)所需的最小時延,則認(rèn)為該節(jié)點不具有服務(wù)任何新節(jié)點的能力,可將PSC恒置為-1
57、,遍歷時不予以考慮,直至該節(jié)點的相關(guān)信息發(fā)生變化需要重置PSC;若樹中某節(jié)點可用帶寬足夠,到根節(jié)點的時延也小于保證基本服務(wù)所需的最小時延,但綜合時延要大于保證基本服務(wù)所需的最小時延,則認(rèn)為該節(jié)點不具有服務(wù)當(dāng)前請求加入的節(jié)點的能力,將相應(yīng)的PSC置為0。(2)對處于NAT后的節(jié)點的特殊處理NAT即“網(wǎng)絡(luò)地址轉(zhuǎn)換”,是一種把部私有網(wǎng)絡(luò)IP地址映射成公網(wǎng)IP地址的技術(shù),它允許一個機構(gòu)以一個公用IP地址出現(xiàn)在Internet上。NAT設(shè)備允許私網(wǎng)主機主動向公網(wǎng)主機發(fā)送連接請求,但拒絕公網(wǎng)主機主動與私網(wǎng)主機進行直接連接。因此處于NAT后的節(jié)點,即網(wǎng)節(jié)點,只能從外部節(jié)點接受數(shù)據(jù)而不能向外傳送數(shù)據(jù),也就是說
58、處于NAT后的節(jié)點可用帶寬為0,不具有服務(wù)其它節(jié)點的能力,在多播樹中只能為葉子。雖然在P2P網(wǎng)絡(luò)中各節(jié)點地位都是平等的,可以互相之間建立連接,實現(xiàn)信息共享,而處于NAT后的節(jié)點打破了這種平等,但是NAT使得部網(wǎng)絡(luò)具有高安全性。所以考慮到安全問題以與算法的復(fù)雜性,不考慮NAT的穿透23,將NAT后的節(jié)點的服務(wù)能力PSC設(shè)置為-1,并在多播樹不具有能力服務(wù)新節(jié)點而樹中又存在NAT后的節(jié)點時,做一定的處理,使多播樹服務(wù)盡可能更多的節(jié)點。通過查詢索引服務(wù)器可以獲取一記錄了多播樹中所有NAT節(jié)點的列表。若有具有一定上行帶寬(不小于請求帶寬)的新節(jié)點F請求加入,當(dāng)多播樹不具有能力服務(wù)F節(jié)點而樹中又存在NA
59、T節(jié)點時,做如下處理:從索引服務(wù)器獲取NAT節(jié)點的列表,按照NAT節(jié)點到服務(wù)器的延時從小到大的順序遍歷所有NAT節(jié)點,嘗試將F節(jié)點接在當(dāng)前NAT節(jié)點和其父節(jié)點之間。如果F節(jié)點和NAT節(jié)點都能獲得滿足基本要求的服務(wù),那么將F節(jié)點接在當(dāng)前NAT節(jié)點和其父節(jié)點之間,如圖3.1所示,此時F節(jié)點成功加入樹中,結(jié)束遍歷。若所有NAT節(jié)點處都不能滿足F節(jié)點的插入,則拒絕F節(jié)點的加入請求。NATNATNATNATFF節(jié)點請求加入F圖3.1 對NAT節(jié)點的特殊處理(3)節(jié)點加入算法節(jié)點加入多播樹的過程:1) 節(jié)點F向服務(wù)器S發(fā)送請求, 要求加入P2P多人語音系統(tǒng)對應(yīng)的多播樹中。2) 服務(wù)器S收到節(jié)點F的請求之后
60、,取得該節(jié)點的網(wǎng)絡(luò)地址,然后根據(jù)索引服務(wù)器中的節(jié)點列表從上至下、從左到右地遍歷多播樹中的節(jié)點,一一計算樹中結(jié)點對節(jié)點F的服務(wù)能力,找出對該節(jié)點服務(wù)最好的節(jié)點,把該節(jié)點作為F節(jié)點的父節(jié)點,轉(zhuǎn)5)。如果樹中所有節(jié)點都無法給F節(jié)點提供滿足基本要求的服務(wù),若F節(jié)點的上行帶寬小于請求帶寬,轉(zhuǎn)4);若F節(jié)點的上行帶寬大于請求帶寬,則查詢索引服務(wù)器看是否存在NAT后的節(jié)點,若存在,轉(zhuǎn)3);否則轉(zhuǎn)4)。3)執(zhí)行對于NAT節(jié)點的特殊處理,若F節(jié)點成功插入到某NAT節(jié)點與其父節(jié)點之間,則轉(zhuǎn)5);若所有NAT節(jié)點處都不滿足F節(jié)點的插入,則轉(zhuǎn)4)。4)拒絕F節(jié)點的加入請求,算法結(jié)束。5)子節(jié)點F成功加入多播樹,服務(wù)器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吳家窯11號線施工方案
- 路基堆土預(yù)壓施工方案
- 提灌站維護施工方案
- 福建海鮮冷庫施工方案
- 鉆空施工方案
- 年加工300萬噸尾礦廢料改擴建及技術(shù)改造項目環(huán)評報告表
- 一級建造師瀝青施工方案
- 海南汽車變速箱保稅維修項目環(huán)評報告表
- 蒼南縣二模數(shù)學(xué)試卷
- 洛陽戶外兒童游樂施工方案
- CAD基礎(chǔ)教程課件
- 閥門更換安全操作規(guī)程
- 我的阿斯伯格綜合征
- 大班繪本最佳守衛(wèi)
- who實驗室生物安全手冊
- 尼日利亞-非洲人口最多的國家
- 《汽車發(fā)動機構(gòu)造與維修》課程標(biāo)準(zhǔn)
- 神奇的莫比烏斯帶
- 內(nèi)部控制問題內(nèi)部控制的發(fā)展、演變
- 劇毒和易制爆?;窂臉I(yè)人員安全責(zé)任書
- 交管12123駕駛學(xué)法免分題庫(學(xué)法減分200題完整版)
評論
0/150
提交評論