李瑞睿,周 熙,鄭相全,葉久志
(重慶通信學院,重慶 400035)
隨著互聯(lián)網技術的不斷發(fā)展,流媒體技術(Streaming Media)日益成熟并普及。如今,流媒體技術被廣泛用于視頻點播、視頻直播和實時視頻會議等實時服務領域,為網絡的發(fā)展注入了新的活力。但流媒體用戶的急劇增加及其種類繁多的應用形式,給現(xiàn)有的網絡資源也帶來了極大的負擔。同時,通用覆蓋網絡概念的提出,使覆蓋網絡不再僅針對一項特定的應用。根據(jù)服務要求,利用通用覆蓋網絡提供的一項或幾項性能保證,并以此為基礎進行平臺擴展,可適應特定的某項應用。Spines是目前較常用的一種通用覆蓋網絡平臺,可支持有較高QoS要求的實時流媒體服務。因此,本文選擇在Spines覆蓋網絡上對流媒體的多流并行傳輸進行研究。
Spines是一種源代碼公開的通用覆蓋網絡,由約翰-霍普金斯大學的分布式網絡實驗室開發(fā),常被用于覆蓋網絡協(xié)議的測試和開發(fā)。
Spines覆蓋網絡的每一個Spines節(jié)點由Spines覆蓋網絡的一個覆蓋節(jié)點與一個Spines的Daemon軟件構成。它的結構分為用戶層和覆蓋網絡節(jié)點層兩個功能層層次,在每項應用中具體表現(xiàn)為:會話層、覆蓋網絡節(jié)點層和覆蓋鏈路層,如圖1所示。
會話層是覆蓋網絡上的應用程序接口,Spines會話層為用戶應用提供了應用程序接口。用戶通過連接到Daemon進行會話建立,如果需要與其他的用戶進行端到端的可靠通信,Daemon就會初始化端到端的會話模塊,并由TCP提供可靠連接。當用戶要求進行盡力而為的通信時,數(shù)據(jù)利用UDP傳輸,而控制信息仍通過TCP來傳輸。因此,Spines可利用會話模塊管理兩個終端應用之間數(shù)據(jù)的輸入輸出次序、端到端擁塞控制和流擁塞控制,以降低丟包率,提供端到端的可靠通信。
覆蓋網絡節(jié)點層則主要用于鏈路資源和網絡拓撲的管理,實現(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允許可靠會話和盡力而為會話。
圖1 Spines軟件結構
而覆蓋鏈路層是建立在IP網絡基礎上,通過UDP連接,可實現(xiàn)盡力而為數(shù)據(jù)鏈路、可靠數(shù)據(jù)鏈路、實時數(shù)據(jù)鏈路和控制鏈路四種虛擬鏈路。節(jié)點之間通過虛擬鏈路建立連接和發(fā)送數(shù)據(jù)。由于Data Forworder支持實時鏈路、可靠鏈路或不可靠鏈路之間的任意結合使用,用戶可根據(jù)具體的應用需求,選擇更合適的鏈路傳輸數(shù)據(jù)。
(1)逐跳傳輸協(xié)議
Spines采用了逐跳傳輸協(xié)議,通過逐跳傳輸?shù)姆绞綄崿F(xiàn)逐跳的擁塞控制和丟包恢復,為Spines覆蓋鏈路提供數(shù)據(jù)的可靠傳輸。由于使用存儲轉發(fā)的方式,特別在網絡狀況較差的情況下,當發(fā)生丟包時無需從發(fā)送端重傳便能實現(xiàn)丟包恢復,較好地改進了傳輸性能。因此,可通過覆蓋網絡節(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覆蓋網絡中鄰居節(jié)點之間的連接;通過頻率性的發(fā)送Hello包,測量鄰居節(jié)點間鏈路的往返時間;根據(jù)Hello包所攜帶的丟包信息,計算鏈路的丟包率;使用Hello協(xié)議來更新路由代價。
(5)State Flood協(xié)議
State Flood協(xié)議可實現(xiàn)Spines網絡拓撲及多播信息的更新,采用“洪泛”的方式來向整個網絡傳播拓撲結構信息(Link State)和多播組信息(Grou Pstate)。
(1)Spines優(yōu)點
Spines的主要協(xié)議使其可以支持有較高QoS要求的實時流媒體業(yè)務,如VoIP和實時視頻會議等。因此可將其作為通用覆蓋網絡平臺,研究用于流媒體服務的覆蓋網絡性能、QoS路由及多流并行技術等。Spines與流媒體技術、QoS路由、多流并行傳輸技術結合,可提供質量更好的實時流媒體服務。
(2)Spines缺點
由于每個Daemon連接不同數(shù)量的應用,且每個應用從Daemon中獲取務的要求也不同,引起Spines的負載不均衡問題。而Daemon之間采用的“洪泛”服務查詢機制,當Daemon較多時,會產生網絡擁塞問題。且當某一Daemon因故退出網絡時,在它之間獲取服務的應用所需要的服務并不能被其他Daemon發(fā)現(xiàn),使Spines網絡不能支持網絡拓撲結構動態(tài)變化的問題。
目前要在Internet上傳輸流媒體數(shù)據(jù),首先必須解決的三個最重要的問題包括:網絡帶寬的供不應求問題、流媒體數(shù)據(jù)的實時傳輸問題及多媒體數(shù)據(jù)流的強突發(fā)性問題。針對這些問題,結合Spines覆蓋網絡的優(yōu)缺點,下面分別介紹基于Spines覆蓋網絡的流媒體多路路由方案及其改進方案。
多路路由能有效利用物理網絡資源,尋找源與目的端之間的多條路徑,使數(shù)據(jù)遵循一定的策略在網絡中傳輸。所以基于流媒體服務的覆蓋網絡采用多路路由方案可以整合不同網絡信道上的剩余帶寬,使流媒體數(shù)據(jù)在網絡中傳輸?shù)馁|量最大化,并提供比單路徑路由更高的速率來傳輸數(shù)據(jù),同時保證網絡性能的穩(wěn)定。近年來,國內外對覆蓋網絡及流媒體多路路由的研究逐漸向多元性、復雜性方向發(fā)展。
[2]提出了利用多路徑代替單路徑的方法提高覆蓋網絡QoS性能;參考文獻[3]提出了提高覆蓋網絡多路徑路由吞吐量的方法;參考文獻[4]分析了多路徑路由的多路徑相關性,提出了提高網絡QoS應注意的幾個問題,并以網絡SNR(Signal to Noise Ratio)為例提出了優(yōu)化方法;參考文獻[5]提出了如何使用多網絡路徑,利用合成帶寬尋找最好的路徑,從而提高媒體流可靠性的方法。而目前,對流媒體多路路由算法的研究主要有 :MDC[6-7]、FGS[8]、MIRO[9]和一種新的覆蓋網絡視頻流多路選擇方案[10]等,但這些方案都沒有綜合考慮多路路由時路徑之間的相關性問題。
Spines覆蓋網絡能穩(wěn)定地提供較好的流媒體服務,但是其靈活性和動態(tài)性較差,無法滿足網絡拓撲結構的動態(tài)變化。Spines中任一節(jié)點加入、退出或是失效都可能會引起整個網絡的癱瘓,網絡的可擴展性也較差。這也將無法滿足日益增加的流媒體用戶需求。相比之下,同樣具有自組織結構的P2P網絡則具有很高的耐攻擊性和容錯性。由于采用自組織的方式,P2P網絡可支持節(jié)點的動態(tài)加入和離開,且一般的P2P架構在出現(xiàn)節(jié)點失效時能夠自動調整拓撲結構,保持其連通性。
而分布式哈希表 (DHT)路由算法是P2P的核心技術,可高效合理地實現(xiàn)網絡資源的索引及管理。在Spines網絡的覆蓋節(jié)點層中引入DHT技術,可提供一個具有高擴展性的節(jié)點命名、路由發(fā)現(xiàn)和更新機制。它通過為每一個實體指定唯一的標識,并通過路由表來確定本節(jié)點的鄰節(jié)點,再向其鄰節(jié)點傳遞消息。依此逐一通過多個節(jié)點的逐跳傳輸后到達目標節(jié)點,實現(xiàn)任意兩節(jié)點間的通信。因此,在Spines覆蓋網絡中引入P2P核心技術DHT可實現(xiàn)一種完全自組織的分布式覆蓋網絡。
同時,為了合理地利用剩余帶寬資源,解決網絡資源貧乏的問題,在自組織的Spines覆蓋網絡中引入多路并行方案,可從源節(jié)點同時并行傳輸流媒體數(shù)據(jù)的多條數(shù)據(jù)流到目的節(jié)點,實現(xiàn)具有一定QoS保證的實時流媒體服務。
隨著分布式技術的發(fā)展,人們將更多的注意力投向分布式網絡的可靠性及可用性。對分布式數(shù)據(jù)的管理問題成為分布計算領域的又一熱點。本文引入了LEACH(Low Energy Adaptive Clustering Hierarchy)[11]協(xié)議,利用聚類首領機制有效抗擊惡意攻擊,增強網絡的抗毀性,從而提高網絡的可靠性。
LEACH是MIT的Chandrakasan等人為無線傳感器網絡設計的低功耗自適應聚類路由算法。相比一般的平面多跳路由協(xié)議和靜態(tài)聚類算法,LEACH可以將網絡生命周期延長 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ù)一段時間后,整個網絡進入下一輪工作周期,重新選擇聚類首領。由于節(jié)點是根據(jù)信號的強弱來加入相應的組,所以當惡意攻擊者采用Hello Flood大功率進行廣播時,大量的節(jié)點都想加入到該組中。接著惡意節(jié)點采用諸如選擇重發(fā)、修改數(shù)據(jù)包等其他的攻擊方法,來達到攻擊的目的。但采用這種聚類首領的產生機制,節(jié)點可以通過Svbil攻擊增加自己被選擇為首領的機會,從而抵制惡意攻擊。
基于LEACH協(xié)議的原理,通過周期性的選擇聚類首領,將集中的數(shù)據(jù)訪問合理地分布到不同的節(jié)點和網絡路徑上,利用不同的聚類首領平衡網絡的負載,從而有效地解決熱點問題,提高系統(tǒng)性能。
根據(jù)以上分析,提出了基于Spines覆蓋網絡平臺的流媒體端對端的多流并行實時傳輸方案,以改進流媒體服務系統(tǒng)并行傳輸?shù)腝oS,如圖2所示。
圖2 基于Spines覆蓋網絡的流媒體多路并行傳輸構架圖
圖2中,以現(xiàn)有Internet設施為基礎,在應用層的主機上運行Spines節(jié)點軟件,構建 Spines覆蓋網絡,通過覆蓋網絡的協(xié)調工作,實現(xiàn)了具有一定QoS保證的流媒體實時應用。其中結合了DHT技術、LEACH協(xié)議及QoS多路路由方案等。
本文以Spines覆蓋網絡為基礎網絡平臺,對流媒體實時并行傳輸?shù)腝oS多路路由進行了研究。一方面,引入DHT技術,有效提高了Spines覆蓋網絡的可擴展性;另一方面,引入LEACH協(xié)議的聚類首領機制,有效提高了網絡的可靠性和可用性。但Spines的實時傳輸要求逐跳的時延不能太大,否則就難以發(fā)揮逐跳傳輸?shù)膬?yōu)勢。這里就有一個參數(shù)折衷的問題。同時節(jié)點的加入、離開造成鏈路性能的動態(tài)變化,覆蓋網絡QoS多路路由算法對可用帶寬的測量也是一個問題。隨著寬帶網絡及3G網絡的普及,對基于覆蓋網絡的流媒體傳輸?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,ZhangShidong.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-topeeroverlay network forrealtime 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 networkswith 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]XuWen, REXFORD J.MIRO: multi-pathinterdomain routing[C].Proceedings of the 2006 Conference on Applications,Technologies, Architectures, and Protocols forComputer 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.