摘 要:提出并實現了一個報文轉發和控制平臺NetMagic,截取報文的前64字節,加上本地時間戳信息,產生摘要報文,在外部控制主機上實現流媒體傳輸延時的抖動估計。在主機與平臺之間實現了NMAC協議,利用以太網傳輸控制命令,簡化了系統體系結構。 測試結果表明,摘要報文既能反映流媒體傳輸延時的抖動特性,也能提供其他五元組分析功能。
關鍵詞:流媒體; 傳輸延時; 均方差; 時間戳
中圖分類號:
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 引 言
隨著“三網融合”技術的發展,流媒體數據在Internet上傳輸占的比例日益增大。數據從播出機房開始需要經過多種異構設備的轉換才能到達用戶端,期間不僅帶來了傳輸延遲,還造成了延時的抖動[1-2]。調查表明,用戶可以容忍一個固定的、短的傳輸延時,但對于視頻抖動的敏感度遠大于短暫丟包造成的視頻質量下降。在當前復雜的網絡環境中要實時和準確地檢測傳輸延時抖動是比較困難的,因為多數交換機和路由器并不具備此類功能[3-4]。通過接收端的流量控制機制和緩沖策略可以減小流媒體傳輸延時,提高QoS性能,但都需要占用接收端一定的處理資源[5-7]。
LDA(Lossy Difference Aggregator)方法通過比較發送報文和接收報文的時間分布計算報文的延時特性[8],其主要問題是需要占用一定的傳輸帶寬,難以實現以流為粒度的延時測量。RLI(Reference Latency Interpolation)方法在設備入口端插入一段帶時間戳的參考報文,在出口端提取參考報文并測量其延時,而位于參考報文間的其他報文的延時可通過插值的方式估算[9],這種方法測量的是設備某一對端口間的轉發延遲,而且需要對設備硬件和軟件做某些修改[10]。
為解決這些問題,用FPGA作為核心處理器件,構建了一個NetMagic平臺,用于報文傳輸延時抖動的測量。FPGA的靈活處理能力使得這個平臺還具備了其他許多方面的功能。
1 NetMagic平臺體系結構
NetMagic平臺類似一個八口的交換機,既可以實現普通的二層轉發,也可以實現IP層轉發[11]。NetMagic的結構如圖1所示。
圖1 NetMagic平臺結構
FPGA采用Altera公司的芯片EP2AGX45,內嵌3 435 Kb RAM。PHY采用Vitesse 公司的芯片VSC8224,支持4個千兆RJ 45電口。FPGA還可以直接通過4路SerDes信號與千兆光模塊相連。NetMagic平臺包含一個512 Mb的DDR2 SDRAM,用來緩沖報文。JTAG接口用于對FPGA編程。
在FPGA完成常規的二層和三層轉發的同時,外部控制主機還可以通過自定義的NMAC協議對平臺的功能進行配置[11]。NMAC協議的核心思想是Configuration Over Ethernet,即利用以太網傳輸配置命令,實現控制與轉發分離,將傳統路由器上CPU的控制功能轉移到外部主機上進行。
NMAC協議的訪問控制命令如表1所示。
NMAC協議采用三次握手方式在主機和FPGA之間建立連接,將所有命令和數據封裝在IP報文的payload中。
2 延時抖動測量
延時抖動測量的基本原理如下:將NetMagic平臺串接在待測鏈路上,流媒體報文由某個端口輸入,經過FPGA的快速調度后復制到指定端口輸出,同時產生一個摘要報文送往外部控制主機。為了準確測量延時的抖動值,需要盡量減小平臺自身的插入延時,同時設計合適的摘要報文格式,以攜帶報文的到達時間等信息。延時抖動測量的處理模型如圖2所示。
圖2 延時抖動測量處理模型
NetMagic自身帶來的延時分為傳輸延時和調度延時兩部分,并且與端口數目和內部工作頻率等參數有關。對于單鏈路測試而言,端口數目為2,內部工作頻率在125 MHz以上,總的插入延時在μs級[11]。統計結果表明,報文的到達時間差通常在ms級,因此NetMagic的插入延遲相對來說是可以忽略的,這樣也可以簡化報文的轉發流程。
FPGA事先利用內部時鐘產生一個連續的32位計數器。當流媒體報文到達時,截取報文的前64個字節,并將當前計數器的值作為報文到達時間戳,與物理端口號等其他信息一起,組成一個48位的域,替換源MAC地址。地址被替換的64字節報文,加上重新計算的CRC值,形成摘要報文,從特定端口送往外部控制主機處理。
外部控制主機在Linux環境下調用libpcap函數,對摘要報文進行捕獲,并形成本地文件。這個文件包含了待測鏈路上每個報文的到達時間戳和五元組等信息,可以很方便地進行延時抖動分析。
假設第Pi個采樣報文到達的時間為ti,那么定義到達時間差τi為:
τi=ti-ti-1
(1)
這里1
τi的大小和變化速率體現了視頻流的抖動特性,如果τi的值在一個較大的范圍內波動,反映鏈路可能出現了擁塞,從而會影響流媒體數據的傳輸。
為了準確評估流媒體傳輸時延的特性,這里引入兩個參數:抖動平均值e和抖動均方差δ,以綜合反映流媒體的時延特性。定義如下:
e=1n∑ni=1τi
(2)
δ=1n-1∑ni=1(τi-e)2
(3)
在式(3)中,取因子為n-1是因為報文是樣本報文,因此計算的是樣本方差。這里連續采樣了15 494個報文,每100個報文計算一次抖動平均值e和抖動方差δ的值,共計算10個采樣周期,然后得出曲線,如圖3所示。
從圖3的曲線可以看出,抖動平均值在 7.5~17.5 ms之間,抖動方差的值在1.3~5.4 ms之間。在第4次采樣周期中,抖動平均值和抖動方差的值都在均線范圍之上,表示這段時間報文的傳輸延時出現了不穩定。
3 結 語
影響流媒體傳輸質量的因素有很多,包括延時、帶寬、緩沖區大小、應用層協議等各方面,其中傳輸延時作為一個主要參數對流媒體傳輸質量有較大影響。正常傳輸過程中的報文是不含報文到達和發送時間的,因此NetMagic平臺提供的報文時間戳等信息為延時參數的評估提供了很好的基礎,并且易于實現。由于NetMagic平臺截取了報文的前64字節,包含了源IP地址、目的IP地址、協議類型、源端口號、目的端口號等五元組信息,因此還可以提供流條目統計、報文過濾、流量控制等功能,這些也是以后將要研究的內容。
參 考 文 獻
[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流媒體網絡延遲的方法[J].計算機工程,2011,37(12):76-78.
[6]王慧,孫志剛.大規模流媒體多播系統中動態流量控制機制[J].通信學報,2010,31(10):88-89.
[7]鐘琳華,江何.IPTV終端視頻緩沖控制策略的設計與實現[J].計算機工程與設計,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年出生,湖南桃源人,副研究員,碩士生導師。主要研究方向為無線網絡與路由器體系結構。
程 輝 男,1982年出生,山東濰坊人,碩士研究生。主要研究方向為網絡測量。