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