首先,我們先來簡(jiǎn)單的剖析一下視頻流傳輸?shù)幕A(chǔ)原理:
視頻流是由I幀和P幀組成,其中I幀為超大幀,在網(wǎng)絡(luò)傳輸?shù)倪^程,I幀的任何一個(gè)報(bào)文的丟失,就會(huì)導(dǎo)致視頻無法成像,同時(shí),由于視頻的實(shí)時(shí)性要求,一般采用UDP的傳輸機(jī)制,即丟包不重傳,所以,基本上網(wǎng)絡(luò)只要出現(xiàn)丟包,就會(huì)卡頓。
其次,再來簡(jiǎn)單介紹一下交換機(jī)的交換原理:
當(dāng)某個(gè)100M端口向另一個(gè)100M端口傳輸1M的數(shù)據(jù)流時(shí),是以100M的速率傳輸了1/100秒。如果這1/100秒時(shí)有另外一個(gè)100M端口也向同一個(gè)100M端口傳輸1M的數(shù)據(jù)流,雖然兩個(gè)端口加起來數(shù)據(jù)流只有2M,遠(yuǎn)沒有達(dá)到100M的帶寬瓶頸,但也會(huì)擁塞。
同理,1000M端口在同一時(shí)間點(diǎn)只能接受一個(gè)1000M端口傳輸數(shù)據(jù),但可以同一時(shí)間點(diǎn)接受10個(gè)100M端口傳輸數(shù)據(jù),但超過10個(gè),也會(huì)擁塞。
所以,流量(帶寬)與速率是二個(gè)概念,不能混為一談。無論傳輸?shù)臄?shù)據(jù)流有多大,傳輸?shù)乃俾识际?00M或1000M,只是不同數(shù)據(jù)流大小傳輸所需的時(shí)間長(zhǎng)短不同罷了。當(dāng)速率相同的情況下,兩個(gè)及以上的端口在同一時(shí)間點(diǎn)向同一端口傳輸時(shí),就會(huì)擁塞。此時(shí)緩存如果能夠存放下?lián)砣臄?shù)據(jù)流,就不會(huì)丟包,如果緩存存放不下,就會(huì)丟包。
通過以上兩點(diǎn)的簡(jiǎn)單分析,我們可以明白,當(dāng)交換機(jī)傳輸經(jīng)過的視頻流路數(shù)越多,瞬間并發(fā)的可能性就越大,那么擁塞的概率就越高,這也是為什么匯聚層或核心層更容易擁塞的原因,尤其是核心層,傳輸經(jīng)過的視頻流路數(shù)是最多的,整個(gè)網(wǎng)絡(luò)幾百路上千路都要經(jīng)過核心交換機(jī)進(jìn)行傳輸。
這里要再次重點(diǎn)強(qiáng)調(diào),安防網(wǎng)絡(luò)中,卡頓丟包多數(shù)是因?yàn)檫@種擁塞而導(dǎo)致的,而不是轉(zhuǎn)發(fā)性能導(dǎo)致的,這是兩個(gè)完全不同的概念。
很多客戶會(huì)將延時(shí)和卡頓混淆,延時(shí)指的是圖像數(shù)據(jù)從前端的網(wǎng)絡(luò)攝像機(jī)采集后到用戶端的監(jiān)視設(shè)備觀看到圖像的時(shí)間差。攝像機(jī)采集后的圖像通過壓縮編碼、網(wǎng)絡(luò)傳輸、解碼輸出顯示等處理,這些過程雖然很短暫,但我們?nèi)匀豢梢愿杏X顯示的圖像有滯后,這個(gè)滯后就是圖像延時(shí)。但延時(shí)只要不超過1S,是很難直觀感覺到,并且多數(shù)場(chǎng)景也不影響應(yīng)用。除非是一些特定的工業(yè)領(lǐng)域,需要依據(jù)視頻的分析做出毫秒級(jí)的處理的,那延時(shí)就比較關(guān)鍵了。延時(shí)并不會(huì)產(chǎn)生圖像丟失,也不會(huì)丟包。而卡頓則會(huì)造成圖像丟失,是因丟包引起的。
除了擁塞丟包外,還有一種原因就是因?yàn)椴季工程的質(zhì)量引起的,比如線路老化,水晶頭氧化,水晶頭沒有做好等,這些情況都會(huì)導(dǎo)致類似于FCS錯(cuò)誤幀而引起丟包。嚴(yán)格意義上,這跟交換機(jī)沒有關(guān)系,在此就不細(xì)說。
1、根據(jù)攝像機(jī)的碼流和數(shù)量做好交換機(jī)規(guī)格選型,并設(shè)計(jì)好組網(wǎng)方案。
隨著網(wǎng)絡(luò)在安防的普及,從業(yè)人員的技術(shù)能力逐步加強(qiáng),因規(guī)格選型和組網(wǎng)方案導(dǎo)致的網(wǎng)絡(luò)故障會(huì)越來越少。如果因?yàn)檫@個(gè)原因?qū)е聨捚款i,確實(shí)太低級(jí)了。某網(wǎng)絡(luò)共有XX臺(tái)X碼流的攝像機(jī),接入層該選多少臺(tái)什么樣端口規(guī)格(端口數(shù)量和端口速率)的交換機(jī),匯聚層該選多少臺(tái)什么樣端口規(guī)格的交換機(jī),核心層該怎么選,這類簡(jiǎn)單的知識(shí)我就不在這里浪費(fèi)筆墨去寫了,網(wǎng)上很多。
同時(shí),為了應(yīng)對(duì)突發(fā)流量,在選型和設(shè)計(jì)方案時(shí),交換機(jī)端口的帶寬使用率建議不要超過70%,最好控制在60%以內(nèi)。注意:并不是因?yàn)閷?shí)際性能只有理論值的 60~70%,而是為了預(yù)防突發(fā)流量,不建議使用率過高。轉(zhuǎn)發(fā)性能是第一步要保證的,然后再去考慮避免擁塞。
2、盡可能選用緩存大的網(wǎng)管型交換機(jī)。
緩存是可以減少擁塞導(dǎo)致的丟包,理論上,如果緩存足夠大,丟包為零,視頻也不會(huì)因網(wǎng)絡(luò)原因卡頓。那該怎么計(jì)算XX路XX碼流的攝像機(jī)該用多大緩存的交換機(jī)?理論上是可以計(jì)算的,但實(shí)際上你計(jì)算完了之后,發(fā)現(xiàn)地球上目前還沒有能滿足這個(gè)緩存需求的交換機(jī)。
擁塞是有概率性的,不可能每個(gè)端口都會(huì)同時(shí)擁塞,所以芯片公司不會(huì)這樣去設(shè)計(jì)緩存,因?yàn)榫彺娴某杀咎。正常情況下,越高端的交換機(jī),業(yè)務(wù)特性越豐富的交換機(jī)緩存越大。這也就是為什么當(dāng)我們選擇網(wǎng)管型,或者三層交換機(jī),丟包卡頓的概率會(huì)低一些。同樣24口千兆交換機(jī),非網(wǎng)管的緩存可能只有幾百K,而三層交換機(jī)緩存可能有幾十M。
所以,當(dāng)預(yù)算足夠,成本可以接受的時(shí)候,盡可能選擇緩存大的網(wǎng)管型交換機(jī),因?yàn)檫@是芯片公司設(shè)計(jì)芯片時(shí)的規(guī)律。普及一個(gè)小知識(shí),同樣24口千兆非網(wǎng)管芯片與24口千兆三層芯片,交換容量是一樣的,不一樣的是各種表項(xiàng)容量,緩存大小,業(yè)務(wù)特性(功能)等。對(duì)于設(shè)備廠商來說,研發(fā)交換機(jī)時(shí),只能盡可能選擇緩存大的芯片,并不能更改緩存的大小,這是芯片的硬件特性。