摘 要: 以Spines覆蓋網(wǎng)絡通用平臺為基礎,對流媒體數(shù)據(jù)多流并行傳輸的相關問題進行了研究。簡要介紹了Spines網(wǎng)絡,根據(jù)流媒體實時并行傳輸?shù)囊螅瑢pines網(wǎng)絡中的相關協(xié)議進行了改進,并引入了具有QoS保證的覆蓋網(wǎng)絡多路路由策略、DHT技術及LEACH協(xié)議。
關鍵詞: Spines覆蓋網(wǎng)絡;流媒體;并行傳輸;QoS多路路由;DHT;LEACH協(xié)議
隨著互聯(lián)網(wǎng)技術的不斷發(fā)展,流媒體技術(Streaming Media)日益成熟并普及。如今,流媒體技術被廣泛用于視頻點播、視頻直播和實時視頻會議等實時服務領域,為網(wǎng)絡的發(fā)展注入了新的活力。但流媒體用戶的急劇增加及其種類繁多的應用形式,給現(xiàn)有的網(wǎng)絡資源也帶來了極大的負擔。同時,通用覆蓋網(wǎng)絡概念的提出,使覆蓋網(wǎng)絡不再僅針對一項特定的應用。根據(jù)服務要求,利用通用覆蓋網(wǎng)絡提供的一項或幾項性能保證,并以此為基礎進行平臺擴展,可適應特定的某項應用。Spines是目前較常用的一種通用覆蓋網(wǎng)絡平臺,可支持有較高QoS要求的實時流媒體服務。因此,本文選擇在Spines覆蓋網(wǎng)絡上對流媒體的多流并行傳輸進行研究。
1 Spines覆蓋網(wǎng)絡[1]
Spines是一種源代碼公開的通用覆蓋網(wǎng)絡,由約翰-霍普金斯大學的分布式網(wǎng)絡實驗室開發(fā),常被用于覆蓋網(wǎng)絡協(xié)議的測試和開發(fā)。
1.1 Spines軟件結構
Spines覆蓋網(wǎng)絡的每一個Spines節(jié)點由Spines覆蓋網(wǎng)絡的一個覆蓋節(jié)點與一個Spines的Daemon軟件構成。它的結構分為用戶層和覆蓋網(wǎng)絡節(jié)點層兩個功能層層次,在每項應用中具體表現(xiàn)為:會話層、覆蓋網(wǎng)絡節(jié)點層和覆蓋鏈路層,如圖1所示。

會話層是覆蓋網(wǎng)絡上的應用程序接口,Spines會話層為用戶應用提供了應用程序接口。用戶通過連接到Daemon進行會話建立,如果需要與其他的用戶進行端到端的可靠通信,Daemon就會初始化端到端的會話模塊,并由TCP提供可靠連接。當用戶要求進行盡力而為的通信時,數(shù)據(jù)利用UDP傳輸,而控制信息仍通過TCP來傳輸。因此,Spines可利用會話模塊管理兩個終端應用之間數(shù)據(jù)的輸入輸出次序、端到端擁塞控制和流擁塞控制,以降低丟包率,提供端到端的可靠通信。
覆蓋網(wǎng)絡節(jié)點層則主要用于鏈路資源和網(wǎng)絡拓撲的管理,實現(xiàn)應用層數(shù)據(jù)的路由轉發(fā)。每個覆蓋節(jié)點負責保證與鄰居節(jié)點的連接,各鄰居節(jié)點間通過不可靠Hell包,定期互相發(fā)送Ping消息來檢測彼此間的連接情況。Hello協(xié)議為Spines相鄰Daemon之間提供了創(chuàng)建、銷毀、檢測虛擬鏈路和測量鏈路的延時特性。同時,覆蓋節(jié)點則需通過虛擬鏈路前向傳輸數(shù)據(jù)包或是傳送信息給其自己的客戶。而Spines虛擬鏈路上的每一個數(shù)據(jù)前向轉發(fā)器(Data-Forworder)都會解析消息頭,然后把它傳向下一個鏈路或傳給Daemon接口。為了實現(xiàn)不同的前向數(shù)據(jù)傳輸機制,Data-Forworder允許可靠會話和盡力而為會話。
而覆蓋鏈路層是建立在IP網(wǎng)絡基礎上,通過UDP連接,可實現(xiàn)盡力而為數(shù)據(jù)鏈路、可靠數(shù)據(jù)鏈路、實時數(shù)據(jù)鏈路和控制鏈路四種虛擬鏈路。節(jié)點之間通過虛擬鏈路建立連接和發(fā)送數(shù)據(jù)。由于Data Forworder支持實時鏈路、可靠鏈路或不可靠鏈路之間的任意結合使用,用戶可根據(jù)具體的應用需求,選擇更合適的鏈路傳輸數(shù)據(jù)。
1.2 Spines主要協(xié)議
(1)逐跳傳輸協(xié)議
Spines采用了逐跳傳輸協(xié)議,通過逐跳傳輸?shù)姆绞綄崿F(xiàn)逐跳的擁塞控制和丟包恢復,為Spines覆蓋鏈路提供數(shù)據(jù)的可靠傳輸。由于使用存儲轉發(fā)的方式,特別在網(wǎng)絡狀況較差的情況下,當發(fā)生丟包時無需從發(fā)送端重傳便能實現(xiàn)丟包恢復,較好地改進了傳輸性能。因此,可通過覆蓋網(wǎng)絡節(jié)點檢測丟包,并執(zhí)行重發(fā),與端到端傳輸相比,具有較小的傳輸時延,減少了覆蓋路由的開銷,提高了鏈路的吞吐量。
(2)實時恢復協(xié)議
Spines的實時恢復協(xié)議則進一步改善了實時傳輸?shù)臅r延、丟包率和吞吐量等性能,可以支持對QoS有較高要求的實時多媒體業(yè)務,如VoIP、視頻會議等。
(3)Spines多播
Spines結合IP多播的優(yōu)點,實現(xiàn)了覆蓋多播。Spines多播支持同時有多個發(fā)送者和多個接收者的多播服務,并支持多個多播組。它使用D類的IP地址來定義一個多播組,當發(fā)送數(shù)據(jù)到某個多播組時,代表多播組地址作為目的地址。
(4)Hello協(xié)議
Hello協(xié)議實現(xiàn)的功能主要有:通過類似TCP連接的“三次握手”機制,建立、拆除、檢測Spines覆蓋網(wǎng)絡中鄰居節(jié)點之間的連接;通過頻率性的發(fā)送Hello包,測量鄰居節(jié)點間鏈路的往返時間;根據(jù)Hello包所攜帶的丟包信息,計算鏈路的丟包率;使用Hello協(xié)議來更新路由代價。
(5)State Flood協(xié)議
State Flood協(xié)議可實現(xiàn)Spines網(wǎng)絡拓撲及多播信息的更新,采用“洪泛”的方式來向整個網(wǎng)絡傳播拓撲結構信息(Link State)和多播組信息(Grou Pstate)。
1.3 Spines優(yōu)缺點分析
(1)Spines優(yōu)點
Spines的主要協(xié)議使其可以支持有較高QoS要求的實時流媒體業(yè)務,如VoIP和實時視頻會議等。因此可將其作為通用覆蓋網(wǎng)絡平臺,研究用于流媒體服務的覆蓋網(wǎng)絡性能、QoS路由及多流并行技術等。Spines與流媒體技術、QoS路由、多流并行傳輸技術結合,可提供質量更好的實時流媒體服務。
(2)Spines缺點
由于每個Daemon連接不同數(shù)量的應用,且每個應用從Daemon中獲取務的要求也不同,引起Spines的負載不均衡問題。而Daemon之間采用的“洪泛”服務查詢機制,當Daemon較多時,會產(chǎn)生網(wǎng)絡擁塞問題。且當某一Daemon因故退出網(wǎng)絡時,在它之間獲取服務的應用所需要的服務并不能被其他Daemon發(fā)現(xiàn),使Spines網(wǎng)絡不能支持網(wǎng)絡拓撲結構動態(tài)變化的問題。
目前要在Internet上傳輸流媒體數(shù)據(jù),首先必須解決的三個最重要的問題包括:網(wǎng)絡帶寬的供不應求問題、流媒體數(shù)據(jù)的實時傳輸問題及多媒體數(shù)據(jù)流的強突發(fā)性問題。針對這些問題,結合Spines覆蓋網(wǎng)絡的優(yōu)缺點,下面分別介紹基于Spines覆蓋網(wǎng)絡的流媒體多路路由方案及其改進方案。
2 基于Spines覆蓋網(wǎng)絡的流媒體多路路由方案
多路路由能有效利用物理網(wǎng)絡資源,尋找源與目的端之間的多條路徑,使數(shù)據(jù)遵循一定的策略在網(wǎng)絡中傳輸。所以基于流媒體服務的覆蓋網(wǎng)絡采用多路路由方案可以整合不同網(wǎng)絡信道上的剩余帶寬,使流媒體數(shù)據(jù)在網(wǎng)絡中傳輸?shù)馁|量最大化,并提供比單路徑路由更高的速率來傳輸數(shù)據(jù),同時保證網(wǎng)絡性能的穩(wěn)定。近年來,國內外對覆蓋網(wǎng)絡及流媒體多路路由的研究逐漸向多元性、復雜性方向發(fā)展。
2.1 覆蓋網(wǎng)絡及流媒體多路由研究現(xiàn)狀
參考文獻[2]提出了利用多路徑代替單路徑的方法提高覆蓋網(wǎng)絡QoS性能;參考文獻[3]提出了提高覆蓋網(wǎng)絡多路徑路由吞吐量的方法;參考文獻[4]分析了多路徑路由的多路徑相關性,提出了提高網(wǎng)絡QoS應注意的幾個問題,并以網(wǎng)絡SNR(Signal to Noise Ratio)為例提出了優(yōu)化方法;參考文獻[5]提出了如何使用多網(wǎng)絡路徑,利用合成帶寬尋找最好的路徑,從而提高媒體流可靠性的方法。而目前,對流媒體多路路由算法的研究主要有:MDC[6-7]、FGS[8]、MIRO[9]和一種新的覆蓋網(wǎng)絡視頻流多路選擇方案[10]等,但這些方案都沒有綜合考慮多路路由時路徑之間的相關性問題。
2.2 基于Spines覆蓋網(wǎng)絡的流媒體多路路由
Spines覆蓋網(wǎng)絡能穩(wěn)定地提供較好的流媒體服務,但是其靈活性和動態(tài)性較差,無法滿足網(wǎng)絡拓撲結構的動態(tài)變化。Spines中任一節(jié)點加入、退出或是失效都可能會引起整個網(wǎng)絡的癱瘓,網(wǎng)絡的可擴展性也較差。這也將無法滿足日益增加的流媒體用戶需求。相比之下,同樣具有自組織結構的P2P網(wǎng)絡則具有很高的耐攻擊性和容錯性。由于采用自組織的方式,P2P網(wǎng)絡可支持節(jié)點的動態(tài)加入和離開,且一般的P2P架構在出現(xiàn)節(jié)點失效時能夠自動調整拓撲結構,保持其連通性。
而分布式哈希表(DHT)路由算法是P2P的核心技術,可高效合理地實現(xiàn)網(wǎng)絡資源的索引及管理。在Spines網(wǎng)絡的覆蓋節(jié)點層中引入DHT技術,可提供一個具有高擴展性的節(jié)點命名、路由發(fā)現(xiàn)和更新機制。它通過為每一個實體指定唯一的標識,并通過路由表來確定本節(jié)點的鄰節(jié)點,再向其鄰節(jié)點傳遞消息。依此逐一通過多個節(jié)點的逐跳傳輸后到達目標節(jié)點,實現(xiàn)任意兩節(jié)點間的通信。因此,在Spines覆蓋網(wǎng)絡中引入P2P核心技術DHT可實現(xiàn)一種完全自組織的分布式覆蓋網(wǎng)絡。
同時,為了合理地利用剩余帶寬資源,解決網(wǎng)絡資源貧乏的問題,在自組織的Spines覆蓋網(wǎng)絡中引入多路并行方案,可從源節(jié)點同時并行傳輸流媒體數(shù)據(jù)的多條數(shù)據(jù)流到目的節(jié)點,實現(xiàn)具有一定QoS保證的實時流媒體服務。
3 基于Spines覆蓋網(wǎng)絡的流媒體多路路由改進方案
隨著分布式技術的發(fā)展,人們將更多的注意力投向分布式網(wǎng)絡的可靠性及可用性。對分布式數(shù)據(jù)的管理問題成為分布計算領域的又一熱點。本文引入了LEACH(Low Energy Adaptive Clustering Hierarchy)[11]協(xié)議,利用聚類首領機制有效抗擊惡意攻擊,增強網(wǎng)絡的抗毀性,從而提高網(wǎng)絡的可靠性。
3.1 LEACH協(xié)議
LEACH是MIT的Chandrakasan等人為無線傳感器網(wǎng)絡設計的低功耗自適應聚類路由算法。相比一般的平面多跳路由協(xié)議和靜態(tài)聚類算法,LEACH可以將網(wǎng)絡生命周期延長15%。LEACH定義了“輪(Round)”的概念,一輪由初始化和穩(wěn)定工作兩個階段組成。它主要通過隨機機制選擇聚類首領,平均分擔中繼通信業(yè)務來實現(xiàn)。為了避免額外的處理開銷,穩(wěn)定工作狀態(tài)一般持續(xù)的時間相對較長。聚類首領選擇機制為:在初始化階段,將傳感器節(jié)點生成0~1之間的隨機數(shù),若大于閾值T(n),則選該節(jié)點為聚類首領。T(n)的定義如下:

其中,p為節(jié)點中成為聚類首領的百分數(shù),r是當前的輪數(shù),G是在過去的1/p輪沒有被選擇為聚類首領的節(jié)點的集合。
當聚類首領被選定,它們便主動向所有節(jié)點廣播這一消息。依據(jù)接收信號的強度,節(jié)點選擇它所要加入的組,并告知相應的聚類首領。
在穩(wěn)定工作階段,節(jié)點持續(xù)采集監(jiān)測數(shù)據(jù),傳給聚類首領,進行必要的融合處理之后,發(fā)送到Sink節(jié)點。因此,這是一種減小通信業(yè)務量的合理工作模式。在持續(xù)一段時間后,整個網(wǎng)絡進入下一輪工作周期,重新選擇聚類首領。由于節(jié)點是根據(jù)信號的強弱來加入相應的組,所以當惡意攻擊者采用Hello Flood大功率進行廣播時,大量的節(jié)點都想加入到該組中。接著惡意節(jié)點采用諸如選擇重發(fā)、修改數(shù)據(jù)包等其他的攻擊方法,來達到攻擊的目的。但采用這種聚類首領的產(chǎn)生機制,節(jié)點可以通過Svbil攻擊增加自己被選擇為首領的機會,從而抵制惡意攻擊。
3.2 基于Spines覆蓋網(wǎng)絡的流媒體多流并行傳輸
基于LEACH協(xié)議的原理,通過周期性的選擇聚類首領,將集中的數(shù)據(jù)訪問合理地分布到不同的節(jié)點和網(wǎng)絡路徑上,利用不同的聚類首領平衡網(wǎng)絡的負載,從而有效地解決熱點問題,提高系統(tǒng)性能。
根據(jù)以上分析,提出了基于Spines覆蓋網(wǎng)絡平臺的流媒體端對端的多流并行實時傳輸方案,以改進流媒體服務系統(tǒng)并行傳輸?shù)腝oS,如圖2所示。

圖2中,以現(xiàn)有Internet設施為基礎,在應用層的主機上運行Spines節(jié)點軟件,構建Spines覆蓋網(wǎng)絡,通過覆蓋網(wǎng)絡的協(xié)調工作,實現(xiàn)了具有一定QoS保證的流媒體實時應用。其中結合了DHT技術、LEACH協(xié)議及QoS多路路由方案等。
本文以Spines覆蓋網(wǎng)絡為基礎網(wǎng)絡平臺,對流媒體實時并行傳輸?shù)腝oS多路路由進行了研究。一方面,引入DHT技術,有效提高了Spines覆蓋網(wǎng)絡的可擴展性;另一方面,引入LEACH協(xié)議的聚類首領機制,有效提高了網(wǎng)絡的可靠性和可用性。但Spines的實時傳輸要求逐跳的時延不能太大,否則就難以發(fā)揮逐跳傳輸?shù)膬?yōu)勢。這里就有一個參數(shù)折衷的問題。同時節(jié)點的加入、離開造成鏈路性能的動態(tài)變化,覆蓋網(wǎng)絡QoS多路路由算法對可用帶寬的測量也是一個問題。隨著寬帶網(wǎng)絡及3G網(wǎng)絡的普及,對基于覆蓋網(wǎng)絡的流媒體傳輸?shù)腝oS問題的研究也越來越重要。
參考文獻
[1] The Spines Overlay Network. http:// www. spines. Org. com.[2010-12-01].
[2] Pi Renjie, Song Junde. Multi-path transmission based on overlay network[C]. Proceedings of the 18th International Conference on AINA, IEEE, 2004.
[3] MARK B L, Zhang Shidong. A multipath flow routing approach for increasing throughput in the Internet[C]. IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, PacRim 2007,2007:21-24.
[4] MAURO A D, SCHONFELD D, CASETTI C. A peer-to-peer overlay network for real time video communication using multiple paths[C]. IEEE International Conference on Multimedia and Expo, 2006:921-924.
[5] JURCA D, PETROVIC S, FROSSARD P. Media aware routing in large scale networks with overlay[C]. IEEE International Conference on Multiniedia and Expo, 2005.
[6] APOSTOLOPOULOS J G. Reliable video communication over lossy packet networks using multiple state encoding and path diversity[C]. Video Communication and Image Processing. VCIP’01, 2001.
[7] Lin Shuna, Wang Yao, Mao Shiwen. Video transport over ad hoc networks using multiple paths[C]. IEEE International Symposium on Circuits and Systems, 2002.
[8] Zhou Jian, Shao Huairoug, Chia Shen, et al. Multi-path transport of FGS video[C]. Proceeding of Packet Video Work shop, 2003.
[9] Xu Wen, REXFORD J. MIRO: multi-path interdomain routing[C]. Proceedings of the 2006 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM’06, New York, USA, 2006.
[10] Ma Zheng, Shao Huairong, Shen Chia. A new multi-path selection scheme for video streaming on overlay networks[C]. Proceeding of IEEE International Conference on Communication, 2004.
[11] HEINZELMAN W, CHANDRAKASAN A, BALAKRISHNAN H. Energy-efficient communication protocols for wireless microsensor networks[C]. Proceedings of Hawaaian International Conference on Systems Science, January, 2000.
