前言:想要寫出一篇引人入勝的文章?我們特意為您整理了網(wǎng)絡(luò)電視視頻質(zhì)量監(jiān)察模型探討范文,希望能給你帶來靈感和參考,敬請閱讀。
本文作者:譚杰、孫志剛、程輝 單位:國防科學(xué)技術(shù)大學(xué)計算機學(xué)院
MDI[4]包括兩個部分:延遲因素DF(DelayFactor)和媒體丟包率MLR(MediaLossRate)。但從RFC4445中可以看出計算和實現(xiàn)DF的算法比較復(fù)雜。DF是指一個時間間隔期間,在每個視頻流報文數(shù)據(jù)包接收處觀察到的,流入的報文數(shù)據(jù)與流出的報文數(shù)據(jù)之間的最大差值與媒體流碼率MR(MediaRate)的比值,即接收到的字節(jié)數(shù)和解碼所需的字節(jié)數(shù)之間的最大差值再與MR的比值。若在每個采樣周期內(nèi)有k個報文到達(dá),則需要計算2k+1個虛擬緩沖區(qū)VB(VirtualBuffer)值,即每一條報文到達(dá)前的VB和報文到達(dá)后的VB,然后選取其中的最大虛擬緩沖區(qū)VB(max)和最小虛擬緩沖區(qū)VB(min),則DFVB(max)VB(min)MR=。因此,如果要得到一個DF值,需要在一個采樣點上計算兩次VB,并且在這個采樣周期內(nèi)所有VB值中找到最大值和最小值,根據(jù)公式然后需要進(jìn)行一次除法計算,而對于一個持續(xù)的視頻流來說,需要得到多個DF值才能進(jìn)行性能判斷,這樣的算法將勢必會在一定程度上加大硬件實現(xiàn)的難度、增加設(shè)備的負(fù)載。
針對計算DF值算法較復(fù)雜的問題,本文對MDI:DF的算法進(jìn)行了研究,發(fā)現(xiàn)另一種實現(xiàn)較其簡單的基于令牌桶計算網(wǎng)絡(luò)延遲及抖動情況的TBM算法[5],其計算出來的TB值與DF值相似,能反映網(wǎng)絡(luò)狀態(tài),但是TB值并不能很好地與DF值擬合。因此,本文第二部分主要介紹了對TBM算法進(jìn)行改進(jìn)的TBM+算法基本思想,第三部分描述了TBM+算法,第四部分介紹了在實驗室搭建的一個IPTV監(jiān)測模型,以及對DF算法、TBM算法和TBM+算法的對比實驗,并針對三種視頻監(jiān)測的實驗結(jié)果進(jìn)行比較和性能分析,最后是本文的結(jié)束語。
基本思想
將基于令牌桶的算法思想與DF算法思想進(jìn)行比較,令牌桶算法是通過令牌桶內(nèi)的令牌數(shù)就相當(dāng)于報文長度,并且無需在多個虛擬緩沖區(qū)VB值中取最大值和最小值,而是直接輸出時刻點的令牌數(shù),因此可以直接反映緩存區(qū)的變化情況,較DF算法思想更直觀、簡單,同時由于DF算法中存在除法運算,因此從硬件實現(xiàn)的角度來看,基于令牌桶的算法實現(xiàn)起來會更容易、方便。本文是基于令牌桶的方法實現(xiàn)視頻質(zhì)量監(jiān)測。其TBM+算法基本思想[1]是:如果接收到一條報文,則將該報文長度lpack輸入令牌管理模塊中,由令牌管理模塊將與lpack相等的令牌數(shù)量加入令牌桶。同時,令牌管理模塊根據(jù)恒定的速率MR將令牌從桶中刪除??删幊潭〞r器產(chǎn)生MR_t,MR_t表示令牌減小操作的時間間隔。寄存器中存有MR_v,MR_v為每次減小的令牌數(shù)。MR為令牌桶中令牌減少的速率,即MR=MR_v/MR_t。當(dāng)令牌桶中令牌裝滿時,則表示接口流量到達(dá)過快;當(dāng)令牌桶中變空時,則表示接口流量到達(dá)過慢或無報文到達(dá)。令牌桶中UP_THD(underflowprotect)為下溢保護(hù)閥值,令牌桶內(nèi)令牌數(shù)目少于該值時,表示近段時間內(nèi)報文到達(dá)速率較低;OP_THD(overflowprotect)為上溢保護(hù)閥值,令牌桶內(nèi)令牌數(shù)目大于該值時,表示近段時間內(nèi)報文到達(dá)速率較高;Bucket_value為當(dāng)前令牌數(shù);B為令牌桶深度。將OP_THD、UP_THD、Bucket_value、B、MR_t和MR_v這些參數(shù)輸入TBM+計算模塊進(jìn)行計算,最后得到結(jié)果TB值。令牌桶計算模型如圖1所示。TBM+算法是在TBM算法上進(jìn)行改進(jìn)和完善的。
針對TBM算法并不能很好地與DF算法的結(jié)果相擬合這個不足,對此在計算TB值的具體算法上進(jìn)行了改進(jìn):一方面在Bucket_value與保護(hù)閾值進(jìn)行比較時,計算出與TBM算法不同的值賦給up_flow和down_flow;另一方面與TBM算法直接將up_flow和down_flow的值作為結(jié)果輸出不同,TBM+算法是將up_flow和down_flow的值與以前采樣周期的TB值進(jìn)行累加,得到當(dāng)前采樣周期的TB值做為結(jié)果輸出。
算法描述
根據(jù)以上參數(shù)定義可知,令牌桶內(nèi)令牌個數(shù)反映了虛擬緩沖區(qū)VB的大小,同時UP_THD和OP_THD反映了VB接近下溢和上溢時需要報警的閥值。當(dāng)Bucket_value<0或Bucket_value>B時,說明VB已經(jīng)出現(xiàn)下溢或上溢現(xiàn)象。當(dāng)Bucket_value>OP_THD時,計算出當(dāng)前令牌桶中大于上溢保護(hù)閥值OP_THD的令牌數(shù)up_flow;當(dāng)Bucket_value<UP_THD時,計算出當(dāng)前令牌桶中令牌數(shù)down_flow。最后再將這些令牌數(shù)up_flow和down_flow與TB值進(jìn)行累加,最終得到TB值。具體的令牌桶算法TBM+如表1所示。表1中的第10條語句計算的是當(dāng)前令牌桶中的令牌數(shù)量,MR_V/MR_T*ttt是令牌桶中減少的令牌數(shù)總和,即總共經(jīng)過了ttt時間后令牌桶按照MR的速率減少的令牌數(shù),lsum是接收的報文長度的總和,即令牌桶接收的令牌數(shù)總和,兩者相減就得到桶中此時的令牌數(shù)量。第11至13條語句,考慮的是令牌桶下溢的情況,此時的桶中令牌排空,故將bucket_value的值賦0。第14至16條語句,考慮的是當(dāng)前令牌桶中的令牌數(shù)大于上溢保護(hù)閥值的情況,將當(dāng)前令牌數(shù)與上溢保護(hù)閥值的差值記錄在up_flow中。第17至19條語句,考慮的是當(dāng)前令牌桶中的令牌數(shù)小于上溢保護(hù)閥值的情況,將當(dāng)前令牌數(shù)記錄在down_flow中。第20至22條語句,考慮的是當(dāng)前令牌桶中的令牌數(shù)介于兩個保護(hù)閥值之間的情況,則up_flow和down_flow都為0。第24條語句計算當(dāng)前采樣周期的TB值,即將之前所有采樣周期的TB值與當(dāng)前采樣周期的up_flow值、down_flow值進(jìn)行累加。
實驗結(jié)果與分析
整個視頻質(zhì)量監(jiān)測模型系統(tǒng)中硬件設(shè)計的核心部分主要是在NetMagic[6]平臺上完成。NetMagic平臺是國防科學(xué)技術(shù)大學(xué)計算機學(xué)院網(wǎng)絡(luò)與信息安全研究所面向下一代互聯(lián)網(wǎng)體系結(jié)構(gòu)研究而設(shè)計開發(fā)的可重構(gòu)的開發(fā)式交換平臺。NetMagic平臺采用了高性能FPGA和商用以太網(wǎng)交換芯片相結(jié)合的新型體系結(jié)構(gòu),可提供高端口密度報文線速轉(zhuǎn)發(fā)能力和邏輯可重構(gòu)能力,從而有效支持新型網(wǎng)絡(luò)協(xié)議和報文處理機制的快速實現(xiàn)和部署。NetMagic采用開源開放的設(shè)計思想和模塊可重用的設(shè)計理念,為用戶提供了高可用的基本功能模塊并設(shè)計了良定義的標(biāo)準(zhǔn)接口,可有效減少用戶的系統(tǒng)設(shè)計、實現(xiàn)及驗證周期。我們先在實驗室搭建了一個模擬IPTV的實驗環(huán)境,再將NetMagic放入環(huán)境中組成視頻質(zhì)量監(jiān)測模型。
這個視頻質(zhì)量監(jiān)測模型需要一臺視頻服務(wù)器、一臺視頻客戶端、一臺計算機作為控制端和監(jiān)測端,一臺NetMagic部署在視頻服務(wù)器與客戶端之間。具體的模型網(wǎng)絡(luò)拓?fù)鋱D如圖2所示。視頻服務(wù)器發(fā)送出視頻報文,視頻報文經(jīng)過網(wǎng)絡(luò)流入NetMagic;NetMagic將每條報文進(jìn)入的時刻記錄在報文數(shù)據(jù)中,同時根據(jù)接收到控制計算機發(fā)送的控制指令,對媒體流進(jìn)行模擬網(wǎng)絡(luò)干擾,再將每條報文提取出一條摘要報文發(fā)送給監(jiān)測計算機,最后將原視頻報文從NetMagic發(fā)送出去;視頻客戶端接收到視頻報文??刂?監(jiān)測計算機則從接收到的每條摘要報文中提取出報文長度和時間戳,根據(jù)不同的算法得到所需的實驗結(jié)果——DF值和TB值。
利用Wireshark抓包軟件捕獲網(wǎng)絡(luò)中的視頻服務(wù)器與終端之間的流媒體數(shù)據(jù),并保存成Trace文件。通過觀察分析,Trace文件中包含每個報文接收的時刻、長度、源和目的IP地址、源和目的端口號以及協(xié)議類型等,并且發(fā)現(xiàn)流媒體數(shù)據(jù)是封裝在UDP協(xié)議中進(jìn)行傳輸?shù)?。根?jù)IP協(xié)議和UDP協(xié)議的格式,將這種UDP報文中的時刻和長度所對應(yīng)的字段提取出來,分別輸入到DF算法和令牌桶算法之中,最后計算出我們需要的DF值和TB值。
在計算DF的實驗中,MR=1.664Mb/s,采樣周期為100ms,每一個采樣周期計算出一個DF值;在TBM算法和TBM+算法的實驗中,設(shè)一個令牌為1字節(jié),其參數(shù)設(shè)置為MR_t=10ms,MR_v=2080,采樣周期為100ms,UP_THD=4000,OP_THD=6000,B=10000,每一個采樣周期輸出一個TB值。最終,通過三個不同的算法進(jìn)行計算,分別得到所要的實驗結(jié)果DF值、TBM算法的TB值和TBM+算法的TB值,如圖3所示。從實驗結(jié)果的曲線圖中可以看出,TBM+算法的TB值曲線較TBM算法的可以更好地與DF值的曲線擬合,說明TBM+算法比TBM算法更能反映所測的網(wǎng)絡(luò)狀態(tài)。如圖3(b)所示,可以發(fā)現(xiàn)在第135個采樣周期時刻,出現(xiàn)了一次突發(fā)性報文到達(dá),使得令牌桶內(nèi)令牌數(shù)Bucket_value陡然增加,從而導(dǎo)致DF值和TB值也突然增加。如圖3(a)、圖3(b)、圖3(c)所示,當(dāng)DF值為一定值或TB值為0時,說明網(wǎng)絡(luò)中無報文到達(dá)或報文到達(dá)速率較慢,存在網(wǎng)絡(luò)延時;當(dāng)DF值或TB值變化越頻繁,說明網(wǎng)絡(luò)抖動越強烈。
結(jié)束語
本文設(shè)計了一種監(jiān)測網(wǎng)絡(luò)性能參數(shù)的IPTV視頻質(zhì)量監(jiān)測模型,該監(jiān)測模型使用了一種優(yōu)于計算MDI:DF值為性能參數(shù)、基于令牌桶TBM算法的改進(jìn)算法TBM+,可以解決目前缺乏有效的應(yīng)用于IPTV的視頻質(zhì)量測試工具問題。監(jiān)測模型可以從視頻源端到目的端之間任一段網(wǎng)絡(luò)中接入,監(jiān)測指定的視頻數(shù)據(jù)流,可以計算網(wǎng)絡(luò)延時參數(shù)。通過監(jiān)測曲線的變化來判斷引起視頻質(zhì)量問題的原因,及時發(fā)現(xiàn)網(wǎng)絡(luò)故障,提高故障處理效率,為進(jìn)一步優(yōu)化和部署IPTV的網(wǎng)絡(luò)提供客觀依據(jù)。