肖宇峰,朱 鴿,張 釗
(西南科技大學(xué)a.信息工程學(xué)院;b.特殊環(huán)境機器人技術(shù)四川省重點實驗室,四川綿陽621010)
探測包長可變的往返時延測量
肖宇峰a,b,朱 鴿a,張 釗a
(西南科技大學(xué)a.信息工程學(xué)院;b.特殊環(huán)境機器人技術(shù)四川省重點實驗室,四川綿陽621010)
作為高清視頻傳輸領(lǐng)域的新型技術(shù),巨幀傳輸加劇了網(wǎng)絡(luò)延遲動態(tài)性,使得傳統(tǒng)時延測量方法很難準(zhǔn)確估計往返時間。提出了一種探測包長可變的往返時延測量方法:測量初期,確定保證超時定時器穩(wěn)定工作的增益系數(shù)和偏差權(quán)重系數(shù)范圍;測量期間,根據(jù)包長動態(tài)設(shè)定這兩個系數(shù)。該方法使得超時定時器能反映時延的動態(tài)性,提高定時準(zhǔn)確性,減少不必要的重傳。實驗表明該方法可在巨幀網(wǎng)絡(luò)中有效測量往返時延。
高清視頻傳輸;網(wǎng)絡(luò)測量;時延;超時;巨幀
網(wǎng)絡(luò)視頻對時延非常敏感,對其傳輸網(wǎng)絡(luò)的時延測量是部署視頻業(yè)務(wù)、保證服務(wù)質(zhì)量的重要依據(jù)。影響端到端時延的因素有網(wǎng)絡(luò)節(jié)點的處理速度、網(wǎng)絡(luò)吞吐量、網(wǎng)絡(luò)節(jié)點處的擁塞狀況等,復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)和多變的網(wǎng)絡(luò)流量使得時延量化成為很難的問題。為能實時準(zhǔn)確地了解網(wǎng)絡(luò)端到端時延,測量并分析時延成為量化時延的一種重要手段。時延測量在過去十多年里得到了廣泛研究,其方法根據(jù)探測程序的部署方式可分為主動時延測量和被動時延測量[1]。這里的主動時延測量是本文討論的重點,具有部署靈活、實現(xiàn)簡單的優(yōu)勢,在網(wǎng)絡(luò)管理系統(tǒng)中得到了大量應(yīng)用。端到端時延可分為單向時延和往返時延,前者只討論一端到另一端的延遲情況,而后者討論兩端雙向的延遲[2-4]。相對于單向時延面臨的時鐘同步難題,往返時延沒有時鐘精確性問題,實現(xiàn)更加簡單。常見的往返時延測量有:基于ICMP協(xié)議的網(wǎng)絡(luò)連通性測試工具,如Ping、Tracert;TCP協(xié)議中Jacobson算法的RTT測量[5]。在近年來的研究成果中,Ludwig和soandso針對無線網(wǎng)絡(luò)特點提出了測量RTT的Eifel算法[6];Nunes采用FSE(Fixed Share Experts)提出了測量RTT的機器學(xué)習(xí)方法[7]。
盡管時延測量的研究取得了大量成果,而且一部分已經(jīng)轉(zhuǎn)化為實際的網(wǎng)絡(luò)管理工具。但是,這些研究討論的網(wǎng)絡(luò)包最大尺寸在1 500 byte左右。隨著千兆以太網(wǎng)的快速發(fā)展,傳統(tǒng)的以太幀封裝方法正被大數(shù)據(jù)量應(yīng)用挑戰(zhàn),一些采用4 000 byte,8 000 byte的幀封裝技術(shù)正逐步被高清視頻傳輸、高速網(wǎng)絡(luò)存儲采納[8]。這樣一些超常規(guī)的數(shù)據(jù)包被稱為巨幀,最大長度可達(dá)9 018 byte。相比傳統(tǒng)以太幀,巨幀在通信質(zhì)量很高的信道中會有更高的傳輸效率。這些巨型數(shù)據(jù)包給網(wǎng)絡(luò)時延帶來了很多變化,除了隨之而來的時延值增加外,網(wǎng)絡(luò)的時延抖動也更加劇烈。由于傳統(tǒng)網(wǎng)絡(luò)的包長小于2 000 byte,其時延測量方法很少考慮數(shù)據(jù)包長對時延的影響,不能適應(yīng)巨幀給網(wǎng)絡(luò)帶來的變化[9]。
針對傳統(tǒng)時延測量在巨幀網(wǎng)絡(luò)中的不足,本文提出了一種探測包長可變的往返時延測量方法。在Jacobson算法基礎(chǔ)上,該方法可根據(jù)探測包長來設(shè)定超時定時器的控制量(增益系數(shù)和偏差權(quán)重系數(shù)),使得超時定時器能反映時延的動態(tài)性,提高定時準(zhǔn)確性,避免不必要的重傳。在具體測量時延之前,該方法還需要發(fā)現(xiàn)保證定時器穩(wěn)定工作的控制量范圍。實驗證明,本文的方法能適應(yīng)包長的變化,在巨幀出現(xiàn)時可有效測量往返時延。
1.1 時延測量與超時定時器
往返時延描述了數(shù)據(jù)包沿端到端路徑折返經(jīng)歷時延的總和,其測量的基本過程為:首先,源端計算機向目的端主動發(fā)出探測包;其次,目的端收到該包后再向源端返回一個應(yīng)答包;最后,計算這種往返式探測包發(fā)送時刻與返回時刻的時間差。由于探測包可能在路徑的中間結(jié)點處經(jīng)歷丟失,為避免測量過程因等待丟失包而無窮等待或者計算錯誤,需要為探測過程設(shè)置超時定時器,具體使用方式為:發(fā)送探測包時啟動超時定時器;當(dāng)超時發(fā)生時,放棄本次測試并發(fā)送下一個探測包。超時定時器應(yīng)根據(jù)當(dāng)前往返時延合理設(shè)定,過短的超時時間會增加測量開銷,過長的超時時延會帶來不必要的等待時間,二者都會導(dǎo)致低效的測量過程。本文根據(jù)經(jīng)典的Jacobson算法給出了計算定時器超時時間的基本公式為
式中:Trto是超時時間;Tsrtt是當(dāng)前時延測量值;Tsrtt=Tsrtt+ α·ΔT;Trttvar=Trttvar+β·(|ΔT|-Trttvar),ΔT=Trtt-Tsrtt。
上述的Tsrtt是根據(jù)往返時延測量值得到的估計值,Trttvar是均值方差,α是增益系數(shù),β是偏差權(quán)重系數(shù)。α取值0~1,其作用是平滑Tsrtt:該值越小,時延估計值受當(dāng)前Trtt值的影響越小;該值越大,時延估計值受當(dāng)前Trtt值的影響越大。β決定了Trto對Trtt變化的響應(yīng)速度:該值越到小,響應(yīng)越慢;該值越大,響應(yīng)越快。
1.2 超時定時器的控制參數(shù)調(diào)整
圖1記錄了一個巨幀網(wǎng)絡(luò)中時延隨探測包長變化的情況,橫軸是探測包的長度,縱軸是時延抖動頻度。從該圖記錄的測試數(shù)據(jù)可以發(fā)現(xiàn)實際網(wǎng)絡(luò)的時延特性會隨著數(shù)據(jù)包長度的變化而變化,尤其是在存在巨幀的網(wǎng)絡(luò):包長增加時,時延呈線性增長,而時延抖動也呈加劇趨勢;包長減小時,時延下降,而時延抖動趨于平緩。α和β在實際應(yīng)用中一般固定為經(jīng)驗值0.125和0.25,對普通數(shù)據(jù)包長比較合理(包長從幾十字節(jié)到1 000字節(jié))。但網(wǎng)絡(luò)中出現(xiàn)巨幀這類長型數(shù)據(jù)包時,其取值往往會過濾巨幀帶來的時延特性變化,導(dǎo)致定時器的超時值不合理。
考慮到上述情況,根據(jù)包長調(diào)整定時器控制參數(shù)將使得超時時間更加合理,更能充分反映大型包對網(wǎng)絡(luò)時延帶來的變化。假設(shè)α取值[α1,α2]、β取值[β1,β2]時定時器工作比較穩(wěn)定,網(wǎng)絡(luò)中數(shù)據(jù)包長l變化范圍為[l1,l2]字節(jié)。根據(jù)α和β與包長l的線性關(guān)系
圖1 不同探測包長的時延特性變化
有如下表達(dá)式
式(3)表明,在確定控制參數(shù)工作區(qū)間和包長范圍后,可根據(jù)包長調(diào)節(jié)α和β來適應(yīng)時延的動態(tài)變化。
1.3 算法步驟
根據(jù)上述思路,本文設(shè)計如下的往返時延測量算法,具體步驟為:
第一步,初始化網(wǎng)絡(luò)參數(shù),確定網(wǎng)絡(luò)數(shù)據(jù)包的長度范圍。對于巨幀網(wǎng)絡(luò),包長超過了普通的1 500 byte,可達(dá)到4 000 byte,乃至9 000 byte。
第二步,探測超時定時器參數(shù)工作范圍。通過循環(huán)發(fā)出多組探測包,可確定保證定時器穩(wěn)定工作的α和β取值區(qū)間。
第三步,設(shè)定動態(tài)的超時定時器控制參數(shù)。確定當(dāng)前探測包長度l,根據(jù)式(3)計算α和β數(shù)值,并根據(jù)式(1)計算超時時間值Trto。
第四步,啟動往返時延測量過程:
1)發(fā)出探測包P,同時記錄下發(fā)送時刻T1,并啟動超時定時器;
2)如果超時發(fā)生,轉(zhuǎn)1);
3)如果探測包的應(yīng)答包P'返回,記錄下接收該包的時刻T2,計算當(dāng)前往返時延測量值Trtt=T2-T1;否則,轉(zhuǎn)2);
4)如果需要改變探測包長,轉(zhuǎn)第三步;如果需要結(jié)束探測過程,直接退出;否則,根據(jù)式(1)計算超時時間值Trto,轉(zhuǎn)1)發(fā)送下一探測包。
為驗證上述時延測量方法,本文安排了圖2所示的測試網(wǎng)絡(luò):計算機A、B和C均安裝了配置巨幀的網(wǎng)卡,連接計算機的交換機D和E網(wǎng)口打開了巨幀設(shè)置。另外,網(wǎng)絡(luò)中安裝的高清相機以巨幀方式向計算機C發(fā)送視頻包,數(shù)據(jù)包長度從50~9 000 byte不等。時延測量程序部署在計算機A上,從該源端向目的端的計算機B發(fā)送往返探測包。為對比分析本文方法的有效性,計算機A上安裝了3種不同版本的時延測量程序:無超時定時器的測量程序、基于Jacobson算法的測量程序和探測包長可變的測量程序。
圖3給出了3組無超時定時器的往返時延測量數(shù)據(jù),分別對應(yīng)60 byte,1 000 byte和5 000 byte三種不同長度的探測包。由于未考慮丟包帶來的影響,一些時延測量值偏大,而且抖動很大。
圖2 實驗網(wǎng)絡(luò)
圖3 無超時定時器的時延測量
實驗發(fā)現(xiàn)α取值(0.01,0.125)、β取值(3.5,6)時定時器工作比較穩(wěn)定,根據(jù)式(3)不難得出α和β的算式為
圖4~圖6分別對比了不同包長時基于Jacobson算法的測量程序和探測包長可變的測量程序的時延。
圖4 探測包長為60 byte時延測量
圖4中,探測包長為60 byte,Jacobson算法和本文方法測量結(jié)果沒有顯著區(qū)別,基礎(chǔ)時延跟圖3測量值基本吻合。圖5中,探測包增加到1 000 byte,圖3記錄的時延抖動明顯加劇;Jacobson算法的數(shù)據(jù)中出現(xiàn)了少數(shù)時延很大的包,但隨著測量繼續(xù),時延抖動被明顯過濾掉了;本文方法的數(shù)據(jù)中出現(xiàn)了不少時延很大的包,而且重要的時延抖動被記錄下來。圖6中,探測包長為5 000 byte,圖3記錄的時延抖動更加顯著;Jacobson算法的數(shù)據(jù)中出現(xiàn)了部分時延很大的包,但隨著測量繼續(xù),時延抖動也被過濾掉了;本文方法的數(shù)據(jù)保持了基礎(chǔ)時延穩(wěn)定性,同時又體現(xiàn)了局部顯著的時延抖動。實驗對比可見,隨著探測包長度增加,Jacobson算法會過濾掉大量標(biāo)度時延范圍內(nèi)的準(zhǔn)確時延,定時器因沒有適應(yīng)網(wǎng)絡(luò)幀長變化而變得不準(zhǔn)確;而本文方法能適應(yīng)幀長變化帶來的時延動態(tài)性,較大時延和時延抖動均被記錄下來,保證定時器的準(zhǔn)確工作。
圖5 探測包長為1 000 byte時延測量
圖6 探測包長為5 000 byte時延測量
經(jīng)典千兆以太網(wǎng)的最大幀長不超過1 518 byte,每秒支持80 000以上的數(shù)據(jù)包流經(jīng)網(wǎng)絡(luò)。而在最大長度可達(dá)9 018 byte的巨型幀網(wǎng)絡(luò)中,不到14 000個數(shù)據(jù)包即可承載上述數(shù)據(jù)量。雖然巨幀有更高的傳輸效率,但增加了網(wǎng)絡(luò)時延,加劇了時延抖動,使得傳統(tǒng)的往返時延測量方法不再適用。本文提出的方法可根據(jù)探測包長來設(shè)定超時定時器控制量,使得超時定時器能反映時延的動態(tài)性,提高定時準(zhǔn)確性,避免不必要的重傳。
[1]滕奉濤.網(wǎng)絡(luò)應(yīng)用層時延測量方法比較研究[D].武漢:華中科技大學(xué),2011.
[2]劉愛東,黃彬,張永輝.基于通用PC的單向時延測量方法[J].計算機工程與設(shè)計,2013,34(2):412-417.
[3]李波,張新有.單向時延測量的時鐘同步技術(shù)及測量方法[J].小型微型計算機系統(tǒng),2013,34(8):1954-1958.
[4]曹慶璞,董淑福,羅赟騫.網(wǎng)絡(luò)時延的相空間重構(gòu)投影尋蹤預(yù)測方法[J].電視技術(shù),2010,34(S1):159-161.
[5]JACOBSON V.Congestion avoidance and control[J].ACM SIGCOMM Computer Communication Review,1988,18(4):314-329.
[6]LUDWIG R,SKLOWER K.The Eifel retransmission timer[J].ACM SIGCOMM Computer Communication Review,2000,30(3):17-27.
[7]NUNES B A A,VEENSTRA K,BALLENTHIN W,et al.A machine learning approach to end-to-end RTT estimation and its application to TCP[C]//Proc.20th International Conference on Computer Communications and Networks.[S.l.]:IEEE Press,2011:1-6.
[8]胡風(fēng)華,侯紫峰,祝明發(fā).以太網(wǎng)MTU與IP SAN存儲系統(tǒng)性能[J].計算機工程,2005,31(4):117-119.
[9]NARAYAN S,LUTUIP R.Impact on network performance of jumboframeson IPv4/IPv6 network infrastructure:An empirical test-bed analysis[C]//Proc.2010 IEEE 4th International Conference on Internet Multimedia Services Architecture and Application.[S.l.]:IEEE Press,2010:1-4.
Round Trip Time M easurement Based on Probe Packetsw ith Dynam ic Size
XIAO Yufenga,b,ZHU Gea,ZHANG Zhaoa
(a.Information Engineering School;b.Special Environment Robot Technology Key Laboratory of Sichuan Province,Southwest University of Science and Technology,Sichuan Mianyang 621010,China)
As a new transmission technology of high-definition video,jumbo frame aggravates network delay dynamic condition andmakes traditional delaymeasurement difficult.A round trip timemeasurementmethod based on probe packetswith dynamic size is proposed:at initial phase,the gain coefficient and deviation coefficient ranges of timeout timer are calculated;then,these two coefficients are setwith packet size.Thismethod makes timeout timer catch the delay variance accurately,and the unnecessary retransmissions can be decreased.Experiment shows thismethod can work in network configured with jumbo frame efficiently.
high-definition video transmission;network measurement;delay;timeout;jumbo frame
TN92
A
?? 京
2014-04-11
【本文獻信息】肖宇峰,朱鴿,張釗.探測包長可變的往返時延測量[J].電視技術(shù),2014,38(23).
四川省教育廳重點項目(14ZA0091);四川省應(yīng)用基礎(chǔ)研究計劃項目(2012JYZ003);核能開發(fā)科研項目([2011]1137)
肖宇峰(1978—),碩士生導(dǎo)師,主研計算機網(wǎng)絡(luò)通信;
朱 鴿(1991—),碩士生,主研寬帶網(wǎng)絡(luò)技術(shù);
張 釗(1988—),碩士生,主研網(wǎng)絡(luò)測試。