李先 汪克峰
摘 要: 為了提高M(jìn)esh網(wǎng)結(jié)構(gòu)下的流媒體傳輸效率,在分析了當(dāng)前Mesh網(wǎng)流媒體傳輸方法基礎(chǔ)上,基于Mesh網(wǎng)的結(jié)構(gòu)特點(diǎn),通過把P2P技術(shù)和H2O流媒體放置復(fù)制算法相結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)了一種綜合考慮Router和Client的Mesh網(wǎng)流媒體傳輸方法,分別探討了非P2P和P2P模式下的流媒體發(fā)現(xiàn)、路由和傳輸機(jī)制,并通過仿真對(duì)算法的性能進(jìn)行了評(píng)估。仿真表明,與同類算法相比,該算法在性能上有明顯提高。
關(guān)鍵詞: Mesh網(wǎng); 流媒體; 傳輸方法; P2P
中圖分類號(hào): TN915?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)06?0062?03
Abstract: To improve the efficiency of flow media transmission in Mesh networks, a new Mesh network flow media transmission method that considers Routers and Clients comprehensively was designed and realized on the basis of analysis of the current Mesh network flow media transmission method and the Mesh network structure characteristics. The mechanisms of discovery, routing and transmission of flow media under non?P2P and P2P modes are discussed. The performance of the algorithm is evaluated with a simulation method. The simulation results show that, compared with similar algorithms, the performance of the algorithm proposed in this paper has more obvious improvement.
Keywords: Mesh network; flow media; transmission method; P2P
0 引 言
無線Mesh網(wǎng)(WMN)是一種新型的寬帶無線網(wǎng)絡(luò),具有高容量、高速率、分布式的特點(diǎn)。在網(wǎng)絡(luò)拓?fù)渖希琖MN與移動(dòng)Ad Hoc網(wǎng)絡(luò)相似,但網(wǎng)絡(luò)節(jié)點(diǎn)移動(dòng)性小,處于靜止或半靜止?fàn)顟B(tài),拓?fù)渥兓?,并且?jié)點(diǎn)不用電池作動(dòng)力,有穩(wěn)定的能量來源。在單跳接入時(shí),WMN可以看作是一種特殊的無線局域網(wǎng)。
在業(yè)務(wù)模式上,Ad Hoc網(wǎng)絡(luò)主要是節(jié)點(diǎn)間的業(yè)務(wù)流,而WMN網(wǎng)絡(luò)主要是來往于Internet網(wǎng)關(guān)的業(yè)務(wù)[1]。目前,基于城際Mesh網(wǎng)的應(yīng)用,如作為接入網(wǎng)和回程網(wǎng)的解決方案,被越來越多的研究[2]。
在基于WMN的諸多應(yīng)用中,按需點(diǎn)播(Video on?Demand, VoD)是最有吸引力的應(yīng)用服務(wù)之一,基于WMN的流媒體傳輸是一個(gè)具有挑戰(zhàn)性的研究領(lǐng)域,近年來提出了不少基于WMN的流媒體傳輸策略。Shui等人提出了一種基于DSR協(xié)議的多信道多路徑傳輸協(xié)議MM?DSR[3],通過該協(xié)議提供一種可靠的流媒體傳輸機(jī)制。文獻(xiàn)[4]對(duì)當(dāng)前基于AODV協(xié)議改進(jìn)、并應(yīng)用于WMN流媒體傳輸?shù)难芯窟M(jìn)行了總結(jié),這些研究都側(cè)重于提高視頻流的質(zhì)量。文獻(xiàn)[5]實(shí)現(xiàn)了一種UPAC算法,該算法采用P2P技術(shù)和服務(wù)器緩存技術(shù)來提高內(nèi)容容量和流的傳輸質(zhì)量。
文獻(xiàn)[6]討論了WMN按需點(diǎn)播視頻流的數(shù)據(jù)放置問題,提出了一個(gè)稱為Home?to?Home Online(H2O)的數(shù)據(jù)放置和復(fù)制框架,解決了多片段多跳傳輸延遲問題。文獻(xiàn)[7]在文獻(xiàn)[6]的基礎(chǔ)上進(jìn)行了改進(jìn),設(shè)計(jì)了一個(gè)新的數(shù)據(jù)復(fù)制框架H2?VIP。
本文的研究建立在文獻(xiàn)[6]的基礎(chǔ)上,但是基于一種不同的Mesh網(wǎng)結(jié)構(gòu),不僅僅考慮如文獻(xiàn)[6]中的Mesh Router,而且把Mesh網(wǎng)中的用戶Client也考慮進(jìn)去,比如PDA,移動(dòng)電話?;谠摻Y(jié)構(gòu),設(shè)計(jì)了新的媒體放置、發(fā)現(xiàn)策略,實(shí)現(xiàn)了一種基于Mesh網(wǎng)的流媒體傳輸方法。
1 媒體流放置和復(fù)制
基于圖1的Mesh網(wǎng)拓?fù)浣Y(jié)構(gòu),假設(shè)該網(wǎng)中有N個(gè)Mesh網(wǎng)網(wǎng)關(guān)(路由器),和文獻(xiàn)[6]中的業(yè)務(wù)模式不同,本網(wǎng)中的業(yè)務(wù)由用戶Client產(chǎn)生并發(fā)出請(qǐng)求。假設(shè)一個(gè)視頻流被分割為M個(gè)等量大小的視頻塊,整個(gè)視頻的播放長(zhǎng)度是T s,則每塊的播放時(shí)間為[Sb=TM]。文獻(xiàn)[6]的研究已證明,不需要每個(gè)路由器均存儲(chǔ)所有視頻塊,采用文獻(xiàn)[6]的復(fù)制和放置方案,可以最小化視頻塊的存儲(chǔ)容量。該算法假設(shè)塊[bi]要在塊[bi-1]播放結(jié)束之前到達(dá),如果用[tc]表示請(qǐng)求的發(fā)起時(shí)間,則塊[bi]應(yīng)該在時(shí)間[i×Sb+tc]之前到達(dá)。如果每個(gè)路由器按照播放速率來分配帶寬,擁有第[i]個(gè)視頻塊的路由器距離客戶端有[h]跳,則該路由器開始傳輸視頻塊[bi]的時(shí)間為[(i-h-1)×Sb+tc]。為了流暢的播放,Client向服務(wù)器請(qǐng)求的跳數(shù)應(yīng)滿足[h≤i],因此對(duì)于每個(gè)路由器,其[i]跳范圍內(nèi)至少要有塊[bi]的一個(gè)副本,才能保證其范圍內(nèi)的Client視頻請(qǐng)求得以流暢播放。塊[bi]應(yīng)被復(fù)制的次數(shù)為[ri=N(2i2+2i+1)],整個(gè)視頻流需要的存儲(chǔ)容量為[S=i=1Mri]。
2 流媒體發(fā)現(xiàn)機(jī)制
首先,Client向距離最近的Router發(fā)起視頻請(qǐng)求,收到請(qǐng)求的Router首先檢查本地是否存儲(chǔ)有請(qǐng)求視頻塊的副本,如果沒有,則該Router會(huì)產(chǎn)生一個(gè)請(qǐng)求消息,該消息由申請(qǐng)序列號(hào)、請(qǐng)求的視頻塊ID、視頻塊到達(dá)時(shí)間以及TTL組成。該消息采用廣播的方式向外擴(kuò)散,收到該消息的路由器同樣檢查本地是否存儲(chǔ)有請(qǐng)求視頻塊的副本,如果沒有且TTL>0,則繼續(xù)轉(zhuǎn)發(fā)。如果本地存儲(chǔ)有所請(qǐng)求的視頻塊,且有足夠的帶寬預(yù)留,則按照請(qǐng)求到達(dá)的路徑向源端發(fā)送一個(gè)響應(yīng)報(bào)文,中間節(jié)點(diǎn)收到該響應(yīng)報(bào)文后,檢查本身是否有足夠的帶寬預(yù)留,如果有,暫時(shí)預(yù)留帶寬并繼續(xù)向源端傳輸該響應(yīng)報(bào)文,如果沒有則拋棄該報(bào)文。源節(jié)點(diǎn)在收到回應(yīng)報(bào)文后,對(duì)同一視頻塊ID傳來的多個(gè)回應(yīng)報(bào)文,選擇跳數(shù)最少的一條路徑進(jìn)行確認(rèn),確認(rèn)報(bào)文經(jīng)過的節(jié)點(diǎn)會(huì)預(yù)留帶寬,當(dāng)確認(rèn)報(bào)文到達(dá)擁有視頻塊的Router時(shí),該Router會(huì)啟動(dòng)一個(gè)定時(shí)器,該Router必須在定時(shí)器到時(shí)之前發(fā)送視頻塊。那些收到回應(yīng)報(bào)文并暫時(shí)預(yù)留了帶寬的中間Router會(huì)同時(shí)啟動(dòng)一個(gè)定時(shí)器,在該定時(shí)器到時(shí)之前如果沒有收到確認(rèn)報(bào)文,則釋放預(yù)留的帶寬。
3 算法實(shí)現(xiàn)和性能評(píng)估
盡管文獻(xiàn)[6]中的H2O算法可以最小化副本的數(shù)量,但是因?yàn)橥負(fù)涞囊蛩?,某個(gè)Router可能會(huì)成為多個(gè)視頻塊的副本存放地,從而導(dǎo)致該服務(wù)器成為瓶頸,過多的請(qǐng)求會(huì)導(dǎo)致該Router性能下降。為了提高性能,本文把P2P模式引入到系統(tǒng)實(shí)現(xiàn)中來,讓Client緩存一定的視頻塊,并具有Router的功能。當(dāng)Router收到一個(gè)Client請(qǐng)求時(shí),和前述一樣,首先檢查本地是否存儲(chǔ)有該請(qǐng)求的副本,如果沒有,不是立即產(chǎn)生一個(gè)廣播報(bào)文,而是向其傳播范圍內(nèi)的Client發(fā)出一個(gè)查詢請(qǐng)求;如果在該范圍內(nèi)的Client緩存有該視頻塊,則向Router發(fā)送一個(gè)確認(rèn),Router收到以后,會(huì)在兩個(gè)Client之間建立一條路徑。如果Router沒有收到任何確認(rèn),則Router繼續(xù)產(chǎn)生洪泛報(bào)文,向鄰居Router查詢。
仿真在OMNet++仿真環(huán)境下進(jìn)行,仿真中在一個(gè)20×20正方形網(wǎng)格區(qū)域內(nèi)放置400個(gè)Router、400個(gè)Client,Client按均勻分布隨機(jī)分布在網(wǎng)格中,每個(gè)Router都以其周圍的4個(gè)Router作為鄰居,仿真中放置一個(gè)120 min的視頻,該視頻被分割為30個(gè)等大小的視頻塊,視頻播放需求帶寬4 Mb/s,到達(dá)請(qǐng)求服從泊松分布。
圖2是帶寬B=5時(shí)的仿真結(jié)果,橫軸是泊松分布的請(qǐng)求到達(dá)速率,縱軸是請(qǐng)求被阻塞的比率,由圖2可以看到,隨著請(qǐng)求到達(dá)速率的提高,請(qǐng)求被阻塞的概率增加。同時(shí)可以看到,在P2P模式下,而當(dāng)客戶端緩存容量SB=1時(shí),由于緩存太小,不能緩存更多視頻塊,因此就不能有效發(fā)揮客戶端的作用,系統(tǒng)性能提升就不夠明顯,隨著客戶端緩存容量SB的增加,阻塞率明顯降低,P2P模式下的系統(tǒng)性能得以明顯提高。圖3是在帶寬B=15時(shí)的仿真結(jié)果,對(duì)比圖2可發(fā)現(xiàn),在帶寬提高的前提下,阻塞率得以明顯降低。
以上仿真對(duì)本文算法的性能進(jìn)行了評(píng)估,為了進(jìn)一步比較本文算法和同類相關(guān)研究算法的性能,把本文中基于Mesh網(wǎng)結(jié)構(gòu)的流媒體傳輸算法(ABMA算法)和采用了相同網(wǎng)絡(luò)結(jié)構(gòu)的UPAC[5]算法進(jìn)行比較。仿真參數(shù)參照文獻(xiàn)[5]設(shè)定如下:仿真拓?fù)錇?0×10的網(wǎng)格矩形,共布置100個(gè)Router,各路由器傳輸范圍250 m,傳輸帶寬54 Mb/s,在中心區(qū)域路由器上放置一個(gè)視頻,并分割為30個(gè)等大小的視頻塊,各個(gè)終端請(qǐng)求的CBR流需求帶寬為400 Kb/s,每個(gè)數(shù)據(jù)包的大小為1 460 B。在以上條件下,圖4統(tǒng)計(jì)了不同數(shù)量終端并發(fā)請(qǐng)求下的丟包率。由圖4可以看出,盡管兩種算法采用了相同的Mesh網(wǎng)體系機(jī)構(gòu),但由于本文的算法結(jié)合了文獻(xiàn)[6]的放置算法,并把Client考慮在內(nèi),因此客戶端的請(qǐng)求被有效分流,丟包率大幅降低,性能明顯優(yōu)于UPAC算法。
4 結(jié) 論
本文在總結(jié)現(xiàn)有Mesh網(wǎng)流媒體放置和復(fù)制算法的基礎(chǔ)上,設(shè)計(jì)了一種適用于Mesh網(wǎng)結(jié)構(gòu)的流媒體傳輸方法,和原有算法相比較,本方法不僅考慮了Mesh網(wǎng)中的Router,同時(shí)把Mesh網(wǎng)中的Client也考慮了進(jìn)去,并對(duì)方法的性能進(jìn)行了仿真評(píng)估。仿真表明,在Client參與的P2P模式下,系統(tǒng)能夠獲得更好的性能。
參考文獻(xiàn)
[1] MOHAMMAD E, OMIDREZA K, TOURAJ K. A survey on wireless mesh networks: Architecture, specifications and challenges [C]// Proceedings of IEEE 5th Control and System Graduate Research Colloquium (ICSGRC). Nework: IEEE, 2014: 219?222.
[2] MANKAR S T, KOLI S M. Enhancing the performance of wireless mesh network (WMN) for video transmission in context with IEEE 802.11 [C]// Proceedings of 2015 International Conference on Energy Systems and Applications. [S.l.]: IEEE, 2015: 34?39.
[3] KIRAN P, NARAYAN D G, UMA M. Cross layer routing and rate adaptation for video transmission in multi?radio wireless mesh networks [C]// Proceedings of 2015 International Conference on Advances in Computing, Communications and Informatics (ICACCI). [S.l.: s.n.], 2015: 2139?2144.
[4] YU M, CHA W, SONG J, et al. Design and implementation of an audio/video group chat application for wireless mesh networks [C]// Proceedings of 2015 15th International Conference on Advanced Communication Technology (ICACT). [S.l.: s.n.], 2013: 818?822.
[5] SYRIGOS L,CHOUMAS K,KORAKIS T, et al. Demonstration of a video?aware multicast opportunistic routing protocol over 802.11 two?hop mesh networks [C]// Proceedings of 2014 11th Annual IEEE International Conference on Sensing, Communication and Networking (SECON). [S.l.]: IEEE, 2014: 149?151.
[6] TAN B, LAURENT M. Optimal content placement for peer?to?peer video?on?demand systems [J]. IEEE transactions on networking, 2013, 21(2): 566?579.
[7] HACHEM J, KARAMCHANDANI N, DIGGAVI S. Content caching and delivery over heterogeneous wireless networks [C]// Proceedings of 2015 IEEE Conference on Computer Communications (INFOCOM). [S.l.]: IEEE, 2015: 756?764.