摘 要:提出并實現(xiàn)了一個報文轉(zhuǎn)發(fā)和控制平臺NetMagic,截取報文的前64字節(jié),加上本地時間戳信息,產(chǎn)生摘要報文,在外部控制主機上實現(xiàn)流媒體傳輸延時的抖動估計。在主機與平臺之間實現(xiàn)了NMAC協(xié)議,利用以太網(wǎng)傳輸控制命令,簡化了系統(tǒng)體系結(jié)構(gòu)。 測試結(jié)果表明,摘要報文既能反映流媒體傳輸延時的抖動特性,也能提供其他五元組分析功能。
關(guān)鍵詞:流媒體; 傳輸延時; 均方差; 時間戳
中圖分類號:
TN919-34; TP393
文獻標識碼:A
文章編號:1004-373X(2012)05
-0080
-03
Streaming media transfer delay jitter MSE estimation based on NetMagic
MAO Xi-long, CHENG Hui
(School of Computer, National University of Defense Technology, Changsha 410073, China)
Abstract:
A forward and control platform is presented and completed, which is used to cut the first 64 bytes of the received packet, add the local timestamp to form a new abstract packet, and estimate the transfer delay jitter of the streaming media on the external host computer. A NMAC protocol is implemented between the host and platform, it transfers the control commands over Ethernet packets and simplifies the system structure simultaneously. The test results show that the abstract packets can carry the jitter characters of streaming media transfer delay and provide other five-tuple analysis functions.
Keywords: streaming media; transfer delay; MSE; timestamp
收稿日期:2011-10-28
基金項目:國家973計劃資助項目(2009CB320503)
0 引 言
隨著“三網(wǎng)融合”技術(shù)的發(fā)展,流媒體數(shù)據(jù)在Internet上傳輸占的比例日益增大。數(shù)據(jù)從播出機房開始需要經(jīng)過多種異構(gòu)設(shè)備的轉(zhuǎn)換才能到達用戶端,期間不僅帶來了傳輸延遲,還造成了延時的抖動[1-2]。調(diào)查表明,用戶可以容忍一個固定的、短的傳輸延時,但對于視頻抖動的敏感度遠大于短暫丟包造成的視頻質(zhì)量下降。在當前復雜的網(wǎng)絡(luò)環(huán)境中要實時和準確地檢測傳輸延時抖動是比較困難的,因為多數(shù)交換機和路由器并不具備此類功能[3-4]。通過接收端的流量控制機制和緩沖策略可以減小流媒體傳輸延時,提高QoS性能,但都需要占用接收端一定的處理資源[5-7]。
LDA(Lossy Difference Aggregator)方法通過比較發(fā)送報文和接收報文的時間分布計算報文的延時特性[8],其主要問題是需要占用一定的傳輸帶寬,難以實現(xiàn)以流為粒度的延時測量。RLI(Reference Latency Interpolation)方法在設(shè)備入口端插入一段帶時間戳的參考報文,在出口端提取參考報文并測量其延時,而位于參考報文間的其他報文的延時可通過插值的方式估算[9],這種方法測量的是設(shè)備某一對端口間的轉(zhuǎn)發(fā)延遲,而且需要對設(shè)備硬件和軟件做某些修改[10]。
為解決這些問題,用FPGA作為核心處理器件,構(gòu)建了一個NetMagic平臺,用于報文傳輸延時抖動的測量。FPGA的靈活處理能力使得這個平臺還具備了其他許多方面的功能。
1 NetMagic平臺體系結(jié)構(gòu)
NetMagic平臺類似一個八口的交換機,既可以實現(xiàn)普通的二層轉(zhuǎn)發(fā),也可以實現(xiàn)IP層轉(zhuǎn)發(fā)[11]。NetMagic的結(jié)構(gòu)如圖1所示。
圖1 NetMagic平臺結(jié)構(gòu)
FPGA采用Altera公司的芯片EP2AGX45,內(nèi)嵌3 435 Kb RAM。PHY采用Vitesse 公司的芯片VSC8224,支持4個千兆RJ 45電口。FPGA還可以直接通過4路SerDes信號與千兆光模塊相連。NetMagic平臺包含一個512 Mb的DDR2 SDRAM,用來緩沖報文。JTAG接口用于對FPGA編程。
在FPGA完成常規(guī)的二層和三層轉(zhuǎn)發(fā)的同時,外部控制主機還可以通過自定義的NMAC協(xié)議對平臺的功能進行配置[11]。NMAC協(xié)議的核心思想是Configuration Over Ethernet,即利用以太網(wǎng)傳輸配置命令,實現(xiàn)控制與轉(zhuǎn)發(fā)分離,將傳統(tǒng)路由器上CPU的控制功能轉(zhuǎn)移到外部主機上進行。
NMAC協(xié)議的訪問控制命令如表1所示。
NMAC協(xié)議采用三次握手方式在主機和FPGA之間建立連接,將所有命令和數(shù)據(jù)封裝在IP報文的payload中。
2 延時抖動測量
延時抖動測量的基本原理如下:將NetMagic平臺串接在待測鏈路上,流媒體報文由某個端口輸入,經(jīng)過FPGA的快速調(diào)度后復制到指定端口輸出,同時產(chǎn)生一個摘要報文送往外部控制主機。為了準確測量延時的抖動值,需要盡量減小平臺自身的插入延時,同時設(shè)計合適的摘要報文格式,以攜帶報文的到達時間等信息。延時抖動測量的處理模型如圖2所示。
圖2 延時抖動測量處理模型
NetMagic自身帶來的延時分為傳輸延時和調(diào)度延時兩部分,并且與端口數(shù)目和內(nèi)部工作頻率等參數(shù)有關(guān)。對于單鏈路測試而言,端口數(shù)目為2,內(nèi)部工作頻率在125 MHz以上,總的插入延時在μs級[11]。統(tǒng)計結(jié)果表明,報文的到達時間差通常在ms級,因此NetMagic的插入延遲相對來說是可以忽略的,這樣也可以簡化報文的轉(zhuǎn)發(fā)流程。
FPGA事先利用內(nèi)部時鐘產(chǎn)生一個連續(xù)的32位計數(shù)器。當流媒體報文到達時,截取報文的前64個字節(jié),并將當前計數(shù)器的值作為報文到達時間戳,與物理端口號等其他信息一起,組成一個48位的域,替換源MAC地址。地址被替換的64字節(jié)報文,加上重新計算的CRC值,形成摘要報文,從特定端口送往外部控制主機處理。
外部控制主機在Linux環(huán)境下調(diào)用libpcap函數(shù),對摘要報文進行捕獲,并形成本地文件。這個文件包含了待測鏈路上每個報文的到達時間戳和五元組等信息,可以很方便地進行延時抖動分析。
假設(shè)第Pi個采樣報文到達的時間為ti,那么定義到達時間差τi為:
τi=ti-ti-1
(1)
這里1
τi的大小和變化速率體現(xiàn)了視頻流的抖動特性,如果τi的值在一個較大的范圍內(nèi)波動,反映鏈路可能出現(xiàn)了擁塞,從而會影響流媒體數(shù)據(jù)的傳輸。
為了準確評估流媒體傳輸時延的特性,這里引入兩個參數(shù):抖動平均值e和抖動均方差δ,以綜合反映流媒體的時延特性。定義如下:
e=1n∑ni=1τi
(2)
δ=1n-1∑ni=1(τi-e)2
(3)
在式(3)中,取因子為n-1是因為報文是樣本報文,因此計算的是樣本方差。這里連續(xù)采樣了15 494個報文,每100個報文計算一次抖動平均值e和抖動方差δ的值,共計算10個采樣周期,然后得出曲線,如圖3所示。
從圖3的曲線可以看出,抖動平均值在 7.5~17.5 ms之間,抖動方差的值在1.3~5.4 ms之間。在第4次采樣周期中,抖動平均值和抖動方差的值都在均線范圍之上,表示這段時間報文的傳輸延時出現(xiàn)了不穩(wěn)定。
3 結(jié) 語
影響流媒體傳輸質(zhì)量的因素有很多,包括延時、帶寬、緩沖區(qū)大小、應(yīng)用層協(xié)議等各方面,其中傳輸延時作為一個主要參數(shù)對流媒體傳輸質(zhì)量有較大影響。正常傳輸過程中的報文是不含報文到達和發(fā)送時間的,因此NetMagic平臺提供的報文時間戳等信息為延時參數(shù)的評估提供了很好的基礎(chǔ),并且易于實現(xiàn)。由于NetMagic平臺截取了報文的前64字節(jié),包含了源IP地址、目的IP地址、協(xié)議類型、源端口號、目的端口號等五元組信息,因此還可以提供流條目統(tǒng)計、報文過濾、流量控制等功能,這些也是以后將要研究的內(nèi)容。
參 考 文 獻
[1]CISCO Systems. Optimizing video transport in your IP triple play network \\[DB/OL\\]. \\[2011-10-15\\]. http://www.cisco.com/en/US/prod/collateral/routers/ps368/prod_white_paper0900aecd80478c12.html.
[2]Bell Canada. Utilizes cisco systems technology to help deliver surgical grade network to power historic telerobotics assisted surgery \\[DB/OL\\]. \\[2003-03-04\\]. http://www.ece.mcmaster.ca/~teds/PAPERS_folder/Cisco-Bell-Canada-Historic-Operation.pdf.
[3]IETF RFC-3393. IP packet delay variation \\[S\\]. USA:CARLO Demichelis, Philip Chimento, 2002.
[4]XIAO Yang, DU Xiao-jiang, ZHANG Jing-yuan, et al. Internet protocol television (IPTV): the killer application for the next-generation internet \\[J\\]. IEEE Communication Magazine, 2007, 45(11): 126-134.
[5]趙正德,孫培君.一種減小3G流媒體網(wǎng)絡(luò)延遲的方法[J].計算機工程,2011,37(12):76-78.
[6]王慧,孫志剛.大規(guī)模流媒體多播系統(tǒng)中動態(tài)流量控制機制[J].通信學報,2010,31(10):88-89.
[7]鐘琳華,江何.IPTV終端視頻緩沖控制策略的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2007,28(24):5880-5886.
[8]KOMPELLA R, LEVCHENKO K, SNOEREN A C, et al. Every microsecond counts: tracking fine-grain latencies with a lossy difference aggregator \\[C\\]// Proceedings of the ACM SIGCOMM 2009 on Data Communication. New York, USA:ACM, 2009: 255-266.
[9]LEE Myungjin, DUFFIELD N, KOMPELLA R. Not all microseconds are equal:fine-grained per-flow measurements with reference latency interpolation \\[C\\]// Proceedings of the ACM SIGCOMM 2010 on Wireless and Measurement. New York, USA:ACM, 2010: 27-38.
[10]NUDT Netmagic Research Group. Implementing RLI architecture on the netmagic platform \\[DB/OL\\]. \\[2011-05-10\\]. http://www.netmagic.org/data/documents/presentations/RLI%20Demo.pdf.
[11]NUDT Netmagic Research Group. Netmagic: an open platform for network innovation \\[DB/OL\\]. \\[2010-10-10\\]. http://www.netmagic.org/introduction.htm.
作者簡介:
毛席龍 男,1970年出生,湖南桃源人,副研究員,碩士生導師。主要研究方向為無線網(wǎng)絡(luò)與路由器體系結(jié)構(gòu)。
程 輝 男,1982年出生,山東濰坊人,碩士研究生。主要研究方向為網(wǎng)絡(luò)測量。