李玉行
[摘要]視頻業(yè)務(wù)的使用過程中,經(jīng)常出現(xiàn)視頻圖像卡頓、花屏等問題,根據(jù)統(tǒng)計發(fā)現(xiàn)其中80%的問題為承載網(wǎng)絡(luò)所導(dǎo)致,最主要的原因就是網(wǎng)絡(luò)中存在丟包問題。本文將從視頻業(yè)務(wù)的特征出發(fā)探討如何解除網(wǎng)絡(luò)丟包問題對視頻業(yè)務(wù)的不良影響。
[關(guān)鍵詞]視頻 網(wǎng)絡(luò) 丟包
隨著軍隊信息化建設(shè)的不斷加快,視頻業(yè)務(wù)(如視頻監(jiān)控、視頻會議等)憑借快捷、便利、靈活、高效等特點取得了快速的發(fā)展,在日常辦公、部隊管理、作戰(zhàn)指揮中已經(jīng)被廣泛的接受和應(yīng)用,取得了良好的軍事效益和經(jīng)濟效益。但是在視頻業(yè)務(wù)的使用過程中,經(jīng)常出現(xiàn)視頻圖像卡頓、花屏等問題,產(chǎn)生此類問題的因素可能涉及到前端攝像頭、編碼器、網(wǎng)絡(luò)、媒體單元、解碼器等,根據(jù)統(tǒng)計發(fā)現(xiàn)其中80%的問題為承載網(wǎng)絡(luò)所導(dǎo)致。本文將從視頻業(yè)務(wù)的特征出發(fā)探討如何解除網(wǎng)絡(luò)問題對視頻業(yè)務(wù)的不良影響。
一、視頻業(yè)務(wù)網(wǎng)絡(luò)特征
通常網(wǎng)絡(luò)側(cè)引起視頻卡頓、花屏等現(xiàn)象的最主要原因就是網(wǎng)絡(luò)中存在丟包,要確定原因在哪里,首先需要了解視頻流量的特點。
1、高帶寬。與語音、數(shù)據(jù)等業(yè)務(wù)相比,視頻業(yè)務(wù)所占帶寬是最高的。一方面單路視頻的分辨率和碼率在不斷提高,一路H.264編碼720P的高清視頻占用2M左右?guī)?;與此同時,視頻接入點不斷增加,匯聚起來,也會形成洶涌的干流帶寬。
2、流量突發(fā)。依據(jù)視頻圖像壓縮算法,視頻流量由一系列的I幀和P幀組成,I幀傳遞一副圖像的完整信息,P幀傳遞每副圖像之間的差異信息。顯然I幀占用更多的IP包,并瞬時形成報文突發(fā),高清視頻相對于CIF格式,此現(xiàn)象會更為明顯。另外,當(dāng)前各廠家所生產(chǎn)的前端或局端單元普遍沒有采用碼流平滑技術(shù),通常所宣稱的碼率(例如720P,4M/S),實際上是以秒為單位的平均流量大小,但是通過實際抓包分析視頻流量特點,能發(fā)現(xiàn)視頻流量的瞬時帶寬,能夠達(dá)到28M/S,也就是說峰值流量是平均流量的7倍,如下圖所示。
如下圖示例,當(dāng)這種帶有突發(fā)特征的多路視頻流疊加在一起時就會累積形成更大的突發(fā)流量。
3、丟包敏感。由于視頻業(yè)務(wù)輸出數(shù)據(jù)的高壓縮比,在報文丟失的影響方面存在放大效應(yīng)。對于每幀報文,如果出現(xiàn)一個丟包,整幀報文重組都將失敗,如果I幀出現(xiàn)報文丟失,整個1秒鐘的圖像都會受到影響。普通IP業(yè)務(wù)一般丟包率控制在1%~2%以內(nèi),但對于視頻業(yè)務(wù)來說這個控制指標(biāo)遠(yuǎn)遠(yuǎn)不夠,需要考慮更嚴(yán)格的0%~0.05%網(wǎng)絡(luò)端到端丟包率設(shè)計。
二、視頻業(yè)務(wù)網(wǎng)絡(luò)故障技術(shù)分析
既然視頻流量具有這樣的特征,那么在網(wǎng)絡(luò)傳輸中是否一定會出現(xiàn)丟包呢?解答此問題,需要了解網(wǎng)絡(luò)在什么情況下會產(chǎn)生丟包,才能針對給出解決辦法。
1.信道質(zhì)量差,數(shù)據(jù)在傳輸過程中出現(xiàn)錯誤。此問題較為常見,通常也較好排查,通過查看網(wǎng)絡(luò)設(shè)備接口計數(shù)器是否存在錯誤報文持續(xù)增長,即可定位。
2.網(wǎng)絡(luò)端口協(xié)商出現(xiàn)問題,例如速率、雙工等模式協(xié)商出現(xiàn)異常。此問題經(jīng)常出現(xiàn)在視頻前端或局端接入網(wǎng)絡(luò)處。特別需要注意的是,如果視頻前端或局端配置100M全雙工模式,交換機端口是auto,這時交換機端口上會協(xié)商成100M半雙工,在這種情況中網(wǎng)絡(luò)就會出現(xiàn)丟包等問題。需要手動把交換機端口設(shè)置成100M全雙工,與視頻前端或局端匹配,問題就會得到解決。
3.網(wǎng)絡(luò)擁塞。此問題通常較難排查,因為我們通常查看網(wǎng)絡(luò)接口帶寬利用率,可能只有30%,但實際上由于視頻流量突發(fā)特征,可能端口在瞬時已經(jīng)產(chǎn)生擁塞并導(dǎo)致了丟包。某些網(wǎng)絡(luò)設(shè)備在接口計數(shù)方面存在缺陷,不能夠直觀顯示出由于網(wǎng)絡(luò)擁塞所導(dǎo)致的丟包,導(dǎo)致問題定位排查較為復(fù)雜。
基于網(wǎng)絡(luò)擁塞較難排查,接下來分析此問題如何處理。
對于傳統(tǒng)網(wǎng)絡(luò)設(shè)備,基于設(shè)備轉(zhuǎn)發(fā)原理,不會在端口入方向產(chǎn)生擁塞,也不會在端口入方向產(chǎn)生擁塞丟包,網(wǎng)絡(luò)節(jié)點只可能在兩種流量模型(高低速模型和匯聚模型,如下圖所示)才會在端口出方向產(chǎn)生擁塞。高低速模型,指的是從高帶寬端口發(fā)送流量到低帶寬端口;匯聚模型指的是多個端口向一個相同速率的端口發(fā)送流量。那么是否網(wǎng)絡(luò)中只要存在這樣的節(jié)點,就一定會出現(xiàn)擁塞丟包。這里分析的是設(shè)備接口帶寬,但是網(wǎng)絡(luò)中是否產(chǎn)生了擁塞,需要結(jié)合實際場景進行分析,需要考慮在每條鏈路上,當(dāng)前具體傳輸?shù)牧髁繋捰卸啻?,峰值有多大,峰值流量持續(xù)時間有多長,以此來判斷網(wǎng)絡(luò)中是否存在產(chǎn)生擁塞的可能。潛在擁塞點找到了,網(wǎng)絡(luò)中可能也確實產(chǎn)生了擁塞,那么網(wǎng)絡(luò)設(shè)備是否一定會產(chǎn)生丟包。通常網(wǎng)絡(luò)設(shè)備端口出方向都具備一定的緩存能力,根據(jù)設(shè)備、板卡類型、軟件版本不同,緩存能力也存在差別。如果瞬時突發(fā)流量在端口緩存能力范圍內(nèi),那么不會出現(xiàn)丟包情況,突發(fā)的流量會暫時緩存起來,待線路空閑時,再將緩存流量發(fā)送出去。反之,網(wǎng)絡(luò)中就產(chǎn)生丟包。
定位網(wǎng)絡(luò)節(jié)點是否出現(xiàn)擁塞丟包,可以采用以下兩種方法:1.對于部分網(wǎng)絡(luò)設(shè)備,可以通過查看接口計數(shù)器,觀察discard參數(shù)是否持續(xù)增長,此參數(shù)代表接口擁塞丟包數(shù)量。2.對于部分網(wǎng)絡(luò)設(shè)備,由于芯片限制,不能通過接口計數(shù)器直接查看接口是否存在擁塞丟包。此時接口計數(shù)器雖然也有discard參數(shù),但是并不能反映實際擁塞丟包情況,此時可以通過抓包來進行分析。
三、視頻業(yè)務(wù)網(wǎng)絡(luò)故障解決方案
通過以上分析,對視頻流量特征有了清晰的認(rèn)識,也對如何定位視頻承載網(wǎng)丟包問題有了一個明確的處理思路?;谝曨l業(yè)務(wù)網(wǎng)絡(luò)問題處理經(jīng)驗,在業(yè)務(wù)處理過程中提出以下建議:1.視頻前端或局端支持碼流平滑功能。很多時候,承載網(wǎng)是固定的,給視頻業(yè)務(wù)提供的帶寬也是確定的,如果能夠支持碼流平滑功能,將極大的提升視頻產(chǎn)品的網(wǎng)絡(luò)適應(yīng)能力。2.視頻流量增強抗丟包功能,建議采用編碼時增加冗余方式來實現(xiàn)。雖然很多視訊產(chǎn)品宣稱支持5%的丟包率,但從實際使用來看,部分前端丟包0.1%情況下,視頻圖像就會出現(xiàn)問題。3.承載網(wǎng)建議采用輕載方式,帶寬利用率建議在40%左右,避免出現(xiàn)鏈路利用率過高導(dǎo)致視頻傳輸性能下降情況。4.網(wǎng)絡(luò)質(zhì)量差的情況下,例如視頻會議網(wǎng)絡(luò)中存在丟包場景,可以嘗試拔掉交換機上不必要的網(wǎng)絡(luò)連接,保證會議的網(wǎng)絡(luò)帶寬,或者在終端設(shè)備上設(shè)置低接入會議帶寬,保證會議暢通。5.在帶寬資源允許的條件下,保證承載網(wǎng)的帶寬需求,提高視頻業(yè)務(wù)質(zhì)量。
結(jié)束語:視頻業(yè)務(wù)的音視頻效果與承載網(wǎng)絡(luò)質(zhì)量緊密相關(guān)。在大型視頻業(yè)務(wù)系統(tǒng)組網(wǎng)中,由于傳輸設(shè)備及傳輸線路極為復(fù)雜,網(wǎng)絡(luò)側(cè)引入的問題可能性就更大,丟包、亂序、擁塞等問題時有發(fā)生。為檢測網(wǎng)絡(luò)質(zhì)量,人們通常習(xí)慣使用Ping命令進行測試,而PRT與ICMP協(xié)議原理不同,Ping命令無法測試網(wǎng)絡(luò)傳輸PTR碼流的真實情況。處理問題時,首先要采用分段分塊、化繁為簡的方法將測試系統(tǒng)最小化并將故障復(fù)現(xiàn);其次要考慮每一臺網(wǎng)絡(luò)設(shè)備、每一個設(shè)備端口甚至每一根網(wǎng)線所造成的影響;最后要選用專業(yè)的測試軟件和測試方法來進行分析,只要理清思路,最終一定能夠準(zhǔn)確的定位問題并找到解決問題的方法。