收稿日期:2007-10-26;
修回日期:2008-03-06
作者簡介:黃鸝聲(1975-),男,重慶忠縣人,博士研究生,主要研究方向為下一代互聯(lián)網(wǎng)絡(luò)管理及流量工程(lsh@uestc.edu.cn);
周明天(1939-),男,教授,博導(dǎo),主要研究方向為計算機(jī)網(wǎng)絡(luò)、網(wǎng)絡(luò)計算技術(shù)、中間件技術(shù)、網(wǎng)絡(luò)與信息系統(tǒng)安全等;
汪文勇,男,教授,碩士,主要研究方向為計算機(jī)網(wǎng)絡(luò)計算.
(電子科技大學(xué) 計算機(jī)科學(xué)與工程學(xué)院 成都610054)
摘要:
提出一種基于被動模式流量分析的VoIP語音質(zhì)量評估方法,以幫助VoIP運營商對主干網(wǎng)中大量并發(fā)VoIP會話的通話質(zhì)量進(jìn)行實時監(jiān)測。在流量采集的基礎(chǔ)上,通過流跟蹤算法獲取VoIP會話的丟包、時延等基本性能指標(biāo);通過快速評估模型對VoIP會話的R和MOS值進(jìn)行計算。實驗證明,該方法性能較高,評估結(jié)果準(zhǔn)確。
關(guān)鍵詞:被動模式; 流量測量; VoIP; 語音質(zhì)量; 評估
中圖分類號:TP393
文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)10-3119-03
Fast method for evaluating VoIP speech quality in network backbone
HUANG Li-sheng ZHOU Ming-tian WANG Wen-yong
(School of Computer Science Engineering University of Electronic Science Technology Chengdu 610054 China)
Abstract:
This paper introduced a new passive method for VoIP speech quality evaluation which helped to monitor service quality for parallel VoIP conversations in network backbone. Based on packet sniffing and flow tracing mechanism this method measured several performance metrics(such as IPLR,RTT) for each VoIP conversation and calculated the R and MOS value with a fast model. Test result shows that this method workes with high efficiency and accuracy.
Key words:passive mode; traffic measurement; VoIP; speech quality; evaluation
0引言
VoIP已經(jīng)成為互聯(lián)網(wǎng)和電信領(lǐng)域的重要應(yīng)用和服務(wù)項目。與傳統(tǒng)電話語音相比,VoIP的語音質(zhì)量受到IP網(wǎng)絡(luò)服務(wù)質(zhì)量的影響,存在很大的不確定性,制約了VoIP的發(fā)展。因此,對VoIP運營商而言,如何在全局范圍內(nèi)對大量并發(fā)的VoIP通話進(jìn)行質(zhì)量監(jiān)測和評估,是發(fā)現(xiàn)問題、改善服務(wù)質(zhì)量的重要基礎(chǔ)。
語音通話質(zhì)量可采用主觀方法(如MOS[1])和客觀方法(如ITU PSQM[2]、PESQ[3]、E-model[4]等)來進(jìn)行評估。前者作為一種人為評估方法,是廣泛認(rèn)同的語音質(zhì)量標(biāo)準(zhǔn),雖然評估結(jié)果能夠反映大多數(shù)人的質(zhì)量感受,但成本太高,費時太長;后者無須人力成本,評估結(jié)果較為準(zhǔn)確,因此得到更多的研究。在客觀評價方法中,PSQM、PESQ主要基于傳統(tǒng)的電話網(wǎng)絡(luò),用于分析個別設(shè)備的問題,而不能反映諸如延時、抖動和丟包等數(shù)據(jù)網(wǎng)絡(luò)特有的問題,沒有考慮網(wǎng)絡(luò)故障對用戶感覺造成的影響,因此不太適合于VoIP語音質(zhì)量評估。目前應(yīng)用最為廣泛的是E-model方法,它是ITU-T G.107提出的一種對電話網(wǎng)絡(luò)端到端的語音質(zhì)量進(jìn)行評估的模型,關(guān)注數(shù)據(jù)全面的網(wǎng)絡(luò)損傷因素,與其他方法相比,更加適合于數(shù)據(jù)網(wǎng)絡(luò)中的語音質(zhì)量評估。
在VoIP的實際應(yīng)用和運營過程中,大多數(shù)語音通話質(zhì)量評估方案基于端到端的實現(xiàn),即由各個VoIP終端、網(wǎng)關(guān)設(shè)備自行對會話的語音質(zhì)量進(jìn)行評估,評估的結(jié)果雖然可以發(fā)現(xiàn)端到端的話音質(zhì)量,但難以被運營商匯聚和整體把握。針對以上問題,本文提出一種基于流量分析的VoIP語音質(zhì)量評估方法,對骨干網(wǎng)絡(luò)中的大量并發(fā)VoIP會話進(jìn)行質(zhì)量跟蹤。
在IP網(wǎng)絡(luò)中,影響VoIP語音質(zhì)量的因素包括丟包、時延、抖動等指標(biāo)。本文首先以RTP[5]為例,對以上指標(biāo)的被動模式測量方法進(jìn)行設(shè)計和分析;在以上度量指標(biāo)的基礎(chǔ)上,基于E-model模型提出一種快速算法,以完成對語音傳輸評級參數(shù)R、平均判分MOS指標(biāo)的實時計算;最后,在骨干網(wǎng)絡(luò)中部署測試環(huán)境對以上方法和算法進(jìn)行驗證,并給出實驗結(jié)果。
1基于E-model的語音質(zhì)量評估
E-model將影響話音質(zhì)量的若干損耗因素定義為不同的參數(shù),并將這些綜合為一個評級參數(shù)R(0 R=R0-Is-Id-Ie+A(1) 其中:R0表示基本信噪比,理想狀態(tài)下R0=100;Is包括語音量化和壓縮編碼所產(chǎn)生的質(zhì)量損耗;Id指時延造成的損耗;Ie包括由于編碼、丟包產(chǎn)生的損耗;A則表示其他優(yōu)勢因素對質(zhì)量損耗的彌補(bǔ)。 一般而言,網(wǎng)絡(luò)傳輸過程中不考慮Is和A對R的影響,假定其值為0。因此,R可以用更簡單的方式表示為 R=R0-Id-Ie(2) 其中:Id可以用如下公式表示: Id=Idte-Idle-Idd(3) I(xiàn)dte和I(xiàn)dle分別表示由于網(wǎng)絡(luò)時延引起的說話方和收聽方回音造成的質(zhì)量損耗;I(xiàn)dd則表示由于過長的網(wǎng)絡(luò)時延帶來的質(zhì)量損耗??梢?,I(xiàn)d與網(wǎng)絡(luò)時延(D)緊密相關(guān)。 影響R值的另一個關(guān)鍵因素Ie則與編碼方式、網(wǎng)絡(luò)丟包率有關(guān)。Ie可以表示為 Ie=Ip+Icodec(4) 其中:I(xiàn)p表示因為丟包造成的損傷;Icodec表示語音編碼算法造成的損傷。 R值可以采用以下方式轉(zhuǎn)換為平均判分MOS[1]: MOS=1+0.035R+R(R-60)(100-R)×7×10-6(5) 由此可見,基于E-model的VoIP語音質(zhì)量評估,只需對每個VoIP會話的丟包率、網(wǎng)絡(luò)時延等基本性能指標(biāo)進(jìn)行測量,并結(jié)合會話所使用的語音編碼類型,即可完成對R值和MOS值的計算。 2丟包率與時延指標(biāo)的測量 網(wǎng)絡(luò)測量方法可分為主動和被動方式。在骨干網(wǎng)絡(luò)中,基于流量監(jiān)測的被動測量方法具有比較明顯的優(yōu)勢:對于ISP而言,只需要一次性部署流量測量探針,即可對網(wǎng)絡(luò)中大量端到端會話進(jìn)行測量,測量結(jié)果易于集中匯聚,而且測量過程無須終端的參與,測量成本較低。對網(wǎng)絡(luò)會話的被動測量原理如圖1所示。 在被動模式下,對性能參數(shù)的測量方法與主動模式存在較大差別。以下針對部分指標(biāo)討論各自的測量方法。 1)丟包率(IPLR) 方法1直接RTCP解析。 這是最簡單、最直接的方法。VoIP終端會定期發(fā)送RTCP包給通話對方,報告目前的網(wǎng)絡(luò)質(zhì)量和統(tǒng)計情況。觀測這些RTCP包中SR報告的丟包率字段,可以直接獲取當(dāng)前VoIP會話的丟包率。該方法雖然簡單,但存在明顯的缺點:丟包率的計算依賴于VoIP終端,而終端的計算可能是不穩(wěn)定、不可靠的。例如VoIP終端一般采用計算收發(fā)包數(shù)量比率的方法來計算丟包率,報文的失序和復(fù)制數(shù)據(jù)包會導(dǎo)致計算誤差;另一個問題是RTCP包自身的丟失將直接導(dǎo)致測量失敗。 方法2RTP序列號連續(xù)性觀測。 通過對RTP包中序列號字段的連續(xù)觀測可以發(fā)現(xiàn)丟包情況。例如在圖1測量環(huán)境中,連續(xù)觀測到i個VoIP終端A發(fā)送給終端B的RTP包,其序列號分別為SEQ1~SEQi,則每觀測到一個RTP包,都可以采用如下公式計算出自上一個RTP包以來的丟包數(shù)量Li: Li=SEQi-SEQmax-1(SEQi>SEQmax) 0(SEQi≤SEQmax)(6) 其中:SEQmax是到目前為止觀測到的最大RTP序列號。 任意時刻(觀測到第i個RTP包的時刻)從某個VoIP終端(如圖1中的終端A)到測量點的丟包率可以采用如下方法統(tǒng)計: IPLRA=∑ik=1Li/(i+∑ik=1Li)(7) 同理可獲得終端B到測量點的丟包率IPLRB。至此,估計出終端A到B的全路徑丟包率為 IPLR=1-(1-IOLRA)×(1-IPLRB)(8) 該方法計算簡單,但同樣容易受到報文失序的干擾。失序的報文會被作為丟包,導(dǎo)致IPLR測量結(jié)果偏高。更為嚴(yán)重的問題是,丟包率的計算依賴于RTP包不斷到達(dá)的事件驅(qū)動,如果網(wǎng)絡(luò)路徑突然中斷,測量點無法觀測到后續(xù)RTP包,此時甚至無法對丟包率進(jìn)行計算。 方法3基于預(yù)測的統(tǒng)計方法。 該方法的主要思想是:根據(jù)VoIP發(fā)送端所采用的語音編碼類型、語音幀長度,對RTP包的平均發(fā)送速率(Rpredict)進(jìn)行預(yù)測,如果單位時間觀測到的RTP包速率(Rmeasure)小于預(yù)測值,則它們之間的比值為VoIP終端到測量點的丟包率。 IPLRa=Rpredict/Rmeasure(9) 對Rpredict的計算是關(guān)鍵問題。在RTP報文中,可以根據(jù)有效載荷類型獲取其語音編碼方式;同時,可以根據(jù)連續(xù)兩個RTP報文的timestamp字段,計算出每個RTP報文所攜帶的語音片時長T,T的倒數(shù)即為該RTP會話的Rpredict值。 Rpredict=1/T=1/[(TSi-TSi-1)/Ra]= Ra/(TSi-TSi-1)(10) 其中:TSi和TSi-1分別為連續(xù)兩個RTP包的timestamp值;Ra表示編碼方式對應(yīng)的采樣頻率。 相對于前兩種方法而言,該方法不會受到報文失序、RTCP數(shù)據(jù)包丟失等情況的影響,對丟包的統(tǒng)計更加精確。而且,對丟包的測量靈敏度較高,即使在網(wǎng)絡(luò)路徑完全中斷的情況下,也能夠在任意時間窗口內(nèi)完成丟包率指標(biāo)測量。 2)網(wǎng)絡(luò)時延(RTT) 網(wǎng)絡(luò)傳輸時延D的值定義為Tstart-Tend。其中:Tstart為數(shù)據(jù)包傳輸?shù)钠鹗紩r間;Tend為包到達(dá)目的端的時間。在被動模式下,由于測量器部署于網(wǎng)絡(luò)的中間位置,無法通過發(fā)送探測分組的方式來直接獲取Tend和Tstart值,只能采用間接測量方法。 對于VoIP會話普遍采用基于TCP的呼叫控制協(xié)議,因此可以通過觀測雙方的TCP報文和相應(yīng)ACK報文的時序關(guān)系來對往返時延進(jìn)行估計。測量原理如圖2所示。 A和B兩個VoIP終端在呼叫和通話控制過程中,會各自向?qū)Ψ桨l(fā)送信令控制報文,接收方會盡快返回相應(yīng)的ACK應(yīng)答。在測量點只需分別對這些報文的到達(dá)時間進(jìn)行記錄,就可以估計雙方的路徑往返時延: RTT=(T1-T0)+(T3-T2) (11) 其中:(T1-T0)和(T3-T2)分別表示了終端B和終端A各自到測量點的往返時延。在通話質(zhì)量出現(xiàn)問題時,可以很容易地分辨出故障來源。 由于VoIP會話的呼叫和控制過程將產(chǎn)生大量交互式TCP數(shù)據(jù)流,本方法可在VoIP存活周期內(nèi)獲取足夠多的測量采樣,保證了測量的可持續(xù)性和測量結(jié)果的穩(wěn)定性。 3R和MOS值的計算 在獲得IPLR和RTT指標(biāo)之后,理論上可采用式(1)的方法來計算R值,并采用式(5)將R值轉(zhuǎn)換為MOS評分。但式(1)只是一個概念公式,不能直接用于IPLR和RTT到R值的換算。事實上,E-model本身存在模型化不完全、實例化程度不夠的問題,以致于人們對它能否用于質(zhì)量測量存在疑慮[6]。 為解決上述問題,采用函數(shù)擬合[7]的方式對式(2)中的I(xiàn)d和Ie進(jìn)行實例化,使其以盡量小的計算復(fù)雜度完成對ITU-T評估參考值的擬合。 I(xiàn)d擬合函數(shù)為 Id=0.024d+0.11(d-177.3)H(d-177.3)(12) 其中:d為網(wǎng)絡(luò)單向延時,在以太網(wǎng)環(huán)境中,可以簡單地將往返延時除以2獲得單向延時,即d=RTT/2;H(x)為階躍函數(shù),取值為 H(x)=0(x<0)H(x)=1(x≥0)(13) 對Ie的計算,則采用與文獻(xiàn)[8]類似的對數(shù)擬合函數(shù),將式(4)實例化[7]為 Ie=a ln (1+bp)+c(14) 其中:p表示單向傳輸丟包率,在前文已經(jīng)獲得;a、b、c的值與語音壓縮編碼方式相關(guān),其值與部分編碼的對應(yīng)關(guān)系如表1所示。 至此,已經(jīng)獲得了丟包率和網(wǎng)絡(luò)延時指標(biāo)到R值的完整換算過程如下: R=R0-Id-Ie=100-0.024d+0.11(d-177.3)H(d-177.3)+ a ln (1+bp)+c(15) 在測量過程中,只需要獲得每個會話的語音編碼方式、IPLR、RTT,就可以按照上式完成R值的計算,并通過式(5)將其換算為MOS分。 4實驗與驗證 為了驗證上述對IPLR和RTT指標(biāo)的測量方法,本文實現(xiàn)了一個測量原型系統(tǒng)——VPM,并且選擇CERNET上的幾條主干路徑(背景流量在400~700 Mbps)進(jìn)行VoIP測量實驗。為了驗證測量精度,使用一個改寫后的ping工具,通過主動方式進(jìn)行對比測量。測量過程中,從UESTC校園網(wǎng)向三個不同的遠(yuǎn)程網(wǎng)絡(luò)發(fā)起netmeeting通話。測量結(jié)果如表2所示。 上述結(jié)果表明,采用本文提出的被動測量方法準(zhǔn)確度較高,與主動測量結(jié)果差異不大。 本文以G723.1(編碼速率6.3 kbps)為例,根據(jù)不同環(huán)境下測得的IPLR和RTT指標(biāo)對R值、MOS分進(jìn)行計算,其結(jié)果如圖3、4所示。 作為對比,根據(jù)E-model標(biāo)準(zhǔn)模型[4],在不考慮語音編碼因素的情況下,可以根據(jù)丟包率和延時指標(biāo)估計出語音損傷因子,并由此計算出丟包率、延時指標(biāo)分別與MOS分的關(guān)系,如圖5所示。 根據(jù)圖3~5的對比可以看出,在剔除G723.1語音編碼造成的固定語音損傷因子之后,本文提出的快速估計模型的計算結(jié)果與標(biāo)準(zhǔn)模型具有很大程度的相似性。 5結(jié)束語 本文提出的被動模式測量方法能夠?qū)oIP會話的網(wǎng)絡(luò)質(zhì)量指標(biāo)進(jìn)行實時測量和跟蹤,測量結(jié)果能夠通過簡單模型被換算為標(biāo)準(zhǔn)的R和MOS分,從而完成對骨干網(wǎng)絡(luò)中大量并發(fā)VoIP會話的實時質(zhì)量評估。但是,由于未考慮VoIP回音、噪聲、端系統(tǒng)緩存等因素,本文給出的評估結(jié)果僅能反映IP網(wǎng)絡(luò)本身對VoIP質(zhì)量的影響。要完成對VoIP通話質(zhì)量的全面評估,還有許多問題尚待研究。 參考文獻(xiàn): [1]ITU-T P.800 Methods for subjective determination of transmission quality[S]. Geneva: ITU 1996. [2]ITU-T P.861,Objective quality measurement of telephone-band(300~3400Hz) speech codecs[S]. Geneva: ITU 1998. [3]ITU-T P.862 Perceptual evaluation of speech quality(PESQ) an objective method for end-to-end speech quality assessment of narrowband telephone networks and speech codecs[S]. Geneva:ITU 2001. [4]ITU-T G.107 The E-model a computational model for use in transmission planning[S]. Geneva: ITU 2000. [5]SCHULZRINNE H CASNER S FREDERICK R et al. RFC 1889 RTP: a transport protocol for real-time applications[S].[S.l.]:IETF 1996. [6]張薇.VoIP業(yè)務(wù)質(zhì)量評測[J].電信網(wǎng)技術(shù),2005,6:80-84. [7]SUN L. Speech quality prediction for voice over Internet protocol networks[D]. Plymouth: University of Plymouth 2004. [8]COLE R G,ROSENBLUTH J.Voice over IP performance monitoring[J].ACM Computer Communication Review,2001,31(2):9-24. [9]DOVROLIS C RAMANATHAN P MOORE D. Packet dispersion techniques and a capacity emulation methodology[J]. IEEE/ACM Trans on Networking 2004,12(6):963-977. [10]張冬艷,胡銘曾,張宏莉.基于測量的網(wǎng)絡(luò)性能評價方法研究[J].通信學(xué)報,2006,27(10):74-79. [11]談杰,李星.網(wǎng)絡(luò)測量綜述[J].計算機(jī)應(yīng)用研究,2006,23(2):5-8. [12]卞靜,王澤強(qiáng),張光昭.基于延遲參數(shù)的可用帶寬主動估測算法[J].電子與信息學(xué)報,2006,28(10):1926- 1929. [13]徐加羚,龔儉.可擴(kuò)展高速網(wǎng)絡(luò)流量被動測量平臺的設(shè)計與實現(xiàn)[J]. 計算機(jī)技術(shù)與發(fā)展,2006,16(9):132- 135. 14]曹薊光,何寶宏.IP網(wǎng)絡(luò)性能監(jiān)測技術(shù)及其發(fā)展趨勢[J].金卡工程,2005,9(9):69-71.