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