首先需要說明的是,在網(wǎng)絡(luò)環(huán)境中,到處都有可能產(chǎn)生QoS問題。從ITSP到LAN和終端。從實(shí)際生產(chǎn)環(huán)境測試中,可能有很多原因會影響QoS。以下圖例概括了影響QoS的原因。

一般情況下,用戶根據(jù)以下幾個(gè)方面的數(shù)據(jù)可以判定什么是“最好的語音質(zhì)量”:
- 根據(jù)ITU的建議,端對端的單向的Delay應(yīng)該在150ms之內(nèi)。
- Jitter(抖動) 應(yīng)該在30ms之內(nèi)。
- 使用Ping -l 命令測試真正的時(shí)延和抖動。
下面,我們針對幾個(gè)影響QoS的重要參數(shù)進(jìn)行討論。
1、Delay對QoS的影響。在正常的網(wǎng)絡(luò)內(nèi)網(wǎng)環(huán)境中,一般不會存在Delay的問題。大部分情況下是介入了多個(gè)路由器,路由器會產(chǎn)生Delay的問題,這樣就會對VOIP造成影響。現(xiàn)實(shí)環(huán)境中,大部分的廠家的都建議Delay時(shí)長在200ms 業(yè)內(nèi)。根據(jù)上面所述,ITU建議的標(biāo)準(zhǔn)應(yīng)該在150ms之內(nèi)。在200ms的范圍內(nèi),所花費(fèi)的時(shí)間處理過程包括幾個(gè)環(huán)節(jié):
80ms delay用來支持IP端連接IPPBX。
40ms delay用于PSTN網(wǎng)絡(luò)的接續(xù)。當(dāng)然,如果PSTN增加了回聲抑制的處理的話,可能時(shí)間會更產(chǎn)一些。
其余80ms用來支持客戶端網(wǎng)絡(luò)的連接delay。
因?yàn)槲覀兘裉焖懻摰募夹g(shù)基本上涉及了太多網(wǎng)絡(luò)節(jié)點(diǎn)的處理,所以Delay產(chǎn)生的原因也很多。基本上產(chǎn)生Delay的原因大致包括:
因?yàn)椴煌木W(wǎng)絡(luò)環(huán)境和地理位置所產(chǎn)生的Delay,例如,衛(wèi)星傳輸,光線傳輸,更加和國家之間的傳輸,每個(gè)洲之間的傳輸。這些都會產(chǎn)生Delay。
網(wǎng)絡(luò)設(shè)備處理數(shù)據(jù)時(shí)所產(chǎn)生的Delay,例如,路由器發(fā)送數(shù)據(jù)的隊(duì)列等待時(shí)間,發(fā)送數(shù)據(jù)所花費(fèi)的時(shí)間,硬件本身性能導(dǎo)致的時(shí)間。
終端設(shè)備處理所需要的時(shí)間,例如回聲處理時(shí)間,編碼壓縮時(shí)間等都會導(dǎo)致Delay。如果Delay太長的話,就可能導(dǎo)致QoS問題。以下是一個(gè)PSTN到終端之間的Delay處理過程。

隨著網(wǎng)絡(luò)越來越普及,網(wǎng)絡(luò)辦公的需求也非常普及。網(wǎng)絡(luò)設(shè)備會根據(jù)實(shí)際的數(shù)據(jù)要求做相應(yīng)的調(diào)整。在一般的辦公環(huán)境中,很多公司的員工不一定在上班時(shí)間完全做和工作相關(guān)的事情,有時(shí)也可能開一個(gè)小差。工作需要的郵件,電話等工具所占據(jù)的網(wǎng)絡(luò)帶寬可能不是最大的。為了保證電話語音質(zhì)量,路由設(shè)備應(yīng)該設(shè)置支持VOIP優(yōu)先等服務(wù)(VLAN),以便保證辦公電話的正常工作。以下圖例說明了公司網(wǎng)絡(luò)帶寬中一些和工作不完全相關(guān)的通信工具也同時(shí)占用公司的網(wǎng)絡(luò)帶寬,這些應(yīng)用也會影響著QoS。

2、Jitter和Packet Loss對QoS的影響。Jitter是一種Delay的表現(xiàn)形式。簡單來說就是傳輸?shù)臄?shù)據(jù)不穩(wěn)定,速度一會快,一會慢。在VOIP網(wǎng)絡(luò)中,導(dǎo)致Jitter的原因有很多,這些原因可能是:路由器的隊(duì)列處理不及時(shí),設(shè)備過載,或連接線質(zhì)量差,這些因素都可能引起抖動的問題。關(guān)于Jitter的介紹,我們在以前的Asterisk系列講座中有過專門的介紹,用戶可以查看歷史講座來了解Jitter和如何調(diào)整Jitter buffer 來改善語音質(zhì)量。
如果系統(tǒng)存在非常大的Jitter 值,這樣會導(dǎo)致非常嚴(yán)重的packet loss(丟包)問題。packet loss 會導(dǎo)致對端收不到數(shù)據(jù),最終導(dǎo)致語音包丟失。一般情況下丟包率在5%以下不會影響語音質(zhì)量。如果超過這個(gè)值,語音質(zhì)量會變得非常差。因?yàn)槲⑿琶科恼轮荒芴砑右粋(gè)語音文件,我僅上傳了一個(gè)附件(還有丟包率5%和10%兩種不能共享)。附件是一個(gè)25%丟包率的語音文件,大家可以試聽一下。

雖然,我們討論了Delay,Jitter和packet loss,它們在不同網(wǎng)絡(luò)環(huán)境都存在著很多不確定的因素。在VoIP環(huán)境中,如果這些值那個(gè)控制在一定的范圍內(nèi),語音質(zhì)量還是可以被用戶接受的。如果超過這個(gè)紅線,服務(wù)商需要對環(huán)境進(jìn)行優(yōu)化或排查。以下是一個(gè)測試標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)可以應(yīng)用在用戶的語音環(huán)境中幫助技術(shù)人員來排查問題:
- 1類表示語音質(zhì)量正常。
- 2類表示語音質(zhì)量可能存在問題。
- 3類表示語音質(zhì)量存在嚴(yán)重問題。

為了保證用戶有足夠的網(wǎng)絡(luò)環(huán)境來部署VOIP,運(yùn)營商也必須提供相應(yīng)的網(wǎng)絡(luò)保證。以下是美國Verizon運(yùn)營商提供的服務(wù)數(shù)據(jù),包括QoS和Jitter的統(tǒng)計(jì)數(shù)據(jù):

以上數(shù)據(jù)僅是美國運(yùn)營商的一個(gè)舉例,運(yùn)營商在每個(gè)月都會發(fā)布網(wǎng)絡(luò)環(huán)境的數(shù)據(jù),這些數(shù)據(jù)也大概可以反映出運(yùn)營商的網(wǎng)絡(luò)質(zhì)量。我們中國的運(yùn)營商也可能有類似的數(shù)據(jù)報(bào)告,讀者自行查閱。
3、大部分情況下,用戶缺乏對WAN網(wǎng)絡(luò)的控制,所以如果需要優(yōu)化網(wǎng)絡(luò)環(huán)境支持好的VOIP語音質(zhì)量,只能通過自己公司內(nèi)部網(wǎng)絡(luò)的管理來保證QoS的正常。當(dāng)然,如果運(yùn)營商可以提供更多的帶寬和MPLS服務(wù)的話,VOIP的穩(wěn)定性會更好。

根據(jù)以上圖例,用戶可以通過設(shè)置內(nèi)網(wǎng)設(shè)備來實(shí)現(xiàn)對QoS的保證,客戶可以通過公司內(nèi)部的交換機(jī)(Layer 2 Classification)或者路由器(Layer 3 Classification)。在交換機(jī)層面,使用VLAN來實(shí)現(xiàn)對VOIP的管理控制是一個(gè)比較常用的手段,這樣就可以實(shí)現(xiàn)公司內(nèi)部語音網(wǎng)絡(luò)的優(yōu)化。
默認(rèn)環(huán)境下,如果沒有設(shè)置VLNA的話(關(guān)于VLAN的定義用戶可以自己學(xué)習(xí)),內(nèi)部網(wǎng)絡(luò)各種設(shè)備都會switch發(fā)送各種消息,SIP終端,辦公電腦,筆記本電腦等設(shè)備都混合在一起,這樣保證不了VOIP的正常工作,而且對VOIP的業(yè)務(wù)造成干擾。

如果網(wǎng)絡(luò)通過VLAN 重新劃分以后,把SIP終端,VOIP網(wǎng)關(guān)重新劃分,這樣的話,就可以保證語音和其他數(shù)據(jù)服務(wù)各自獨(dú)立。VLAN 1 包括了辦公電腦和其他設(shè)備,LAN 2 包括了SIP終端和VOIP網(wǎng)關(guān)等設(shè)備。

簡單總結(jié),使用VLAN有以下幾個(gè)好處:
獨(dú)立分離了數(shù)據(jù)流量安全性。
數(shù)據(jù)傳輸?shù)牧髁靠刂坪蛷V播策略。
獨(dú)立分離了數(shù)據(jù)和語音的各種特性。
如果網(wǎng)絡(luò)管理員需要設(shè)置VLAN支持的話,自己首先確認(rèn)內(nèi)網(wǎng)交換機(jī)本身支持的VLAN技術(shù)細(xì)節(jié)。
對VLAN打(查看802.1Q/P)進(jìn)行標(biāo)簽處理,管理員設(shè)置比較高的優(yōu)先級來保證語音的優(yōu)先執(zhí)行或者傳輸。我們簡單描述一下標(biāo)簽處理。以下是一個(gè)基本的標(biāo)簽管理過程。在電腦傳輸之前,本身自己沒有對數(shù)據(jù)設(shè)置任何優(yōu)先級,switch 對發(fā)出的數(shù)據(jù)打印稿標(biāo)簽,指示它的優(yōu)先級。

經(jīng)過switch以后,switch其添加一個(gè)Priority-VLAN ID(P)。其他交換機(jī)馬上知道此數(shù)據(jù)具有非常高的優(yōu)先級,優(yōu)先傳輸。

經(jīng)過switch以后,到達(dá)內(nèi)網(wǎng)另外終端電腦時(shí),移除Priority ID。

以上是通過標(biāo)簽802.1Q/P打標(biāo)簽的管理方式來優(yōu)化傳輸。這樣,可以實(shí)現(xiàn)交換機(jī)對終端數(shù)據(jù)的優(yōu)先處理。
另外,網(wǎng)絡(luò)管理員也可以通過switch的layer 2 classification 通過隊(duì)列的方式來優(yōu)先處理RTP語音。這里的RTP優(yōu)先級設(shè)置是最高的(High),F(xiàn)TP則為正常水平。

Ingress和Egress 隊(duì)列策略管理是一個(gè)非常復(fù)雜的技術(shù)話題,這里不做進(jìn)一步討論。如果讀者有興趣的話,大家可以參考Catalyst 2975 管理文檔來做進(jìn)一步的研究。
前面,我們討論了如何通過設(shè)置switch來保證QoS。接下來,我們繼續(xù)討論一下如何通過設(shè)置路由器來保證QoS。在IP頭中,可以通過Tos和DSCP 碼對QoS進(jìn)行管理。默認(rèn)的IP Datagram DSCP 是0,但是,為了保證DSCP的優(yōu)先級,很多設(shè)備廠家IP話機(jī)設(shè)置DSCP voice Datagram默認(rèn)值是46。這樣也可以優(yōu)先保證QoS的正常。

在同樣的網(wǎng)絡(luò)環(huán)境中,如果是DSCP=46的,路由器會優(yōu)先處理。

如果對終端話機(jī)抓包以后,可以看到消息中的DSCP值46(16進(jìn)制0x2e):

再次說明,這里,我們不對DSCP做深入探討,關(guān)于DSCP的策略機(jī)制和優(yōu)缺點(diǎn)我們不做深入探討。思科在這方面有非常詳細(xì)的技術(shù)文檔,用戶可以參考。
本章節(jié),我們介紹了Delay產(chǎn)生的原因,也介紹了Jitter對QoS的影響。另外,我們針對交換機(jī)層面對QoS的處理做了一些介紹,最后討論了Layer 3中路由器對DSCP的設(shè)置。這些要素都會影響QoS。筆者希望通過本章節(jié)的介紹,讀者對以上四個(gè)方面的技術(shù)要求有一個(gè)比較完整的認(rèn)識,通過實(shí)際工作來進(jìn)一步優(yōu)化QoS。
參考資料:
http://www.voiptroubleshooter.com/indepth/jittersources.html
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2975
關(guān)注公眾微信號:asterisk-cn 獲得有價(jià)值的行業(yè)技術(shù)分享,訪問技術(shù)論壇獲得技術(shù)支持:www.issabel.cn/forum