《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 業(yè)界動態(tài) > IPTV測試儀網(wǎng)絡(luò)層測試的設(shè)計與實現(xiàn)

IPTV測試儀網(wǎng)絡(luò)層測試的設(shè)計與實現(xiàn)

2009-07-27
作者:陳玉花,, 張治中,, 杜西亞

  摘??要: 以IPTV測試儀的網(wǎng)絡(luò)層測試功能為研究背景,介紹了IPTV的整體設(shè)計框架,、網(wǎng)絡(luò)層測試指標(biāo)的算法設(shè)計,,并在此基礎(chǔ)上探討了利用 IP流量發(fā)生器測試這些指標(biāo)的設(shè)計方案。分析了方案中先進的主從機模式和高效的流量產(chǎn)生算法及調(diào)度算法,,給出了測試方案的仿真結(jié)果,。結(jié)果表明,方案思路清晰,、穩(wěn)定可靠,。此方案已應(yīng)用于IPTV測試儀中,效果良好,。
  關(guān)鍵詞:網(wǎng)絡(luò)層指標(biāo),; IP流量發(fā)生;主從機模式,;調(diào)度算法,; IPTV測試儀

?

  隨著數(shù)字媒體娛樂的興起,IPTV吸引了業(yè)界眾多眼球[1-3],,成為全球電信業(yè)投資重點之一,。IPTV業(yè)務(wù)是伴隨著寬帶互聯(lián)網(wǎng)的飛速發(fā)展而興起的一項新興的互聯(lián)網(wǎng)增值業(yè)務(wù),它利用寬帶互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施,,以家用電視機和電腦作為主要終端,,利用網(wǎng)絡(luò)機頂盒STB(Set-TopBox),通過互聯(lián)網(wǎng)協(xié)議來傳送電視信號,,提供包括電視節(jié)目在內(nèi)的多種數(shù)字媒體服務(wù),。IPTV簡單來說就是交互式網(wǎng)絡(luò)電視[2-5],它能為用戶提供電信級的服務(wù)和使用簡便的電視式體驗,。然而,,在融合的環(huán)境中,使用IPTV這樣的應(yīng)用,,服務(wù)質(zhì)量和性能測試顯得比以往更加重要,。因此,IPTV測試儀應(yīng)運而生,。
  IPTV測試儀網(wǎng)絡(luò)層質(zhì)量測試,,主要指傳統(tǒng)IP網(wǎng)絡(luò)層的性能指標(biāo),根據(jù)ITU-T Y.1540[3]建議,,主要為IP丟包率,、IP包時延、IP包抖動及其相關(guān)參數(shù),。IPTV用戶最為注重的就是服務(wù)質(zhì)量,,而網(wǎng)絡(luò)的時延、抖動和丟包將導(dǎo)致圖像斑點和馬賽克、圖片模糊和邊緣失真,、音頻中斷以及通道更改延遲等,,嚴重影響了服務(wù)質(zhì)量。因此,本文對網(wǎng)絡(luò)層指標(biāo)的測試設(shè)計與實現(xiàn)的研究具有重要意義[1-8],。
1 測試儀的整體框架
  IPTV測試儀由軟件和硬件兩部分組成,而對網(wǎng)絡(luò)層的測試,,主要由硬件部分FPGA模塊的IP流量發(fā)生器實現(xiàn),,如圖1所示。

?


  本文研究的IPTV測試儀網(wǎng)絡(luò)層測試,,采用了單MAC主從機測試模式進行主動測試,,利用IP流量發(fā)生器自發(fā)自收IP包,分析相應(yīng)的時間戳和包數(shù)量等參數(shù),,由此計算IP包的時延,、抖動和丟包率。
2 網(wǎng)絡(luò)層測試指標(biāo)算法設(shè)計
  IPTV測試儀網(wǎng)絡(luò)層的測試指標(biāo)主要包括丟包率,、時延,、抖動及其相關(guān)參數(shù)。
2.1 時延和抖動算法設(shè)計
  在測試中,,時延是指測試儀發(fā)送測試包與接收測試包的時間的差值,。當(dāng)音頻和視頻IP包離開發(fā)送端時,按照規(guī)則的間隔均勻地排列,。在通過網(wǎng)絡(luò)之后,,這一均勻的間隔因不同的時延大小而遭到破壞,從而產(chǎn)生抖動,。抖動會導(dǎo)致目標(biāo)終端上音頻和視頻流的不連貫性,。
  測試時,在發(fā)送的IP 包中加上發(fā)送時間戳,,在接收時提取IP包中的時間戳,,同時記錄接收時間,接收和發(fā)送的時間的差值即統(tǒng)計時延,。
  假設(shè)發(fā)送IP包的時間戳為SentTimei,,接收時間為RecvTimei,i為計算時延值Delayi和抖動值Jitteri的個數(shù),。為了使計算更為精確,,采用概率的統(tǒng)計平均算法,取前2m(m=0,、1…16,可設(shè)置)個值計算平均值,作為預(yù)估平均值,即為所求的時延值和抖動值,。具體算法如下:
    

2.2 丟包率算法設(shè)計
  丟包對視頻播放質(zhì)量有直接的影響,發(fā)生IP數(shù)據(jù)包丟失可能基于多個原因,如帶寬限制,、網(wǎng)絡(luò)擁塞,、鏈路故障以及傳輸錯誤,。數(shù)據(jù)包丟失通常代表了一種突發(fā)式行為,經(jīng)常與網(wǎng)絡(luò)擁塞時段相關(guān)聯(lián),。
  丟包率是指測試中所丟失數(shù)據(jù)包數(shù)量占所發(fā)送數(shù)據(jù)包的比率,,通常在吞吐量范圍內(nèi)測試。假設(shè)第j次主測試儀發(fā)送IP包的個數(shù)為IPSentj,,接收回來的包為IPRecvj,,則丟包率IPLostj為:
  

  為了使計算更為精確,采用概率的統(tǒng)計平均算法,,取前2m(m=0,、1…16,可設(shè)置)個值計算平均值,作為預(yù)估平均值,即為所求的丟包率,。
  
  以上網(wǎng)絡(luò)層指標(biāo)的測試,,采取主動測試模式,利用IP流量發(fā)生器來完成,。
3 測試方案設(shè)計
3.1主從機測試模式

  普通測試儀采用的雙MAC單機測試模式,,只能測試單個網(wǎng)絡(luò),測試距離短,、范圍小,。IPTV測試儀網(wǎng)絡(luò)層測試采用的是單MAC主從機測試模式,可遠距離跨網(wǎng)測試,比單機測試模式測試距離更長,,范圍更廣,,精確度更高。
  IPTV測試儀在測試網(wǎng)絡(luò)層指標(biāo)時,,可作為主機發(fā)送IP包,,可作為從機轉(zhuǎn)發(fā)IP包,也可同時作為主機和從機,,同時發(fā)送接收和轉(zhuǎn)發(fā)IP包,。如圖2所示。


  測試儀A和測試儀B測試網(wǎng)絡(luò)1,,測試儀B和測試儀C測試網(wǎng)絡(luò)2,。其中A選擇主機狀態(tài),發(fā)送接收IP包,,分析測試指標(biāo),。C選擇從機狀態(tài)轉(zhuǎn)發(fā)B發(fā)送的IP包給B。而B則同時作為A的從機和C的主機,,負責(zé)發(fā)送和接收給C的IP包,,同時轉(zhuǎn)發(fā)回A發(fā)送來的IP包。
主從機通信流程圖如圖3所示。


  首先主機A發(fā)送連接請求消息,,從機B回復(fù)連接響應(yīng)消息,。收到回復(fù)后,主機A發(fā)送連接建立完成消息并發(fā)送加上發(fā)送時間戳的IP包,,從機B接收并轉(zhuǎn)發(fā)回IP包給主機A,。主機A根據(jù)返回IP包的數(shù)據(jù)計算時延抖動和丟包率。
3.2 整體設(shè)計
  測試儀的主從機測試模式以及測試指標(biāo)參數(shù)提取是采用IP流量發(fā)生器實現(xiàn)的,。其主要由控制模塊,、 同步模塊、響應(yīng)模塊,、ARP/RARP模塊、轉(zhuǎn)發(fā)模塊,、IP流量發(fā)生模塊,、自身IP包處理模塊、發(fā)送模塊,、發(fā)送調(diào)度模塊,、接收模塊、接收調(diào)度模塊等組成,。具體方案設(shè)計如圖4所示,。

?


  控制模塊負責(zé)IP流量發(fā)生器與CPU的交互,并控制測試儀處于何種狀態(tài):主機狀態(tài),、從機狀態(tài),、主從機狀態(tài);ARP/RARP模塊主要負責(zé)ARP/RARP包的處理,;同步模塊負責(zé)主機向從機發(fā)送連接請求,;響應(yīng)模塊負責(zé)從機向主機發(fā)送響應(yīng)信息;轉(zhuǎn)發(fā)模塊完成主機發(fā)送來的IP包的轉(zhuǎn)發(fā),;IP流量發(fā)生模塊產(chǎn)生主機要發(fā)送的IP包,;自身IP包處理模塊完成對從機轉(zhuǎn)發(fā)回的IP包進行分析處理,提取網(wǎng)絡(luò)測試指標(biāo)參數(shù),;接收模塊完成網(wǎng)絡(luò)上各種測試包的接收,;接收調(diào)度模塊調(diào)度接收到的測試包發(fā)送到相應(yīng)的模塊處理,如將ARP包送到ARP模塊,;發(fā)送模塊負責(zé)將各種測試包發(fā)送到網(wǎng)絡(luò),;發(fā)送調(diào)度模塊完成各個模塊測試包的發(fā)送順序。
3.3 IP流量發(fā)生方案
  IP流量發(fā)生模塊是整個IP流量發(fā)生器最重要的模塊,。用戶在進行網(wǎng)絡(luò)層測試時,,啟動IP流量發(fā)生器。用戶輸入每秒產(chǎn)生的IP包的個數(shù)、IP包的長度,、IP包的類型,、目的IP地址等關(guān)鍵參數(shù)。IP流量發(fā)生模塊根據(jù)這些信息生成IP流量,。
  發(fā)送的IP包的生成采用“定點填充,、規(guī)律生成”的方案,即一些關(guān)鍵信息如測試時間,、IP頭長度,、IP包總長度等在IP包中分配有固定的位置,且取值會對測試結(jié)果產(chǎn)生影響,。對于這樣的信息就要根據(jù)IP包的類型和用戶填寫的信息填充到固定的位置,。如圖5中的偽碼所示。


  而IP包承載的一些數(shù)據(jù)信息可以是任何隨意的值,,取值多少對測試結(jié)果不會產(chǎn)生影響,。對于這些信息,為了避免出現(xiàn)全0,,將按一定規(guī)律產(chǎn)生,。如偽碼中所示,最高8位為一個固定前綴ti,,低8位為位置偏移量的值offset(以4字節(jié)為單位),。當(dāng)offset=x'01F4' 時,ti<=ti+1,。這樣規(guī)律產(chǎn)生的數(shù)據(jù),,便于測試時檢查傳輸數(shù)據(jù)的正確性和糾錯。
3.4 調(diào)度算法設(shè)計
  在IPTV測試儀的IP流量發(fā)生器中主要有2個重要的調(diào)度:接收調(diào)度和發(fā)送調(diào)度,。測試儀處于不同的狀態(tài)時,,采用不同的調(diào)度算法。現(xiàn)在以調(diào)度最為復(fù)雜的主從機狀態(tài)為例,,介紹2個重要調(diào)度的算法設(shè)計,。
  (1) 接收調(diào)度
  接收模塊接收的測試包有4種可能:ARP/RARP包、作為從機要轉(zhuǎn)發(fā)的包,、應(yīng)主機同步包的響應(yīng)包,、作為主機接收回的自身的IP包。
  接收調(diào)度就是判斷測試包的類型,,接收的是哪種類型的測試包就送到相應(yīng)的處理模塊進行處理,。
  (2)發(fā)送調(diào)度
  相對接收調(diào)度,發(fā)送調(diào)度要復(fù)雜很多,。因為測試儀同時處于主機和從機狀態(tài),,它要發(fā)送的測試包有:ARP/RARP包,、作為主機自身產(chǎn)生的IP包、請求從機建立連接的同步包,、作為從機要轉(zhuǎn)發(fā)回去的IP包,。但是幾種測試包可能都在等待發(fā)送。因此發(fā)送調(diào)度模塊采用了“先來先服務(wù),,同在看級別”的算法思想,。
  發(fā)送模塊主要調(diào)度4種測試包的發(fā)送。當(dāng)4種IP包到來時間不同時,,且每次只有1種包需要發(fā)送時,,則采用先來先服務(wù)FCFS(First Come First Serve)調(diào)度算法,哪種測試包先到達,調(diào)度模塊則將其送到發(fā)送模塊發(fā)送,。當(dāng)有2種或3種測試包在同時等待發(fā)送時,,根據(jù)其優(yōu)先級排隊發(fā)送,優(yōu)先發(fā)送級別高的測試包,,然后發(fā)送級別低的測試包,。本方案中ARP/RARP包的級別最高為1,同步包次之為2,,轉(zhuǎn)發(fā)的IP包級別為3,自身IP流量發(fā)生的IP包的級別最低為4,。即如果3種包同時需要發(fā)送時,,優(yōu)先發(fā)送ARP包。
  這種算法思想結(jié)合了經(jīng)典的先來先服務(wù)調(diào)度算法和優(yōu)先級調(diào)度算法的優(yōu)點,,實現(xiàn)了發(fā)送模塊的最優(yōu)調(diào)度,。
4 仿真結(jié)果及分析
  測試時,IP流量發(fā)生器接收用戶輸入的數(shù)據(jù),,根據(jù)這些數(shù)據(jù)產(chǎn)生IP包,,發(fā)送模塊在和從機建立連接后,按一定的幀間隔發(fā)送IP包,,并在IP包頭后打上發(fā)送時間戳,。接收模塊接收轉(zhuǎn)發(fā)回來的IP包,記錄每個IP包的時延,,并統(tǒng)計接收到的IP包個數(shù),,送到上層應(yīng)用程序進行計算。
  為了便于觀察測試結(jié)果,,測試輸入如下:選擇主機狀態(tài),,發(fā)送時鐘周期選擇20 ns,1 s發(fā)送50 000個IP包,,發(fā)送間隔為3個時鐘周期,,IP包頭長度為20個字節(jié),,總長度為64字節(jié),沒有分片,。主機IP地址為10.11.107.75(十六進制表示為0A0B6B4B),,從機IP地址為10.11.105.34(十六進制表示為0A0B6922)。發(fā)送時間戳存放在IP包頭的目的IP地址后,。發(fā)送和接收模塊的仿真圖如圖6所示,。


  從圖中可以看到,接收到的發(fā)送模塊發(fā)送的IP包包頭數(shù)據(jù)與用戶輸入數(shù)據(jù)完全吻合,,且IP包數(shù)據(jù)完全按照IP流量產(chǎn)生算法規(guī)律產(chǎn)生,。接收模塊接收到的目的IP地址與發(fā)送模塊的源IP地址相同都為主機的IP地址,說明主從機連接成功,,通信正常,。
  FPGA模塊有一個公共時鐘計數(shù)器,以時鐘計數(shù)器值作為時間戳,,接收和發(fā)送時的計數(shù)器值的差值,,乘上時鐘周期即為所求時延。統(tǒng)計接收到的IP包的個數(shù),,在開始接收時鐘與當(dāng)前時鐘差值等于時鐘頻率時,,即接收開始1 s后,輸出和1 s鐘丟包個數(shù),,時間未到時丟包個數(shù)保持為0,。從圖5可以看到,接收模塊收到的第6個IP包的發(fā)送時間為0x000001F4,,接收時鐘為0x000061AB,,時延為124 500(0X00005FB4)個時鐘周期。在未到1 s時,,丟包個數(shù)保持為0,。
  測試結(jié)果與預(yù)期結(jié)果完全一致。同時,,經(jīng)示波器測試,,測試結(jié)果與仿真結(jié)果基本一致。
  本文首先介紹了IPTV測試儀的整體框架;然后分析了網(wǎng)絡(luò)層測試指標(biāo)算法,,提出了利用IP流量發(fā)生器實現(xiàn)網(wǎng)絡(luò)層測試的的設(shè)計方案;最后將方案在仿真軟件上進行測試和仿真,,并給出了部分結(jié)果。測試表明,本方案思路清晰,,實現(xiàn)簡單,,程序穩(wěn)定可靠。本方案已應(yīng)用到“重郵東電IPTV測試儀”中,,測試效果良好,。

參考文獻
[1] ?仇棟才,, 趙國峰. 薛飛. IPTV測試[J]. 電子工程技術(shù)與標(biāo)準化,2007(2):21-25.
[2] ?許永明,, 謝質(zhì)文,, 歐陽春. IPTV-技術(shù)與應(yīng)用實踐[M]. ?北京:電子工業(yè)出版社,2006.
[3] ?李曉飛,,朱墨軍. IPTV在中國的現(xiàn)狀與發(fā)展趨勢[J].中國多媒體通信,,2003,15(1):21-25.
[4] ?雷崢嶸.基于Windows Media流媒體技術(shù)的IPTV[J].廣州大學(xué)學(xué)報:自然科學(xué)版,,2006(3):43-47.
[5] ?陳晨,,裴昌幸. IP網(wǎng)絡(luò)流量產(chǎn)生器的研究與實現(xiàn)[J].重慶大學(xué)學(xué)報,2008(2).
[6] ?張偉,,王婉南.基于VxWorks的以太網(wǎng)流量發(fā)生器的實現(xiàn)[J]. 科學(xué)技術(shù)與工程,,2007(17).
[7] ?OLIVEIRA C,JAIME B K,,SUDA T.Long range depen-dence in IEEE 802.1 lb wireless LAN traffic:an empirical ?study[C].Proceedings of the 18th Annual? IEEE Computer?Communications Workshop(CCW 2003),,California,USA,,
?2003.
[8] ?ABRY P,,PARANIUK R,F(xiàn)LANDRIN P,,et a1. Multiscale?nature of network traffic[J]. IEEE Signal Processing Magazine,,2002,19(3):28-46.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]